From df4ff6d9a5b8ed634191492b33c241bfedbb0a92 Mon Sep 17 00:00:00 2001 From: samme Date: Wed, 30 Aug 2017 17:00:57 -0700 Subject: [PATCH] Build Phaser v2.8.5 --- build/custom/creature.min.js | 2 +- build/custom/p2.min.js | 2 +- build/custom/phaser-arcade-physics.js | 252 ++-- build/custom/phaser-arcade-physics.map | 2 +- build/custom/phaser-arcade-physics.min.js | 4 +- build/custom/phaser-creature.js | 254 ++-- build/custom/phaser-creature.map | 2 +- build/custom/phaser-creature.min.js | 4 +- build/custom/phaser-minimum.js | 135 +- build/custom/phaser-minimum.map | 2 +- build/custom/phaser-minimum.min.js | 4 +- build/custom/phaser-no-physics.js | 135 +- build/custom/phaser-no-physics.map | 2 +- build/custom/phaser-no-physics.min.js | 4 +- build/custom/phaser-split.js | 250 ++-- build/custom/phaser-split.map | 2 +- build/custom/phaser-split.min.js | 4 +- build/custom/pixi.js | 4 +- build/custom/pixi.map | 2 +- build/custom/pixi.min.js | 4 +- build/phaser.js | 252 ++-- build/phaser.map | 2 +- build/phaser.min.js | 4 +- docs/CreatureShader.html | 56 +- docs/EarCut.html | 32 +- docs/Event.html | 56 +- docs/EventTarget.html | 38 +- docs/PIXI.BaseTexture.html | 128 +- docs/PIXI.CanvasBuffer.html | 68 +- docs/PIXI.CanvasGraphics.html | 38 +- docs/PIXI.CanvasMaskManager.html | 44 +- docs/PIXI.CanvasRenderer.html | 134 +- docs/PIXI.CanvasTinter.html | 50 +- docs/PIXI.ComplexPrimitiveShader.html | 68 +- docs/PIXI.DisplayObject.html | 200 +-- docs/PIXI.DisplayObjectContainer.html | 284 ++-- docs/PIXI.FilterTexture.html | 68 +- docs/PIXI.Phaser.GraphicsData.html | 32 +- docs/PIXI.PixiFastShader.html | 74 +- docs/PIXI.PixiShader.html | 98 +- docs/PIXI.PrimitiveShader.html | 68 +- docs/PIXI.Sprite.html | 338 ++--- docs/PIXI.StripShader.html | 74 +- docs/PIXI.Texture.html | 122 +- docs/PIXI.WebGLBlendModeManager.html | 56 +- docs/PIXI.WebGLFastSpriteBatch.html | 170 +-- docs/PIXI.WebGLFilterManager.html | 92 +- docs/PIXI.WebGLRenderer.html | 206 +-- docs/PIXI.html | 62 +- docs/Phaser.Animation.html | 248 ++-- docs/Phaser.AnimationManager.html | 164 ++- docs/Phaser.AnimationParser.html | 62 +- docs/Phaser.ArraySet.html | 116 +- docs/Phaser.ArrayUtils.html | 100 +- docs/Phaser.AudioSprite.html | 86 +- docs/Phaser.BitmapData.html | 554 ++++---- docs/Phaser.BitmapText.html | 656 ++++----- docs/Phaser.Bullet.html | 800 +++++------ docs/Phaser.Button.html | 884 ++++++------ docs/Phaser.Cache.html | 680 ++++----- docs/Phaser.Camera.html | 314 ++-- docs/Phaser.Canvas.html | 104 +- docs/Phaser.CanvasPool.html | 74 +- docs/Phaser.Circle.html | 206 +-- docs/Phaser.Color.html | 392 ++--- docs/Phaser.Component.Angle.html | 38 +- docs/Phaser.Component.Animation.html | 38 +- docs/Phaser.Component.AutoCull.html | 44 +- docs/Phaser.Component.Bounds.html | 92 +- docs/Phaser.Component.BringToTop.html | 56 +- docs/Phaser.Component.Core.html | 164 ++- docs/Phaser.Component.Crop.html | 50 +- docs/Phaser.Component.Delta.html | 50 +- docs/Phaser.Component.Destroy.html | 44 +- docs/Phaser.Component.FixedToCamera.html | 50 +- docs/Phaser.Component.Health.html | 62 +- docs/Phaser.Component.InCamera.html | 38 +- docs/Phaser.Component.InWorld.html | 62 +- docs/Phaser.Component.InputEnabled.html | 44 +- docs/Phaser.Component.LifeSpan.html | 62 +- docs/Phaser.Component.LoadTexture.html | 68 +- docs/Phaser.Component.Overlap.html | 38 +- docs/Phaser.Component.PhysicsBody.html | 62 +- docs/Phaser.Component.Reset.html | 38 +- docs/Phaser.Component.ScaleMinMax.html | 62 +- docs/Phaser.Component.Smoothed.html | 38 +- docs/Phaser.Create.html | 110 +- docs/Phaser.Creature.html | 644 ++++----- docs/Phaser.DOM.html | 92 +- docs/Phaser.Device.html | 560 ++++---- docs/Phaser.DeviceButton.html | 176 +-- docs/Phaser.Easing.Back.html | 50 +- docs/Phaser.Easing.Bounce.html | 50 +- docs/Phaser.Easing.Circular.html | 50 +- docs/Phaser.Easing.Cubic.html | 50 +- docs/Phaser.Easing.Elastic.html | 50 +- docs/Phaser.Easing.Exponential.html | 50 +- docs/Phaser.Easing.Linear.html | 38 +- docs/Phaser.Easing.Quadratic.html | 50 +- docs/Phaser.Easing.Quartic.html | 50 +- docs/Phaser.Easing.Quintic.html | 50 +- docs/Phaser.Easing.Sinusoidal.html | 50 +- docs/Phaser.Easing.html | 32 +- docs/Phaser.Ellipse.html | 146 +- docs/Phaser.Events.html | 152 +- docs/Phaser.Filter.html | 122 +- docs/Phaser.FlexGrid.html | 116 +- docs/Phaser.FlexLayer.html | 1010 ++++++------- docs/Phaser.Frame.html | 170 +-- docs/Phaser.FrameData.html | 92 +- docs/Phaser.Game.html | 446 +++--- docs/Phaser.GameObjectCreator.html | 164 ++- docs/Phaser.GameObjectFactory.html | 200 +-- docs/Phaser.Gamepad.html | 188 +-- docs/Phaser.Graphics.html | 758 +++++----- docs/Phaser.Group.html | 974 ++++++------- docs/Phaser.Hermite.html | 146 +- docs/Phaser.Image.html | 710 +++++----- docs/Phaser.ImageCollection.html | 98 +- docs/Phaser.Input.html | 488 +++---- docs/Phaser.InputHandler.html | 458 +++--- docs/Phaser.Key.html | 200 +-- docs/Phaser.KeyCode.html | 644 ++++----- docs/Phaser.Keyboard.html | 206 +-- docs/Phaser.Line.html | 248 ++-- docs/Phaser.LinkedList.html | 86 +- docs/Phaser.Loader.html | 446 +++--- docs/Phaser.LoaderParser.html | 74 +- docs/Phaser.MSPointer.html | 140 +- docs/Phaser.Math.html | 416 +++--- docs/Phaser.Matrix.html | 152 +- docs/Phaser.Mouse.html | 254 ++-- docs/Phaser.Net.html | 62 +- docs/Phaser.Particle.html | 836 +++++------ docs/Phaser.Particles.Arcade.Emitter.html | 1262 +++++++++-------- docs/Phaser.Particles.Arcade.html | 32 +- docs/Phaser.Particles.html | 68 +- docs/Phaser.Path.html | 176 +-- docs/Phaser.PathFollower.html | 32 +- docs/Phaser.PathPoint.html | 164 ++- docs/Phaser.Physics.Arcade.Body.html | 608 ++++---- ...haser.Physics.Arcade.TilemapCollision.html | 38 +- docs/Phaser.Physics.Arcade.html | 350 ++--- docs/Phaser.Physics.Ninja.AABB.html | 212 +-- docs/Phaser.Physics.Ninja.Body.html | 260 ++-- docs/Phaser.Physics.Ninja.Circle.html | 194 +-- docs/Phaser.Physics.Ninja.Tile.html | 158 ++- docs/Phaser.Physics.Ninja.html | 146 +- docs/Phaser.Physics.P2.Body.html | 596 ++++---- docs/Phaser.Physics.P2.BodyDebug.html | 968 ++++++------- docs/Phaser.Physics.P2.CollisionGroup.html | 38 +- docs/Phaser.Physics.P2.ContactMaterial.html | 32 +- .../Phaser.Physics.P2.DistanceConstraint.html | 44 +- docs/Phaser.Physics.P2.FixtureList.html | 92 +- docs/Phaser.Physics.P2.GearConstraint.html | 44 +- docs/Phaser.Physics.P2.InversePointProxy.html | 56 +- docs/Phaser.Physics.P2.LockConstraint.html | 44 +- docs/Phaser.Physics.P2.Material.html | 38 +- docs/Phaser.Physics.P2.PointProxy.html | 56 +- ...Phaser.Physics.P2.PrismaticConstraint.html | 44 +- .../Phaser.Physics.P2.RevoluteConstraint.html | 44 +- docs/Phaser.Physics.P2.RotationalSpring.html | 50 +- docs/Phaser.Physics.P2.Spring.html | 50 +- docs/Phaser.Physics.P2.html | 560 ++++---- docs/Phaser.Physics.html | 182 +-- docs/Phaser.Plugin.PathManager.html | 38 +- docs/Phaser.Plugin.html | 116 +- docs/Phaser.PluginManager.html | 98 +- docs/Phaser.Point.html | 368 ++--- docs/Phaser.Pointer.html | 440 +++--- docs/Phaser.PointerMode.html | 44 +- docs/Phaser.Polygon.html | 92 +- docs/Phaser.QuadTree.html | 116 +- docs/Phaser.RandomDataGenerator.html | 122 +- docs/Phaser.Rectangle.html | 404 +++--- docs/Phaser.RenderTexture.html | 194 +-- docs/Phaser.RequestAnimationFrame.html | 86 +- docs/Phaser.RetroFont.html | 428 +++--- docs/Phaser.Rope.html | 728 +++++----- docs/Phaser.RoundedRectangle.html | 80 +- docs/Phaser.ScaleManager.html | 434 +++--- docs/Phaser.Signal.html | 110 +- docs/Phaser.SignalBinding.html | 98 +- docs/Phaser.SinglePad.html | 200 +-- docs/Phaser.Sound.html | 374 ++--- docs/Phaser.SoundManager.html | 212 +-- docs/Phaser.Sprite.html | 794 ++++++----- docs/Phaser.SpriteBatch.html | 938 ++++++------ docs/Phaser.Stage.html | 356 ++--- docs/Phaser.State.html | 224 +-- docs/Phaser.StateManager.html | 254 ++-- docs/Phaser.Text.html | 1112 ++++++++------- docs/Phaser.Tile.html | 266 ++-- docs/Phaser.TileSprite.html | 794 ++++++----- docs/Phaser.Tilemap.html | 476 ++++--- docs/Phaser.TilemapLayer.html | 938 ++++++------ docs/Phaser.TilemapParser.html | 62 +- docs/Phaser.Tileset.html | 122 +- docs/Phaser.Time.html | 230 +-- docs/Phaser.Timer.html | 230 +-- docs/Phaser.TimerEvent.html | 86 +- docs/Phaser.Touch.html | 164 ++- docs/Phaser.Tween.html | 272 ++-- docs/Phaser.TweenData.html | 206 +-- docs/Phaser.TweenManager.html | 104 +- docs/Phaser.Utils.Debug.html | 314 ++-- docs/Phaser.Utils.html | 98 +- docs/Phaser.Video.html | 326 ++--- docs/Phaser.Weapon.html | 446 +++--- docs/Phaser.World.html | 1028 +++++++------- docs/Phaser.html | 446 +++--- docs/PhaserGlobal.html | 32 +- docs/classes.list.html | 26 +- docs/global.html | 38 +- docs/index.html | 32 +- docs/namespaces.list.html | 26 +- docs/scripts/toc.js | 31 +- docs/styles/site.phaser.css | 2 +- typescript/phaser.comments.d.ts | 235 ++- 219 files changed, 23669 insertions(+), 21437 deletions(-) diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index f7e0994dd..470537696 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ function dualQuat(){this.real=quat.create(),this.real[Q_W]=0,this.imaginary=quat.create(),this.imaginary[Q_W]=0,this.tmpQ1=quat.create()}function MeshBone(t,e,r,n){this.key=t,this.world_rest_angle=0,this.rest_parent_mat=mat4.create(),this.rest_parent_inv_mat=mat4.create(),this.rest_world_mat=mat4.create(),this.rest_world_inv_mat=mat4.create(),this.bind_world_mat=mat4.create(),this.bind_world_inv_mat=mat4.create(),this.parent_world_mat=mat4.create(),this.parent_world_inv_mat=mat4.create(),this.local_rest_start_pt=null,this.local_rest_end_pt=null,this.setRestParentMat(n,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(r),this.setParentWorldInvMat(mat4.create()),this.setParentWorldMat(mat4.create()),this.local_binormal_dir=vec3.fromValues(0,0,1),this.tag_id=0,this.children=[]}function MeshRenderRegion(t,e,r,n,a,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=r,this.use_local_displacements=!1,this.use_post_displacements=!1,this.use_uv_warp=!1,this.uv_warp_local_offset=vec2.fromValues(0,0),this.uv_warp_global_offset=vec2.fromValues(0,0),this.uv_warp_scale=vec2.fromValues(1,1),this.start_pt_index=n,this.end_pt_index=a,this.start_index=i,this.end_index=s,this.main_bone=null,this.local_displacements=[],this.post_displacements=[],this.uv_warp_ref_uvs=[],this.normal_weight_map={},this.fast_normal_weight_map=[],this.fast_bones_map=[],this.relevant_bones_indices=[],this.use_dq=!0,this.tag_id=-1,this.initUvWarp()}function MeshRenderBoneComposition(){this.root_bone=null,this.bones_map={},this.regions=[],this.regions_map={}}function MeshBoneCache(t){this.key=t}function MeshDisplacementCache(t){this.key=t,this.local_displacements=[],this.post_displacements=[]}function MeshUVWarpCache(t){this.uv_warp_global_offset=vec2.create(),this.uv_warp_local_offset=vec2.create(),this.uv_warp_scale=vec2.fromValues(-1,-1),this.key=t,this.enabled=!1}function MeshBoneCacheManager(){this.is_ready=!1,this.bone_cache_table=null,this.bone_cache_data_ready=null,this.bone_cache_table=[],this.bone_cache_data_ready=[]}function MeshDisplacementCacheManager(){this.is_ready=!1,this.displacement_cache_table=null,this.displacement_cache_data_ready=null,this.displacement_cache_table=[],this.displacement_cache_data_ready=[]}function MeshUVWarpCacheManager(){this.is_ready=!1,this.uv_cache_table=null,this.uv_cache_data_ready=null,this.uv_cache_table=[],this.uv_cache_data_ready=[]}function Creature(t,e){this.total_num_pts=0,this.total_num_indices=0,this.global_indices=null,this.global_pts=null,this.global_uvs=null,this.render_pts=null,this.render_colours=null,this.render_composition=null,this.boundary_indices=[],this.boundary_min=vec2.create(),this.boundary_max=vec2.create(),this.anchor_point_map={},this.anchor_points_active=!1,this.LoadFromData(t,e)}function CreatureAnimation(t,e){this.name=e,this.bones_cache=new MeshBoneCacheManager,this.displacement_cache=new MeshDisplacementCacheManager,this.uv_warp_cache=new MeshUVWarpCacheManager,this.cache_pts=[],this.fill_cache_pts=[],this.LoadFromData(e,t)}function CreatureManager(t){this.target_creature=t,this.is_playing=!1,this.run_time=0,this.time_scale=30,this.blending_factor=0,this.should_loop=!0,this.use_custom_time_range=!1,this.custom_start_time=0,this.custom_end_time=0,this.animations={},this.bones_override_callback=null,this.blend_render_pts=[],this.blend_render_pts.push([]),this.blend_render_pts.push([]),this.do_blending=!1,this.active_blend_animation_names=[],this.active_blend_animation_names.push(""),this.active_blend_animation_names.push("")}!function(t){"use strict";var e={};"undefined"==typeof exports?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports="undefined"!=typeof window?window:t:e.exports=exports,function(t){if(!e)var e=1e-6;if(!r)var r="undefined"!=typeof Float32Array?Float32Array:Array;if(!n)var n=Math.random;var a={};a.setMatrixArrayType=function(t){r=t},void 0!==t&&(t.glMatrix=a);var i=Math.PI/180;a.toRadian=function(t){return t*i};var s={};s.create=function(){var t=new r(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new r(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var n=new r(2);return n[0]=t,n[1]=e,n},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,r){return t[0]=e,t[1]=r,t},s.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},s.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},s.sub=s.subtract,s.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},s.mul=s.multiply,s.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},s.div=s.divide,s.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},s.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},s.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},s.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},s.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},s.dist=s.distance,s.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},s.len=s.length,s.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},s.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},s.lerp=function(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t},s.random=function(t,e){e=e||1;var r=2*n()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},s.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},s.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},s.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},s.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},s.forEach=function(){var t=s.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=2),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},o.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},o.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2];return t[0]=a*c-i*o,t[1]=i*s-n*c,t[2]=n*o-a*s,t},o.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t},o.random=function(t,e){e=e||1;var r=2*n()*Math.PI,a=2*n()-1,i=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=a*e,t},o.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,t},o.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},o.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},o.rotateX=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateY=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateZ=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.forEach=function(){var t=o.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=3),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s),t},c.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},c.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t[3]=o+n*(r[3]-o),t},c.random=function(t,e){return e=e||1,t[0]=n(),t[1]=n(),t[2]=n(),t[3]=n(),c.normalize(t,t),c.scale(t,t,e),t},c.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,t},c.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},c.forEach=function(){var t=c.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(o.cross(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,p.normalize(n,n))}}(),p.setAxes=function(){var t=l.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],p.normalize(e,p.fromMat3(e,t))}}(),p.clone=c.clone,p.fromValues=c.fromValues,p.copy=c.copy,p.set=c.set,p.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},p.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},p.add=c.add,p.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=r[0],c=r[1],h=r[2],u=r[3];return t[0]=n*u+s*o+a*h-i*c,t[1]=a*u+s*c+i*o-n*h,t[2]=i*u+s*h+n*c-a*o,t[3]=s*u-n*o-a*c-i*h,t},p.mul=p.multiply,p.scale=c.scale,p.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*o,t[1]=a*c+i*o,t[2]=i*c-a*o,t[3]=s*c-n*o,t},p.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*o,t[1]=a*c+s*o,t[2]=i*c+n*o,t[3]=s*c-a*o,t},p.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*o,t[1]=a*c-n*o,t[2]=i*c+s*o,t[3]=s*c-i*o,t},p.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},p.dot=c.dot,p.lerp=c.lerp,p.slerp=function(t,e,r,n){var a,i,s,o,c,h=e[0],u=e[1],l=e[2],_=e[3],p=r[0],d=r[1],m=r[2],f=r[3];return(i=h*p+u*d+l*m+_*f)<0&&(i=-i,p=-p,d=-d,m=-m,f=-f),1-i>1e-6?(a=Math.acos(i),s=Math.sin(a),o=Math.sin((1-n)*a)/s,c=Math.sin(n*a)/s):(o=1-n,c=n),t[0]=o*h+c*p,t[1]=o*u+c*d,t[2]=o*l+c*m,t[3]=o*_+c*f,t},p.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r*r+n*n+a*a+i*i,o=s?1/s:0;return t[0]=-r*o,t[1]=-n*o,t[2]=-a*o,t[3]=i*o,t},p.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},p.length=c.length,p.len=p.length,p.squaredLength=c.squaredLength,p.sqrLen=p.squaredLength,p.normalize=c.normalize,p.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*i+i]-e[3*s+s]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*i+s]-e[3*s+i])*r,t[i]=(e[3*i+a]+e[3*a+i])*r,t[s]=(e[3*s+a]+e[3*a+s])*r}return t},p.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},void 0!==t&&(t.quat=p)}(e.exports)}(this);var Q_X=0,Q_Y=1,Q_Z=2,Q_W=3;dualQuat.prototype.reset=function(){quat.identity(this.real),this.real[Q_W]=0,quat.identity(this.imaginary),this.imaginary[Q_W]=0,quat.identity(this.tmpQ1)},dualQuat.prototype.createFromData=function(t,e){this.real=t,this.imaginary=quat.create(),this.imaginary[Q_W]=-.5*(e[Q_X]*t[Q_X]+e[Q_Y]*t[Q_Y]+e[Q_Z]*t[Q_Z]),this.imaginary[Q_X]=.5*(e[Q_X]*t[Q_W]+e[Q_Y]*t[Q_Z]-e[Q_Z]*t[Q_Y]),this.imaginary[Q_Y]=.5*(-e[Q_X]*t[Q_Z]+e[Q_Y]*t[Q_W]+e[Q_Z]*t[Q_X]),this.imaginary[Q_Z]=.5*(e[Q_X]*t[Q_Y]-e[Q_Y]*t[Q_X]+e[Q_Z]*t[Q_W])},dualQuat.prototype.add=function(t,e,r){quat.copy(this.tmpQ1,t.real),quat.scale(this.tmpQ1,this.tmpQ1,e),quat.add(this.real,this.tmpQ1,this.real),quat.copy(this.tmpQ1,t.imaginary),quat.scale(this.tmpQ1,this.tmpQ1,r),quat.add(this.imaginary,this.tmpQ1,this.imaginary)},dualQuat.prototype.normalize=function(){var t=quat.length(this.real);this.real=quat.scale(this.real,this.real,1/t),this.imaginary=quat.scale(this.imaginary,this.imaginary,1/t)};var v0=vec3.create(),ve=vec3.create(),trans=vec3.create(),tmpVec1=vec3.create(),tmpVec2=vec3.create(),tmpVec0=vec3.create(),aVec=vec3.create(),rot=vec3.create();dualQuat.prototype.transform=function(t){return v0[Q_X]=this.real[Q_X],v0[Q_Y]=this.real[Q_Y],v0[Q_Z]=this.real[Q_Z],ve[Q_X]=this.imaginary[Q_X],ve[Q_Y]=this.imaginary[Q_Y],ve[Q_Z]=this.imaginary[Q_Z],tmpVec1=vec3.scale(tmpVec1,v0,this.imaginary[Q_W]),tmpVec2=vec3.cross(tmpVec2,v0,ve),tmpVec0=vec3.scale(tmpVec0,ve,this.real[Q_W]),aVec=vec3.subtract(aVec,tmpVec0,tmpVec1),trans=vec3.add(trans,aVec,tmpVec2),trans=vec3.scale(trans,trans,2),rot=vec3.transformQuat(rot,t,this.real),rot=vec3.add(rot,rot,trans)};var Utils={};Utils.setAxisMatrix=function(t,e,r){var n=mat4.create();return n[0]=t[Q_X],n[4]=t[Q_Y],n[8]=t[Q_Z],n[1]=e[Q_X],n[5]=e[Q_Y],n[9]=e[Q_Z],n[2]=r[Q_X],n[6]=r[Q_Y],n[10]=r[Q_Z],n[12]=0,n[13]=0,n[14]=0,n[3]=0,n[7]=0,n[11]=0,n[15]=1,n=mat4.transpose(n,n)},Utils.matrixToQuat=function(t){var e,r=quat.create(),n=t,a=n[0],i=n[4],s=n[8],o=n[1],c=n[5],h=n[9],u=n[2],l=n[6],_=n[10],p=a+c+_;return p>0?(e=.5/Math.sqrt(p+1),r[Q_W]=.25/e,r[Q_X]=(l-h)*e,r[Q_Y]=(s-u)*e,r[Q_Z]=(o-i)*e):a>c&&a>_?(e=2*Math.sqrt(1+a-c-_),r[Q_W]=(l-h)/e,r[Q_X]=.25*e,r[Q_Y]=(i+o)/e,r[Q_Z]=(s+u)/e):c>_?(e=2*Math.sqrt(1+c-a-_),r[Q_W]=(s-u)/e,r[Q_X]=(i+o)/e,r[Q_Y]=.25*e,r[Q_Z]=(h+l)/e):(e=2*Math.sqrt(1+_-a-c),r[Q_W]=(o-i)/e,r[Q_X]=(s+u)/e,r[Q_Y]=(h+l)/e,r[Q_Z]=.25*e),r},Utils.rotateVec_90=function(t){return vec3.fromValues(-t[Q_Y],t[Q_X],t[Q_Z])},Utils.calcRotateMat=function(t){var e=vec3.clone(t);e=vec3.normalize(e,e);var r=Utils.rotateVec_90(e),n=vec3.fromValues(e[Q_X],e[Q_Y],0),a=vec3.fromValues(r[Q_X],r[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(n,a,i)},Utils.getMatTranslate=function(t){var e=vec3.create();return e[Q_X]=t[12],e[Q_Y]=t[13],e[Q_Z]=t[14],e},Utils.addMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]+e[n];return r},Utils.mulMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]*e;return r},Utils.clamp=function(t,e,r){return tr?r:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,r){newVec1=vec3.scale(newVec1,t,1-r),newVec2=vec3.scale(newVec2,e,r);var n=vec3.create();return n=vec3.add(n,newVec1,newVec2)},Utils.vec2Interp=function(t,e,r){var n=vec2.create(),a=vec2.create();n=vec2.scale(n,t,1-r),a=vec2.scale(a,e,r);var i=vec2.create();return i=vec2.add(i,n,a)},MeshBone.prototype.setRestParentMat=function(t,e){this.rest_parent_mat=t,null==e?(this.rest_parent_inv_mat=mat4.clone(this.rest_parent_mat),mat4.invert(this.rest_parent_inv_mat,this.rest_parent_inv_mat)):this.rest_parent_inv_mat=mat4.clone(e)},MeshBone.prototype.setParentWorldMat=function(t){this.parent_world_mat=t},MeshBone.prototype.setParentWorldInvMat=function(t){this.parent_world_inv_mat=t},MeshBone.prototype.getLocalRestStartPt=function(){return this.local_rest_start_pt},MeshBone.prototype.getLocalRestEndPt=function(){return this.local_rest_end_pt},MeshBone.prototype.setLocalRestStartPt=function(t){this.local_rest_start_pt=vec3.create(),this.local_rest_start_pt=vec3.transformMat4(this.local_rest_start_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.setLocalRestEndPt=function(t){this.local_rest_end_pt=vec3.create(),this.local_rest_end_pt=vec3.transformMat4(this.local_rest_end_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.calcRestData=function(){if(null!=this.local_rest_start_pt&&null!=this.local_rest_end_pt){var t=this.computeDirs(this.local_rest_start_pt,this.local_rest_end_pt);this.local_rest_dir=t.first,this.local_rest_normal_dir=t.second,this.computeRestLength()}},MeshBone.prototype.setWorldStartPt=function(t){this.world_start_pt=t},MeshBone.prototype.setWorldEndPt=function(t){this.world_end_pt=t},MeshBone.prototype.fixDQs=function(t){quat.dot(this.world_dq.real,t.real)<0&&(this.world_dq.real=quat.scale(this.world_dq.real,this.world_dq.real,-1),this.world_dq.imaginary=quat.scale(this.world_dq.imaginary,this.world_dq.imaginary,-1));for(var e=0;e.05&&a.push(i);this.relevant_bones_indices.push(a)}for(var e in t){var s=t[e];this.fast_bones_map.push(s)}},MeshRenderRegion.prototype.initUvWarp=function(){var t=this.getUVsIndex();this.uv_warp_ref_uvs=[];for(var e=0;en&&(n=o),o=0&&null!==t?i=this.boundary_max[0]-n*t:t<0?i=-Math.abs(this.boundary_max[0]-n*Math.abs(t)):null===t&&(i=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][0]:0),e>=0&&null!==e?s=this.boundary_max[1]-a*e:e<0?s=-Math.abs(this.boundary_max[1]-a*Math.abs(e)):null===e&&(s=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][1]:0);var o={AnchorPoints:[{point:[i,s],anim_clip_name:r}]};this.anchor_point_map=this.FillAnchorPointMap(o)},Creature.prototype.GetAnchorPoint=function(t){return t in this.anchor_point_map?this.anchor_point_map[t]:vec2.fromValues(0,0)},Creature.prototype.FillRenderColours=function(t,e,r,n){for(var a=0;a=o&&n<=c){a=!0;break}}a&&t[n]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),r[0]0)){for(var n=r.cache_pts,a=r.start_time;a<=r.end_time;a++){this.setRunTime(a);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i),n.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var r=this.getRunTime(),n=this.animations[t];this.setRunTime(e);for(var a=[],i=0;i<3*this.target_creature.total_num_pts;i++)a[i]=0;this.PoseCreature(t,a),n.fill_cache_pts.push(a),n.verifyFillCache(),this.setRunTime(r)},CreatureManager.prototype.GetIsPlaying=function(){return this.is_playing},CreatureManager.prototype.SetShouldLoop=function(t){this.should_loop=t},CreatureManager.prototype.SetUseCustomTimeRange=function(t){this.use_custom_time_range=t},CreatureManager.prototype.SetCustomTimeRange=function(t,e){this.custom_start_time=t,this.custom_end_time=e},CreatureManager.prototype.SetIsPlaying=function(t){this.is_playing=t},CreatureManager.prototype.ResetToStartTimes=function(){var t=this.animations[active_animation_name];this.run_time=t.start_time},CreatureManager.prototype.setRunTime=function(t){this.run_time=t,this.correctTime()},CreatureManager.prototype.increRunTime=function(t){this.run_time+=t,this.correctTime()},CreatureManager.prototype.correctTime=function(){var t=this.animations[this.active_animation_name],e=t.start_time,r=t.end_time;this.use_custom_time_range&&(e=this.custom_start_time,r=this.custom_end_time),this.run_time>r?this.should_loop?this.run_time=e:this.run_time=r:this.run_time0?i.poseFromCachePts(this.getRunTime(),this.blend_render_pts[t],this.target_creature.total_num_pts):this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t]);for(var e=0;e<3*this.target_creature.total_num_pts;e++){var r=e,n=this.blend_render_pts[0][e],a=this.blend_render_pts[1][e];this.target_creature.render_pts.set(r,(1-blending_factor)*n+blending_factor*a)}}else{var i=this.animations[this.active_animation_name];i.cache_pts.length>0?i.poseFromCachePts(this.getRunTime(),this.target_creature.render_pts,this.target_creature.total_num_pts):this.PoseCreature(this.active_animation_name,this.target_creature.render_pts)}},CreatureManager.prototype.SetTimeScale=function(t){this.time_scale=t},CreatureManager.prototype.SetBlending=function(t){if(this.do_blending=t,this.do_blending){if(0==this.blend_render_pts[0].length){for(var e=[],r=0;r<3*target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts.set(0,e)}if(0==this.blend_render_pts[1].length){for(var e=[],r=0;r<3*this.target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts[1]=e}}},CreatureManager.prototype.SetBlendingAnimations=function(t,e){this.active_blend_animation_names[0]=t,this.active_blend_animation_names[1]=e},CreatureManager.prototype.SetBlendingFactor=function(t){this.blending_factor=t},CreatureManager.prototype.IsContactBone=function(t,e){var r=this.target_creature.render_composition.getRootBone();return this.ProcessContactBone(t,e,r)},CreatureManager.prototype.PoseCreature=function(t,e){var r=this.animations[t],n=r.bones_cache,a=r.displacement_cache,i=r.uv_warp_cache,s=this.target_creature.render_composition,o=s.getBonesMap(),c=s.getRegionsMap();n.retrieveValuesAtTime(this.getRunTime(),o),this.AlterBonesByAnchor(o,t),null!=this.bones_override_callback&&this.bones_override_callback(o),a.retrieveValuesAtTime(this.getRunTime(),c),i.retrieveValuesAtTime(this.getRunTime(),c);var h=s.getRegions(),u=s.getBonesMap();s.updateAllTransforms(!1);for(var l=0,_=h.length;l<_;l++){var p=h[l],d=p.getStartPtIndex();p.poseFinalPts(e,3*d,u);for(var m=3*p.getStartPtIndex(),f=3*p.getEndPtIndex(),v=m;v<=f;v+=3)e[v+2]=.001*-l}}; //# sourceMappingURL=creature.map \ No newline at end of file diff --git a/build/custom/p2.min.js b/build/custom/p2.min.js index db76b9df5..8890c6142 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ !function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,o,i){function n(a,r){if(!o[a]){if(!e[a]){var c="function"==typeof require&&require;if(!r&&c)return c(a,!0);if(s)return s(a,!0);throw new Error("Cannot find module '"+a+"'")}var h=o[a]={exports:{}};e[a][0].call(h.exports,function(t){var o=e[a][1][t];return n(o||t)},h,h.exports,t,e,o,i)}return o[a].exports}for(var s="function"==typeof require&&require,a=0;a=0&&c<=1&&h>=0&&h<=1}},{"./Scalar":4}],2:[function(t,e,o){function i(){}e.exports=i,i.area=function(t,e,o){return(e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1])},i.left=function(t,e,o){return i.area(t,e,o)>0},i.leftOn=function(t,e,o){return i.area(t,e,o)>=0},i.right=function(t,e,o){return i.area(t,e,o)<0},i.rightOn=function(t,e,o){return i.area(t,e,o)<=0};var n=[],s=[];i.collinear=function(t,e,o,a){if(a){var r=n,c=s;r[0]=e[0]-t[0],r[1]=e[1]-t[1],c[0]=o[0]-e[0],c[1]=o[1]-e[1];var h=r[0]*c[0]+r[1]*c[1],l=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=Math.sqrt(c[0]*c[0]+c[1]*c[1]);return Math.acos(h/(l*p))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var i=e;ie[t][0])&&(t=o);a.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},i.prototype.reverse=function(){for(var t=[],e=0,o=this.vertices.length;e!==o;e++)t.push(this.vertices.pop());this.vertices=t},i.prototype.isReflex=function(t){return a.right(this.at(t-1),this.at(t),this.at(t+1))};var c=[],h=[];i.prototype.canSee=function(t,e){var o,i,n=c,r=h;if(a.leftOn(this.at(t+1),this.at(t),this.at(e))&&a.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;i=a.sqdist(this.at(t),this.at(e));for(var l=0;l!==this.vertices.length;++l)if((l+1)%this.vertices.length!==t&&l!==t&&a.leftOn(this.at(t),this.at(e),this.at(l+1))&&a.rightOn(this.at(t),this.at(e),this.at(l))&&(n[0]=this.at(t),n[1]=this.at(e),r[0]=this.at(l),r[1]=this.at(l+1),o=s.lineInt(n,r),a.sqdist(this.at(t),o)0?this.slice(t):[this]},i.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],o=0;or)return console.warn("quickDecomp: max level ("+r+") reached."),t;for(var q=0;qy&&(y+=this.vertices.length),v=Number.MAX_VALUE,y3&&o>=0;--o)a.collinear(this.at(o-1),this.at(o),this.at(o+1),t)&&(this.vertices.splice(o%this.vertices.length,1),o--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,o){function i(){}e.exports=i,i.eq=function(t,e,o){return o=o||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,o){function i(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=i;var s=n.create();i.prototype.setFromPoints=function(t,e,o,i){var a=this.lowerBound,r=this.upperBound;"number"!=typeof o&&(o=0),0!==o?n.rotate(a,t[0],o):n.copy(a,t[0]),n.copy(r,a);for(var c=Math.cos(o),h=Math.sin(o),l=1;lr[f]&&(r[f]=p[f]),p[f]o&&(this.lowerBound[e]=o);var i=t.upperBound[e];this.upperBound[e]c?-1:r}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,o){function i(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=i.AABB}var n=t("../math/vec2"),s=t("../objects/Body");e.exports=i,i.AABB=1,i.BOUNDING_CIRCLE=2,i.prototype.setWorld=function(t){this.world=t},i.prototype.getCollisionPairs=function(t){};var a=n.create();i.boundingRadiusCheck=function(t,e){n.sub(a,t.position,e.position);var o=n.squaredLength(a),i=t.boundingRadius+e.boundingRadius;return o<=i*i},i.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},i.prototype.boundingVolumeCheck=function(t,e){var o;switch(this.boundingVolumeType){case i.BOUNDING_CIRCLE:o=i.boundingRadiusCheck(t,e);break;case i.AABB:o=i.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return o},i.canCollide=function(t,e){var o=s.KINEMATIC,i=s.STATIC;return(t.type!==i||e.type!==i)&&(!(t.type===o&&e.type===i||t.type===i&&e.type===o)&&((t.type!==o||e.type!==o)&&((t.sleepState!==s.SLEEPING||e.sleepState!==s.SLEEPING)&&!(t.sleepState===s.SLEEPING&&e.type===i||e.sleepState===s.SLEEPING&&t.type===i))))},i.NAIVE=1,i.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,o){function i(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.getCollisionPairs=function(t){var e=t.bodies,o=this.result;o.length=0;for(var i=0,s=e.length;i!==s;i++)for(var a=e[i],r=0;rK&&Y0)for(U=0;UMath.pow(v,2))return 0;if(p)return!0;var y=this.createContactEquation(t,n,e,s);return r(y.normalA,h,o),a.normalize(y.normalA,y.normalA),a.scale(y.contactPointA,y.normalA,u),a.scale(y.contactPointB,y.normalA,-d),c(y.contactPointA,y.contactPointA,o),r(y.contactPointA,y.contactPointA,t.position),c(y.contactPointB,y.contactPointB,h),r(y.contactPointB,y.contactPointB,n.position),this.contactEquations.push(y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(y)),1},i.prototype[y.PLANE|y.CONVEX]=i.prototype[y.PLANE|y.BOX]=i.prototype.planeConvex=function(t,e,o,i,n,s,l,p,u){var d=A,f=b,v=E,y=0;a.rotate(f,g,i);for(var m=0;m!==s.vertices.length;m++){var B=s.vertices[m];if(a.rotate(d,B,p),c(d,d,l),r(v,d,o),h(v,f)<=0){if(u)return!0;y++;var q=this.createContactEquation(t,n,e,s);r(v,d,o),a.copy(q.normalA,f);var P=h(v,q.normalA);a.scale(v,q.normalA,P),r(q.contactPointB,d,n.position),r(q.contactPointA,d,v),r(q.contactPointA,q.contactPointA,t.position),this.contactEquations.push(q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q))}}return this.enableFrictionReduction&&this.enableFriction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},i.prototype[y.PARTICLE|y.PLANE]=i.prototype.particlePlane=function(t,e,o,i,n,s,c,l,p){var u=A,d=b;l=l||0,r(u,o,c),a.rotate(d,g,l);var f=h(u,d);if(f>0)return 0;if(p)return!0;var v=this.createContactEquation(n,t,s,e);return a.copy(v.normalA,d),a.scale(u,v.normalA,f),r(v.contactPointA,o,u),r(v.contactPointA,v.contactPointA,n.position),r(v.contactPointB,o,t.position),this.contactEquations.push(v),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(v)),1},i.prototype[y.CIRCLE|y.PARTICLE]=i.prototype.circleParticle=function(t,e,o,i,n,s,h,l,p){var u=A;if(r(u,h,o),a.squaredLength(u)>Math.pow(e.radius,2))return 0;if(p)return!0;var d=this.createContactEquation(t,n,e,s);return a.copy(d.normalA,u),a.normalize(d.normalA,d.normalA),a.scale(d.contactPointA,d.normalA,e.radius),c(d.contactPointA,d.contactPointA,o),r(d.contactPointA,d.contactPointA,t.position),r(d.contactPointB,h,n.position),this.contactEquations.push(d),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(d)),1};var H=new f({radius:1}),Z=a.create(),J=a.create();a.create();i.prototype[y.PLANE|y.CAPSULE]=i.prototype.planeCapsule=function(t,e,o,i,n,s,r,h,l){var p=Z,u=J,d=H;a.set(p,-s.length/2,0),a.rotate(p,p,h),c(p,p,r),a.set(u,s.length/2,0),a.rotate(u,u,h),c(u,u,r),d.radius=s.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var v=this.circlePlane(n,d,p,0,t,e,o,i,l),y=this.circlePlane(n,d,u,0,t,e,o,i,l);if(this.enableFrictionReduction&&(this.enableFriction=f),l)return v||y;var m=v+y;return this.enableFrictionReduction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},i.prototype[y.CIRCLE|y.PLANE]=i.prototype.circlePlane=function(t,e,o,i,n,s,l,p,u){var d=t,f=e,v=o,y=n,m=l,B=p;B=B||0;var q=A,P=b,w=E;r(q,v,m),a.rotate(P,g,B);var S=h(P,q);if(S>f.radius)return 0;if(u)return!0;var C=this.createContactEquation(y,d,s,e);return a.copy(C.normalA,P),a.scale(C.contactPointB,C.normalA,-f.radius),c(C.contactPointB,C.contactPointB,v),r(C.contactPointB,C.contactPointB,d.position),a.scale(w,C.normalA,S),r(C.contactPointA,q,w),c(C.contactPointA,C.contactPointA,m),r(C.contactPointA,C.contactPointA,y.position),this.contactEquations.push(C),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(C)),1},i.prototype[y.CONVEX]=i.prototype[y.CONVEX|y.BOX]=i.prototype[y.BOX]=i.prototype.convexConvex=function(t,e,o,n,s,l,p,u,d,f){var v=A,y=b,m=E,g=B,P=q,L=w,x=S,F=C,M=0,f="number"==typeof f?f:0;if(!i.findSeparatingAxis(e,o,n,l,p,u,v))return 0;r(x,p,o),h(v,x)>0&&a.scale(v,v,-1);var I=i.getClosestEdge(e,n,v,!0),R=i.getClosestEdge(l,u,v);if(-1===I||-1===R)return 0;for(var V=0;V<2;V++){var T=I,N=R,G=e,O=l,U=o,k=p,_=n,D=u,W=t,j=s;if(0===V){var X;X=T,T=N,N=X,X=G,G=O,O=X,X=U,U=k,k=X,X=_,_=D,D=X,X=W,W=j,j=X}for(var z=N;z=3){if(d)return!0;var Q=this.createContactEquation(W,j,G,O);M++;var Z=G.vertices[T%G.vertices.length],J=G.vertices[(T+1)%G.vertices.length];a.rotate(m,Z,_),a.rotate(g,J,_),c(m,m,U),c(g,g,U),r(P,g,m),a.rotate90cw(Q.normalA,P),a.normalize(Q.normalA,Q.normalA),r(x,y,m);var $=h(Q.normalA,x);a.scale(L,Q.normalA,$),r(Q.contactPointA,y,U),r(Q.contactPointA,Q.contactPointA,L),c(Q.contactPointA,Q.contactPointA,U),r(Q.contactPointA,Q.contactPointA,W.position),r(Q.contactPointB,y,k),c(Q.contactPointB,Q.contactPointB,k),r(Q.contactPointB,Q.contactPointB,j.position),this.contactEquations.push(Q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Q))}}}return this.enableFrictionReduction&&this.enableFriction&&M&&this.frictionEquations.push(this.createFrictionFromAverage(M)),M};var Q=a.fromValues(0,0);i.projectConvexOntoAxis=function(t,e,o,i,n){var s,r,c=null,l=null,p=Q;a.rotate(p,i,-o);for(var u=0;uc)&&(c=r),(null===l||rc){var d=l;l=c,c=d}var f=h(e,i);a.set(n,l+f,c+f)};var $=a.fromValues(0,0),tt=a.fromValues(0,0),et=a.fromValues(0,0),ot=a.fromValues(0,0),it=a.fromValues(0,0),nt=a.fromValues(0,0);i.findSeparatingAxis=function(t,e,o,n,s,c,h){var l=null,p=!1,u=!1,d=$,f=tt,v=et,y=ot,g=it,A=nt;if(t instanceof m&&n instanceof m)for(P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(w=0;2!==w;w++){0===w?a.set(y,0,1):1===w&&a.set(y,1,0),0!==E&&a.rotate(y,y,E),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0),p=(S=q[0]-B[1])<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}else for(var P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(var w=0;w!==b.vertices.length;w++){a.rotate(f,b.vertices[w],E),a.rotate(v,b.vertices[(w+1)%b.vertices.length],E),r(d,v,f),a.rotate90cw(y,d),a.normalize(y,y),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0);var S=q[0]-B[1];p=S<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}return u};var st=a.fromValues(0,0),at=a.fromValues(0,0),rt=a.fromValues(0,0);i.getClosestEdge=function(t,e,o,i){var n=st,s=at,c=rt;a.rotate(n,o,-e),i&&a.scale(n,n,-1);for(var l=-1,p=t.vertices.length,u=-1,d=0;d!==p;d++){r(s,t.vertices[(d+1)%p],t.vertices[d%p]),a.rotate90cw(c,s),a.normalize(c,c);var f=h(c,n);(-1===l||f>u)&&(l=d%p,u=f)}return l};var ct=a.create(),ht=a.create(),lt=a.create(),pt=a.create(),ut=a.create(),dt=a.create(),ft=a.create();i.prototype[y.CIRCLE|y.HEIGHTFIELD]=i.prototype.circleHeightfield=function(t,e,o,i,n,s,h,l,p,u){var d=s.heights,u=u||e.radius,f=s.elementWidth,v=ht,y=ct,m=ut,g=ft,A=dt,b=lt,E=pt,B=Math.floor((o[0]-u-h[0])/f),q=Math.ceil((o[0]+u-h[0])/f);B<0&&(B=0),q>=d.length&&(q=d.length-1);for(var P=d[B],w=d[q],S=B;SP&&(P=d[S]);if(o[1]-u>P)return!p&&0;for(var C=!1,S=B;S=b[0]&&y[0]0)for(S=B;S<=q;S++)if(a.set(b,S*f,d[S]),a.add(b,b,h),a.sub(v,o,b),a.squaredLength(v)=l.length&&(m=l.length-1);for(var g=l[y],A=l[m],b=y;bg&&(g=l[b]);if(t.aabb.lowerBound[1]>g)return!h&&0;for(var E=0,b=y;b=0||s.containsPoint(this.from))&&this.intersectBody(t,n)}};var a=s.create();i.prototype.intersectBody=function(t,e){var o=this.checkCollisionResponse;if(!o||e.collisionResponse)for(var i=a,n=0,r=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=s,this._currentShape=e,e.raycast(t,this,i,o),this._currentBody=this._currentShape=null)},i.prototype.getAABB=function(t){var e=this.to,o=this.from;s.set(t.lowerBound,Math.min(e[0],o[0]),Math.min(e[1],o[1])),s.set(t.upperBound,Math.max(e[0],o[0]),Math.max(e[1],o[1]))};s.create();i.prototype.reportIntersection=function(t,e,o,n){this.from,this.to;var a=this._currentShape,r=this._currentBody;if(!(this.skipBackfaces&&s.dot(o,this.direction)>0))switch(this.mode){case i.ALL:t.set(o,a,r,e,n),this.callback(t);break;case i.CLOSEST:(e=0&&!(t[s].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);s--)t[s+1]=t[s];t[s+1]=n}return t},i.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;i.sortAxisList(t,e)},i.prototype.getCollisionPairs=function(t){var e=this.axisList,o=this.result,i=this.axisIndex;o.length=0;for(var n=e.length;n--;){var a=e[n];a.aabbNeedsUpdate&&a.updateAABB()}this.sortList();for(var r=0,c=0|e.length;r!==c;r++)for(var h=e[r],l=r+1;lthis.upperLimit&&(s.maxForce=0,s.minForce=-this.maxForce,this.distance=this.upperLimit,p=!0),this.lowerLimitEnabled&&this.positiono?(r.scale(n.normalA,h,-1),r.sub(n.contactPointA,l,a.position),r.sub(n.contactPointB,p,c.position),r.scale(f,h,o),r.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&gr?(f.angle=r,-1===n.indexOf(f)&&n.push(f)):-1!==(m=n.indexOf(f))&&n.splice(m,1),this.lowerLimitEnabled&&y>1;if(e<3)return[];for(var o=[],n=[],s=0;s3;){var r=n[(s+0)%a],c=n[(s+1)%a],h=n[(s+2)%a],l=t[2*r],p=t[2*r+1],u=t[2*c],d=t[2*c+1],f=t[2*h],v=t[2*h+1],y=!1;if(i._convex(l,p,u,d,f,v)){y=!0;for(var m=0;m3*a)break}return o.push(n[0],n[1],n[2]),o},i._PointInTriangle=function(t,e,o,i,n,s,a,r){var c=a-o,h=r-i,l=n-o,p=s-i,u=t-o,d=e-i,f=c*c+h*h,v=c*l+h*p,y=c*u+h*d,m=l*l+p*p,g=l*u+p*d,A=1/(f*m-v*v),b=(m*y-v*g)*A,E=(f*g-v*y)*A;return b>=0&&E>=0&&b+E<1},i._convex=function(t,e,o,i,n,s){return(e-i)*(n-o)+(o-t)*(s-i)>=0},e.exports=i},{}],30:[function(t,e,o){var i=e.exports={},n=t("../utils/Utils");i.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},i.crossVZ=function(t,e,o){return i.rotate(t,e,-Math.PI/2),i.scale(t,t,o),t},i.crossZV=function(t,e,o){return i.rotate(t,o,Math.PI/2),i.scale(t,t,e),t},i.rotate=function(t,e,o){if(0!==o){var i=Math.cos(o),n=Math.sin(o),s=e[0],a=e[1];t[0]=i*s-n*a,t[1]=n*s+i*a}else t[0]=e[0],t[1]=e[1]},i.rotate90cw=function(t,e){var o=e[0],i=e[1];t[0]=i,t[1]=-o},i.toLocalFrame=function(t,e,o,n){i.copy(t,e),i.sub(t,t,o),i.rotate(t,t,-n)},i.toGlobalFrame=function(t,e,o,n){i.copy(t,e),i.rotate(t,t,n),i.add(t,t,o)},i.vectorToLocalFrame=function(t,e,o){i.rotate(t,e,-o)},i.vectorToGlobalFrame=function(t,e,o){i.rotate(t,e,o)},i.centroid=function(t,e,o,n){return i.add(t,e,o),i.add(t,t,n),i.scale(t,t,1/3),t},i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var o=new n.ARRAY_TYPE(2);return o[0]=t,o[1]=e,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,o){return t[0]=e,t[1]=o,t},i.add=function(t,e,o){return t[0]=e[0]+o[0],t[1]=e[1]+o[1],t},i.subtract=function(t,e,o){return t[0]=e[0]-o[0],t[1]=e[1]-o[1],t},i.sub=i.subtract,i.multiply=function(t,e,o){return t[0]=e[0]*o[0],t[1]=e[1]*o[1],t},i.mul=i.multiply,i.divide=function(t,e,o){return t[0]=e[0]/o[0],t[1]=e[1]/o[1],t},i.div=i.divide,i.scale=function(t,e,o){return t[0]=e[0]*o,t[1]=e[1]*o,t},i.distance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(o*o+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return o*o+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],o=t[1];return Math.sqrt(e*e+o*o)},i.len=i.length,i.squaredLength=function(t){var e=t[0],o=t[1];return e*e+o*o},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.normalize=function(t,e){var o=e[0],i=e[1],n=o*o+i*i;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},i.lerp=function(t,e,o,i){var n=e[0],s=e[1];return t[0]=n+i*(o[0]-n),t[1]=s+i*(o[1]-s),t},i.reflect=function(t,e,o){var i=e[0]*o[0]+e[1]*o[1];t[0]=e[0]-2*o[0]*i,t[1]=e[1]-2*o[1]*i},i.getLineSegmentsIntersection=function(t,e,o,n,s){var a=i.getLineSegmentsIntersectionFraction(e,o,n,s);return!(a<0)&&(t[0]=e[0]+a*(o[0]-e[0]),t[1]=e[1]+a*(o[1]-e[1]),!0)},i.getLineSegmentsIntersectionFraction=function(t,e,o,i){var n,s,a=e[0]-t[0],r=e[1]-t[1],c=i[0]-o[0],h=i[1]-o[1];return n=(-r*(t[0]-o[0])+a*(t[1]-o[1]))/(-c*r+a*h),s=(c*(t[1]-o[1])-h*(t[0]-o[0]))/(-c*r+a*h),n>=0&&n<=1&&s>=0&&s<=1?s:-1}},{"../utils/Utils":57}],31:[function(t,e,o){function i(t){t=t||{},l.call(this),this.id=t.id||++i._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=i.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=i.DYNAMIC:this.type=i.STATIC,this.boundingRadius=0,this.aabb=new h,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=i.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),s=t("poly-decomp"),a=t("../shapes/Convex"),r=t("../collision/RaycastResult"),c=t("../collision/Ray"),h=t("../collision/AABB"),l=t("../events/EventEmitter");e.exports=i,i.prototype=new l,i.prototype.constructor=i,i._idCounter=0,i.prototype.updateSolveMassProperties=function(){this.sleepState===i.SLEEPING||this.type===i.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},i.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},i.prototype.getArea=function(){for(var t=0,e=0;eo&&(o=a+r)}this.boundingRadius=o},i.prototype.addShape=function(t,e,o){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=o||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},i.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},i.prototype.updateMassProperties=function(){if(this.type===i.STATIC||this.type===i.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,o=this.mass/e,s=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var a=0;a0?1/s:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();i.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var o=n.crossLength(e,t);this.angularForce+=o}};var d=n.create(),f=n.create(),v=n.create();i.prototype.applyForceLocal=function(t,e){e=e||v;var o=d,i=f;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyForce(o,i)};var y=n.create();i.prototype.applyImpulse=function(t,e){if(this.type===i.DYNAMIC){var o=y;if(n.scale(o,t,this.invMass),n.multiply(o,this.massMultiplier,o),n.add(this.velocity,o,this.velocity),e){var s=n.crossLength(e,t);s*=this.invInertia,this.angularVelocity+=s}}};var m=n.create(),g=n.create(),A=n.create();i.prototype.applyImpulseLocal=function(t,e){e=e||A;var o=m,i=g;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyImpulse(o,i)},i.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},i.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},i.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},i.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},i.prototype.fromPolygon=function(t,e){e=e||{};for(c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var o=new s.Polygon;if(o.vertices=t,o.makeCCW(),"number"==typeof e.removeCollinearPoints&&o.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!o.isSimple())return!1;this.concavePath=o.vertices.slice(0);for(c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=i.AWAKE):(this.idleTime+=o,this.sleepState=i.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},i.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var q=n.create(),P=n.create();i.prototype.integrate=function(t){var e=this.invMass,o=this.force,i=this.position,s=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(q,o,t*e),n.multiply(q,this.massMultiplier,q),n.add(s,q,s),this.integrateToTimeOfImpact(t)||(n.scale(P,s,t),n.add(i,i,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var w=new r,S=new c({mode:c.ALL}),C=n.create(),L=n.create(),x=n.create(),F=n.create();i.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=h&&c=0&&(s.rotate(d,p,i),s.scale(d,d,2*m-1),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}for(var A=Math.pow(this.radius,2)+Math.pow(y,2),m=0;m<2;m++){s.set(f,y*(2*m-1),0),s.toGlobalFrame(f,f,o,i);var b=Math.pow(a[0]-n[0],2)+Math.pow(a[1]-n[1],2),E=2*((a[0]-n[0])*(n[0]-f[0])+(a[1]-n[1])*(n[1]-f[1])),B=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),q=Math.pow(E,2)-4*b*B;if(!(q<0))if(0===q){if(s.lerp(u,n,a,q),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(q),w=1/(2*b),S=(-E-P)*w,C=(-E+P)*w;if(S>=0&&S<=1&&(s.lerp(u,n,a,S),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,S,d,-1),t.shouldStop(e))))return;if(C>=0&&C<=1&&(s.lerp(u,n,a,C),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,C,d,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},i.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},i.prototype.computeAABB=function(t,e,o){var i=this.radius;s.set(t.upperBound,i,i),s.set(t.lowerBound,-i,-i),e&&(s.add(t.lowerBound,t.lowerBound,e),s.add(t.upperBound,t.upperBound,e))};var a=s.create(),r=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,c=e.to,h=this.radius,l=Math.pow(c[0]-n[0],2)+Math.pow(c[1]-n[1],2),p=2*((c[0]-n[0])*(n[0]-o[0])+(c[1]-n[1])*(n[1]-o[1])),u=Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)-Math.pow(h,2),d=Math.pow(p,2)-4*l*u,f=a,v=r;if(!(d<0))if(0===d)s.lerp(f,n,c,d),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,d,v,-1);else{var y=Math.sqrt(d),m=1/(2*l),g=(-p-y)*m,A=(-p+y)*m;if(g>=0&&g<=1&&(s.lerp(f,n,c,g),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,g,v,-1),t.shouldStop(e)))return;A>=0&&A<=1&&(s.lerp(f,n,c,A),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,A,v,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,o){function i(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],o=0;on)&&(n=i),(null===a||in){var h=a;a=n,n=h}s.set(e,a,n)},i.prototype.projectOntoWorldAxis=function(t,e,o,i){var n=c;this.projectOntoLocalAxis(t,i),0!==o?s.rotate(n,t,o):n=t;var a=s.dot(e,n);s.set(i,i[0]+a,i[1]+a)},i.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=i)}this.boundingRadius=Math.sqrt(e)},i.triangleArea=function(t,e,o){return.5*((e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1]))},i.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,o=0;o!==t.length;o++){var n=t[o],s=e[n[0]],a=e[n[1]],r=e[n[2]],c=i.triangleArea(s,a,r);this.area+=c}},i.prototype.computeAABB=function(t,e,o){t.setFromPoints(this.vertices,e,o,0)};var f=s.create(),v=s.create(),y=s.create();i.prototype.raycast=function(t,e,o,i){var n=f,a=v,r=y,c=this.vertices;s.toLocalFrame(n,e.from,o,i),s.toLocalFrame(a,e.to,o,i);for(var h=c.length,l=0;l=0&&(s.sub(r,u,p),s.rotate(r,r,-Math.PI/2+i),s.normalize(r,r),e.reportIntersection(t,d,r,l))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,o){function i(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],o=t[0],i=0;i!==t.length;i++){var n=t[i];n>e&&(e=n),ng){var A=m;m=g,g=A}for(var b=0;b=0&&(s.sub(u,f,d),s.rotate(u,u,i+Math.PI/2),s.normalize(u,u),e.reportIntersection(t,E,u,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var a=[s.create(),s.create()];i.prototype.computeAABB=function(t,e,o){var i=this.length/2;s.set(a[0],-i,0),s.set(a[1],i,0),t.setFromPoints(a,e,o,0)};s.create();var r=s.create(),c=s.create(),h=s.create(),l=s.fromValues(0,1);i.prototype.raycast=function(t,e,o,i){var n=e.from,a=e.to,p=c,u=h,d=this.length/2;s.set(p,-d,0),s.set(u,d,0),s.toGlobalFrame(p,p,o,i),s.toGlobalFrame(u,u,o,i);var f=s.getLineSegmentsIntersectionFraction(p,u,n,a);if(f>=0){var v=r;s.rotate(v,l,i),e.reportIntersection(t,f,v,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,o){function i(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=0},i.prototype.computeAABB=function(t,e,o){s.copy(t.lowerBound,e),s.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,o){function i(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},i.prototype.computeAABB=function(t,e,o){var i=o%(2*Math.PI),n=s.set,a=t.lowerBound,r=t.upperBound;n(a,-1e7,-1e7),n(r,1e7,1e7),0===i?r[1]=0:i===Math.PI/2?a[0]=0:i===Math.PI?a[1]=0:i===3*Math.PI/2&&(r[0]=0)},i.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var a=s.create(),r=(s.create(),s.create(),s.create()),c=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,h=e.to,l=e.direction,p=a,u=r,d=c;s.set(u,0,1),s.rotate(u,u,i),s.sub(d,n,o);var f=s.dot(d,u);if(s.sub(d,h,o),!(f*s.dot(d,u)>0||s.squaredDistance(n,h)d*r&&(v=d*r-p),s[t]+=v,e.addToWlambda(v),v}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,o){function i(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var s={bodies:[]};i.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),s.bodies.length=0,e.getBodies(s.bodies),s.bodies.length&&this.solve(t,s))},i.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},i.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},i.prototype.addEquations=function(t){for(var e=0,o=t.length;e!==o;e++){var i=t[e];i.enabled&&this.equations.push(i)}},i.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},i.prototype.removeAllEquations=function(){this.equations.length=0},i.GS=1,i.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/ContactEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/FrictionEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/IslandNode"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/Island"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,o){function i(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new s({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),s=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=i,i.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,o=t.keys.length;o--;){var i=t.keys[o],n=t.getByKey(i);e.getByKey(i);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},i.prototype.setOverlapping=function(t,e,o,i){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,i.id)){var s=this.recordPool.get();s.set(t,e,o,i),n.set(e.id,i.id,s)}},i.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},i.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},i.prototype.bodiesAreOverlapping=function(t,e){for(var o=this.overlappingShapesCurrentState,i=o.keys.length;i--;){var n=o.keys[i],s=o.data[n];if(s.bodyA===t&&s.bodyB===e||s.bodyA===e&&s.bodyB===t)return!0}return!1},i.prototype.getDiff=function(t,e,o){var i=t,n=e;(o=o||[]).length=0;for(var s=n.keys.length;s--;){var a=n.keys[s],r=n.data[a];if(!r)throw new Error("Key "+a+" had no data!");i.data[a]||o.push(r)}return o},i.prototype.isNewOverlap=function(t,e){var o=0|t.id,i=0|e.id,n=this.overlappingShapesLastState,s=this.overlappingShapesCurrentState;return!n.get(o,i)&&!!s.get(o,i)},i.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getBodyDiff=function(t,e){e=e||[];for(var o=this.tmpDict,i=t.length;i--;){var n=t[i];o.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(i=o.keys.length;i--;)(n=o.getByKey(o.keys[i]))&&e.push(n.bodyA,n.bodyB);return o.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,o){function i(t,e,o,i){this.shapeA=e,this.shapeB=i,this.bodyA=t,this.bodyB=o}e.exports=i,i.prototype.set=function(t,e,o,n){i.call(this,t,e,o,n)}},{}],54:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,o){function i(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=i,i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},i.prototype.getByKey=function(t){return t|=0,this.data[t]},i.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},i.prototype.set=function(t,e,o){if(!o)throw new Error("No data!");var i=this.getKey(t,e);return this.data[i]||this.keys.push(i),this.data[i]=o,i},i.prototype.reset=function(){for(var t=this.data,e=this.keys,o=e.length;o--;)delete t[e[o]];e.length=0},i.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var o=t.keys[e];this.data[o]=t.data[o]}}},{"./Utils":57}],57:[function(t,e,o){function i(){}e.exports=i,i.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var o=0,i=e.length;o!==i;++o)t.push(e[o])},i.splice=function(t,e,o){o=o||1;for(var i=e,n=t.length-o;i=t&&i=0;q-=2)for(S=b.length-2;S>=0;S-=2)(B[q]===b[S]&&B[q+1]===b[S+1]||B[q+1]===b[S]&&B[q]===b[S+1])&&b.splice(S,2);X=p.length;for(q=0;q!==X;q++){var w=p[q];if(!w.collideConnected)for(var S=b.length-2;S>=0;S-=2)(w.bodyA===b[S]&&w.bodyB===b[S+1]||w.bodyB===b[S]&&w.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,l.reset(this);for(var q=0,C=b.length;q!==C;q+=2)for(var L=b[q],x=b[q+1],F=0,M=L.shapes.length;F!==M;F++)for(var I=L.shapes[F],R=I.position,V=I.angle,T=0,N=x.shapes.length;T!==N;T++){var G=x.shapes[T],O=G.position,U=G.angle,k=this.defaultContactMaterial;if(I.material&&G.material){var _=this.getContactMaterial(I.material,G.material);_&&(k=_)}this.runNarrowphase(l,L,I,R,V,x,G,O,U,k,this.frictionGravity)}for(q=0;q!==c;q++)(z=n[q])._wakeUpAfterNarrowphase&&(z.wakeUp(),z._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var D=this.endContactEvent,T=P.length;T--;){var W=P[T];D.shapeA=W.shapeA,D.shapeB=W.shapeB,D.bodyA=W.bodyA,D.bodyB=W.bodyB,this.emit(D)}P.length=0}var j=this.preSolveEvent;j.contactEquations=l.contactEquations,j.frictionEquations=l.frictionEquations,this.emit(j),j.contactEquations=j.frictionEquations=null;var X=p.length;for(q=0;q!==X;q++)p[q].update();if(l.contactEquations.length||l.frictionEquations.length||X)if(this.islandSplit){for(v.equations.length=0,g.appendArray(v.equations,l.contactEquations),g.appendArray(v.equations,l.frictionEquations),q=0;q!==X;q++)g.appendArray(v.equations,p[q].equations);v.split(this);for(q=0;q!==v.islands.length;q++)(H=v.islands[q]).equations.length&&r.solveIsland(t,H)}else{for(r.addEquations(l.contactEquations),r.addEquations(l.frictionEquations),q=0;q!==X;q++)r.addEquations(p[q].equations);this.solveConstraints&&r.solve(t,this),r.removeAllEquations()}for(q=0;q!==c;q++){var z=n[q];z.integrate(t)}for(q=0;q!==c;q++)n[q].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,q=0;q!==l.contactEquations.length;q++){var K=l.contactEquations[q];K.firstImpact&&(Y.bodyA=K.bodyA,Y.bodyB=K.bodyB,Y.shapeA=K.shapeA,Y.shapeB=K.shapeB,Y.contactEquation=K,this.emit(Y))}if(this.sleepMode===i.BODY_SLEEPING)for(q=0;q!==c;q++)n[q].sleepTick(this.time,!1,t);else if(this.sleepMode===i.ISLAND_SLEEPING&&this.islandSplit){for(q=0;q!==c;q++)n[q].sleepTick(this.time,!0,t);for(q=0;q0,t.frictionCoefficient=l.friction;var v;v=e.type===u.STATIC||e.type===u.KINEMATIC?a.mass:a.type===u.STATIC||a.type===u.KINEMATIC?e.mass:e.mass*a.mass/(e.mass+a.mass),t.slipForce=l.friction*p*v,t.restitution=l.restitution,t.surfaceVelocity=l.surfaceVelocity,t.frictionStiffness=l.frictionStiffness,t.frictionRelaxation=l.frictionRelaxation,t.stiffness=l.stiffness,t.relaxation=l.relaxation,t.contactSkinSize=l.contactSkinSize,t.enabledEquations=e.collisionResponse&&a.collisionResponse&&o.collisionResponse&&r.collisionResponse;var y=t[o.type|r.type],m=0;if(y){var g=o.sensor||r.sensor,A=t.frictionEquations.length;m=o.type=2*Math.pow(a.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),a.allowSleep&&a.type===u.DYNAMIC&&a.sleepState===u.SLEEPING&&e.sleepState===u.AWAKE&&e.type!==u.STATIC&&s.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(a._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,o,a,r),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(o,r)){var E=this.beginContactEvent;if(E.shapeA=o,E.shapeB=r,E.bodyA=e,E.bodyB=a,E.contactEquations.length=0,"number"==typeof m)for(P=t.contactEquations.length-m;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var o=this.bodies,e=o.length-1;e>=0;e--)this.removeBody(o[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var s=this.contactMaterials,e=s.length-1;e>=0;e--)this.removeContactMaterial(s[e]);i.apply(this)};var w=s.create(),S=(s.fromValues(0,0),s.fromValues(0,0));i.prototype.hitTest=function(t,e,o){o=o||0;var i=new u({position:t}),n=new l,p=t,d=w,f=S;i.addShape(n);for(var v=this.narrowphase,y=[],m=0,g=e.length;m!==g;m++)for(var A=e[m],b=0,E=A.shapes.length;b!==E;b++){var B=A.shapes[b];s.rotate(d,B.position,A.angle),s.add(d,d,A.position);var q=B.angle+A.angle;(B instanceof a&&v.circleParticle(A,B,d,q,i,n,p,0,!0)||B instanceof r&&v.particleConvex(i,n,p,0,A,B,d,q,!0)||B instanceof c&&v.particlePlane(i,n,p,0,A,B,d,q,!0)||B instanceof h&&v.particleCapsule(i,n,p,0,A,B,d,q,!0)||B instanceof l&&s.squaredLength(s.sub(f,d,t))} points - An array of Phaser.Points that make up the three vertices of this triangle @@ -40484,11 +40505,11 @@ Phaser.Graphics.prototype.drawTriangle = function (points, cull) { }; /** -* Draws {Phaser.Polygon} triangles +* Draws {@link Phaser.Polygon} triangles * * @method Phaser.Graphics#drawTriangles * @param {Array|Array} vertices - An array of Phaser.Points or numbers that make up the vertices of the triangles -* @param {Array} {indices=null} - An array of numbers that describe what order to draw the vertices in +* @param {Array} [indices=null] - An array of numbers that describe what order to draw the vertices in * @param {boolean} [cull=false] - Should we check if the triangle is back-facing */ Phaser.Graphics.prototype.drawTriangles = function (vertices, indices, cull) { @@ -70410,7 +70431,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -70447,7 +70468,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -70469,7 +70490,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -70491,7 +70512,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate @@ -73647,7 +73668,7 @@ Phaser.Physics.Arcade.prototype = { }, /** - * Checks for collision between two game objects and separates them if colliding. If you don't require separation then use {@link #overlap} instead. + * Checks for collision between two game objects and separates them if colliding ({@link https://gist.github.com/samme/cbb81dd19f564dcfe2232761e575063d details}). If you don't require separation then use {@link #overlap} instead. * * You can perform Sprite vs. Sprite, Sprite vs. Group, Group vs. Group, Sprite vs. Tilemap Layer or Group vs. Tilemap Layer collisions. * Both the `object1` and `object2` can be arrays of objects, of differing types. @@ -73668,16 +73689,18 @@ Phaser.Physics.Arcade.prototype = { * * ##### Examples * - * collide(group); - * collide(group, undefined); // equivalent + * ```javascript + * collide(group); + * collide(group, undefined); // equivalent * - * collide(sprite1, sprite2); + * collide(sprite1, sprite2); * - * collide(sprite, group); + * collide(sprite, group); * - * collide(group1, group2); + * collide(group1, group2); * - * collide([sprite1, sprite2], [sprite3, sprite4]); // 1v3, 1v4, 2v3, 2v4 + * collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4 + * ``` * * ##### Tilemaps * @@ -75686,7 +75709,7 @@ Phaser.Physics.Arcade.Body = function (sprite) { this.maxVelocity = new Phaser.Point(10000, 10000); /** - * @property {Phaser.Point} friction - If this Body is moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. + * @property {Phaser.Point} friction - If this Body is {@link #immovable} and moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. */ this.friction = new Phaser.Point(1, 0); @@ -82537,7 +82560,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.physicsType = Phaser.GROUP; /** - * @property {Phaser.Rectangle} area - The area of the emitter. Particles can be randomly generated from anywhere within this rectangle. + * @property {Phaser.Rectangle} area - The {@link #setSize size} of the emitter's emit area. The **actual** emit area is a rectangle of this size centered on (emitX, emitY): `{x: this.left, y: this.top, width: this.area.width, height: this.area.height}`. Particles are generated at a random position within this area. * @default */ this.area = new Phaser.Rectangle(x, y, 1, 1); @@ -82715,7 +82738,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count + * @property {object} count - Records emitter activity. * @property {number} count.emitted - How many particles were emitted during the last update. * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). * @property {number} count.totalEmitted - How many particles have been emitted. @@ -82747,10 +82770,10 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._maxParticleScale = new Phaser.Point(1, 1); /** - * @property {number} _quantity - Internal helper for deciding how many particles to launch. + * @property {number} _total - Internal helper for deciding how many particles to launch (via {@link #start}). * @private */ - this._quantity = 0; + this._total = 0; /** * @property {number} _timer - Internal helper for deciding when to launch particles or kill them. @@ -82771,7 +82794,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._flowQuantity = 0; /** - * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total. + * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total (via {@link #flow}). * @private */ this._flowTotal = 0; @@ -82844,7 +82867,7 @@ Phaser.Particles.Arcade.Emitter.prototype.update = function () { { this._counter++; - if (this._quantity > 0 && this._counter >= this._quantity) + if (this._total > 0 && this._counter >= this._total) { this.on = false; } @@ -82984,17 +83007,20 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity }; /** -* Call this function to start emitting a flow of particles at the given frequency. -* It will carry on going until the total given is reached. -* Each time the flow is run the quantity number of particles will be emitted together. -* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 x 5 = 20 total) -* If you set the total to be -1 then no quantity cap is used and it will keep emitting. +* Call this function to start emitting a flow of particles. +* `quantity` particles are released every interval of `frequency` ms until `total` particles have been released (or forever). +* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 × 5 = 20 total) and then turn {@link #on off}. +* If you set the total to be -1 then no quantity cap is used and it will keep emitting (as long as there are inactive particles available). +* +* {@link #output}, {@link #lifespanOutput}, and {@link #remainder} describe the particle flow rate. +* During a stable flow, the number of active particles approaches {@link #lifespanOutput} and the number of inactive particles approaches {@link #remainder}. +* If {@link #remainder} is less than 0, there will likely be no particles available for a portion of the flow (see {@link #count}). * * @method Phaser.Particles.Arcade.Emitter#flow * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit the particles, given in ms. -* @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. -* @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. +* @param {number} [frequency=250] - The interval between each release of particles, given in ms. Values between 0 and 16.66 will behave the same (60 releases per second). +* @param {number} [quantity=1] - How many particles to launch at each interval. Not larger than {@link #maxParticles}. +* @param {number} [total=-1] - Turn {@link #on off} after launching this many particles in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ @@ -83038,34 +83064,39 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * * There are two patterns, based on the `explode` argument: * -* - `start(true, lifespan=0, null, quantity)` -* - `start(false, lifespan=0, frequency=250, quantity=0)` +* ##### explode=true * -* When `explode` is true or `forceQuantity` is true, `start` emits `quantity` particles immediately. You should pass a nonzero `quantity`. +* start(true, lifespan=0, null, total) * -* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `quantity` is not zero, the emitter turns itself off after `quantity` particles have been released. If `quantity` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. +* When `explode` is true or `forceQuantity` is true, `start` emits `total` particles immediately. You should pass a nonzero `total`. +* +* ##### explode=false +* +* start(false, lifespan=0, frequency=250, total=0) +* +* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `total` is not zero, the emitter turns itself off after `total` particles have been released. If `total` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. * * `forceQuantity` seems equivalent to `explode` and can probably be avoided. * * @method Phaser.Particles.Arcade.Emitter#start * @param {boolean} [explode=true] - Whether the particles should all burst out at once (true) or at the frequency given (false). * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit 1 particle when `explode` is false. Value given in ms. Ignored if `explode` is set to true. -* @param {number} [quantity=0] - How many particles to launch in total (not larger than {@link Phaser.Particles.Arcade.Emitter#maxParticles maxParticles}). +* @param {number} [frequency=250] - The interval between each release of 1 particle, when `explode` is false. Value given in ms. Ignored if `explode` is set to true. +* @param {number} [total=0] - Turn {@link #on off} after launching this many particles in total. * @param {number} [forceQuantity=false] - Equivalent to `explodes`. * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ -Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { +Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, total, forceQuantity) { if (explode === undefined) { explode = true; } if (lifespan === undefined) { lifespan = 0; } if (frequency === undefined || frequency === null) { frequency = 250; } - if (quantity === undefined) { quantity = 0; } + if (total === undefined) { total = 0; } if (forceQuantity === undefined) { forceQuantity = false; } - if (quantity > this.maxParticles) + if (total > this.maxParticles) { - quantity = this.maxParticles; + total = this.maxParticles; } this.revive(); @@ -83077,7 +83108,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f if (explode || forceQuantity) { - for (var i = 0; i < quantity; i++) + for (var i = 0; i < total; i++) { this.emitParticle(); } @@ -83085,7 +83116,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f else { this.on = true; - this._quantity = quantity; + this._total = total; this._counter = 0; this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } @@ -83135,6 +83166,7 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr else if (key !== undefined) { particle.loadTexture(key); + particle.frame = Array.isArray(this._frames) ? rnd.pick(this._frames) : this._frames; } var emitX = this.emitX; @@ -83158,7 +83190,25 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr emitY = rnd.between(this.top, this.bottom); } - particle.reset(emitX, emitY); + this.resetParticle(particle, emitX, emitY); + + return true; + +}; + +/** + * Helper for {@link #emitParticle}. Sets particle properties and calls {@link Particle#onEmit}. + * + * @private + * @param {Phaser.Particle} particle + * @param {number} x + * @param {number} y + */ +Phaser.Particles.Arcade.Emitter.prototype.resetParticle = function (particle, x, y) { + + var rnd = this.game.rnd; + + particle.reset(x, y); particle.angle = 0; particle.lifespan = this.lifespan; @@ -83189,18 +83239,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.scale.set(this._minParticleScale.x, this._minParticleScale.y); } - if (frame === undefined) - { - if (Array.isArray(this._frames)) - { - particle.frame = this.game.rnd.pick(this._frames); - } - else - { - particle.frame = this._frames; - } - } - if (this.autoAlpha) { particle.setAlphaData(this.alphaData); @@ -83239,8 +83277,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.onEmit(); - return true; - }; /** @@ -83451,8 +83487,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAngle = function (minAngle, maxAngl }; /** -* Change the emitters center to match the center of any object with a `center` property, such as a Sprite. -* If the object doesn't have a center property it will be set to object.x + object.width / 2 +* Change the emitter's center to match the center of any object with a `center` property, such as an Arcade Body. +* If the object doesn't have a `center` property it will be set to the object's anchor-adjusted world position (`object.world`). * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index 9a5600142..f1a557418 100644 --- a/build/custom/phaser-arcade-physics.map +++ b/build/custom/phaser-arcade-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polyline","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polyline","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-arcade-physics.min.js b/build/custom/phaser-arcade-physics.min.js index 3d0b1cb35..2d129f886 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=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*g+T*v+C,E=w*v+_*g+S,A=b*m+T*v+C,M=w*v+_*m+S,R=b*m+T*y+C,L=w*y+_*m+S,O=b*g+T*y+C,I=w*y+_*g+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,m=P>(m=C>(m=T>(m=b>m?b:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[m++]=v*l+b*c+T|0,O[m++]=_*c+x*l+w|0,O[m++]=a.x0,O[m++]=a.y0,L[m++]=k,O[m++]=y,O[m++]=v*h+b*c+T|0,O[m++]=_*c+x*h+w|0,O[m++]=a.x1,O[m++]=a.y1,L[m++]=k,O[m++]=y,O[m++]=v*h+b*u+T|0,O[m++]=_*u+x*h+w|0,O[m++]=a.x2,O[m++]=a.y2,L[m++]=k,O[m++]=y,O[m++]=v*l+b*u+T|0,O[m++]=_*u+x*l+w|0,O[m++]=a.x3,O[m++]=a.y3,L[m++]=k,O[m++]=y):(O[m++]=v*l+b*c+T,O[m++]=_*c+x*l+w,O[m++]=a.x0,O[m++]=a.y0,L[m++]=k,O[m++]=y,O[m++]=v*h+b*c+T,O[m++]=_*c+x*h+w,O[m++]=a.x1,O[m++]=a.y1,L[m++]=k,O[m++]=y,O[m++]=v*h+b*u+T,O[m++]=_*u+x*h+w,O[m++]=a.x2,O[m++]=a.y2,L[m++]=k,O[m++]=y,O[m++]=v*l+b*u+T,O[m++]=_*u+x*l+w,O[m++]=a.x3,O[m++]=a.y3,L[m++]=k,O[m++]=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),m=this.positions,g=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;m[S++]=A*T+R*C+O,m[S++]=L*C+M*T+I,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*_+R*C+O,m[S++]=L*C+M*_+I,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*_+R*w+O,m[S++]=L*w+M*_+I,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+R*w+O,m[S++]=L*w+M*T+I,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,l,u),u=g,l=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)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var m=s;mu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),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);c.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var 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);u[c]=g,h+=m}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=m*u+l*y+g*c-u*y-l*g-m*c,L=m*x*c+v*u*y+l*g*b-l*x*y-v*g*c-m*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,T=b>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,u=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,m=0,g=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;g++,v--,f+=u){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 T=_[m];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,m,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var c,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(E>2147483648&&(E-=2147483648,p+=4),E>1073741824&&(E-=1073741824,p+=2),E>536870912&&(E-=536870912,p+=1),p){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,d=!0;break;case 7:c=Math.PI/2,d=!0;break;case 2:c=Math.PI,d=!0;break;case 1:c=3*Math.PI/2,d=!0}E>0?((G=new i.Tile(U,E,f,g.length,t.tilewidth,t.tileheight)).rotation=c,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=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._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),n.reset(o,a),n.angle=0,n.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(n):this.particleSendToBack&&this.sendToBack(n),this.autoScale?n.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?n.scale.set(r.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?n.scale.set(r.realInRange(this._minParticleScale.x,this._maxParticleScale.x),r.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):n.scale.set(this._minParticleScale.x,this._minParticleScale.y),void 0===s&&(Array.isArray(this._frames)?n.frame=this.game.rnd.pick(this._frames):n.frame=this._frames),this.autoAlpha?n.setAlphaData(this.alphaData):n.alpha=r.realInRange(this.minParticleAlpha,this.maxParticleAlpha),n.blendMode=this.blendMode;var h=n.body;return h.updateBounds(),h.bounce.copyFrom(this.bounce),h.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:r.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:r.between(this.minSpeed,this.maxSpeed),h.velocity):(h.velocity.x=r.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),h.velocity.y=r.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),h.angularVelocity=r.between(this.minRotation,this.maxRotation),h.gravity.copyFrom(this.gravity),h.angularDrag=this.angularDrag,n.onEmit(),!0},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=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*g+T*v+C,E=w*v+_*g+S,A=b*m+T*v+C,M=w*v+_*m+S,R=b*m+T*y+C,L=w*y+_*m+S,O=b*g+T*y+C,I=w*y+_*g+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,m=P>(m=C>(m=T>(m=b>m?b:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[m++]=v*l+b*c+T|0,O[m++]=_*c+x*l+w|0,O[m++]=a.x0,O[m++]=a.y0,L[m++]=k,O[m++]=y,O[m++]=v*h+b*c+T|0,O[m++]=_*c+x*h+w|0,O[m++]=a.x1,O[m++]=a.y1,L[m++]=k,O[m++]=y,O[m++]=v*h+b*u+T|0,O[m++]=_*u+x*h+w|0,O[m++]=a.x2,O[m++]=a.y2,L[m++]=k,O[m++]=y,O[m++]=v*l+b*u+T|0,O[m++]=_*u+x*l+w|0,O[m++]=a.x3,O[m++]=a.y3,L[m++]=k,O[m++]=y):(O[m++]=v*l+b*c+T,O[m++]=_*c+x*l+w,O[m++]=a.x0,O[m++]=a.y0,L[m++]=k,O[m++]=y,O[m++]=v*h+b*c+T,O[m++]=_*c+x*h+w,O[m++]=a.x1,O[m++]=a.y1,L[m++]=k,O[m++]=y,O[m++]=v*h+b*u+T,O[m++]=_*u+x*h+w,O[m++]=a.x2,O[m++]=a.y2,L[m++]=k,O[m++]=y,O[m++]=v*l+b*u+T,O[m++]=_*u+x*l+w,O[m++]=a.x3,O[m++]=a.y3,L[m++]=k,O[m++]=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),m=this.positions,g=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;m[S++]=A*T+R*C+O,m[S++]=L*C+M*T+I,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*_+R*C+O,m[S++]=L*C+M*_+I,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*_+R*w+O,m[S++]=L*w+M*_+I,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+R*w+O,m[S++]=L*w+M*T+I,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,l,u),u=g,l=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)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,u=a*t.x+h*t.y;t.x=l+e,t.y=u+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var m=s;mu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),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);c.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var 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);u[c]=g,h+=m}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:c,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=m*u+l*y+g*c-u*y-l*g-m*c,L=m*x*c+v*u*y+l*g*b-l*x*y-v*g*c-m*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,T=b>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,u=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,m=0,g=0,y=a;y1)for(c=0;cthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;g++,v--,f+=u){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 T=_[m];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,m,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var c,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(E>2147483648&&(E-=2147483648,p+=4),E>1073741824&&(E-=1073741824,p+=2),E>536870912&&(E-=536870912,p+=1),p){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,d=!0;break;case 7:c=Math.PI/2,d=!0;break;case 2:c=Math.PI,d=!0;break;case 1:c=3*Math.PI/2,d=!0}E>0?((G=new i.Tile(U,E,f,g.length,t.tilewidth,t.tileheight)).rotation=c,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# 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 056409738..34608ff34 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:56 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:58 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.4', + VERSION: '2.8.5', /** * An array of Phaser game instances. @@ -12681,11 +12681,30 @@ Object.defineProperty(Phaser.Group.prototype, "bottom", { // This function is set at the bottom of src/gameobjects/components/Bounds.js /** -* A display object is any object that can be rendered in the Phaser/pixi.js scene graph. -* -* This includes {@link Phaser.Group} (groups are display objects!), -* {@link Phaser.Sprite}, {@link Phaser.Button}, {@link Phaser.Text} -* as well as {@link PIXI.DisplayObject} and all derived types. +* A display object is any object that can be rendered in the Phaser/pixi.js scene graph: +* +* - {@link PIXI.DisplayObject} +* - {@link PIXI.DisplayObjectContainer} +* - {@link Phaser.BitmapText} +* - {@link Phaser.Creature} +* - {@link Phaser.Graphics} +* - {@link Phaser.Group} +* - {@link Phaser.FlexLayer} +* - {@link Phaser.Particles.Arcade.Emitter} +* - {@link Phaser.Physics.P2.BodyDebug} +* - {@link Phaser.SpriteBatch} +* - {@link Phaser.World} +* - {@link Phaser.Rope} +* - {@link Phaser.Stage} +* - {@link PIXI.Sprite} +* - {@link Phaser.Image} +* - {@link Phaser.Button} +* - {@link Phaser.Sprite} +* - {@link Phaser.Bullet} +* - {@link Phaser.Particle} +* - {@link Phaser.Text} +* - {@link Phaser.TilemapLayer} +* - {@link Phaser.TileSprite} * * @typedef {object} DisplayObject */ @@ -13116,42 +13135,29 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * In it's most simplest form, a Phaser game can be created by providing the arguments * to the constructor: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create }); * ``` * * In the example above it is passing in a State object directly. You can also use the State * Manager to do this: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO); * game.state.add('Boot', BasicGame.Boot); * game.state.add('Preloader', BasicGame.Preloader); * game.state.add('MainMenu', BasicGame.MainMenu); * game.state.add('Game', BasicGame.Game); * game.state.start('Boot'); -* * ``` +* * In the example above, 4 States are added to the State Manager, and Phaser is told to * start running the `Boot` state when it has finished initializing. There are example * project templates you can use in the Phaser GitHub repo, inside the `resources` folder. * -* @class Phaser.Game -* @constructor -* @param {number|string} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. -* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. -* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). -* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. -* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. -* @param {boolean} [transparent=false] - Use a transparent canvas background or not. -* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. -* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. -*/ - -/** -* Instead of specifying arguments you can also pass a single object instead: +* Instead of specifying arguments you can also pass {@link GameConfig a single object} instead: * -* ``` +* ```javascript * var config = { * width: 800, * height: 600, @@ -13170,23 +13176,14 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * * @class Phaser.Game * @constructor -* @param {object} [config] - A single configuration object -* @param {number|string} [config.antialias=true] -* @param {number|string} [config.height=600] -* @param {boolean} [config.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. -* @param {number} [config.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. -* @param {DOMElement} [config.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. -* @param {boolean} [config.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `renderer: Phaser.WEBGL_MULTI`. -* @param {string|HTMLElement} [config.parent=''] -* @param {object} [config.physicsConfig=null] -* @param {boolean} [config.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. -* @param {number} [config.renderer=Phaser.AUTO] -* @param {number} [config.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. -* @param {number} [config.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. -* @param {number} [config.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @param {object} [config.state=null] -* @param {boolean} [config.transparent=false] -* @param {number|string} [config.width=800] +* @param {number|string|GameConfig} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. +* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. +* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). +* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. +* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. +* @param {boolean} [transparent=false] - Use a transparent canvas background or not. +* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. +* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. */ Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias, physicsConfig) { @@ -13216,7 +13213,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Width in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} width * @readonly @@ -13227,7 +13224,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Height in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} height * @readonly @@ -13616,6 +13613,29 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant }; +/** +* A configuration object for {@link Phaser.Game}. +* +* @typedef {object} GameConfig +* @property {number|string} [GameConfig.antialias=true] +* @property {number|string} [GameConfig.height=600] +* @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. +* @property {DOMElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. +* @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. +* @property {string|HTMLElement} [GameConfig.parent=''] +* @property {object} [GameConfig.physicsConfig=null] +* @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. +* @property {number} [GameConfig.renderer=Phaser.AUTO] +* @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. +* @property {object} [GameConfig.state=null] +* @property {boolean} [GameConfig.transparent=false] +* @property {number|string} [GameConfig.width=800] +*/ +// Documentation stub for linking. + Phaser.Game.prototype = { /** @@ -14995,8 +15015,9 @@ Phaser.Input.prototype = { * @method Phaser.Input#executeTouchLockCallbacks * @private * @param {boolean} onEnd - Execute the touchend/pointerup callbacks (true) or the touchstart/pointerdown callbacks (false). Required! + * @param {Event} event - The native event from the browser. */ - executeTouchLockCallbacks: function (onEnd) { + executeTouchLockCallbacks: function (onEnd, event) { var i = this.touchLockCallbacks.length; while (i--) @@ -16553,7 +16574,7 @@ Phaser.MSPointer.prototype = { */ onPointerDown: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -16629,7 +16650,7 @@ Phaser.MSPointer.prototype = { */ onPointerUp: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -18614,7 +18635,7 @@ Phaser.Touch.prototype = { */ onTouchStart: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -18759,7 +18780,7 @@ Phaser.Touch.prototype = { */ onTouchEnd: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -32908,7 +32929,7 @@ Phaser.Graphics.prototype.destroy = function (destroyChildren) { }; /** -* Draws a single {Phaser.Polygon} triangle from a {Phaser.Point} array +* Draws a single {@link Phaser.Polygon} triangle from a {@link Phaser.Point} array * * @method Phaser.Graphics#drawTriangle * @param {Array} points - An array of Phaser.Points that make up the three vertices of this triangle @@ -32940,11 +32961,11 @@ Phaser.Graphics.prototype.drawTriangle = function (points, cull) { }; /** -* Draws {Phaser.Polygon} triangles +* Draws {@link Phaser.Polygon} triangles * * @method Phaser.Graphics#drawTriangles * @param {Array|Array} vertices - An array of Phaser.Points or numbers that make up the vertices of the triangles -* @param {Array} {indices=null} - An array of numbers that describe what order to draw the vertices in +* @param {Array} [indices=null] - An array of numbers that describe what order to draw the vertices in * @param {boolean} [cull=false] - Should we check if the triangle is back-facing */ Phaser.Graphics.prototype.drawTriangles = function (vertices, indices, cull) { @@ -62866,7 +62887,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -62903,7 +62924,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -62925,7 +62946,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -62947,7 +62968,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate @@ -66103,7 +66124,7 @@ Phaser.Physics.Arcade.prototype = { }, /** - * Checks for collision between two game objects and separates them if colliding. If you don't require separation then use {@link #overlap} instead. + * Checks for collision between two game objects and separates them if colliding ({@link https://gist.github.com/samme/cbb81dd19f564dcfe2232761e575063d details}). If you don't require separation then use {@link #overlap} instead. * * You can perform Sprite vs. Sprite, Sprite vs. Group, Group vs. Group, Sprite vs. Tilemap Layer or Group vs. Tilemap Layer collisions. * Both the `object1` and `object2` can be arrays of objects, of differing types. @@ -66124,16 +66145,18 @@ Phaser.Physics.Arcade.prototype = { * * ##### Examples * - * collide(group); - * collide(group, undefined); // equivalent + * ```javascript + * collide(group); + * collide(group, undefined); // equivalent * - * collide(sprite1, sprite2); + * collide(sprite1, sprite2); * - * collide(sprite, group); + * collide(sprite, group); * - * collide(group1, group2); + * collide(group1, group2); * - * collide([sprite1, sprite2], [sprite3, sprite4]); // 1v3, 1v4, 2v3, 2v4 + * collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4 + * ``` * * ##### Tilemaps * @@ -68142,7 +68165,7 @@ Phaser.Physics.Arcade.Body = function (sprite) { this.maxVelocity = new Phaser.Point(10000, 10000); /** - * @property {Phaser.Point} friction - If this Body is moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. + * @property {Phaser.Point} friction - If this Body is {@link #immovable} and moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. */ this.friction = new Phaser.Point(1, 0); @@ -80437,7 +80460,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.physicsType = Phaser.GROUP; /** - * @property {Phaser.Rectangle} area - The area of the emitter. Particles can be randomly generated from anywhere within this rectangle. + * @property {Phaser.Rectangle} area - The {@link #setSize size} of the emitter's emit area. The **actual** emit area is a rectangle of this size centered on (emitX, emitY): `{x: this.left, y: this.top, width: this.area.width, height: this.area.height}`. Particles are generated at a random position within this area. * @default */ this.area = new Phaser.Rectangle(x, y, 1, 1); @@ -80615,7 +80638,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count + * @property {object} count - Records emitter activity. * @property {number} count.emitted - How many particles were emitted during the last update. * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). * @property {number} count.totalEmitted - How many particles have been emitted. @@ -80647,10 +80670,10 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._maxParticleScale = new Phaser.Point(1, 1); /** - * @property {number} _quantity - Internal helper for deciding how many particles to launch. + * @property {number} _total - Internal helper for deciding how many particles to launch (via {@link #start}). * @private */ - this._quantity = 0; + this._total = 0; /** * @property {number} _timer - Internal helper for deciding when to launch particles or kill them. @@ -80671,7 +80694,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._flowQuantity = 0; /** - * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total. + * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total (via {@link #flow}). * @private */ this._flowTotal = 0; @@ -80744,7 +80767,7 @@ Phaser.Particles.Arcade.Emitter.prototype.update = function () { { this._counter++; - if (this._quantity > 0 && this._counter >= this._quantity) + if (this._total > 0 && this._counter >= this._total) { this.on = false; } @@ -80884,17 +80907,20 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity }; /** -* Call this function to start emitting a flow of particles at the given frequency. -* It will carry on going until the total given is reached. -* Each time the flow is run the quantity number of particles will be emitted together. -* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 x 5 = 20 total) -* If you set the total to be -1 then no quantity cap is used and it will keep emitting. +* Call this function to start emitting a flow of particles. +* `quantity` particles are released every interval of `frequency` ms until `total` particles have been released (or forever). +* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 × 5 = 20 total) and then turn {@link #on off}. +* If you set the total to be -1 then no quantity cap is used and it will keep emitting (as long as there are inactive particles available). +* +* {@link #output}, {@link #lifespanOutput}, and {@link #remainder} describe the particle flow rate. +* During a stable flow, the number of active particles approaches {@link #lifespanOutput} and the number of inactive particles approaches {@link #remainder}. +* If {@link #remainder} is less than 0, there will likely be no particles available for a portion of the flow (see {@link #count}). * * @method Phaser.Particles.Arcade.Emitter#flow * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit the particles, given in ms. -* @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. -* @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. +* @param {number} [frequency=250] - The interval between each release of particles, given in ms. Values between 0 and 16.66 will behave the same (60 releases per second). +* @param {number} [quantity=1] - How many particles to launch at each interval. Not larger than {@link #maxParticles}. +* @param {number} [total=-1] - Turn {@link #on off} after launching this many particles in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ @@ -80938,34 +80964,39 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * * There are two patterns, based on the `explode` argument: * -* - `start(true, lifespan=0, null, quantity)` -* - `start(false, lifespan=0, frequency=250, quantity=0)` +* ##### explode=true * -* When `explode` is true or `forceQuantity` is true, `start` emits `quantity` particles immediately. You should pass a nonzero `quantity`. +* start(true, lifespan=0, null, total) * -* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `quantity` is not zero, the emitter turns itself off after `quantity` particles have been released. If `quantity` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. +* When `explode` is true or `forceQuantity` is true, `start` emits `total` particles immediately. You should pass a nonzero `total`. +* +* ##### explode=false +* +* start(false, lifespan=0, frequency=250, total=0) +* +* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `total` is not zero, the emitter turns itself off after `total` particles have been released. If `total` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. * * `forceQuantity` seems equivalent to `explode` and can probably be avoided. * * @method Phaser.Particles.Arcade.Emitter#start * @param {boolean} [explode=true] - Whether the particles should all burst out at once (true) or at the frequency given (false). * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit 1 particle when `explode` is false. Value given in ms. Ignored if `explode` is set to true. -* @param {number} [quantity=0] - How many particles to launch in total (not larger than {@link Phaser.Particles.Arcade.Emitter#maxParticles maxParticles}). +* @param {number} [frequency=250] - The interval between each release of 1 particle, when `explode` is false. Value given in ms. Ignored if `explode` is set to true. +* @param {number} [total=0] - Turn {@link #on off} after launching this many particles in total. * @param {number} [forceQuantity=false] - Equivalent to `explodes`. * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ -Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { +Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, total, forceQuantity) { if (explode === undefined) { explode = true; } if (lifespan === undefined) { lifespan = 0; } if (frequency === undefined || frequency === null) { frequency = 250; } - if (quantity === undefined) { quantity = 0; } + if (total === undefined) { total = 0; } if (forceQuantity === undefined) { forceQuantity = false; } - if (quantity > this.maxParticles) + if (total > this.maxParticles) { - quantity = this.maxParticles; + total = this.maxParticles; } this.revive(); @@ -80977,7 +81008,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f if (explode || forceQuantity) { - for (var i = 0; i < quantity; i++) + for (var i = 0; i < total; i++) { this.emitParticle(); } @@ -80985,7 +81016,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f else { this.on = true; - this._quantity = quantity; + this._total = total; this._counter = 0; this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } @@ -81035,6 +81066,7 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr else if (key !== undefined) { particle.loadTexture(key); + particle.frame = Array.isArray(this._frames) ? rnd.pick(this._frames) : this._frames; } var emitX = this.emitX; @@ -81058,7 +81090,25 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr emitY = rnd.between(this.top, this.bottom); } - particle.reset(emitX, emitY); + this.resetParticle(particle, emitX, emitY); + + return true; + +}; + +/** + * Helper for {@link #emitParticle}. Sets particle properties and calls {@link Particle#onEmit}. + * + * @private + * @param {Phaser.Particle} particle + * @param {number} x + * @param {number} y + */ +Phaser.Particles.Arcade.Emitter.prototype.resetParticle = function (particle, x, y) { + + var rnd = this.game.rnd; + + particle.reset(x, y); particle.angle = 0; particle.lifespan = this.lifespan; @@ -81089,18 +81139,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.scale.set(this._minParticleScale.x, this._minParticleScale.y); } - if (frame === undefined) - { - if (Array.isArray(this._frames)) - { - particle.frame = this.game.rnd.pick(this._frames); - } - else - { - particle.frame = this._frames; - } - } - if (this.autoAlpha) { particle.setAlphaData(this.alphaData); @@ -81139,8 +81177,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.onEmit(); - return true; - }; /** @@ -81351,8 +81387,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAngle = function (minAngle, maxAngl }; /** -* Change the emitters center to match the center of any object with a `center` property, such as a Sprite. -* If the object doesn't have a center property it will be set to object.x + object.width / 2 +* Change the emitter's center to match the center of any object with a `center` property, such as an Arcade Body. +* If the object doesn't have a `center` property it will be set to the object's anchor-adjusted world position (`object.world`). * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. @@ -83194,7 +83230,7 @@ PIXI.CreatureShader.prototype.constructor = PIXI.CreatureShader; /** * Initialises the shader. * - * @method init + * @method PIXI.CreatureShader#init */ PIXI.CreatureShader.prototype.init = function() { @@ -83230,7 +83266,7 @@ PIXI.CreatureShader.prototype.init = function() /** * Destroys the shader. * - * @method destroy + * @method PIXI.CreatureShader#destroy */ PIXI.CreatureShader.prototype.destroy = function() { this.gl.deleteProgram(this.program); diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 95ee56ff6..2e5c4ed26 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","Infinity","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","Infinity","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":";;CAmCA,WA64fA,SAASA,EAAiBC,EAAaC,GAMnCC,KAAKC,aAAeH,EAMpBE,KAAKE,WAAaH,EAMlBC,KAAKG,cAAgB,KA75frB,IAAIC,EAAOJ,KAWXK,EAASA,IAOTC,QAAS,QAOTC,SAOAC,KAAM,EAONC,OAAQ,EAORC,MAAO,EAOPC,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,GA2BdC,YACIC,OAAQ,EACRC,IAAK,EACLC,SAAU,EACVC,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,IAehBC,YACIC,QAAS,EACTC,OAAQ,EACRC,QAAS,GAGbC,KAAMA,SAGNC,KAAM,GA6GV,GAnGKC,KAAKC,QACND,KAAKC,MAAQ,SAAeC,GACxB,OAAOA,EAAI,EAAIF,KAAKG,KAAKD,GAAKF,KAAKI,MAAMF,KAO5CG,SAASC,UAAUC,OAGpBF,SAASC,UAAUC,KAAO,WAEtB,IAAIC,EAAQC,MAAMH,UAAUE,MAE5B,OAAO,SAAUE,GASb,SAASC,IACL,IAAIC,EAAOC,EAAUC,OAAON,EAAMO,KAAKC,YACvCC,EAAOC,MAAMnH,gBAAgB4G,EAAQ5G,KAAO2G,EAASE,GATzD,IAAIK,EAASlH,KAAM8G,EAAYL,EAAMO,KAAKC,UAAW,GAErD,GAAsB,mBAAXC,EAEP,MAAM,IAAIE,UAqBd,OAbAR,EAAML,UAAY,SAAUc,EAAEC,GAM1B,GALIA,IAEAD,EAAEd,UAAYe,KAGZtH,gBAAgBqH,GAGlB,OAAO,IAAIA,EATD,CAWfH,EAAOX,WAEHK,GA/BW,IAuCzBF,MAAMa,UAEPb,MAAMa,QAAU,SAAUC,GAEtB,MAA+C,mBAAxCC,OAAOlB,UAAUmB,SAASV,KAAKQ,KAQzCd,MAAMH,UAAUoB,UAEjBjB,MAAMH,UAAUoB,QAAU,SAASC,GAE/B,aAEA,QAAa,IAAT5H,MAA4B,OAATA,KAEnB,MAAM,IAAIoH,UAGd,IAAIS,EAAIJ,OAAOzH,MACX8H,EAAMD,EAAEE,SAAW,EAEvB,GAAmB,mBAARH,EAEP,MAAM,IAAIR,UAKd,IAAK,IAFDT,EAAUM,UAAUc,QAAU,EAAId,UAAU,QAAK,EAE5Ce,EAAI,EAAGA,EAAIF,EAAKE,IAEjBA,KAAKH,GAELD,EAAIZ,KAAKL,EAASkB,EAAEG,GAAIA,EAAGH,KAWT,mBAAvBI,OAAOC,aAA4D,iBAAvBD,OAAOC,YAC9D,CACI,IAAIC,EAAa,SAASC,GAEtB,IAAId,EAAQ,IAAIZ,MAEhBuB,OAAOG,GAAQ,SAASZ,GAEpB,GAAoB,iBAAV,EACV,CACId,MAAMM,KAAKhH,KAAMwH,GACjBxH,KAAK+H,OAASP,EAEd,IAASQ,EAAI,EAAGA,EAAIhI,KAAK+H,OAAQC,IAE7BhI,KAAKgI,GAAK,MAIlB,CACItB,MAAMM,KAAKhH,KAAMwH,EAAIO,QAErB/H,KAAK+H,OAASP,EAAIO,OAElB,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAK+H,OAAQC,IAE7BhI,KAAKgI,GAAKR,EAAIQ,KAK1BC,OAAOG,GAAM7B,UAAYe,EACzBW,OAAOG,GAAMC,YAAcJ,OAAOG,IAGtCD,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMVF,OAAOK,UAERL,OAAOK,WACPL,OAAOK,QAAQC,IAAMN,OAAOK,QAAQE,OAAS,aAC7CP,OAAOK,QAAQG,KAAOR,OAAOK,QAAQE,OAAS,cAO7Cf,OAAOiB,SAGRjB,OAAOiB,OAAS,SAASxB,EAAQyB,GAE7B,aACA,GAAc,MAAVzB,EACA,MAAM,IAAIE,UAAU,8CAMxB,IAAK,IAHDwB,EAAKnB,OAAOP,GACZ2B,EAASpB,OAAOlB,UAAUuC,eAErBC,EAAQ,EAAGA,EAAQ9B,UAAUc,OAAQgB,IAAS,CACnD,IAAIC,EAAa/B,UAAU8B,GAE3B,GAAkB,MAAdC,EACA,IAAK,IAAIC,KAAWD,EAEZH,EAAO7B,KAAKgC,EAAYC,KACxBL,EAAGK,GAAWD,EAAWC,IAKzC,OAAOL,IAcfvI,EAAO6I,OAUHC,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIC,UAAUC,KAAK,KAY3CC,YAAa,SAASC,EAAKC,GAOvB,IALA,IAAIC,EAAQD,EAAKL,MAAM,KACnBvB,EAAM6B,EAAM5B,OACZC,EAAI,EACJ4B,EAAMH,EAEHzB,EAAIF,GACX,CACI,IAAI+B,EAAMF,EAAM3B,GAEhB,GAAW,MAAP4B,EAOA,OALAA,EAAMA,EAAIC,GACV7B,IAQR,OAAO4B,GAYXE,YAAa,SAASL,EAAKC,EAAMK,GAQ7B,IANA,IAAIJ,EAAQD,EAAKL,MAAM,KACnBW,EAAOL,EAAMM,MACbC,EAAIP,EAAM5B,OACVC,EAAI,EACJmC,EAAUR,EAAM,GAEb3B,EAAIkC,IAAMT,EAAMA,EAAIU,KAEvBA,EAAUR,EAAM3B,GAChBA,IAQJ,OALIyB,IAEAA,EAAIO,GAAQD,GAGTN,GAcXW,WAAY,SAAUC,GAElB,YADeC,IAAXD,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBpE,KAAKsE,UAAkBF,GAWjDG,aAAc,SAAUC,EAASC,GAC7B,OAAQzE,KAAKsE,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUC,EAAMC,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATH,EAGiB,MAApBA,EAAKI,QAAQ,IAEbF,EAAIG,SAASL,EAAM,IAAM,IAIrBG,EAFc,IAAdF,EAEK5C,OAAOiD,WAAaJ,EAIpB7C,OAAOkD,YAAcL,GAK9BC,EAAKE,SAASL,EAAM,IAKxBG,EAAKH,EAGFG,GA+BXK,IAAK,SAAUC,EAAKvD,EAAKsD,EAAKE,GAE1B,QAAYhB,IAARxC,EAAqB,IAAIA,EAAM,EACnC,QAAYwC,IAARc,EAAqB,IAAIA,EAAM,IACnC,QAAYd,IAARgB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAIzD,EAAM,IAJVuD,EAAMA,EAAI3D,YAISK,OAEf,OAAQuD,GAEJ,KAAK,EACDD,EAAM,IAAI3E,MAAMoB,EAAM,EAAIuD,EAAItD,QAAQwB,KAAK6B,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQvF,KAAKG,MAAMmF,EAASzD,EAAMuD,EAAItD,QAAU,GAChD0D,EAAOF,EAASC,EACpBH,EAAM,IAAI3E,MAAM+E,EAAK,GAAGlC,KAAK6B,GAAOC,EAAM,IAAI3E,MAAM8E,EAAM,GAAGjC,KAAK6B,GAClE,MAEJ,QACIC,GAAY,IAAI3E,MAAMoB,EAAM,EAAIuD,EAAItD,QAAQwB,KAAK6B,GAK7D,OAAOC,GAWXK,cAAe,SAAUjC,GAMrB,GAAoB,iBAAV,GAAsBA,EAAIkC,UAAYlC,IAAQA,EAAIxB,OAExD,OAAO,EAOX,IACI,GAAIwB,EAAIpB,iBAAqBS,eAAe9B,KAAKyC,EAAIpB,YAAY9B,UAAW,iBAExE,OAAO,EAEb,MAAOqF,GACL,OAAO,EAKX,OAAO,GAWXC,OAAQ,WAEJ,IAAIC,EAASC,EAAMC,EAAKC,EAAMC,EAAaC,EACvCjF,EAASD,UAAU,OACnBe,EAAI,EACJD,EAASd,UAAUc,OACnBqE,GAAO,EAkBX,IAfsB,kBAAXlF,IAEPkF,EAAOlF,EACPA,EAASD,UAAU,OAEnBe,EAAI,GAIJD,IAAWC,IAEXd,EAASlH,OACPgI,GAGCA,EAAID,EAAQC,IAGf,GAAgC,OAA3B8D,EAAU7E,UAAUe,IAGrB,IAAK+D,KAAQD,EAETE,EAAM9E,EAAO6E,GAIT7E,KAHJ+E,EAAOH,EAAQC,MASXK,GAAQH,IAAS5L,EAAO6I,MAAMwC,cAAcO,KAAUC,EAAcxF,MAAMa,QAAQ0E,MAE9EC,GAEAA,GAAc,EACdC,EAAQH,GAAOtF,MAAMa,QAAQyE,GAAOA,MAIpCG,EAAQH,GAAO3L,EAAO6I,MAAMwC,cAAcM,GAAOA,KAIrD9E,EAAO6E,GAAQ1L,EAAO6I,MAAM2C,OAAOO,EAAMD,EAAOF,SAIlC3B,IAAT2B,IAEL/E,EAAO6E,GAAQE,IAO/B,OAAO/E,GAgBXmF,eAAgB,SAAUnF,EAAQoF,EAAOC,QAErBjC,IAAZiC,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAY/E,OAAOgF,KAAKH,GAEnBtE,EAAI,EAAGA,EAAIwE,EAAUzE,OAAQC,IACtC,CACI,IAAI6B,EAAM2C,EAAUxE,GAChB+B,EAAQuC,EAAMzC,IAEb0C,GAAY1C,KAAO3C,KAOhB6C,GACsB,mBAAdA,EAAM2C,KAA2C,mBAAd3C,EAAM4C,IAcjDzF,EAAO2C,GAAOE,EAXa,mBAAhBA,EAAMoC,MAEbjF,EAAO2C,GAAOE,EAAMoC,QAIpB1E,OAAOmF,eAAe1F,EAAQ2C,EAAKE,MAqBvDuC,MAAO,SAAUO,EAAMjE,GAEnB,IAAKiE,GAA0B,iBAAX,EAEhB,OAAOjE,EAGX,IAAK,IAAIiB,KAAOgD,EAChB,CACI,IAAIC,EAAID,EAAKhD,GAEb,IAAIiD,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAI5E,SAAeyE,EAAKhD,GAEnBgD,EAAKhD,IAAiB,WAATzB,SAOFQ,EAAGiB,KAAUzB,EAErBQ,EAAGiB,GAAOxJ,EAAO6I,MAAMoD,MAAMO,EAAKhD,GAAMjB,EAAGiB,IAI3CjB,EAAGiB,GAAOxJ,EAAO6I,MAAMoD,MAAMO,EAAKhD,GAAM,IAAIiD,EAAEzE,aAXlDO,EAAGiB,GAAOgD,EAAKhD,IAgBvB,OAAOjB,IAsBfvI,EAAO4M,OAAS,SAAU9G,EAAG+G,EAAGC,GAE5BhH,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTC,EAAWA,GAAY,EAKvBnN,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAMTlN,KAAKoN,UAAYD,EAMjBnN,KAAKqN,QAAU,EAEXF,EAAW,IAEXnN,KAAKqN,QAAqB,GAAXF,GAOnBnN,KAAKoI,KAAO/H,EAAOkC,QAIvBlC,EAAO4M,OAAO1G,WAQV+G,cAAe,WAEX,OAAYrH,KAAKsH,GAAKvN,KAAKqN,QAApB,GAYX9C,OAAQ,SAAUiD,QAEFlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI5F,EAAI,EAAI5B,KAAKsH,GAAKtH,KAAKsE,SACvBmD,EAAIzH,KAAKsE,SAAWtE,KAAKsE,SACzBoD,EAAKD,EAAI,EAAK,EAAIA,EAAIA,EACtBvH,EAAIwH,EAAI1H,KAAK2H,IAAI/F,GACjBqF,EAAIS,EAAI1H,KAAK4H,IAAIhG,GAKrB,OAHA2F,EAAIrH,EAAInG,KAAKmG,EAAKA,EAAInG,KAAK8N,OAC3BN,EAAIN,EAAIlN,KAAKkN,EAAKA,EAAIlN,KAAK8N,OAEpBN,GAUXO,UAAW,WAEP,OAAO,IAAI1N,EAAO2N,UAAUhO,KAAKmG,EAAInG,KAAK8N,OAAQ9N,KAAKkN,EAAIlN,KAAK8N,OAAQ9N,KAAKmN,SAAUnN,KAAKmN,WAYhGc,MAAO,SAAU9H,EAAG+G,EAAGC,GAOnB,OALAnN,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAKoN,UAAYD,EACjBnN,KAAKqN,QAAqB,GAAXF,EAERnN,MAUXkO,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAOhB,WAUjDiB,OAAQ,SAAUC,GAMd,OAJAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAKlB,SAAWnN,KAAKoN,UAEdiB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAWjO,EAAO4F,KAAKqI,SAAStO,KAAKmG,EAAGnG,KAAKkN,EAAGmB,EAAKlI,EAAGkI,EAAKnB,GACjE,OAAOqB,EAAQtI,KAAKsI,MAAMD,GAAYA,GAU1CnC,MAAO,SAAUqC,GAWb,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO4M,OAAOjN,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmN,UAIhDqB,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmN,UAG/BqB,GAWXC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAO4M,OAAOwB,SAASzO,KAAMmG,EAAG+G,IAY3CwB,mBAAoB,SAAUC,EAAOC,EAAWpB,GAE5C,OAAOnN,EAAO4M,OAAOyB,mBAAmB1O,KAAM2O,EAAOC,EAAWpB,IAWpEqB,OAAQ,SAAUC,EAAIC,GAKlB,OAHA/O,KAAKmG,GAAK2I,EACV9O,KAAKkN,GAAK6B,EAEH/O,MAUXgP,YAAa,SAAUC,GACnB,OAAOjP,KAAK6O,OAAOI,EAAM9I,EAAG8I,EAAM/B,IAQtCxF,SAAU,WACN,MAAO,sBAAwB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,aAAelN,KAAKmN,SAAW,WAAanN,KAAK8N,OAAS,QAK3HzN,EAAO4M,OAAO1G,UAAU8B,YAAchI,EAAO4M,OAQ7CxF,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,YAE3CmG,IAAK,WACD,OAAO1M,KAAKoN,WAGhBT,IAAK,SAAU5C,GAEPA,EAAQ,IAER/J,KAAKoN,UAAYrD,EACjB/J,KAAKqN,QAAkB,GAARtD,MAW3BtC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,UAE3CmG,IAAK,WACD,OAAO1M,KAAKqN,SAGhBV,IAAK,SAAU5C,GAEPA,EAAQ,IAER/J,KAAKqN,QAAUtD,EACf/J,KAAKoN,UAAoB,EAARrD,MAY7BtC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,QAE3CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKqN,SAGzBV,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKmG,GAEbnG,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS9N,KAAKmG,EAAI4D,KAYnCtC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,SAE3CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKqN,SAGzBV,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKmG,GAEbnG,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS/D,EAAQ/J,KAAKmG,KAYvCsB,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,OAE3CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKqN,SAGzBV,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKkN,GAEblN,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS9N,KAAKkN,EAAInD,KAYnCtC,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,UAE3CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKqN,SAGzBV,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKkN,GAEblN,KAAKqN,QAAU,EACfrN,KAAKoN,UAAY,GAIjBpN,KAAK8N,OAAS/D,EAAQ/J,KAAKkN,KAavCzF,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,QAE3CmG,IAAK,WAED,OAAI1M,KAAKqN,QAAU,EAERpH,KAAKsH,GAAKvN,KAAKqN,QAAUrN,KAAKqN,QAI9B,KAanB5F,OAAOmF,eAAevM,EAAO4M,OAAO1G,UAAW,SAE3CmG,IAAK,WACD,OAA2B,IAAnB1M,KAAKoN,WAGjBT,IAAK,SAAU5C,IAEG,IAAVA,GAEA/J,KAAKiO,MAAM,EAAG,EAAG,MAe7B5N,EAAO4M,OAAOwB,SAAW,SAAUS,EAAG/I,EAAG+G,GAGrC,OAAIgC,EAAEpB,OAAS,GAAK3H,GAAK+I,EAAEzD,MAAQtF,GAAK+I,EAAE1D,OAAS0B,GAAKgC,EAAEC,KAAOjC,GAAKgC,EAAEE,SAE1DF,EAAE/I,EAAIA,IAAM+I,EAAE/I,EAAIA,IAClB+I,EAAEhC,EAAIA,IAAMgC,EAAEhC,EAAIA,IAEPgC,EAAEpB,OAASoB,EAAEpB,QAgB1CzN,EAAO4M,OAAOoC,OAAS,SAAUH,EAAGI,GAEhC,OAAQJ,EAAE/I,IAAMmJ,EAAEnJ,GAAK+I,EAAEhC,IAAMoC,EAAEpC,GAAKgC,EAAE/B,WAAamC,EAAEnC,UAY3D9M,EAAO4M,OAAOsC,WAAa,SAAUL,EAAGI,GAEpC,OAAQjP,EAAO4F,KAAKqI,SAASY,EAAE/I,EAAG+I,EAAEhC,EAAGoC,EAAEnJ,EAAGmJ,EAAEpC,IAAOgC,EAAEpB,OAASwB,EAAExB,QAatEzN,EAAO4M,OAAOyB,mBAAqB,SAAUQ,EAAGP,EAAOC,EAAWpB,GAa9D,YAXkBlD,IAAdsE,IAA2BA,GAAY,QAC/BtE,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,QAExB,IAAdmB,IAEAD,EAAQtO,EAAO4F,KAAKuJ,SAASb,IAGjCnB,EAAIrH,EAAI+I,EAAE/I,EAAI+I,EAAEpB,OAAS7H,KAAK2H,IAAIe,GAClCnB,EAAIN,EAAIgC,EAAEhC,EAAIgC,EAAEpB,OAAS7H,KAAK4H,IAAIc,GAE3BnB,GAWXnN,EAAO4M,OAAOwC,oBAAsB,SAAUC,EAAG/B,GAE7C,IAAIgC,EAAK1J,KAAK2J,IAAIF,EAAEvJ,EAAIwH,EAAExH,EAAIwH,EAAEkC,WAGhC,GAAIF,EAFQhC,EAAEkC,UAAYH,EAAE5B,OAIxB,OAAO,EAGX,IAAIgC,EAAK7J,KAAK2J,IAAIF,EAAExC,EAAIS,EAAET,EAAIS,EAAEoC,YAGhC,GAAID,EAFQnC,EAAEoC,WAAaL,EAAE5B,OAIzB,OAAO,EAGX,GAAI6B,GAAMhC,EAAEkC,WAAaC,GAAMnC,EAAEoC,WAE7B,OAAO,EAGX,IAAIC,EAAcL,EAAKhC,EAAEkC,UACrBI,EAAcH,EAAKnC,EAAEoC,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZP,EAAE5B,OAAS4B,EAAE5B,QAOvC/H,KAAKkH,OAAS5M,EAAO4M,OAmBrB5M,EAAO6P,QAAU,SAAU/J,EAAG+G,EAAGiD,EAAOC,GAEpCjK,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTiD,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBpQ,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAMdpQ,KAAKoI,KAAO/H,EAAO6B,SAIvB7B,EAAO6P,QAAQ3J,WAWX0H,MAAO,SAAU9H,EAAG+G,EAAGiD,EAAOC,GAO1B,OALApQ,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEPpQ,MAUX+N,UAAW,WAEP,OAAO,IAAI1N,EAAO2N,UAAUhO,KAAKmG,EAAInG,KAAKmQ,MAAOnQ,KAAKkN,EAAIlN,KAAKoQ,OAAQpQ,KAAKmQ,MAAOnQ,KAAKoQ,SAW5FlC,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAOgC,MAAOhC,EAAOiC,SAU/DhC,OAAQ,SAASC,GAOb,OALAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAK8B,MAAQnQ,KAAKmQ,MAClB9B,EAAK+B,OAASpQ,KAAKoQ,OAEZ/B,GAUXlC,MAAO,SAASqC,GAWZ,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO6P,QAAQlQ,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAI7D5B,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAG3C5B,GAYXC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAO6P,QAAQzB,SAASzO,KAAMmG,EAAG+G,IAY5C3C,OAAQ,SAAUiD,QAEFlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI4C,EAAIpK,KAAKsE,SAAWtE,KAAKsH,GAAK,EAC9BI,EAAI1H,KAAKsE,SAQb,OANAiD,EAAIrH,EAAIF,KAAKqK,KAAK3C,GAAK1H,KAAK2H,IAAIyC,GAChC7C,EAAIN,EAAIjH,KAAKqK,KAAK3C,GAAK1H,KAAK4H,IAAIwC,GAEhC7C,EAAIrH,EAAInG,KAAKmG,EAAKqH,EAAIrH,EAAInG,KAAKmQ,MAAQ,EACvC3C,EAAIN,EAAIlN,KAAKkN,EAAKM,EAAIN,EAAIlN,KAAKoQ,OAAS,EAEjC5C,GASX9F,SAAU,WACN,MAAO,uBAAyB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,UAAYlN,KAAKmQ,MAAQ,WAAanQ,KAAKoQ,OAAS,QAKtH/P,EAAO6P,QAAQ3J,UAAU8B,YAAchI,EAAO6P,QAO9CzI,OAAOmF,eAAevM,EAAO6P,QAAQ3J,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKmG,GAGhBwG,IAAK,SAAU5C,GAEX/J,KAAKmG,EAAI4D,KAWjBtC,OAAOmF,eAAevM,EAAO6P,QAAQ3J,UAAW,SAE5CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKmQ,OAGzBxD,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKmG,EAEbnG,KAAKmQ,MAAQ,EAIbnQ,KAAKmQ,MAAQpG,EAAQ/J,KAAKmG,KAWtCsB,OAAOmF,eAAevM,EAAO6P,QAAQ3J,UAAW,OAE5CmG,IAAK,WACD,OAAO1M,KAAKkN,GAGhBP,IAAK,SAAU5C,GACX/J,KAAKkN,EAAInD,KAUjBtC,OAAOmF,eAAevM,EAAO6P,QAAQ3J,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKoQ,QAGzBzD,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKkN,EAEblN,KAAKoQ,OAAS,EAIdpQ,KAAKoQ,OAASrG,EAAQ/J,KAAKkN,KAYvCzF,OAAOmF,eAAevM,EAAO6P,QAAQ3J,UAAW,SAE5CmG,IAAK,WACD,OAAuB,IAAf1M,KAAKmQ,OAA+B,IAAhBnQ,KAAKoQ,QAGrCzD,IAAK,SAAU5C,IAEG,IAAVA,GAEA/J,KAAKiO,MAAM,EAAG,EAAG,EAAG,MAgBhC5N,EAAO6P,QAAQzB,SAAW,SAAUS,EAAG/I,EAAG+G,GAEtC,GAAIgC,EAAEiB,OAAS,GAAKjB,EAAEkB,QAAU,EAC5B,OAAO,EAIX,IAAIG,GAAUpK,EAAI+I,EAAE/I,GAAK+I,EAAEiB,MAAS,GAChCK,GAAUtD,EAAIgC,EAAEhC,GAAKgC,EAAEkB,OAAU,GAKrC,OAHAG,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAK5BzK,KAAKmK,QAAU7P,EAAO6P,QAkBtB7P,EAAOoQ,KAAO,SAAUC,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKX7Q,KAAK8Q,MAAQ,IAAIzQ,EAAOoN,MAAMiD,EAAIC,GAKlC3Q,KAAK+Q,IAAM,IAAI1Q,EAAOoN,MAAMmD,EAAIC,GAMhC7Q,KAAKoI,KAAO/H,EAAOoC,MAIvBpC,EAAOoQ,KAAKlK,WAYR0H,MAAO,SAAUyC,EAAIC,EAAIC,EAAIC,GAKzB,OAHA7Q,KAAK8Q,MAAM7C,MAAMyC,EAAIC,GACrB3Q,KAAK+Q,IAAI9C,MAAM2C,EAAIC,GAEZ7Q,MAcXgR,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkB7G,IAAd6G,IAA2BA,GAAY,GAEvCA,EAEOnR,KAAKiO,MAAMgD,EAAYG,QAASH,EAAYI,QAASH,EAAUE,QAASF,EAAUG,SAGtFrR,KAAKiO,MAAMgD,EAAY9K,EAAG8K,EAAY/D,EAAGgE,EAAU/K,EAAG+K,EAAUhE,IAc3EoE,UAAW,SAAUnL,EAAG+G,EAAGyB,EAAO5G,GAK9B,OAHA/H,KAAK8Q,MAAM7C,MAAM9H,EAAG+G,GACpBlN,KAAK+Q,IAAI9C,MAAM9H,EAAKF,KAAK2H,IAAIe,GAAS5G,EAASmF,EAAKjH,KAAK4H,IAAIc,GAAS5G,GAE/D/H,MAiBXuR,OAAQ,SAAU5C,EAAOC,GAErB,IAAIe,GAAM3P,KAAK8Q,MAAM3K,EAAInG,KAAK+Q,IAAI5K,GAAK,EACnC2J,GAAM9P,KAAK8Q,MAAM5D,EAAIlN,KAAK+Q,IAAI7D,GAAK,EAKvC,OAHAlN,KAAK8Q,MAAMS,OAAO5B,EAAIG,EAAInB,EAAOC,GACjC5O,KAAK+Q,IAAIQ,OAAO5B,EAAIG,EAAInB,EAAOC,GAExB5O,MAgBXwR,aAAc,SAAUrL,EAAG+G,EAAGyB,EAAOC,GAKjC,OAHA5O,KAAK8Q,MAAMS,OAAOpL,EAAG+G,EAAGyB,EAAOC,GAC/B5O,KAAK+Q,IAAIQ,OAAOpL,EAAG+G,EAAGyB,EAAOC,GAEtB5O,MAeXuP,WAAY,SAAUkC,EAAMC,EAAWC,GAEnC,OAAOtR,EAAOoQ,KAAKmB,iBAAiB5R,KAAK8Q,MAAO9Q,KAAK+Q,IAAKU,EAAKX,MAAOW,EAAKV,IAAKW,EAAWC,IAY/FE,QAAS,SAAUJ,GAEf,OAAOpR,EAAOoQ,KAAKoB,QAAQ7R,KAAMyR,IAWrCK,SAAU,SAAUtE,GAOhB,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,GAAKnG,KAAK8Q,MAAM3K,EAAInG,KAAK+Q,IAAI5K,GAAK,EACtCqH,EAAIN,GAAKlN,KAAK8Q,MAAM5D,EAAIlN,KAAK+Q,IAAI7D,GAAK,EAE/BM,GAeXuE,SAAU,SAAU5L,EAAG+G,GAEnB,IAGI8E,EAAK7L,GAHCnG,KAAK8Q,MAAM3K,EAAInG,KAAK+Q,IAAI5K,GAAK,EAInC8L,EAAK/E,GAHClN,KAAK8Q,MAAM5D,EAAIlN,KAAK+Q,IAAI7D,GAAK,EAKvClN,KAAK8Q,MAAMoB,IAAIF,EAAIC,GACnBjS,KAAK+Q,IAAImB,IAAIF,EAAIC,IAarBE,YAAa,SAAUhM,EAAG+G,EAAGkF,GAEzB,OAAO/R,EAAO4F,KAAKoM,YAAYlM,EAAInG,KAAK8Q,MAAM3K,IAAMnG,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,IAAKlN,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,IAAM+G,EAAIlN,KAAK8Q,MAAM5D,GAAIkF,GAAW,IAajJE,eAAgB,SAAUnM,EAAG+G,EAAGkF,GAE5B,IAAIG,EAAOtM,KAAKuM,IAAIxS,KAAK8Q,MAAM3K,EAAGnG,KAAK+Q,IAAI5K,GACvCsM,EAAOxM,KAAKyM,IAAI1S,KAAK8Q,MAAM3K,EAAGnG,KAAK+Q,IAAI5K,GACvCwM,EAAO1M,KAAKuM,IAAIxS,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI7D,GACvC0F,EAAO3M,KAAKyM,IAAI1S,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI7D,GAE3C,OAAQlN,KAAKmS,YAAYhM,EAAG+G,EAAGkF,IAAajM,GAAKoM,GAAQpM,GAAKsM,GAAUvF,GAAKyF,GAAQzF,GAAK0F,GAY9FrI,OAAQ,SAAUiD,QAEFlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI5F,EAAI5B,KAAKsE,SAKb,OAHAiD,EAAIrH,EAAInG,KAAK8Q,MAAM3K,EAAI0B,GAAK7H,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,GACpDqH,EAAIN,EAAIlN,KAAK8Q,MAAM5D,EAAIrF,GAAK7H,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,GAE7CM,GAaXqF,kBAAmB,SAAUC,EAAUC,QAElBzI,IAAbwI,IAA0BA,EAAW,QACzBxI,IAAZyI,IAAyBA,MAE7B,IAAIrC,EAAKzK,KAAKsI,MAAMvO,KAAK8Q,MAAM3K,GAC3BwK,EAAK1K,KAAKsI,MAAMvO,KAAK8Q,MAAM5D,GAC3B0D,EAAK3K,KAAKsI,MAAMvO,KAAK+Q,IAAI5K,GACzB0K,EAAK5K,KAAKsI,MAAMvO,KAAK+Q,IAAI7D,GAEzB4B,EAAK7I,KAAK2J,IAAIgB,EAAKF,GACnB3B,EAAK9I,KAAK2J,IAAIiB,EAAKF,GACnBqC,EAAMtC,EAAKE,EAAM,GAAK,EACtBqC,EAAMtC,EAAKE,EAAM,GAAK,EACtBqC,EAAMpE,EAAKC,EAEfgE,EAAQI,MAAMzC,EAAIC,IAIlB,IAFA,IAAI3I,EAAI,EAEE0I,IAAOE,GAAQD,IAAOE,GAChC,CACI,IAAIuC,EAAKF,GAAO,EAEZE,GAAMrE,IAENmE,GAAOnE,EACP2B,GAAMsC,GAGNI,EAAKtE,IAELoE,GAAOpE,EACP6B,GAAMsC,GAGNjL,EAAI8K,GAAa,GAEjBC,EAAQI,MAAMzC,EAAIC,IAGtB3I,IAIJ,OAAO+K,GAUX5G,MAAO,SAAUqC,GAWb,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOoQ,KAAKzQ,KAAK8Q,MAAM3K,EAAGnG,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI5K,EAAGnG,KAAK+Q,IAAI7D,GAI1EsB,EAAOP,MAAMjO,KAAK8Q,MAAM3K,EAAGnG,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI5K,EAAGnG,KAAK+Q,IAAI7D,GAG3DsB,IAWf/G,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAKqK,MAAMtQ,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,IAAMnG,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,IAAMnG,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,IAAMlN,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,OAU5IzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAKoN,MAAMrT,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,MAU7EsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,SAEzCmG,IAAK,WACD,OAAQ1M,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,IAAMlN,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,MAUtEsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,aAEzCmG,IAAK,WACD,QAAU1M,KAAK+Q,IAAI5K,EAAInG,KAAK8Q,MAAM3K,IAAMnG,KAAK+Q,IAAI7D,EAAIlN,KAAK8Q,MAAM5D,MAUxEzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,KAEzCmG,IAAK,WACD,OAAOzG,KAAKuM,IAAIxS,KAAK8Q,MAAM3K,EAAGnG,KAAK+Q,IAAI5K,MAU/CsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,KAEzCmG,IAAK,WACD,OAAOzG,KAAKuM,IAAIxS,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI7D,MAU/CzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,QAEzCmG,IAAK,WACD,OAAOzG,KAAKuM,IAAIxS,KAAK8Q,MAAM3K,EAAGnG,KAAK+Q,IAAI5K,MAU/CsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAKyM,IAAI1S,KAAK8Q,MAAM3K,EAAGnG,KAAK+Q,IAAI5K,MAU/CsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,OAEzCmG,IAAK,WACD,OAAOzG,KAAKuM,IAAIxS,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI7D,MAU/CzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAKyM,IAAI1S,KAAK8Q,MAAM5D,EAAGlN,KAAK+Q,IAAI7D,MAU/CzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,SAEzCmG,IAAK,WACD,OAAOzG,KAAK2J,IAAI5P,KAAK8Q,MAAM3K,EAAInG,KAAK+Q,IAAI5K,MAUhDsB,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,UAEzCmG,IAAK,WACD,OAAOzG,KAAK2J,IAAI5P,KAAK8Q,MAAM5D,EAAIlN,KAAK+Q,IAAI7D,MAUhDzF,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,WAEzCmG,IAAK,WACD,OAAOzG,KAAK2H,IAAI5N,KAAK2O,MAAQ,uBAUrClH,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,WAEzCmG,IAAK,WACD,OAAOzG,KAAK4H,IAAI7N,KAAK2O,MAAQ,uBAUrClH,OAAOmF,eAAevM,EAAOoQ,KAAKlK,UAAW,eAEzCmG,IAAK,WACD,OAAOrM,EAAO4F,KAAKqN,KAAKtT,KAAK2O,MAAQ,oBAAqB1I,KAAKsH,GAAItH,KAAKsH,OAoBhFlN,EAAOoQ,KAAKmB,iBAAmB,SAAU1C,EAAGI,EAAG1D,EAAGd,EAAG4G,EAAWC,QAE1CrH,IAAdoH,IAA2BA,GAAY,QAC5BpH,IAAXqH,IAAwBA,EAAS,IAAItR,EAAOoN,OAEhD,IAAI8F,EAAKjE,EAAEpC,EAAIgC,EAAEhC,EACbsG,EAAK1I,EAAEoC,EAAItB,EAAEsB,EACbuG,EAAKvE,EAAE/I,EAAImJ,EAAEnJ,EACbuN,EAAK9H,EAAEzF,EAAI2E,EAAE3E,EACbwN,EAAMrE,EAAEnJ,EAAI+I,EAAEhC,EAAMgC,EAAE/I,EAAImJ,EAAEpC,EAC5B0G,EAAM9I,EAAE3E,EAAIyF,EAAEsB,EAAMtB,EAAEzF,EAAI2E,EAAEoC,EAC5B2G,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHAlC,EAAOxL,GAAMsN,EAAKG,EAAOF,EAAKC,GAAOE,EACrClC,EAAOzE,GAAMsG,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjCnC,EACJ,CACI,IAAIoC,GAAOhJ,EAAEoC,EAAItB,EAAEsB,IAAMoC,EAAEnJ,EAAI+I,EAAE/I,IAAM2E,EAAE3E,EAAIyF,EAAEzF,IAAMmJ,EAAEpC,EAAIgC,EAAEhC,GACzD6G,IAAQjJ,EAAE3E,EAAIyF,EAAEzF,IAAM+I,EAAEhC,EAAItB,EAAEsB,IAAOpC,EAAEoC,EAAItB,EAAEsB,IAAMgC,EAAE/I,EAAIyF,EAAEzF,IAAM2N,EACjEE,IAAQ1E,EAAEnJ,EAAI+I,EAAE/I,IAAM+I,EAAEhC,EAAItB,EAAEsB,IAAQoC,EAAEpC,EAAIgC,EAAEhC,IAAMgC,EAAE/I,EAAIyF,EAAEzF,IAAO2N,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhCrC,EAIA,KAIf,OAAOA,GAkBXtR,EAAOoQ,KAAKlB,WAAa,SAAUL,EAAGI,EAAGoC,EAAWC,GAEhD,OAAOtR,EAAOoQ,KAAKmB,iBAAiB1C,EAAE4B,MAAO5B,EAAE6B,IAAKzB,EAAEwB,MAAOxB,EAAEyB,IAAKW,EAAWC,IAsBnFtR,EAAOoQ,KAAKhB,oBAAsB,SAAUgC,EAAMwC,GAG9C,GAAoB,IAAhBxC,EAAK1J,QAAgBkM,EAAKC,MAE1B,OAAO,EAGX,IAAIxD,EAAKe,EAAKX,MAAM3K,EAChBwK,EAAKc,EAAKX,MAAM5D,EAEhB0D,EAAKa,EAAKV,IAAI5K,EACd0K,EAAKY,EAAKV,IAAI7D,EAEdiH,EAAMF,EAAK9N,EACXiO,EAAMH,EAAK/G,EACXmH,EAAMJ,EAAKzI,MACX8I,EAAML,EAAK7E,OAEXvH,EAAI,EAKR,GAAK6I,GAAMyD,GAAOzD,GAAM2D,GAAO1D,GAAMyD,GAAOzD,GAAM2D,GAC7C1D,GAAMuD,GAAOvD,GAAMyD,GAAOxD,GAAMuD,GAAOvD,GAAMyD,EAE9C,OAAO,EAGX,GAAI5D,EAAKyD,GAAOvD,GAAMuD,GAKlB,IAFAtM,EAAI8I,GAAME,EAAKF,IAAOwD,EAAMzD,IAAOE,EAAKF,IAEhC0D,GAAOvM,GAAKyM,EAEhB,OAAO,OAGV,GAAI5D,EAAK2D,GAAOzD,GAAMyD,IAGvBxM,EAAI8I,GAAME,EAAKF,IAAO0D,EAAM3D,IAAOE,EAAKF,KAE/B0D,GAAOvM,GAAKyM,EAEjB,OAAO,EAIf,GAAI3D,EAAKyD,GAAOvD,GAAMuD,GAKlB,IAFAvM,EAAI6I,GAAME,EAAKF,IAAO0D,EAAMzD,IAAOE,EAAKF,KAE/BwD,GAAOtM,GAAKwM,EAEjB,OAAO,OAGV,GAAI1D,EAAK2D,GAAOzD,GAAMyD,IAGvBzM,EAAI6I,GAAME,EAAKF,IAAO4D,EAAM3D,IAAOE,EAAKF,KAE/BwD,GAAOtM,GAAKwM,EAEjB,OAAO,EAIf,OAAO,GAaXhU,EAAOoQ,KAAKoB,QAAU,SAAU3C,EAAGI,GAE/B,OAAO,EAAIA,EAAEiF,YAAc,kBAAoBrF,EAAEP,OA6BrDtO,EAAOmU,OAAS,SAAUtF,EAAGI,EAAGI,EAAG+E,EAAGzC,EAAIC,QAE5B3H,IAAN4E,GAAyB,OAANA,IAAcA,EAAI,QAC/B5E,IAANgF,GAAyB,OAANA,IAAcA,EAAI,QAC/BhF,IAANoF,GAAyB,OAANA,IAAcA,EAAI,QAC/BpF,IAANmK,GAAyB,OAANA,IAAcA,EAAI,QAC9BnK,IAAP0H,GAA2B,OAAPA,IAAeA,EAAK,QACjC1H,IAAP2H,GAA2B,OAAPA,IAAeA,EAAK,GAM5CjS,KAAKkP,EAAIA,EAMTlP,KAAKsP,EAAIA,EAMTtP,KAAK0P,EAAIA,EAMT1P,KAAKyU,EAAIA,EAMTzU,KAAKgS,GAAKA,EAMVhS,KAAKiS,GAAKA,EAMVjS,KAAKoI,KAAO/H,EAAOqC,QAIvBrC,EAAOmU,OAAOjO,WAkBVmO,UAAW,SAAUC,GAEjB,OAAO3U,KAAKiO,MAAM0G,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAgB9E1G,MAAO,SAAUiB,EAAGI,EAAGI,EAAG+E,EAAGzC,EAAIC,GAS7B,OAPAjS,KAAKkP,EAAIA,EACTlP,KAAKsP,EAAIA,EACTtP,KAAK0P,EAAIA,EACT1P,KAAKyU,EAAIA,EACTzU,KAAKgS,GAAKA,EACVhS,KAAKiS,GAAKA,EAEHjS,MAaXmM,MAAO,SAAUqC,GAgBb,YAdelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOmU,OAAOxU,KAAKkP,EAAGlP,KAAKsP,EAAGtP,KAAK0P,EAAG1P,KAAKyU,EAAGzU,KAAKgS,GAAIhS,KAAKiS,KAIzEzD,EAAOU,EAAIlP,KAAKkP,EAChBV,EAAOc,EAAItP,KAAKsP,EAChBd,EAAOkB,EAAI1P,KAAK0P,EAChBlB,EAAOiG,EAAIzU,KAAKyU,EAChBjG,EAAOwD,GAAKhS,KAAKgS,GACjBxD,EAAOyD,GAAKjS,KAAKiS,IAGdzD,GAWXJ,OAAQ,SAAUwG,GAId,OAFAA,EAAO1G,SAASlO,MAET4U,GAWX1G,SAAU,SAAU0G,GAShB,OAPA5U,KAAKkP,EAAI0F,EAAO1F,EAChBlP,KAAKsP,EAAIsF,EAAOtF,EAChBtP,KAAK0P,EAAIkF,EAAOlF,EAChB1P,KAAKyU,EAAIG,EAAOH,EAChBzU,KAAKgS,GAAK4C,EAAO5C,GACjBhS,KAAKiS,GAAK2C,EAAO3C,GAEVjS,MAYX6U,QAAS,SAAUC,EAAWH,GA6B1B,YA3BcrK,IAAVqK,IAAuBA,EAAQ,IAAII,aAAa,IAEhDD,GAEAH,EAAM,GAAK3U,KAAKkP,EAChByF,EAAM,GAAK3U,KAAKsP,EAChBqF,EAAM,GAAK,EACXA,EAAM,GAAK3U,KAAK0P,EAChBiF,EAAM,GAAK3U,KAAKyU,EAChBE,EAAM,GAAK,EACXA,EAAM,GAAK3U,KAAKgS,GAChB2C,EAAM,GAAK3U,KAAKiS,GAChB0C,EAAM,GAAK,IAIXA,EAAM,GAAK3U,KAAKkP,EAChByF,EAAM,GAAK3U,KAAK0P,EAChBiF,EAAM,GAAK3U,KAAKgS,GAChB2C,EAAM,GAAK3U,KAAKsP,EAChBqF,EAAM,GAAK3U,KAAKyU,EAChBE,EAAM,GAAK3U,KAAKiS,GAChB0C,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAcXxN,MAAO,SAAU6N,EAAKC,GAOlB,YALe3K,IAAX2K,IAAwBA,EAAS,IAAI5U,EAAOoN,OAEhDwH,EAAO9O,EAAInG,KAAKkP,EAAI8F,EAAI7O,EAAInG,KAAK0P,EAAIsF,EAAI9H,EAAIlN,KAAKgS,GAClDiD,EAAO/H,EAAIlN,KAAKsP,EAAI0F,EAAI7O,EAAInG,KAAKyU,EAAIO,EAAI9H,EAAIlN,KAAKiS,GAE3CgD,GAcXC,aAAc,SAAUF,EAAKC,QAEV3K,IAAX2K,IAAwBA,EAAS,IAAI5U,EAAOoN,OAEhD,IAAI0H,EAAK,GAAKnV,KAAKkP,EAAIlP,KAAKyU,EAAIzU,KAAK0P,GAAK1P,KAAKsP,GAC3CnJ,EAAI6O,EAAI7O,EACR+G,EAAI8H,EAAI9H,EAKZ,OAHA+H,EAAO9O,EAAInG,KAAKyU,EAAIU,EAAKhP,GAAKnG,KAAK0P,EAAIyF,EAAKjI,GAAKlN,KAAKiS,GAAKjS,KAAK0P,EAAI1P,KAAKgS,GAAKhS,KAAKyU,GAAKU,EACxFF,EAAO/H,EAAIlN,KAAKkP,EAAIiG,EAAKjI,GAAKlN,KAAKsP,EAAI6F,EAAKhP,IAAMnG,KAAKiS,GAAKjS,KAAKkP,EAAIlP,KAAKgS,GAAKhS,KAAKsP,GAAK6F,EAElFF,GAaXG,UAAW,SAAUjP,EAAG+G,GAKpB,OAHAlN,KAAKgS,IAAM7L,EACXnG,KAAKiS,IAAM/E,EAEJlN,MAYXqV,MAAO,SAAUlP,EAAG+G,GAShB,OAPAlN,KAAKkP,GAAK/I,EACVnG,KAAKyU,GAAKvH,EACVlN,KAAK0P,GAAKvJ,EACVnG,KAAKsP,GAAKpC,EACVlN,KAAKgS,IAAM7L,EACXnG,KAAKiS,IAAM/E,EAEJlN,MAWXuR,OAAQ,SAAU5C,GAEd,IAAIf,EAAM3H,KAAK2H,IAAIe,GACfd,EAAM5H,KAAK4H,IAAIc,GAEf4E,EAAKvT,KAAKkP,EACVyE,EAAK3T,KAAK0P,EACV4F,EAAMtV,KAAKgS,GASf,OAPAhS,KAAKkP,EAAIqE,EAAK3F,EAAI5N,KAAKsP,EAAIzB,EAC3B7N,KAAKsP,EAAIiE,EAAK1F,EAAI7N,KAAKsP,EAAI1B,EAC3B5N,KAAK0P,EAAIiE,EAAK/F,EAAI5N,KAAKyU,EAAI5G,EAC3B7N,KAAKyU,EAAId,EAAK9F,EAAI7N,KAAKyU,EAAI7G,EAC3B5N,KAAKgS,GAAKsD,EAAM1H,EAAM5N,KAAKiS,GAAKpE,EAChC7N,KAAKiS,GAAKqD,EAAMzH,EAAM7N,KAAKiS,GAAKrE,EAEzB5N,MAWXuV,OAAQ,SAAUX,GAEd,IAAIrB,EAAKvT,KAAKkP,EACVuE,EAAKzT,KAAKsP,EACVqE,EAAK3T,KAAK0P,EACV8F,EAAKxV,KAAKyU,EAUd,OARAzU,KAAKkP,EAAK0F,EAAO1F,EAAIqE,EAAKqB,EAAOtF,EAAIqE,EACrC3T,KAAKsP,EAAKsF,EAAO1F,EAAIuE,EAAKmB,EAAOtF,EAAIkG,EACrCxV,KAAK0P,EAAKkF,EAAOlF,EAAI6D,EAAKqB,EAAOH,EAAId,EACrC3T,KAAKyU,EAAKG,EAAOlF,EAAI+D,EAAKmB,EAAOH,EAAIe,EAErCxV,KAAKgS,GAAK4C,EAAO5C,GAAKuB,EAAKqB,EAAO3C,GAAK0B,EAAK3T,KAAKgS,GACjDhS,KAAKiS,GAAK2C,EAAO5C,GAAKyB,EAAKmB,EAAO3C,GAAKuD,EAAKxV,KAAKiS,GAE1CjS,MAUXyV,SAAU,WAEN,OAAOzV,KAAKiO,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAMzC5N,EAAOqV,eAAiB,IAAIrV,EAAOmU,OAmBnCnU,EAAOoN,MAAQ,SAAUtH,EAAG+G,GAExB/G,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EAKTlN,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAMTlN,KAAKoI,KAAO/H,EAAOsC,OAIvBtC,EAAOoN,MAAMlH,WAST2H,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,IAUvCyI,OAAQ,WAEJ,OAAO3V,KAAKiO,MAAMjO,KAAKkN,EAAGlN,KAAKmG,IAgBnC8H,MAAO,SAAU9H,EAAG+G,GAEhB,OAAO7M,EAAOoN,MAAMd,IAAI3M,KAAMmG,EAAG+G,IAgBrCP,IAAK,SAAUxG,EAAG+G,GAEd,OAAO7M,EAAOoN,MAAMd,IAAI3M,KAAMmG,EAAG+G,IAarC0I,WAAY,SAASC,EAAS/H,EAAQc,GAKpC,OAHc,MAAVd,IAAkBA,EAAS,GAC3Bc,IAAaiH,EAAUxV,EAAO4F,KAAKuJ,SAASqG,IAEzC7V,KAAKiO,MAAMhI,KAAK2H,IAAIiI,GAAW/H,EAAQ7H,KAAK4H,IAAIgI,GAAW/H,IAYpEoE,IAAK,SAAU/L,EAAG+G,GAId,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYX8V,SAAU,SAAU3P,EAAG+G,GAInB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYX+V,SAAU,SAAU5P,EAAG+G,GAInB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYXgW,OAAQ,SAAU7P,EAAG+G,GAIjB,OAFAlN,KAAKmG,GAAKA,EACVnG,KAAKkN,GAAKA,EACHlN,MAYXiW,OAAQ,SAAUzD,EAAKE,GAGnB,OADA1S,KAAKmG,EAAI9F,EAAO4F,KAAKiQ,MAAMlW,KAAKmG,EAAGqM,EAAKE,GACjC1S,MAYXmW,OAAQ,SAAU3D,EAAKE,GAGnB,OADA1S,KAAKkN,EAAI7M,EAAO4F,KAAKiQ,MAAMlW,KAAKkN,EAAGsF,EAAKE,GACjC1S,MAYXkW,MAAO,SAAU1D,EAAKE,GAIlB,OAFA1S,KAAKmG,EAAI9F,EAAO4F,KAAKiQ,MAAMlW,KAAKmG,EAAGqM,EAAKE,GACxC1S,KAAKkN,EAAI7M,EAAO4F,KAAKiQ,MAAMlW,KAAKkN,EAAGsF,EAAKE,GACjC1S,MAWXmM,MAAO,SAAUqC,GAWb,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAKkN,GAIvCsB,EAAOP,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GAGvBsB,GAWXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EAEPmB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,OAAOlO,EAAOoN,MAAMa,SAAStO,KAAMqO,EAAME,IAW7Cc,OAAQ,SAAUH,GAEd,OAAQA,EAAE/I,IAAMnG,KAAKmG,GAAK+I,EAAEhC,IAAMlN,KAAKkN,GAY3CyB,MAAO,SAAUO,EAAGN,GAIhB,YAFkBtE,IAAdsE,IAA2BA,GAAY,GAEvCA,EAEOvO,EAAO4F,KAAKmQ,SAASnQ,KAAKoN,MAAMnE,EAAEhC,EAAIlN,KAAKkN,EAAGgC,EAAE/I,EAAInG,KAAKmG,IAIzDF,KAAKoN,MAAMnE,EAAEhC,EAAIlN,KAAKkN,EAAGgC,EAAE/I,EAAInG,KAAKmG,IAgBnDoL,OAAQ,SAAUpL,EAAG+G,EAAGyB,EAAOC,EAAWN,GAEtC,OAAOjO,EAAOoN,MAAM8D,OAAOvR,KAAMmG,EAAG+G,EAAGyB,EAAOC,EAAWN,IAU7D+H,aAAc,WAEV,OAAOpQ,KAAKqK,KAAMtQ,KAAKmG,EAAInG,KAAKmG,EAAMnG,KAAKkN,EAAIlN,KAAKkN,IAUxDoJ,eAAgB,WAEZ,OAAQtW,KAAKmG,EAAInG,KAAKmG,EAAMnG,KAAKkN,EAAIlN,KAAKkN,GAW9CqJ,aAAc,SAAUC,GAEpB,OAAOxW,KAAKyW,YAAYV,SAASS,EAAWA,IAUhDC,UAAW,WAEP,IAAKzW,KAAK0W,SACV,CACI,IAAIC,EAAI3W,KAAKqW,eACbrW,KAAKmG,GAAKwQ,EACV3W,KAAKkN,GAAKyJ,EAGd,OAAO3W,MAWX4W,MAAO,SAAUlE,GAOb,OALI1S,KAAKsW,iBAAmB5D,EAAMA,GAE9B1S,KAAKuW,aAAa7D,GAGf1S,MAUX0W,OAAQ,WAEJ,OAAmB,IAAX1W,KAAKmG,GAAsB,IAAXnG,KAAKkN,GAWjC2J,IAAK,SAAU3H,GAEX,OAASlP,KAAKmG,EAAI+I,EAAE/I,EAAMnG,KAAKkN,EAAIgC,EAAEhC,GAWzC4J,MAAO,SAAU5H,GAEb,OAASlP,KAAKmG,EAAI+I,EAAEhC,EAAMlN,KAAKkN,EAAIgC,EAAE/I,GAUzC4Q,KAAM,WAEF,OAAO/W,KAAKiO,OAAOjO,KAAKkN,EAAGlN,KAAKmG,IAUpC6Q,MAAO,WAEH,OAAOhX,KAAKiO,MAAMjO,KAAKkN,GAAIlN,KAAKmG,IAUpC8Q,gBAAiB,WAEb,OAAOjX,KAAKiO,OAAgB,EAAVjO,KAAKkN,EAAQlN,KAAKmG,IAUxCE,MAAO,WAEH,OAAOrG,KAAKiO,MAAMhI,KAAKI,MAAMrG,KAAKmG,GAAIF,KAAKI,MAAMrG,KAAKkN,KAU1D9G,KAAM,WAEF,OAAOpG,KAAKiO,MAAMhI,KAAKG,KAAKpG,KAAKmG,GAAIF,KAAKG,KAAKpG,KAAKkN,KAUxDxF,SAAU,WAEN,MAAO,cAAgB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,QAMzD7M,EAAOoN,MAAMlH,UAAU8B,YAAchI,EAAOoN,MAW5CpN,EAAOoN,MAAMyE,IAAM,SAAUhD,EAAGI,EAAG9B,GAO/B,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAI+I,EAAE/I,EAAImJ,EAAEnJ,EAChBqH,EAAIN,EAAIgC,EAAEhC,EAAIoC,EAAEpC,EAETM,GAaXnN,EAAOoN,MAAMqI,SAAW,SAAU5G,EAAGI,EAAG9B,GAOpC,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAI+I,EAAE/I,EAAImJ,EAAEnJ,EAChBqH,EAAIN,EAAIgC,EAAEhC,EAAIoC,EAAEpC,EAETM,GAaXnN,EAAOoN,MAAMsI,SAAW,SAAU7G,EAAGI,EAAG9B,GAOpC,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAI+I,EAAE/I,EAAImJ,EAAEnJ,EAChBqH,EAAIN,EAAIgC,EAAEhC,EAAIoC,EAAEpC,EAETM,GAaXnN,EAAOoN,MAAMuI,OAAS,SAAU9G,EAAGI,EAAG9B,GAOlC,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAI+I,EAAE/I,EAAImJ,EAAEnJ,EAChBqH,EAAIN,EAAIgC,EAAEhC,EAAIoC,EAAEpC,EAETM,GAYXnN,EAAOoN,MAAM4B,OAAS,SAAUH,EAAGI,GAE/B,OAAQJ,EAAE/I,IAAMmJ,EAAEnJ,GAAK+I,EAAEhC,IAAMoC,EAAEpC,GAYrC7M,EAAOoN,MAAMkB,MAAQ,SAAUO,EAAGI,GAG9B,OAAOrJ,KAAKoN,MAAMnE,EAAEhC,EAAIoC,EAAEpC,EAAGgC,EAAE/I,EAAImJ,EAAEnJ,IAYzC9F,EAAOoN,MAAMyJ,SAAW,SAAUhI,EAAG1B,GAIjC,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAOiB,EAAE/I,GAAI+I,EAAEhC,IAc9B7M,EAAOoN,MAAM0J,YAAc,SAAUjI,EAAGI,EAAG8H,EAAG5J,GAI1C,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMiB,EAAE/I,EAAImJ,EAAEnJ,EAAIiR,EAAGlI,EAAEhC,EAAIoC,EAAEpC,EAAIkK,IAchD/W,EAAOoN,MAAM4J,YAAc,SAAUnI,EAAGI,EAAGxE,EAAG0C,GAI1C,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMiB,EAAE/I,GAAKmJ,EAAEnJ,EAAI+I,EAAE/I,GAAK2E,EAAGoE,EAAEhC,GAAKoC,EAAEpC,EAAIgC,EAAEhC,GAAKpC,IAYhEzK,EAAOoN,MAAMsJ,KAAO,SAAU7H,EAAG1B,GAI7B,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAOiB,EAAEhC,EAAGgC,EAAE/I,IAY7B9F,EAAOoN,MAAMuJ,MAAQ,SAAU9H,EAAG1B,GAI9B,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,MAAMiB,EAAEhC,GAAIgC,EAAE/I,IAa7B9F,EAAOoN,MAAMa,SAAW,SAAUY,EAAGI,EAAGf,GAEpC,IAAID,EAAWjO,EAAO4F,KAAKqI,SAASY,EAAE/I,EAAG+I,EAAEhC,EAAGoC,EAAEnJ,EAAGmJ,EAAEpC,GACrD,OAAOqB,EAAQtI,KAAKsI,MAAMD,GAAYA,GAa1CjO,EAAOoN,MAAM6J,QAAU,SAAUpI,EAAGI,EAAG9B,QAEvBlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI8J,EAAMrI,EAAE2H,IAAIvH,GAAKA,EAAEgH,iBAOvB,OALY,IAARiB,GAEA/J,EAAIS,MAAMsJ,EAAMjI,EAAEnJ,EAAGoR,EAAMjI,EAAEpC,GAG1BM,GAaXnN,EAAOoN,MAAM+J,YAAc,SAAUtI,EAAGI,EAAG9B,QAE3BlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAI8J,EAAMrI,EAAE2H,IAAIvH,GAOhB,OALY,IAARiI,GAEA/J,EAAIS,MAAMsJ,EAAMjI,EAAEnJ,EAAGoR,EAAMjI,EAAEpC,GAG1BM,GAYXnN,EAAOoN,MAAMwJ,gBAAkB,SAAU/H,EAAG1B,GAIxC,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEnCD,EAAIS,OAAa,EAAPiB,EAAEhC,EAAQgC,EAAE/I,IAYjC9F,EAAOoN,MAAMgJ,UAAY,SAAUvH,EAAG1B,QAEtBlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1C,IAAIkJ,EAAIzH,EAAEmH,eAOV,OALU,IAANM,GAEAnJ,EAAIS,MAAMiB,EAAE/I,EAAIwQ,EAAGzH,EAAEhC,EAAIyJ,GAGtBnJ,GAqBXnN,EAAOoN,MAAM8D,OAAS,SAAUrC,EAAG/I,EAAG+G,EAAGyB,EAAOC,EAAWN,GAIvD,GAFIM,IAAaD,EAAQtO,EAAO4F,KAAKuJ,SAASb,SAE7BrE,IAAbgE,EACJ,CACIY,EAAE4G,SAAS3P,EAAG+G,GAEd,IAAIkK,EAAInR,KAAK4H,IAAIc,GACbe,EAAIzJ,KAAK2H,IAAIe,GAEbqD,EAAKtC,EAAIR,EAAE/I,EAAIiR,EAAIlI,EAAEhC,EACrB+E,EAAKmF,EAAIlI,EAAE/I,EAAIuJ,EAAIR,EAAEhC,EAEzBgC,EAAE/I,EAAI6L,EAAK7L,EACX+I,EAAEhC,EAAI+E,EAAK/E,MAGf,CACI,IAAIrF,EAAI8G,EAAQ1I,KAAKoN,MAAMnE,EAAEhC,EAAIA,EAAGgC,EAAE/I,EAAIA,GAC1C+I,EAAE/I,EAAIA,EAAImI,EAAWrI,KAAK2H,IAAI/F,GAC9BqH,EAAEhC,EAAIA,EAAIoB,EAAWrI,KAAK4H,IAAIhG,GAGlC,OAAOqH,GAYX7O,EAAOoN,MAAMgK,SAAW,SAAUC,EAAQlK,GAItC,QAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAEK,mBAA3ChG,OAAOlB,UAAUmB,SAASV,KAAK0Q,GAE/B,MAAM,IAAIC,MAAM,qDAGpB,IAAIC,EAAeF,EAAO3P,OAE1B,GAAI6P,EAAe,EAEf,MAAM,IAAID,MAAM,4DAGpB,GAAqB,IAAjBC,EAGA,OADApK,EAAIU,SAASwJ,EAAO,IACblK,EAGX,IAAK,IAAIxF,EAAI,EAAGA,EAAI4P,EAAc5P,IAE9B3H,EAAOoN,MAAMyE,IAAI1E,EAAKkK,EAAO1P,GAAIwF,GAKrC,OAFAA,EAAIwI,OAAO4B,EAAcA,GAElBpK,GAeXnN,EAAOoN,MAAMoK,MAAQ,SAASpO,EAAKqO,EAAOC,GAEtCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAI9I,EAAQ,IAAI5O,EAAOoN,MAYvB,OAVIhE,EAAIqO,KAEJ7I,EAAM9I,EAAI8E,SAASxB,EAAIqO,GAAQ,KAG/BrO,EAAIsO,KAEJ9I,EAAM/B,EAAIjC,SAASxB,EAAIsO,GAAQ,KAG5B9I,GAWX5O,EAAOoN,MAAMuK,QAAU,SAASvO,GAE5B,OAAe,MAAPA,GAAkC,iBAAVA,EAAItD,GAAqC,iBAAVsD,EAAIyD,GAcvE7M,EAAOoN,MAAMd,IAAM,SAASlD,EAAKtD,EAAG+G,GAKhC,OAHAzD,EAAItD,EAAIA,GAAK,EACbsD,EAAIyD,EAAIA,IAAc,IAANA,EAAWzD,EAAItD,EAAI,GAE5BsD,GAKX1D,KAAK0H,MAAQpN,EAAOoN,MAyBpBpN,EAAO4X,QAAU,WAKbjY,KAAKkY,KAAO,EAMZlY,KAAKmY,WAEDlR,UAAUc,OAAS,GAEnB/H,KAAKiO,MAAM9G,MAAMnH,KAAMiH,WAM3BjH,KAAKoY,QAAS,EAKdpY,KAAKqY,WAAY,EAKjBrY,KAAKoI,KAAO/H,EAAOyB,SAIvBzB,EAAO4X,QAAQ1R,WASX+R,cAAe,SAAU9J,QAENlE,IAAXkE,IAAwBA,MAE5B,IAAK,IAAIxG,EAAI,EAAGA,EAAIhI,KAAKmY,QAAQpQ,OAAQC,IAEN,iBAApBhI,KAAKmY,QAAQnQ,IAEpBwG,EAAO2E,KAAKnT,KAAKmY,QAAQnQ,IACzBwG,EAAO2E,KAAKnT,KAAKmY,QAAQnQ,EAAI,IAC7BA,MAIAwG,EAAO2E,KAAKnT,KAAKmY,QAAQnQ,GAAG7B,GAC5BqI,EAAO2E,KAAKnT,KAAKmY,QAAQnQ,GAAGkF,IAIpC,OAAOsB,GAYX+J,QAAS,WAML,OAJAvY,KAAKmY,QAAUnY,KAAKsY,gBAEpBtY,KAAKqY,WAAY,EAEVrY,MAYXmM,MAAO,SAAUqC,GAEb,IAAIkJ,EAAS1X,KAAKmY,QAAQ1R,QAW1B,YATe6D,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO4X,QAAQP,GAI5BlJ,EAAOP,MAAMyJ,GAGVlJ,GAYXC,SAAU,SAAUtI,EAAG+G,GAInB,IAAIsL,GAAS,EAEb,GAAIxY,KAAKqY,UAEL,IAAK,IAAIrQ,GAAK,EAAGyQ,EAAIzY,KAAKmY,QAAQpQ,OAAS,GAAIC,GAAK,GAAKhI,KAAKmY,QAAQpQ,OAAQ0Q,EAAIzQ,EAClF,CACI,IAAI0Q,EAAK1Y,KAAKmY,QAAQnQ,GAClB2Q,EAAK3Y,KAAKmY,QAAQnQ,EAAI,GAEtB4Q,EAAK5Y,KAAKmY,QAAQM,GAClBI,EAAK7Y,KAAKmY,QAAQM,EAAI,IAEpBE,GAAMzL,GAAKA,EAAI2L,GAAQA,GAAM3L,GAAKA,EAAIyL,IAASxS,GAAKyS,EAAKF,IAAOxL,EAAIyL,IAAOE,EAAKF,GAAMD,IAExFF,GAAUA,QAOlB,IAAK,IAAIxQ,GAAK,EAAGyQ,EAAIzY,KAAKmY,QAAQpQ,OAAS,IAAKC,EAAIhI,KAAKmY,QAAQpQ,OAAQ0Q,EAAIzQ,EAC7E,CACI,IAAI0Q,EAAK1Y,KAAKmY,QAAQnQ,GAAG7B,EACrBwS,EAAK3Y,KAAKmY,QAAQnQ,GAAGkF,EAErB0L,EAAK5Y,KAAKmY,QAAQM,GAAGtS,EACrB0S,EAAK7Y,KAAKmY,QAAQM,GAAGvL,GAEnByL,GAAMzL,GAAKA,EAAI2L,GAAQA,GAAM3L,GAAKA,EAAIyL,IAASxS,GAAKyS,EAAKF,IAAOxL,EAAIyL,IAAOE,EAAKF,GAAMD,IAExFF,GAAUA,GAKtB,OAAOA,GAuBXvK,MAAO,SAAUyJ,GAKb,GAHA1X,KAAKkY,KAAO,EACZlY,KAAKmY,WAEDlR,UAAUc,OAAS,EACvB,CAESrB,MAAMa,QAAQmQ,KAEfA,EAAShR,MAAMH,UAAUE,MAAMO,KAAKC,YAMxC,IAAK,IAHD6R,EAAKC,OAAOC,UAGPhR,EAAI,EAAGF,EAAM4P,EAAO3P,OAAQC,EAAIF,EAAKE,IAC9C,CACI,GAAyB,iBAAd0P,EAAO1P,GAClB,CACQqI,EAAI,IAAItK,KAAK0H,MAAMiK,EAAO1P,GAAI0P,EAAO1P,EAAI,IAC7CA,SAEC,GAAItB,MAAMa,QAAQmQ,EAAO1P,IAEtBqI,EAAI,IAAItK,KAAK0H,MAAMiK,EAAO1P,GAAG,GAAI0P,EAAO1P,GAAG,SAI/C,IAAIqI,EAAI,IAAItK,KAAK0H,MAAMiK,EAAO1P,GAAG7B,EAAGuR,EAAO1P,GAAGkF,GAGlDlN,KAAKmY,QAAQhF,KAAK9C,GAGdA,EAAEnD,EAAI4L,IAENA,EAAKzI,EAAEnD,GAIflN,KAAKiZ,cAAcH,GAGvB,OAAO9Y,MAYXiZ,cAAe,SAAUH,GAOrB,IAAK,IALDI,EACAC,EACAC,EACAjJ,EAEKnI,EAAI,EAAGF,EAAM9H,KAAKmY,QAAQpQ,OAAQC,EAAIF,EAAKE,IAEhDkR,EAAKlZ,KAAKmY,QAAQnQ,GAIdmR,EAFAnR,IAAMF,EAAM,EAEP9H,KAAKmY,QAAQ,GAIbnY,KAAKmY,QAAQnQ,EAAI,GAG1BoR,GAAcF,EAAGhM,EAAI4L,GAAOK,EAAGjM,EAAI4L,IAAO,EAC1C3I,EAAQ+I,EAAG/S,EAAIgT,EAAGhT,EAClBnG,KAAKkY,MAAQkB,EAAYjJ,EAG7B,OAAOnQ,KAAKkY,OAMpB7X,EAAO4X,QAAQ1R,UAAU8B,YAAchI,EAAO4X,QAW9CxQ,OAAOmF,eAAevM,EAAO4X,QAAQ1R,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKmY,SAGhBxL,IAAK,SAAS+K,GAEI,MAAVA,EAEA1X,KAAKiO,MAAMyJ,GAKX1X,KAAKiO,WAQjBlI,KAAKkS,QAAU5X,EAAO4X,QAmBtB5X,EAAO2N,UAAY,SAAU7H,EAAG+G,EAAGiD,EAAOC,GAEtCjK,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTiD,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBpQ,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAMdpQ,KAAKoI,KAAO/H,EAAOmC,WAIvBnC,EAAO2N,UAAUzH,WASbsI,OAAQ,SAAUC,EAAIC,GAKlB,OAHA/O,KAAKmG,GAAK2I,EACV9O,KAAKkN,GAAK6B,EAEH/O,MAUXgP,YAAa,SAAUC,GAEnB,OAAOjP,KAAK6O,OAAOI,EAAM9I,EAAG8I,EAAM/B,IAatCe,MAAO,SAAU9H,EAAG+G,EAAGiD,EAAOC,GAO1B,OALApQ,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EACTlN,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEPpQ,MAYXqV,MAAO,SAAUlP,EAAG+G,GAOhB,YALU5C,IAAN4C,IAAmBA,EAAI/G,GAE3BnG,KAAKmQ,OAAShK,EACdnG,KAAKoQ,QAAUlD,EAERlN,MAYX+R,SAAU,SAAU5L,EAAG+G,GAKnB,OAHAlN,KAAKoR,QAAUjL,EACfnG,KAAKqR,QAAUnE,EAERlN,MAQXqG,MAAO,WAEHrG,KAAKmG,EAAIF,KAAKI,MAAMrG,KAAKmG,GACzBnG,KAAKkN,EAAIjH,KAAKI,MAAMrG,KAAKkN,IAQ7BmM,SAAU,WAENrZ,KAAKmG,EAAIF,KAAKI,MAAMrG,KAAKmG,GACzBnG,KAAKkN,EAAIjH,KAAKI,MAAMrG,KAAKkN,GACzBlN,KAAKmQ,MAAQlK,KAAKI,MAAMrG,KAAKmQ,OAC7BnQ,KAAKoQ,OAASnK,KAAKI,MAAMrG,KAAKoQ,SAQlChK,KAAM,WAEFpG,KAAKmG,EAAIF,KAAKG,KAAKpG,KAAKmG,GACxBnG,KAAKkN,EAAIjH,KAAKG,KAAKpG,KAAKkN,IAQ5BoM,QAAS,WAELtZ,KAAKmG,EAAIF,KAAKG,KAAKpG,KAAKmG,GACxBnG,KAAKkN,EAAIjH,KAAKG,KAAKpG,KAAKkN,GACxBlN,KAAKmQ,MAAQlK,KAAKG,KAAKpG,KAAKmQ,OAC5BnQ,KAAKoQ,OAASnK,KAAKG,KAAKpG,KAAKoQ,SAUjClC,SAAU,SAAUC,GAEhB,OAAOnO,KAAKiO,MAAME,EAAOhI,EAAGgI,EAAOjB,EAAGiB,EAAOgC,MAAOhC,EAAOiC,SAU/DhC,OAAQ,SAAUC,GAOd,OALAA,EAAKlI,EAAInG,KAAKmG,EACdkI,EAAKnB,EAAIlN,KAAKkN,EACdmB,EAAK8B,MAAQnQ,KAAKmQ,MAClB9B,EAAK+B,OAASpQ,KAAKoQ,OAEZ/B,GAWXkL,QAAS,SAAUzK,EAAIC,GAEnB,OAAO1O,EAAO2N,UAAUuL,QAAQvZ,KAAM8O,EAAIC,IAU9CnE,KAAM,SAAU4D,GAEZ,OAAOnO,EAAO2N,UAAUpD,KAAK5K,KAAMwO,IAavCgL,OAAQ,SAAUrJ,EAAOC,GAKrB,OAHApQ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEPpQ,MAUXmM,MAAO,SAAUqC,GAEb,OAAOnO,EAAO2N,UAAU7B,MAAMnM,KAAMwO,IAWxCC,SAAU,SAAUtI,EAAG+G,GAEnB,OAAO7M,EAAO2N,UAAUS,SAASzO,KAAMmG,EAAG+G,IAW9CuM,aAAc,SAAUnK,GAEpB,OAAOjP,EAAO2N,UAAUyL,aAAanK,EAAGtP,OAW5CqP,OAAQ,SAAUC,GAEd,OAAOjP,EAAO2N,UAAUqB,OAAOrP,KAAMsP,IAWzCoK,aAAc,SAAUpK,EAAG9B,GAEvB,OAAOnN,EAAO2N,UAAU0L,aAAa1Z,KAAMsP,EAAG9B,IAYlD+B,WAAY,SAAUD,GAElB,OAAOjP,EAAO2N,UAAUuB,WAAWvP,KAAMsP,IAe7CqK,cAAe,SAAUlO,EAAMD,EAAO2D,EAAKC,EAAQwK,GAE/C,OAAOvZ,EAAO2N,UAAU2L,cAAc3Z,KAAMyL,EAAMD,EAAO2D,EAAKC,EAAQwK,IAW1EC,MAAO,SAAUvK,EAAG9B,GAEhB,OAAOnN,EAAO2N,UAAU6L,MAAM7Z,KAAMsP,EAAG9B,IAY3CjD,OAAQ,SAAUiD,GAOd,YALYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAE1CD,EAAIrH,EAAInG,KAAK8Z,QACbtM,EAAIN,EAAIlN,KAAK+Z,QAENvM,GAoBXwM,SAAU,SAAUC,EAAUzM,GAI1B,YAFYlD,IAARkD,IAAqBA,EAAM,IAAInN,EAAOoN,OAElCwM,GAEJ,QACA,KAAK5Z,EAAOuD,SACR,OAAO4J,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAKkN,GAEhC,KAAK7M,EAAOwD,WACR,OAAO2J,EAAIb,IAAI3M,KAAKoR,QAASpR,KAAKkN,GAEtC,KAAK7M,EAAOyD,UACR,OAAO0J,EAAIb,IAAI3M,KAAKwL,MAAOxL,KAAKkN,GAEpC,KAAK7M,EAAO2D,YACR,OAAOwJ,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAKqR,SAEhC,KAAKhR,EAAO6D,OACR,OAAOsJ,EAAIb,IAAI3M,KAAKoR,QAASpR,KAAKqR,SAEtC,KAAKhR,EAAO+D,aACR,OAAOoJ,EAAIb,IAAI3M,KAAKwL,MAAOxL,KAAKqR,SAEpC,KAAKhR,EAAOiE,YACR,OAAOkJ,EAAIb,IAAI3M,KAAKmG,EAAGnG,KAAKoP,QAEhC,KAAK/O,EAAOkE,cACR,OAAOiJ,EAAIb,IAAI3M,KAAKoR,QAASpR,KAAKoP,QAEtC,KAAK/O,EAAOmE,aACR,OAAOgJ,EAAIb,IAAI3M,KAAKwL,MAAOxL,KAAKoP,UAU5C1H,SAAU,WAEN,MAAO,kBAAoB1H,KAAKmG,EAAI,MAAQnG,KAAKkN,EAAI,UAAYlN,KAAKmQ,MAAQ,WAAanQ,KAAKoQ,OAAS,UAAYpQ,KAAKkU,MAAQ,QAW1IzM,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,aAE9CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAKmQ,MAAQ,MAUvC1I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,cAE9CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAKoQ,OAAS,MAUxC3I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,UAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAKoQ,QAGzBzD,IAAK,SAAU5C,GAEPA,GAAS/J,KAAKkN,EAEdlN,KAAKoQ,OAAS,EAIdpQ,KAAKoQ,OAASrG,EAAQ/J,KAAKkN,KAYvCzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,cAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAKoP,SAGzCzC,IAAK,SAAU5C,GACX/J,KAAKmG,EAAI4D,EAAM5D,EACfnG,KAAKoP,OAASrF,EAAMmD,KAU5BzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,eAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKwL,MAAOxL,KAAKoP,SAG7CzC,IAAK,SAAU5C,GACX/J,KAAKwL,MAAQzB,EAAM5D,EACnBnG,KAAKoP,OAASrF,EAAMmD,KAU5BzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,QAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,GAGhBwG,IAAK,SAAU5C,GACPA,GAAS/J,KAAKwL,MACdxL,KAAKmQ,MAAQ,EAEbnQ,KAAKmQ,MAAQnQ,KAAKwL,MAAQzB,EAE9B/J,KAAKmG,EAAI4D,KAUjBtC,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,SAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAKmQ,OAGzBxD,IAAK,SAAU5C,GACPA,GAAS/J,KAAKmG,EACdnG,KAAKmQ,MAAQ,EAEbnQ,KAAKmQ,MAAQpG,EAAQ/J,KAAKmG,KAYtCsB,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,UAE9CmG,IAAK,WACD,OAAO1M,KAAKmQ,MAAQnQ,KAAKoQ,UAWjC3I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,aAE9CmG,IAAK,WACD,OAAqB,EAAb1M,KAAKmQ,MAA4B,EAAdnQ,KAAKoQ,UAUxC3I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO1M,KAAKmG,EAAInG,KAAK6P,WAGzBlD,IAAK,SAAU5C,GACX/J,KAAKmG,EAAI4D,EAAQ/J,KAAK6P,aAU9BpI,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,EAAIlN,KAAK+P,YAGzBpD,IAAK,SAAU5C,GACX/J,KAAKkN,EAAInD,EAAQ/J,KAAK+P,cAW9BtI,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WAED,OAAO1M,KAAKmG,EAAKF,KAAKsE,SAAWvK,KAAKmQ,SAY9C1I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WAED,OAAO1M,KAAKkN,EAAKjH,KAAKsE,SAAWvK,KAAKoQ,UAY9C3I,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,OAE9CmG,IAAK,WACD,OAAO1M,KAAKkN,GAGhBP,IAAK,SAAU5C,GACPA,GAAS/J,KAAKoP,QACdpP,KAAKoQ,OAAS,EACdpQ,KAAKkN,EAAInD,GAET/J,KAAKoQ,OAAUpQ,KAAKoP,OAASrF,KAWzCtC,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,WAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAGnG,KAAKkN,IAGzCP,IAAK,SAAU5C,GACX/J,KAAKmG,EAAI4D,EAAM5D,EACfnG,KAAKkN,EAAInD,EAAMmD,KAUvBzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,YAE9CmG,IAAK,WACD,OAAO,IAAIrM,EAAOoN,MAAMzN,KAAKmG,EAAInG,KAAKmQ,MAAOnQ,KAAKkN,IAGtDP,IAAK,SAAU5C,GACX/J,KAAKwL,MAAQzB,EAAM5D,EACnBnG,KAAKkN,EAAInD,EAAMmD,KAWvBzF,OAAOmF,eAAevM,EAAO2N,UAAUzH,UAAW,SAE9CmG,IAAK,WACD,OAAS1M,KAAKmQ,QAAUnQ,KAAKoQ,QAGjCzD,IAAK,SAAU5C,IAEG,IAAVA,GAEA/J,KAAKiO,MAAM,EAAG,EAAG,EAAG,MAOhC5N,EAAO2N,UAAUzH,UAAU8B,YAAchI,EAAO2N,UAUhD3N,EAAO2N,UAAUuL,QAAU,SAAUrK,EAAGJ,EAAIC,GAOxC,OALAG,EAAE/I,GAAK2I,EACPI,EAAEiB,OAAS,EAAIrB,EACfI,EAAEhC,GAAK6B,EACPG,EAAEkB,QAAU,EAAIrB,EAETG,GAWX7O,EAAO2N,UAAUkM,aAAe,SAAUhL,EAAGD,GAEzC,OAAO5O,EAAO2N,UAAUuL,QAAQrK,EAAGD,EAAM9I,EAAG8I,EAAM/B,IAWtD7M,EAAO2N,UAAUpD,KAAO,SAAUsE,EAAGV,GAWjC,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAOoN,MAAMyB,EAAEiB,MAAOjB,EAAEkB,QAIrC5B,EAAOP,MAAMiB,EAAEiB,MAAOjB,EAAEkB,QAGrB5B,GAWXnO,EAAO2N,UAAU7B,MAAQ,SAAU+C,EAAGV,GAWlC,YATelE,IAAXkE,GAAmC,OAAXA,EAExBA,EAAS,IAAInO,EAAO2N,UAAUkB,EAAE/I,EAAG+I,EAAEhC,EAAGgC,EAAEiB,MAAOjB,EAAEkB,QAInD5B,EAAOP,MAAMiB,EAAE/I,EAAG+I,EAAEhC,EAAGgC,EAAEiB,MAAOjB,EAAEkB,QAG/B5B,GAYXnO,EAAO2N,UAAUS,SAAW,SAAUS,EAAG/I,EAAG+G,GAExC,QAAIgC,EAAEiB,OAAS,GAAKjB,EAAEkB,QAAU,KAKxBjK,GAAK+I,EAAE/I,GAAKA,EAAI+I,EAAE1D,OAAS0B,GAAKgC,EAAEhC,GAAKA,EAAIgC,EAAEE,SAezD/O,EAAO2N,UAAUmM,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIpU,EAAG+G,GAExD,OAAQ/G,GAAKiU,GAAMjU,EAAKiU,EAAKE,GAAOpN,GAAKmN,GAAMnN,EAAKmN,EAAKE,GAW7Dla,EAAO2N,UAAUwM,cAAgB,SAAUtL,EAAGD,GAE1C,OAAO5O,EAAO2N,UAAUS,SAASS,EAAGD,EAAM9I,EAAG8I,EAAM/B,IAYvD7M,EAAO2N,UAAUyL,aAAe,SAAUvK,EAAGI,GAGzC,QAAIJ,EAAEuL,OAASnL,EAAEmL,UAKTvL,EAAE/I,GAAKmJ,EAAEnJ,GAAK+I,EAAEhC,GAAKoC,EAAEpC,GAAKgC,EAAE1D,MAAQ8D,EAAE9D,OAAS0D,EAAEE,OAASE,EAAEF,SAY1E/O,EAAO2N,UAAUqB,OAAS,SAAUH,EAAGI,GAEnC,OAAQJ,EAAE/I,IAAMmJ,EAAEnJ,GAAK+I,EAAEhC,IAAMoC,EAAEpC,GAAKgC,EAAEiB,QAAUb,EAAEa,OAASjB,EAAEkB,SAAWd,EAAEc,QAWhF/P,EAAO2N,UAAU0M,eAAiB,SAAUxL,EAAGI,GAE3C,OAAQJ,EAAEiB,QAAUb,EAAEa,OAASjB,EAAEkB,SAAWd,EAAEc,QAYlD/P,EAAO2N,UAAU0L,aAAe,SAAUxK,EAAGI,EAAGd,GAe5C,YAbelE,IAAXkE,IAEAA,EAAS,IAAInO,EAAO2N,WAGpB3N,EAAO2N,UAAUuB,WAAWL,EAAGI,KAE/Bd,EAAOrI,EAAIF,KAAKyM,IAAIxD,EAAE/I,EAAGmJ,EAAEnJ,GAC3BqI,EAAOtB,EAAIjH,KAAKyM,IAAIxD,EAAEhC,EAAGoC,EAAEpC,GAC3BsB,EAAO2B,MAAQlK,KAAKuM,IAAItD,EAAE1D,MAAO8D,EAAE9D,OAASgD,EAAOrI,EACnDqI,EAAO4B,OAASnK,KAAKuM,IAAItD,EAAEE,OAAQE,EAAEF,QAAUZ,EAAOtB,GAGnDsB,GAYXnO,EAAO2N,UAAUuB,WAAa,SAAUL,EAAGI,GAEvC,QAAIJ,EAAEiB,OAAS,GAAKjB,EAAEkB,QAAU,GAAKd,EAAEa,OAAS,GAAKb,EAAEc,QAAU,MAKxDlB,EAAE1D,MAAQ8D,EAAEnJ,GAAK+I,EAAEE,OAASE,EAAEpC,GAAKgC,EAAE/I,EAAImJ,EAAE9D,OAAS0D,EAAEhC,EAAIoC,EAAEF,SAczE/O,EAAO2N,UAAU2L,cAAgB,SAAUzK,EAAGzD,EAAMD,EAAO2D,EAAKC,EAAQwK,GAIpE,YAFkBtP,IAAdsP,IAA2BA,EAAY,KAElCnO,EAAOyD,EAAE1D,MAAQoO,GAAapO,EAAQ0D,EAAEzD,KAAOmO,GAAazK,EAAMD,EAAEE,OAASwK,GAAaxK,EAASF,EAAEC,IAAMyK,IAYxHvZ,EAAO2N,UAAU6L,MAAQ,SAAU3K,EAAGI,EAAGd,GAOrC,YALelE,IAAXkE,IAEAA,EAAS,IAAInO,EAAO2N,WAGjBQ,EAAOP,MAAMhI,KAAKuM,IAAItD,EAAE/I,EAAGmJ,EAAEnJ,GAAIF,KAAKuM,IAAItD,EAAEhC,EAAGoC,EAAEpC,GAAIjH,KAAKyM,IAAIxD,EAAE1D,MAAO8D,EAAE9D,OAASvF,KAAKuM,IAAItD,EAAEzD,KAAM6D,EAAE7D,MAAOxF,KAAKyM,IAAIxD,EAAEE,OAAQE,EAAEF,QAAUnJ,KAAKuM,IAAItD,EAAEC,IAAKG,EAAEH,OAaxK9O,EAAO2N,UAAU2M,KAAO,SAASjD,EAAQlK,QAEzBlD,IAARkD,IACAA,EAAM,IAAInN,EAAO2N,WAGrB,IAAIyE,EAAOsG,OAAO6B,kBACdrI,EAAOwG,OAAO8B,kBACdjI,EAAOmG,OAAO6B,kBACdjI,EAAOoG,OAAO8B,kBAoBlB,OAlBAnD,EAAO/P,QAAQ,SAASsH,GAChBA,EAAM9I,EAAIsM,IACVA,EAAOxD,EAAM9I,GAEb8I,EAAM9I,EAAIoM,IACVA,EAAOtD,EAAM9I,GAGb8I,EAAM/B,EAAI0F,IACVA,EAAO3D,EAAM/B,GAEb+B,EAAM/B,EAAIyF,IACVA,EAAO1D,EAAM/B,KAIrBM,EAAIS,MAAMsE,EAAMI,EAAMF,EAAOF,EAAMK,EAAOD,GAEnCnF,GAIXzH,KAAKiI,UAAY3N,EAAO2N,UACxBjI,KAAK+U,eAAiB,IAAIza,EAAO2N,UAAU,EAAG,EAAG,EAAG,GAqBpD3N,EAAO0a,iBAAmB,SAAS5U,EAAG+G,EAAGiD,EAAOC,EAAQtC,QAE1CxD,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQ,QACpB7F,IAAX8F,IAAwBA,EAAS,QACtB9F,IAAXwD,IAAwBA,EAAS,IAKrC9N,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAKdpQ,KAAK8N,OAASA,GAAU,GAMxB9N,KAAKoI,KAAO/H,EAAOuC,kBAGvBvC,EAAO0a,iBAAiBxU,WASpB4F,MAAO,WAEH,OAAO,IAAI9L,EAAO0a,iBAAiB/a,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,OAAQpQ,KAAK8N,SAYrFW,SAAU,SAAUtI,EAAG+G,GAEnB,GAAIlN,KAAKmQ,OAAS,GAAKnQ,KAAKoQ,QAAU,EAElC,OAAO,EAGX,IAAIM,EAAK1Q,KAAKmG,EAEd,GAAIA,GAAKuK,GAAMvK,GAAKuK,EAAK1Q,KAAKmQ,MAC9B,CACI,IAAIQ,EAAK3Q,KAAKkN,EAEd,GAAIA,GAAKyD,GAAMzD,GAAKyD,EAAK3Q,KAAKoQ,OAE1B,OAAO,EAIf,OAAO,IAMf/P,EAAO0a,iBAAiBxU,UAAU8B,YAAchI,EAAO0a,iBAGvDhV,KAAKgV,iBAAmB1a,EAAO0a,iBAqB/B1a,EAAO2a,OAAS,SAAUC,EAAM9F,EAAIhP,EAAG+G,EAAGiD,EAAOC,GAK7CpQ,KAAKib,KAAOA,EAKZjb,KAAKkb,MAAQD,EAAKC,MAMlBlb,KAAKmV,GAAK,EASVnV,KAAKmb,KAAO,IAAI9a,EAAO2N,UAAU7H,EAAG+G,EAAGiD,EAAOC,GAS9CpQ,KAAKob,OAAS,IAAI/a,EAAO2N,UAAU7H,EAAG+G,EAAGiD,EAAOC,GAKhDpQ,KAAKqb,SAAW,KAMhBrb,KAAKsb,SAAU,EAMftb,KAAKub,SAAU,EAKfvb,KAAKwb,SAAYrV,GAAG,EAAO+G,GAAG,GAM9BlN,KAAKkH,OAAS,KAKdlH,KAAKyb,cAAgB,KAKrBzb,KAAKqV,MAAQ,KAMbrV,KAAK0b,YAAc,EAWnB1b,KAAK2b,KAAO,IAAItb,EAAOoN,MAAM,EAAG,GAKhCzN,KAAK4b,gBAAkB,IAAIvb,EAAOwb,OAKlC7b,KAAK8b,gBAAkB,IAAIzb,EAAOwb,OASlC7b,KAAK+b,eAAiB,IAAI1b,EAAOwb,OAOjC7b,KAAKgc,GAAK,KAMVhc,KAAKic,gBAAkB,IAAI5b,EAAOoN,MAOlCzN,KAAKkc,MAAQ,EAOblc,KAAKmc,UAAY,IAAI9b,EAAOoN,MAM5BzN,KAAKoc,QACDC,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbtW,EAAG,EACH+G,EAAG,GAOPlN,KAAK0c,YAAc,EAMnB1c,KAAK2c,QAAU,GAUnBtc,EAAO2a,OAAO4B,cAAgB,EAQ9Bvc,EAAO2a,OAAO6B,kBAAoB,EAQlCxc,EAAO2a,OAAO8B,eAAiB,EAQ/Bzc,EAAO2a,OAAO+B,qBAAuB,EAMrC1c,EAAO2a,OAAOgC,WAAa,EAM3B3c,EAAO2a,OAAOiC,iBAAmB,EAMjC5c,EAAO2a,OAAOkC,eAAiB,EAM/B7c,EAAO2a,OAAOmC,WAAY,EAE1B9c,EAAO2a,OAAOzU,WAQV6W,KAAM,WAEFpd,KAAKyb,cAAgBzb,KAAKib,KAAKC,MAE/Blb,KAAKqV,MAAQrV,KAAKib,KAAKC,MAAM7F,MAE7BrV,KAAKib,KAAKoC,OAASrd,KAEfK,EAAOid,UAAYjd,EAAO2a,OAAOmC,YAEjCnd,KAAKgc,GAAK,IAAI3b,EAAOid,SAAStd,KAAKib,MAEnCjb,KAAKib,KAAKsC,MAAMC,SAASxd,KAAKgc,MAUtCyB,UAAW,WAEPzd,KAAK0b,YAAc,GAmBvBgC,OAAQ,SAAUxW,EAAQyW,EAAOC,EAAOC,QAEtBvT,IAAVqT,IAAuBA,EAAQtd,EAAO2a,OAAO4B,oBACnCtS,IAAVsT,IAAuBA,EAAQ,QACrBtT,IAAVuT,IAAuBA,EAAQ,GAEnC7d,KAAKkH,OAASA,EACdlH,KAAK2b,KAAKhP,IAAIiR,EAAOC,GAErB,IAAIC,EAEJ,OAAQH,GAEJ,KAAKtd,EAAO2a,OAAO6B,kBACf,IAAIkB,EAAI/d,KAAKmQ,MAAQ,EACjB6N,EAAIhe,KAAKoQ,OAAS,EACtBpQ,KAAKqb,SAAW,IAAIhb,EAAO2N,WAAWhO,KAAKmQ,MAAQ4N,GAAK,GAAI/d,KAAKoQ,OAAS4N,GAAK,EAAQ,IAAJA,EAAUD,EAAGC,GAChG,MAEJ,KAAK3d,EAAO2a,OAAO8B,eACfgB,EAAS7X,KAAKyM,IAAI1S,KAAKmQ,MAAOnQ,KAAKoQ,QAAU,EAC7CpQ,KAAKqb,SAAW,IAAIhb,EAAO2N,WAAWhO,KAAKmQ,MAAQ2N,GAAU,GAAI9d,KAAKoQ,OAAS0N,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKzd,EAAO2a,OAAO+B,qBACfe,EAAS7X,KAAKyM,IAAI1S,KAAKmQ,MAAOnQ,KAAKoQ,QAAU,EAC7CpQ,KAAKqb,SAAW,IAAIhb,EAAO2N,WAAWhO,KAAKmQ,MAAQ2N,GAAU,GAAI9d,KAAKoQ,OAAS0N,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKzd,EAAO2a,OAAO4B,cAInB,QACI5c,KAAKqb,SAAW,OAW5B4C,SAAU,WAENje,KAAKkH,OAAS,MASlBgX,QAAS,SAAUzC,GAEfzb,KAAKme,YAAYlY,KAAKsI,MAAMkN,EAActV,EAAInG,KAAKmb,KAAKtL,WAAY5J,KAAKsI,MAAMkN,EAAcvO,EAAIlN,KAAKmb,KAAKpL,cAU/GqO,UAAW,SAAUjY,EAAG+G,GAEpBlN,KAAKme,YAAYlY,KAAKsI,MAAMpI,EAAInG,KAAKmb,KAAKtL,WAAY5J,KAAKsI,MAAMrB,EAAIlN,KAAKmb,KAAKpL,cAmBnFsO,MAAO,SAAUhC,EAAWC,EAAUgC,EAAOC,EAAW9B,GAQpD,YANkBnS,IAAd+R,IAA2BA,EAAY,UAC1B/R,IAAbgS,IAA0BA,EAAW,UAC3BhS,IAAVgU,IAAuBA,GAAQ,QACjBhU,IAAdiU,IAA2BA,EAAYle,EAAO2a,OAAOgC,iBACrC1S,IAAhBmS,IAA6BA,GAAc,MAE1C6B,GAASte,KAAKoc,OAAOE,SAAW,KAMrCtc,KAAKoc,OAAOC,UAAYA,EACxBrc,KAAKoc,OAAOE,SAAWA,EACvBtc,KAAKoc,OAAOK,YAAcA,EAE1Bzc,KAAKoc,OAAOjW,EAAI,EAChBnG,KAAKoc,OAAOlP,EAAI,EAEhBlN,KAAKoc,OAAOG,WAAcgC,IAAcle,EAAO2a,OAAOgC,YAAcuB,IAAcle,EAAO2a,OAAOiC,iBAChGjd,KAAKoc,OAAOI,SAAY+B,IAAcle,EAAO2a,OAAOgC,YAAcuB,IAAcle,EAAO2a,OAAOkC,gBAEvF,IAmBXsB,MAAO,SAAUC,EAAOnC,EAAUgC,EAAOI,GAOrC,YALcpU,IAAVmU,IAAuBA,EAAQ,eAClBnU,IAAbgS,IAA0BA,EAAW,UAC3BhS,IAAVgU,IAAuBA,GAAQ,QACrBhU,IAAVoU,IAAuBA,EAAQ,MAE9B1e,KAAKgc,KAAQsC,GAASte,KAAK0c,YAAc,KAK9C1c,KAAKgc,GAAG2C,QAER3e,KAAKgc,GAAG4C,UAAUH,EAAOC,GACzB1e,KAAKgc,GAAG6C,SAAS,EAAG,EAAG7e,KAAKmQ,MAAOnQ,KAAKoQ,QACxCpQ,KAAKgc,GAAG8C,UAER9e,KAAKgc,GAAG0C,MAAQ,EAEhB1e,KAAK0c,YAAcJ,EACnBtc,KAAK2c,QAAU,GAER,IAwBXoC,KAAM,SAAUN,EAAOnC,EAAUgC,EAAOI,GAOpC,YALcpU,IAAVmU,IAAuBA,EAAQ,QAClBnU,IAAbgS,IAA0BA,EAAW,UAC3BhS,IAAVgU,IAAuBA,GAAQ,QACrBhU,IAAVoU,IAAuBA,EAAQ,MAE9B1e,KAAKgc,KAAQsC,GAASte,KAAK0c,YAAc,KAK9C1c,KAAKgc,GAAG2C,QAER3e,KAAKgc,GAAG4C,UAAUH,EAAOC,GACzB1e,KAAKgc,GAAG6C,SAAS,EAAG,EAAG7e,KAAKmQ,MAAOnQ,KAAKoQ,QACxCpQ,KAAKgc,GAAG8C,UAER9e,KAAKgc,GAAG0C,MAAQ,EAEhB1e,KAAK0c,YAAcJ,EACnBtc,KAAK2c,QAAU,GAER,IAUXqC,OAAQ,WAEAhf,KAAK0c,YAAc,GAEnB1c,KAAKif,WAGLjf,KAAKoc,OAAOE,SAAW,GAEvBtc,KAAKkf,cAGLlf,KAAKob,QAELpb,KAAKmf,cAGLnf,KAAKub,UAELvb,KAAKmb,KAAK9U,QACVrG,KAAKoc,OAAOjW,EAAIF,KAAKI,MAAMrG,KAAKoc,OAAOjW,GACvCnG,KAAKoc,OAAOlP,EAAIjH,KAAKI,MAAMrG,KAAKoc,OAAOlP,IAG3ClN,KAAKyb,cAAcxB,SAAS9T,GAAKnG,KAAKmb,KAAKhV,EAC3CnG,KAAKyb,cAAcxB,SAAS/M,GAAKlN,KAAKmb,KAAKjO,GAU/C+R,SAAU,WAEe,IAAjBjf,KAAK2c,SAGL3c,KAAKgc,GAAG0C,OAAS1e,KAAKib,KAAKmE,KAAKC,UAAYrf,KAAK0c,YAE7C1c,KAAKgc,GAAG0C,OAAS,IAEjB1e,KAAK0c,YAAc,EACnB1c,KAAKgc,GAAG0C,MAAQ,EAChB1e,KAAK8b,gBAAgBwD,cAMzBtf,KAAKgc,GAAG0C,OAAS1e,KAAKib,KAAKmE,KAAKC,UAAYrf,KAAK0c,YAE7C1c,KAAKgc,GAAG0C,OAAS,IAEjB1e,KAAK0c,YAAc,EACnB1c,KAAKgc,GAAG0C,MAAQ,EAChB1e,KAAK+b,eAAeuD,cAYhCJ,YAAa,WAETlf,KAAKoc,OAAOE,UAAYtc,KAAKib,KAAKmE,KAAKC,UAEnCrf,KAAKoc,OAAOE,UAAY,GAExBtc,KAAK4b,gBAAgB0D,WACrBtf,KAAKoc,OAAOjW,EAAI,EAChBnG,KAAKoc,OAAOlP,EAAI,IAIZlN,KAAKoc,OAAOG,aAEZvc,KAAKoc,OAAOjW,EAAInG,KAAKib,KAAKsE,IAAIC,OAASxf,KAAKoc,OAAOC,UAAYrc,KAAKmb,KAAKhL,MAAQ,EAAInQ,KAAKoc,OAAOC,UAAYrc,KAAKmb,KAAKhL,OAGvHnQ,KAAKoc,OAAOI,WAEZxc,KAAKoc,OAAOlP,EAAIlN,KAAKib,KAAKsE,IAAIC,OAASxf,KAAKoc,OAAOC,UAAYrc,KAAKmb,KAAK/K,OAAS,EAAIpQ,KAAKoc,OAAOC,UAAYrc,KAAKmb,KAAK/K,UAYpIqP,aAAc,WAEVzf,KAAKic,gBAAgB9V,EAAInG,KAAKmb,KAAKhV,EAAInG,KAAKkH,OAAOwY,cAAcvZ,EACjEnG,KAAKic,gBAAgB/O,EAAIlN,KAAKmb,KAAKjO,EAAIlN,KAAKkH,OAAOwY,cAAcxS,EAE7DlN,KAAKqb,UAELrb,KAAKkc,MAAQlc,KAAKic,gBAAgB9V,EAAInG,KAAKmb,KAAKhV,EAE5CnG,KAAKkc,MAAQlc,KAAKqb,SAAS5P,KAE3BzL,KAAKmb,KAAKhV,EAAInG,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKhV,EAAGnG,KAAKic,gBAAgB9V,EAAInG,KAAKqb,SAAS5P,KAAMzL,KAAK2b,KAAKxV,GAEnGnG,KAAKkc,MAAQlc,KAAKqb,SAAS7P,QAEhCxL,KAAKmb,KAAKhV,EAAInG,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKhV,EAAGnG,KAAKic,gBAAgB9V,EAAInG,KAAKqb,SAAS7P,MAAOxL,KAAK2b,KAAKxV,IAG7GnG,KAAKkc,MAAQlc,KAAKic,gBAAgB/O,EAAIlN,KAAKmb,KAAKjO,EAE5ClN,KAAKkc,MAAQlc,KAAKqb,SAASlM,IAE3BnP,KAAKmb,KAAKjO,EAAIlN,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKjO,EAAGlN,KAAKic,gBAAgB/O,EAAIlN,KAAKqb,SAASlM,IAAKnP,KAAK2b,KAAKzO,GAElGlN,KAAKkc,MAAQlc,KAAKqb,SAASjM,SAEhCpP,KAAKmb,KAAKjO,EAAIlN,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKjO,EAAGlN,KAAKic,gBAAgB/O,EAAIlN,KAAKqb,SAASjM,OAAQpP,KAAK2b,KAAKzO,MAK9GlN,KAAKmb,KAAKhV,EAAInG,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKhV,EAAGnG,KAAKic,gBAAgB9V,EAAInG,KAAKmb,KAAKtL,UAAW7P,KAAK2b,KAAKxV,GACzGnG,KAAKmb,KAAKjO,EAAIlN,KAAKib,KAAK0E,KAAKC,OAAO5f,KAAKmb,KAAKjO,EAAGlN,KAAKic,gBAAgB/O,EAAIlN,KAAKmb,KAAKpL,WAAY/P,KAAK2b,KAAKzO,IAG1GlN,KAAKob,QAELpb,KAAKmf,cAGLnf,KAAKub,SAELvb,KAAKmb,KAAK9U,QAGdrG,KAAKyb,cAAcxB,SAAS9T,GAAKnG,KAAKmb,KAAKhV,EAC3CnG,KAAKyb,cAAcxB,SAAS/M,GAAKlN,KAAKmb,KAAKjO,GAS/C2S,iBAAkB,WAEV7f,KAAKob,QAELpb,KAAKob,OAAOlN,SAASlO,KAAKib,KAAKC,MAAME,SAY7C+D,YAAa,WAETnf,KAAKwb,QAAQrV,GAAI,EACjBnG,KAAKwb,QAAQtO,GAAI,EAEjB,IAAI4S,EAAK9f,KAAKmb,KAAKhV,EAAInG,KAAKoc,OAAOjW,EAC/B4Z,EAAK/f,KAAKmb,KAAK3P,MAAQxL,KAAKoc,OAAOjW,EACnC6Z,EAAKhgB,KAAKmb,KAAKjO,EAAIlN,KAAKoc,OAAOlP,EAC/B+S,EAAKjgB,KAAKmb,KAAK/L,OAASpP,KAAKoc,OAAOlP,EAGpC4S,GAAM9f,KAAKob,OAAOjV,EAAInG,KAAKqV,MAAMlP,GAEjCnG,KAAKwb,QAAQrV,GAAI,EACjBnG,KAAKmb,KAAKhV,EAAInG,KAAKob,OAAOjV,EAAInG,KAAKqV,MAAMlP,EAEpCnG,KAAKoc,OAAOK,cAGbzc,KAAKoc,OAAOjW,EAAI,IAGf4Z,GAAM/f,KAAKob,OAAO5P,MAAQxL,KAAKqV,MAAMlP,IAE1CnG,KAAKwb,QAAQrV,GAAI,EACjBnG,KAAKmb,KAAKhV,EAAKnG,KAAKob,OAAO5P,MAAQxL,KAAKqV,MAAMlP,EAAKnG,KAAKmQ,MAEnDnQ,KAAKoc,OAAOK,cAGbzc,KAAKoc,OAAOjW,EAAI,IAIpB6Z,GAAMhgB,KAAKob,OAAOjM,IAAMnP,KAAKqV,MAAMnI,GAEnClN,KAAKwb,QAAQtO,GAAI,EACjBlN,KAAKmb,KAAKjO,EAAIlN,KAAKob,OAAOjM,IAAMnP,KAAKqV,MAAMnI,EAEtClN,KAAKoc,OAAOK,cAGbzc,KAAKoc,OAAOlP,EAAI,IAGf+S,GAAMjgB,KAAKob,OAAOhM,OAASpP,KAAKqV,MAAMnI,IAE3ClN,KAAKwb,QAAQtO,GAAI,EACjBlN,KAAKmb,KAAKjO,EAAKlN,KAAKob,OAAOhM,OAASpP,KAAKqV,MAAMnI,EAAKlN,KAAKoQ,OAEpDpQ,KAAKoc,OAAOK,cAGbzc,KAAKoc,OAAOlP,EAAI,KAc5BiR,YAAa,SAAUhY,EAAG+G,GAEtBlN,KAAKmb,KAAKhV,EAAIA,EACdnG,KAAKmb,KAAKjO,EAAIA,EAEVlN,KAAKob,QAELpb,KAAKmf,eAYbe,QAAS,SAAU/P,EAAOC,GAEtBpQ,KAAKmb,KAAKhL,MAAQA,EAClBnQ,KAAKmb,KAAK/K,OAASA,GAWvB+P,MAAO,WAEHngB,KAAKkH,OAAS,KAEdlH,KAAKmb,KAAKhV,EAAI,EACdnG,KAAKmb,KAAKjO,EAAI,EAEdlN,KAAKoc,OAAOE,SAAW,EACvBtc,KAAKoc,OAAOjW,EAAI,EAChBnG,KAAKoc,OAAOlP,EAAI,EAEhBlN,KAAKogB,WAUTA,QAAS,WAEDpgB,KAAKgc,KAELhc,KAAKgc,GAAG2C,QACR3e,KAAKgc,GAAG0C,MAAQ,GAGpB1e,KAAK0c,YAAc,IAM3Brc,EAAO2a,OAAOzU,UAAU8B,YAAchI,EAAO2a,OAO7CvT,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKmb,KAAKhV,GAIrBwG,IAAK,SAAU5C,GAEX/J,KAAKmb,KAAKhV,EAAI4D,EAEV/J,KAAKob,QAELpb,KAAKmf,iBAWjB1X,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKmb,KAAKjO,GAIrBP,IAAK,SAAU5C,GAEX/J,KAAKmb,KAAKjO,EAAInD,EAEV/J,KAAKob,QAELpb,KAAKmf,iBAWjB1X,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,YAE3CmG,IAAK,WAID,OAFA1M,KAAKmc,UAAUxP,IAAI3M,KAAKmb,KAAKhV,EAAGnG,KAAKmb,KAAKjO,GAEnClN,KAAKmc,WAIhBxP,IAAK,SAAU5C,QAEY,IAAZA,EAAM5D,IAAqBnG,KAAKmb,KAAKhV,EAAI4D,EAAM5D,QACnC,IAAZ4D,EAAMmD,IAAqBlN,KAAKmb,KAAKjO,EAAInD,EAAMmD,GAEtDlN,KAAKob,QAELpb,KAAKmf,iBAWjB1X,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,SAE3CmG,IAAK,WAED,OAAO1M,KAAKmb,KAAKhL,OAIrBxD,IAAK,SAAU5C,GAEX/J,KAAKmb,KAAKhL,MAAQpG,KAW1BtC,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,UAE3CmG,IAAK,WAED,OAAO1M,KAAKmb,KAAK/K,QAIrBzD,IAAK,SAAU5C,GAEX/J,KAAKmb,KAAK/K,OAASrG,KAY3BtC,OAAOmF,eAAevM,EAAO2a,OAAOzU,UAAW,kBAE3CmG,IAAK,WAED,OAAO1M,KAAKoc,OAAOC,WAIvB1P,IAAK,SAAU5C,GAEX/J,KAAKoc,OAAOC,UAAYtS,KAiChC1J,EAAOggB,MAAQ,WAKXrgB,KAAKib,KAAO,KAKZjb,KAAK6J,IAAM,GAKX7J,KAAKkS,IAAM,KAKXlS,KAAKsgB,KAAO,KAKZtgB,KAAKqd,OAAS,KAKdrd,KAAKugB,MAAQ,KAKbvgB,KAAKwgB,MAAQ,KAKbxgB,KAAKygB,KAAO,KAKZzgB,KAAK2f,KAAO,KAKZ3f,KAAK0gB,MAAQ,KAKb1gB,KAAKqV,MAAQ,KAKbrV,KAAKud,MAAQ,KAKbvd,KAAK2gB,MAAQ,KAKb3gB,KAAKof,KAAO,KAKZpf,KAAK4gB,OAAS,KAKd5gB,KAAKkb,MAAQ,KAKblb,KAAK6gB,UAAY,KAKjB7gB,KAAK8gB,QAAU,KAKf9gB,KAAKuf,IAAM,MAIflf,EAAOggB,MAAM9Z,WASTwa,KAAM,aAUNC,QAAS,aAQTC,WAAY,aASZC,WAAY,aASZC,OAAQ,aAURnC,OAAQ,aAQRoC,UAAW,aAUXC,OAAQ,aAQR7H,OAAQ,aAQR8H,OAAQ,aAQRC,QAAS,aAQTC,YAAa,aAQbC,SAAU,cAKdphB,EAAOggB,MAAM9Z,UAAU8B,YAAchI,EAAOggB,MAkB5ChgB,EAAOqhB,aAAe,SAAUzG,EAAM0G,GAKlC3hB,KAAKib,KAAOA,EAKZjb,KAAK4hB,UAML5hB,KAAK6hB,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvC3hB,KAAK6hB,cAAgBF,GAOzB3hB,KAAK8hB,aAAc,EAMnB9hB,KAAK+hB,aAAc,EAMnB/hB,KAAKgiB,UAAW,EAMhBhiB,KAAKiiB,SAMLjiB,KAAKmK,QAAU,GAcfnK,KAAKkiB,cAAgB,IAAI7hB,EAAOwb,OAMhC7b,KAAKmiB,eAAiB,KAMtBniB,KAAKoiB,kBAAoB,KAMzBpiB,KAAKqiB,iBAAmB,KAMxBriB,KAAKsiB,iBAAmB,KAMxBtiB,KAAKuiB,iBAAmB,KAMxBviB,KAAKwiB,iBAAmB,KAMxBxiB,KAAKyiB,oBAAsB,KAM3BziB,KAAK0iB,qBAAuB,KAM5B1iB,KAAK2iB,qBAAuB,KAM5B3iB,KAAK4iB,iBAAmB,KAMxB5iB,KAAK6iB,kBAAoB,KAMzB7iB,KAAK8iB,sBAAwB,KAM7B9iB,KAAK+iB,mBAAqB,MAI9B1iB,EAAOqhB,aAAanb,WAOhB6W,KAAM,WAEFpd,KAAKib,KAAK+H,QAAQ9Q,IAAIlS,KAAKijB,MAAOjjB,MAClCA,KAAKib,KAAKiI,SAAShR,IAAIlS,KAAKmjB,OAAQnjB,MAET,OAAvBA,KAAK6hB,eAAwD,iBAAvB7hB,KAAK6hB,eAE3C7hB,KAAKkS,IAAI,UAAWlS,KAAK6hB,eAAe,IAsBhD3P,IAAK,SAAUrI,EAAK8W,EAAOyC,QAEL9Y,IAAd8Y,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BI1C,aAAiBtgB,EAAOggB,MAExBgD,EAAW1C,EAEW,iBAAVA,GAEZ0C,EAAW1C,GACF1F,KAAOjb,KAAKib,KAEC,mBAAV0F,IAEZ0C,EAAW,IAAI1C,EAAM3gB,KAAKib,OAG9Bjb,KAAK4hB,OAAO/X,GAAOwZ,EAEfD,IAEIpjB,KAAKib,KAAKqI,SAEVtjB,KAAK8Q,MAAMjH,GAIX7J,KAAK6hB,cAAgBhY,GAItBwZ,GASXE,OAAQ,SAAU1Z,GAEV7J,KAAKmK,UAAYN,IAEjB7J,KAAKwjB,gBAAkB,KAEvBxjB,KAAKmiB,eAAiB,KACtBniB,KAAK+iB,mBAAqB,KAE1B/iB,KAAKoiB,kBAAoB,KACzBpiB,KAAK2iB,qBAAuB,KAC5B3iB,KAAK0iB,qBAAuB,KAC5B1iB,KAAKqiB,iBAAmB,KACxBriB,KAAKsiB,iBAAmB,KACxBtiB,KAAKyiB,oBAAsB,KAC3BziB,KAAKuiB,iBAAmB,KACxBviB,KAAKwiB,iBAAmB,KACxBxiB,KAAK4iB,iBAAmB,KACxB5iB,KAAK6iB,kBAAoB,KACzB7iB,KAAK8iB,sBAAwB,aAG1B9iB,KAAK4hB,OAAO/X,IAavBiH,MAAO,SAAUjH,EAAK4Z,EAAYC,QAEXpZ,IAAfmZ,IAA4BA,GAAa,QAC1BnZ,IAAfoZ,IAA4BA,GAAa,GAEzC1jB,KAAK2jB,WAAW9Z,KAGhB7J,KAAK6hB,cAAgBhY,EACrB7J,KAAK8hB,YAAc2B,EACnBzjB,KAAK+hB,YAAc2B,EAEfzc,UAAUc,OAAS,IAEnB/H,KAAKiiB,MAAQvb,MAAMH,UAAUqd,OAAO5c,KAAKC,UAAW,MAchE4c,QAAS,SAAUJ,EAAYC,QAERpZ,IAAfmZ,IAA4BA,GAAa,QAC1BnZ,IAAfoZ,IAA4BA,GAAa,GAG7C1jB,KAAK6hB,cAAgB7hB,KAAKmK,QAC1BnK,KAAK8hB,YAAc2B,EACnBzjB,KAAK+hB,YAAc2B,EAEfzc,UAAUc,OAAS,IAEnB/H,KAAKiiB,MAAQvb,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAU3D6c,MAAO,aAQPrG,UAAW,WAEP,GAAIzd,KAAK6hB,eAAiB7hB,KAAKib,KAAKqI,SACpC,CACI,IAAIS,EAAmB/jB,KAAKmK,QAS5B,GANAnK,KAAKgkB,oBAELhkB,KAAKikB,gBAAgBjkB,KAAK6hB,eAE1B7hB,KAAKkiB,cAAc5C,SAAStf,KAAKmK,QAAS4Z,GAEtC/jB,KAAKmK,UAAYnK,KAAK6hB,cAEtB,OAIA7hB,KAAK6hB,cAAgB,KAKrB7hB,KAAKoiB,mBAELpiB,KAAKib,KAAKwF,KAAKN,OAAM,GACrBngB,KAAKoiB,kBAAkBpb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,MAGb,IAAtCjb,KAAKib,KAAKwF,KAAKyD,oBAAkE,IAAtClkB,KAAKib,KAAKwF,KAAK0D,mBAE1DnkB,KAAKokB,eAKLpkB,KAAKib,KAAKwF,KAAK3P,SAMnB9Q,KAAKokB,iBAYjBJ,kBAAmB,WAEXhkB,KAAKmK,UAEDnK,KAAK+iB,oBAEL/iB,KAAK+iB,mBAAmB/b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,MAG5Djb,KAAKib,KAAK2F,OAAOyD,YAEjBrkB,KAAKib,KAAKoC,OAAO8C,QAEjBngB,KAAKib,KAAKuF,MAAML,OAAM,GAEtBngB,KAAKib,KAAK6F,QAAQnC,QAElB3e,KAAKib,KAAKmE,KAAKiF,YAEfrkB,KAAKib,KAAK5F,MAAM8K,MAAMngB,KAAK8hB,aAEvB9hB,KAAKib,KAAKqJ,OAEVtkB,KAAKib,KAAKqJ,MAAMnE,QAGhBngB,KAAK8hB,cAEL9hB,KAAKib,KAAKC,MAAMuG,WAEZzhB,KAAK+hB,aAEL/hB,KAAKib,KAAKsF,MAAMgE,aAchCZ,WAAY,SAAU9Z,GAElB,IAAI8W,EAAQ3gB,KAAK4hB,OAAO/X,GAExB,OAAI8W,KAEIA,EAAMK,SAAWL,EAAMQ,QAAUR,EAAM3B,QAAU2B,EAAMU,UAMvD/Y,QAAQG,KAAK,gIACN,IAKXH,QAAQG,KAAK,sDAAwDoB,IAC9D,IAYf2a,KAAM,SAAU3a,GAEZ7J,KAAK4hB,OAAO/X,GAAKoR,KAAOjb,KAAKib,KAC7Bjb,KAAK4hB,OAAO/X,GAAKqI,IAAMlS,KAAKib,KAAK/I,IACjClS,KAAK4hB,OAAO/X,GAAKyW,KAAOtgB,KAAKib,KAAKqF,KAClCtgB,KAAK4hB,OAAO/X,GAAKwT,OAASrd,KAAKib,KAAKoC,OACpCrd,KAAK4hB,OAAO/X,GAAK0W,MAAQvgB,KAAKib,KAAKsF,MACnCvgB,KAAK4hB,OAAO/X,GAAK2W,MAAQxgB,KAAKib,KAAKuF,MACnCxgB,KAAK4hB,OAAO/X,GAAK4W,KAAOzgB,KAAKib,KAAKwF,KAClCzgB,KAAK4hB,OAAO/X,GAAK8V,KAAO3f,KAAKib,KAAK0E,KAClC3f,KAAK4hB,OAAO/X,GAAK6W,MAAQ1gB,KAAKib,KAAKyF,MACnC1gB,KAAK4hB,OAAO/X,GAAKwL,MAAQrV,KAAKib,KAAK5F,MACnCrV,KAAK4hB,OAAO/X,GAAK8W,MAAQ3gB,KACzBA,KAAK4hB,OAAO/X,GAAK0T,MAAQvd,KAAKib,KAAKsC,MACnCvd,KAAK4hB,OAAO/X,GAAKuV,KAAOpf,KAAKib,KAAKmE,KAClCpf,KAAK4hB,OAAO/X,GAAK+W,OAAS5gB,KAAKib,KAAK2F,OACpC5gB,KAAK4hB,OAAO/X,GAAKqR,MAAQlb,KAAKib,KAAKC,MACnClb,KAAK4hB,OAAO/X,GAAKgX,UAAY7gB,KAAKib,KAAK4F,UACvC7gB,KAAK4hB,OAAO/X,GAAK0V,IAAMvf,KAAKib,KAAKsE,IACjCvf,KAAK4hB,OAAO/X,GAAKiX,QAAU9gB,KAAKib,KAAK6F,QACrC9gB,KAAK4hB,OAAO/X,GAAKA,IAAMA,GAW3B4a,OAAQ,SAAU5a,GAEV7J,KAAK4hB,OAAO/X,KAEZ7J,KAAK4hB,OAAO/X,GAAKoR,KAAO,KACxBjb,KAAK4hB,OAAO/X,GAAKqI,IAAM,KACvBlS,KAAK4hB,OAAO/X,GAAKyW,KAAO,KACxBtgB,KAAK4hB,OAAO/X,GAAKwT,OAAS,KAC1Brd,KAAK4hB,OAAO/X,GAAK0W,MAAQ,KACzBvgB,KAAK4hB,OAAO/X,GAAK2W,MAAQ,KACzBxgB,KAAK4hB,OAAO/X,GAAK4W,KAAO,KACxBzgB,KAAK4hB,OAAO/X,GAAK8V,KAAO,KACxB3f,KAAK4hB,OAAO/X,GAAK6W,MAAQ,KACzB1gB,KAAK4hB,OAAO/X,GAAKwL,MAAQ,KACzBrV,KAAK4hB,OAAO/X,GAAK8W,MAAQ,KACzB3gB,KAAK4hB,OAAO/X,GAAK0T,MAAQ,KACzBvd,KAAK4hB,OAAO/X,GAAKuV,KAAO,KACxBpf,KAAK4hB,OAAO/X,GAAK+W,OAAS,KAC1B5gB,KAAK4hB,OAAO/X,GAAKqR,MAAQ,KACzBlb,KAAK4hB,OAAO/X,GAAKgX,UAAY,KAC7B7gB,KAAK4hB,OAAO/X,GAAK0V,IAAM,KACvBvf,KAAK4hB,OAAO/X,GAAKiX,QAAU,OAYnCmD,gBAAiB,SAAUpa,GAEvB7J,KAAKwjB,gBAAkBxjB,KAAK4hB,OAAO/X,GAEnC7J,KAAKwkB,KAAK3a,GAGV7J,KAAKmiB,eAAiBniB,KAAK4hB,OAAO/X,GAAW,MAAK7J,KAAK8jB,MAEvD9jB,KAAKoiB,kBAAoBpiB,KAAK4hB,OAAO/X,GAAc,SAAK,KACxD7J,KAAK2iB,qBAAuB3iB,KAAK4hB,OAAO/X,GAAiB,YAAK,KAC9D7J,KAAK0iB,qBAAuB1iB,KAAK4hB,OAAO/X,GAAiB,YAAK,KAC9D7J,KAAKqiB,iBAAmBriB,KAAK4hB,OAAO/X,GAAa,QAAK,KACtD7J,KAAKsiB,iBAAmBtiB,KAAK4hB,OAAO/X,GAAa,QAAK,KACtD7J,KAAKyiB,oBAAsBziB,KAAK4hB,OAAO/X,GAAgB,WAAK,KAC5D7J,KAAKuiB,iBAAmBviB,KAAK4hB,OAAO/X,GAAa,QAAK,KACtD7J,KAAKwiB,iBAAmBxiB,KAAK4hB,OAAO/X,GAAa,QAAK,KACtD7J,KAAK4iB,iBAAmB5iB,KAAK4hB,OAAO/X,GAAa,QAAK,KACtD7J,KAAK6iB,kBAAoB7iB,KAAK4hB,OAAO/X,GAAc,SAAK,KACxD7J,KAAK8iB,sBAAwB9iB,KAAK4hB,OAAO/X,GAAkB,aAAK,KAGhE7J,KAAK+iB,mBAAqB/iB,KAAK4hB,OAAO/X,GAAe,UAAK7J,KAAK8jB,MAG1C,KAAjB9jB,KAAKmK,SAELnK,KAAKib,KAAK6F,QAAQX,QAGtBngB,KAAKmK,QAAUN,EACf7J,KAAKgiB,UAAW,EAGhBhiB,KAAKmiB,eAAehb,MAAMnH,KAAKwjB,gBAAiBxjB,KAAKiiB,OAGjDpY,IAAQ7J,KAAK6hB,gBAEb7hB,KAAKiiB,UAGTjiB,KAAKib,KAAKyJ,YAAa,GAW3BC,gBAAiB,WACb,OAAO3kB,KAAK4hB,OAAO5hB,KAAKmK,UAO5Bia,aAAc,YAGY,IAAlBpkB,KAAKgiB,UAAsBhiB,KAAK0iB,sBAEhC1iB,KAAK0iB,qBAAqB1b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAGxC,IAAlBjb,KAAKgiB,UAAsBhiB,KAAKqiB,kBAEhCriB,KAAKgiB,UAAW,EAChBhiB,KAAKqiB,iBAAiBrb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAItDjb,KAAKgiB,UAAW,GASxBiB,MAAO,WAECjjB,KAAKgiB,UAAYhiB,KAAK4iB,kBAEtB5iB,KAAK4iB,iBAAiB5b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAS9DkI,OAAQ,WAEAnjB,KAAKgiB,UAAYhiB,KAAK6iB,mBAEtB7iB,KAAK6iB,kBAAkB7b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAS/D+D,OAAQ,WAEAhf,KAAKgiB,SAEDhiB,KAAKsiB,kBAELtiB,KAAKsiB,iBAAiBtb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,MAKtDjb,KAAK0iB,sBAEL1iB,KAAK0iB,qBAAqB1b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAUtEuG,YAAa,WAELxhB,KAAKgiB,SAEDhiB,KAAK8iB,uBAEL9iB,KAAK8iB,sBAAsB9b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,MAK3Djb,KAAK0iB,sBAEL1iB,KAAK0iB,qBAAqB1b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAWtEmG,UAAW,SAAUwD,GAEb5kB,KAAKgiB,UAAYhiB,KAAKyiB,qBAEtBziB,KAAKyiB,oBAAoBzb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,KAAM2J,IASvEpL,OAAQ,SAAUrJ,EAAOC,GAEjBpQ,KAAKwiB,kBAELxiB,KAAKwiB,iBAAiBxb,KAAKhH,KAAKwjB,gBAAiBrT,EAAOC,IAShEiR,OAAQ,WAEArhB,KAAKgiB,SAEDhiB,KAAKuiB,mBAEDviB,KAAKib,KAAK4J,aAAexkB,EAAOI,QAEhCT,KAAKib,KAAK6J,QAAQC,OAClB/kB,KAAKib,KAAK6J,QAAQE,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9ChlB,KAAKuiB,iBAAiBvb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,MACtDjb,KAAKib,KAAK6J,QAAQG,WAIlBjlB,KAAKuiB,iBAAiBvb,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAM1Djb,KAAK2iB,sBAEL3iB,KAAK2iB,qBAAqB3b,KAAKhH,KAAKwjB,gBAAiBxjB,KAAKib,OAWtEsJ,QAAS,WAELvkB,KAAK8hB,aAAc,EACnB9hB,KAAK+hB,aAAc,EAEnB/hB,KAAKgkB,oBAELhkB,KAAKwjB,gBAAkB,KAEvBxjB,KAAKmiB,eAAiB,KACtBniB,KAAK+iB,mBAAqB,KAE1B/iB,KAAKoiB,kBAAoB,KACzBpiB,KAAK2iB,qBAAuB,KAC5B3iB,KAAK0iB,qBAAuB,KAC5B1iB,KAAKqiB,iBAAmB,KACxBriB,KAAKsiB,iBAAmB,KACxBtiB,KAAKuiB,iBAAmB,KACxBviB,KAAK4iB,iBAAmB,KACxB5iB,KAAK6iB,kBAAoB,KACzB7iB,KAAK8iB,sBAAwB,KAE7B9iB,KAAKib,KAAO,KACZjb,KAAK4hB,UACL5hB,KAAK6hB,cAAgB,KACrB7hB,KAAKmK,QAAU,KAMvB9J,EAAOqhB,aAAanb,UAAU8B,YAAchI,EAAOqhB,aAOnDja,OAAOmF,eAAevM,EAAOqhB,aAAanb,UAAW,WAEjDmG,IAAK,WAED,OAAO1M,KAAKgiB,YAyEpB3hB,EAAOwb,OAAS,aAEhBxb,EAAOwb,OAAOtV,WAMV2e,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAI9N,MAAM,kFAAkFpL,QAAQ,OAAQmZ,KAc1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAUjf,GAEtE,IACIkf,EADAC,EAAYhmB,KAAKimB,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAU/lB,KAAKklB,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAIjO,MAAM,kBAAoBiO,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAI1lB,EAAO6lB,cAAclmB,KAAMylB,EAAUG,EAAQC,EAAiBC,EAAUjf,GACtF7G,KAAKmmB,YAAYJ,GAQrB,OALI/lB,KAAKolB,UAAYplB,KAAKmlB,aAEtBY,EAAQK,QAAQpmB,KAAKmlB,aAGlBY,GASXI,YAAa,SAAUJ,GAEd/lB,KAAKklB,YAENllB,KAAKklB,cAIT,IAAImB,EAAIrmB,KAAKklB,UAAUnd,OAEvB,GACIse,UAEGrmB,KAAKklB,UAAUmB,IAAMN,EAAQO,WAAatmB,KAAKklB,UAAUmB,GAAGC,WAEnEtmB,KAAKklB,UAAUtB,OAAOyC,EAAI,EAAG,EAAGN,IAWpCE,iBAAkB,SAAUR,EAAUX,GAElC,IAAK9kB,KAAKklB,UAEN,OAAQ,OAGI5a,IAAZwa,IAAyBA,EAAU,MAKvC,IAHA,IACIyB,EADAF,EAAIrmB,KAAKklB,UAAUnd,OAGhBse,KAIH,IAFAE,EAAMvmB,KAAKklB,UAAUmB,IAEbG,YAAcf,GAAYc,EAAIzB,UAAYA,EAE9C,OAAOuB,EAIf,OAAQ,GAYZI,IAAK,SAAUhB,EAAUX,GAErB,OAAqD,IAA9C9kB,KAAKimB,iBAAiBR,EAAUX,IA8B3C5S,IAAK,SAAUuT,EAAUI,EAAiBC,GAEtC9lB,KAAKwlB,iBAAiBC,EAAU,OAEhC,IAAI5e,KAEJ,GAAII,UAAUc,OAAS,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5B,OAAOhI,KAAK2lB,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAUjf,IAiB9E6f,QAAS,SAAUjB,EAAUI,EAAiBC,GAE1C9lB,KAAKwlB,iBAAiBC,EAAU,WAEhC,IAAI5e,KAEJ,GAAII,UAAUc,OAAS,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5B,OAAOhI,KAAK2lB,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAUjf,IAY7E0c,OAAQ,SAAUkC,EAAUX,GAExB9kB,KAAKwlB,iBAAiBC,EAAU,UAEhC,IAAIzd,EAAIhI,KAAKimB,iBAAiBR,EAAUX,GAQxC,OANW,IAAP9c,IAEAhI,KAAKklB,UAAUld,GAAG2e,WAClB3mB,KAAKklB,UAAUtB,OAAO5b,EAAG,IAGtByd,GAUXpB,UAAW,SAAUS,GAIjB,QAFgBxa,IAAZwa,IAAyBA,EAAU,MAElC9kB,KAAKklB,UAAV,CAOA,IAFA,IAAImB,EAAIrmB,KAAKklB,UAAUnd,OAEhBse,KAECvB,EAEI9kB,KAAKklB,UAAUmB,GAAGvB,UAAYA,IAE9B9kB,KAAKklB,UAAUmB,GAAGM,WAClB3mB,KAAKklB,UAAUtB,OAAOyC,EAAG,IAK7BrmB,KAAKklB,UAAUmB,GAAGM,WAIrB7B,IAED9kB,KAAKklB,UAAUnd,OAAS,KAWhC6e,gBAAiB,WAEb,OAAO5mB,KAAKklB,UAAYllB,KAAKklB,UAAUnd,OAAS,GAYpD8e,KAAM,WAEF7mB,KAAKqlB,kBAAmB,GAY5B/F,SAAU,WAEN,GAAKtf,KAAKslB,QAAWtlB,KAAKklB,UAA1B,CAKA,IAEI4B,EAFAC,EAAYrgB,MAAMH,UAAUE,MAAMO,KAAKC,WACvCof,EAAIrmB,KAAKklB,UAAUnd,OAQvB,GALI/H,KAAKolB,WAELplB,KAAKmlB,YAAc4B,GAGlBV,EAAL,CAMAS,EAAW9mB,KAAKklB,UAAUze,QAC1BzG,KAAKqlB,kBAAmB,EAIxB,GACIgB,UAEGS,EAAST,IAAMrmB,KAAKqlB,mBAAuD,IAAnCyB,EAAST,GAAGD,QAAQW,OASvEC,OAAQ,WAEAhnB,KAAKmlB,cAELnlB,KAAKmlB,YAAc,OAa3B8B,QAAS,WAELjnB,KAAKqkB,YAELrkB,KAAKklB,UAAY,KACbllB,KAAKmlB,cAELnlB,KAAKmlB,YAAc,OAW3Bzd,SAAU,WAEN,MAAO,yBAA0B1H,KAAKslB,OAAQ,iBAAkBtlB,KAAK4mB,kBAAmB,MAehGnf,OAAOmF,eAAevM,EAAOwb,OAAOtV,UAAW,iBAE3CmG,IAAK,WACD,IAAIwa,EAAQlnB,KACZ,OAAOA,KAAKulB,iBAAmBvlB,KAAKulB,eAAiB,WACjD,OAAO2B,EAAM5H,SAASnY,MAAM+f,EAAOjgB,gBAM/C5G,EAAOwb,OAAOtV,UAAU8B,YAAchI,EAAOwb,OAuB7Cxb,EAAO6lB,cAAgB,SAAUiB,EAAQ1B,EAAUG,EAAQC,EAAiBC,EAAUjf,GAMlF7G,KAAKwmB,UAAYf,EAEbG,IAEA5lB,KAAKonB,SAAU,GAGI,MAAnBvB,IAEA7lB,KAAK8kB,QAAUe,GAOnB7lB,KAAKqnB,QAAUF,EAEXrB,IAEA9lB,KAAKsmB,UAAYR,GAGjBjf,GAAQA,EAAKkB,SAEb/H,KAAKiiB,MAAQpb,IAKrBxG,EAAO6lB,cAAc3f,WAKjBue,QAAS,KAMTsC,SAAS,EAMTd,UAAW,EAMXrE,MAAO,KAKPqF,UAAW,EAOXhC,QAAQ,EAORiC,OAAQ,KASRnB,QAAS,SAASW,GAEd,IAAIS,EAAeD,EAqBnB,OAnBIvnB,KAAKslB,QAAYtlB,KAAKwmB,YAEtBe,EAASvnB,KAAKunB,OAASvnB,KAAKunB,OAAOxgB,OAAOggB,GAAaA,EAEnD/mB,KAAKiiB,QAELsF,EAASA,EAAOxgB,OAAO/G,KAAKiiB,QAGhCuF,EAAgBxnB,KAAKwmB,UAAUrf,MAAMnH,KAAK8kB,QAASyC,GAEnDvnB,KAAKsnB,YAEDtnB,KAAKonB,SAELpnB,KAAKynB,UAIND,GAUXC,OAAQ,WACJ,OAAOznB,KAAK0nB,UAAY1nB,KAAKqnB,QAAQ9D,OAAOvjB,KAAKwmB,UAAWxmB,KAAK8kB,SAAW,MAOhF4C,QAAS,WACL,QAAU1nB,KAAKqnB,WAAarnB,KAAKwmB,WAOrCZ,OAAQ,WACJ,OAAO5lB,KAAKonB,SAOhBO,YAAa,WACT,OAAO3nB,KAAKwmB,WAOhBoB,UAAW,WACP,OAAO5nB,KAAKqnB,SAQhBV,SAAU,kBACC3mB,KAAKqnB,eACLrnB,KAAKwmB,iBACLxmB,KAAK8kB,SAOhBpd,SAAU,WACN,MAAO,gCAAkC1H,KAAKonB,QAAS,aAAcpnB,KAAK0nB,UAAW,YAAc1nB,KAAKslB,OAAS,MAKzHjlB,EAAO6lB,cAAc3f,UAAU8B,YAAchI,EAAO6lB,cAoCpD7lB,EAAOwnB,OAAS,SAAU5M,EAAM6M,EAAUC,GAKtC/nB,KAAKib,KAAOA,EAMZjb,KAAKoI,KAAO/H,EAAO4B,aAQnBjC,KAAKgoB,QAAWhoB,MAMhBA,KAAKioB,WAMLjoB,KAAKkoB,OAAQ,EAMbloB,KAAKmoB,QAAU,EAKfnoB,KAAKooB,UAAY,IAAI/nB,EAAOoN,MAM5B,IAAIgH,EAAI,IAAI4T,KAoBZ,GAfAroB,KAAK8nB,UAEDQ,YAAclgB,KAAM,KAAM2B,OAAS5D,EAAG,IAAK+G,EAAG,MAC9CkS,MAAQhX,KAAM,KAAM2B,MAAO,GAC3Bwe,OAASngB,KAAM,KAAM2B,OAAS5D,EAAG,EAAK+G,EAAG,IACzCsb,MAAQpgB,KAAM,MAAO2B,OAAS0K,EAAEgU,cAAgBhU,EAAEiU,WAAajU,EAAEkU,UAAyB,GAAdlU,EAAEmU,WAAiB,GAAsB,GAAjBnU,EAAEoU,aAAoBpU,EAAEqU,eAC5HC,YAAc3gB,KAAM,KAAM2B,MAAO,OACjCif,WAAa5gB,KAAM,YAAa2B,MAAO,KAAMkf,aAAeC,QAAQ,IACpEC,WAAa/gB,KAAM,YAAa2B,MAAO,KAAMkf,aAAeC,QAAQ,IACpEE,WAAahhB,KAAM,YAAa2B,MAAO,KAAMkf,aAAeC,QAAQ,IACpEG,WAAajhB,KAAM,YAAa2B,MAAO,KAAMkf,aAAeC,QAAQ,KAKpEpB,EAEA,IAAK,IAAIje,KAAOie,EAEZ9nB,KAAK8nB,SAASje,GAAOie,EAASje,GAKX,iBAAhBke,IAEPA,EAAcA,EAAY1e,MAAM,OAMpCrJ,KAAK+nB,YAAcA,OAIvB1nB,EAAOwnB,OAAOthB,WAOVwa,KAAM,aAaNuI,cAAe,SAAUnZ,EAAOC,GAE5BpQ,KAAK8nB,SAASQ,WAAWve,MAAM5D,EAAIgK,EACnCnQ,KAAK8nB,SAASQ,WAAWve,MAAMmD,EAAIkD,GAUvC4O,OAAQ,SAAUuK,GAEd,GAAIA,EACJ,CACI,IAAIpjB,EAAIojB,EAAQpjB,EAAInG,KAAKib,KAAK9K,MAC1BjD,EAAI,EAAIqc,EAAQrc,EAAIlN,KAAKib,KAAK7K,OAE9BjK,IAAMnG,KAAKooB,UAAUjiB,GAAK+G,IAAMlN,KAAKooB,UAAUlb,IAE/ClN,KAAK8nB,SAASS,MAAMxe,MAAM5D,EAAIA,EAAEqjB,QAAQ,GACxCxpB,KAAK8nB,SAASS,MAAMxe,MAAMmD,EAAIA,EAAEsc,QAAQ,GACxCxpB,KAAKooB,UAAUzb,IAAIxG,EAAG+G,IAI9BlN,KAAK8nB,SAAS1I,KAAKrV,MAAQ/J,KAAKib,KAAKmE,KAAKqK,uBAsB9CC,WAAY,SAAUvjB,EAAG+G,EAAGiD,EAAOC,EAAQuZ,EAASC,QAEhCtf,IAAZqf,IAAyBA,EAAU,QACvBrf,IAAZsf,IAAyBA,EAAU,QAEzBtf,IAAV6F,GAAiC,OAAVA,EAEvBnQ,KAAKmQ,MAAQA,EAIbA,EAAQnQ,KAAKmQ,WAGF7F,IAAX8F,GAAmC,OAAXA,EAExBpQ,KAAKoQ,OAASA,EAIdA,EAASpQ,KAAKoQ,OAGlB,IAAIyZ,EAAQ7pB,KAAKib,KAAK/I,IAAI2X,MAAM1jB,EAAG+G,EAAG7M,EAAOypB,MAAMlkB,SASnD,OAPAikB,EAAM1Z,MAAQA,EACd0Z,EAAMzZ,OAASA,EAEfyZ,EAAME,OAAOpd,IAAIgd,EAASC,GAE1BC,EAAMG,SAAYhqB,MAEX6pB,GASXI,aAAc,WAEV,IAAK,IAAIjiB,EAAI,EAAGA,EAAIhI,KAAKioB,QAAQlgB,OAAQC,IAErChI,KAAKioB,QAAQjgB,GAAGkgB,OAAQ,GAUhC3D,QAAS,WAELvkB,KAAKgoB,OAAOjgB,OAAS,EACrB/H,KAAKioB,QAAQlgB,OAAS,EACtB/H,KAAK+nB,YAAYhgB,OAAS,EAE1B/H,KAAKib,KAAO,KACZjb,KAAK8nB,SAAW,KAChB9nB,KAAKooB,UAAY,OAMzB/nB,EAAOwnB,OAAOthB,UAAU8B,YAAchI,EAAOwnB,OAM7CpgB,OAAOmF,eAAevM,EAAOwnB,OAAOthB,UAAW,SAE3CmG,IAAK,WAED,OAAO1M,KAAK8nB,SAASQ,WAAWve,MAAM5D,GAI1CwG,IAAK,SAAU5C,GAEX/J,KAAK8nB,SAASQ,WAAWve,MAAM5D,EAAI4D,KAU3CtC,OAAOmF,eAAevM,EAAOwnB,OAAOthB,UAAW,UAE3CmG,IAAK,WAED,OAAO1M,KAAK8nB,SAASQ,WAAWve,MAAMmD,GAI1CP,IAAK,SAAU5C,GAEX/J,KAAK8nB,SAASQ,WAAWve,MAAMmD,EAAInD,KAoB3C1J,EAAO6pB,OAAS,SAAUjP,EAAMkP,QAEb7f,IAAX6f,IAAwBA,EAAS,MAKrCnqB,KAAKib,KAAOA,EAKZjb,KAAKmqB,OAASA,EAMdnqB,KAAKslB,QAAS,EAMdtlB,KAAKsb,SAAU,EAMftb,KAAKoqB,cAAe,EAMpBpqB,KAAKqqB,WAAY,EAMjBrqB,KAAKsqB,eAAgB,EAMrBtqB,KAAKuqB,WAAY,EAMjBvqB,KAAKwqB,eAAgB,GAIzBnqB,EAAO6pB,OAAO3jB,WAOVkX,UAAW,aAQXuB,OAAQ,aAQRqC,OAAQ,aAQRoJ,WAAY,aAOZlG,QAAS,WAELvkB,KAAKib,KAAO,KACZjb,KAAKmqB,OAAS,KACdnqB,KAAKslB,QAAS,EACdtlB,KAAKsb,SAAU,IAMvBjb,EAAO6pB,OAAO3jB,UAAU8B,YAAchI,EAAO6pB,OAiB7C7pB,EAAOqqB,cAAgB,SAASzP,GAK5Bjb,KAAKib,KAAOA,EAKZjb,KAAK2qB,WAML3qB,KAAK4qB,KAAO,EAMZ5qB,KAAK6qB,GAAK,GAIdxqB,EAAOqqB,cAAcnkB,WAWjB2L,IAAK,SAAU4Y,GAEX,IAAIjkB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAC7C0K,GAAS,EA6Cb,MA1CsB,mBAAXmZ,EAEPA,EAAS,IAAIA,EAAO9qB,KAAKib,KAAMjb,OAI/B8qB,EAAO7P,KAAOjb,KAAKib,KACnB6P,EAAOX,OAASnqB,MAIe,mBAAxB8qB,EAAkB,YAEzBA,EAAOV,cAAe,EACtBzY,GAAS,GAGmB,mBAArBmZ,EAAe,SAEtBA,EAAOT,WAAY,EACnB1Y,GAAS,GAGuB,mBAAzBmZ,EAAmB,aAE1BA,EAAOR,eAAgB,EACvB3Y,GAAS,GAGmB,mBAArBmZ,EAAe,SAEtBA,EAAOP,WAAY,EACnB5Y,GAAS,GAGuB,mBAAzBmZ,EAAmB,aAE1BA,EAAON,eAAgB,EACvB7Y,GAAS,GAITA,IAEImZ,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOxF,QAAS,IAGhBwF,EAAOP,WAAaO,EAAON,iBAE3BM,EAAOxP,SAAU,GAGrBtb,KAAK4qB,KAAO5qB,KAAK2qB,QAAQxX,KAAK2X,GAGA,mBAAnBA,EAAa,MAEpBA,EAAO/J,KAAK5Z,MAAM2jB,EAAQjkB,GAGvBikB,GAIA,MAWfvH,OAAQ,SAAUuH,EAAQvG,GAMtB,SAJgBja,IAAZia,IAAyBA,GAAU,GAEvCvkB,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAER,GAAI7qB,KAAK2qB,QAAQ3qB,KAAK6qB,MAAQC,EAS1B,OAPIvG,GAEAuG,EAAOvG,UAGXvkB,KAAK2qB,QAAQ/G,OAAO5jB,KAAK6qB,GAAI,QAC7B7qB,KAAK4qB,QAYjBvG,UAAW,WAIP,IAFArkB,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAER7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAItG,UAG1BvkB,KAAK2qB,QAAQ5iB,OAAS,EACtB/H,KAAK4qB,KAAO,GAUhBnN,UAAW,WAIP,IAFAzd,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAEJ7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIvF,QAAUtlB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIT,cAEtDpqB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIpN,aAYlCuB,OAAQ,WAIJ,IAFAhf,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAEJ7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIvF,QAAUtlB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIR,WAEtDrqB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAI7L,UAalC+L,WAAY,WAIR,IAFA/qB,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAEJ7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIvF,QAAUtlB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIP,eAEtDtqB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIE,cAYlC1J,OAAQ,WAIJ,IAFArhB,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAEJ7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIvP,SAAWtb,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIN,WAEvDvqB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIxJ,UAYlCoJ,WAAY,WAIR,IAFAzqB,KAAK6qB,GAAK7qB,KAAK4qB,KAER5qB,KAAK6qB,MAEJ7qB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIvP,SAAWtb,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIL,eAEvDxqB,KAAK2qB,QAAQ3qB,KAAK6qB,IAAIJ,cAWlClG,QAAS,WAELvkB,KAAKqkB,YAELrkB,KAAKib,KAAO,OAMpB5a,EAAOqqB,cAAcnkB,UAAU8B,YAAchI,EAAOqqB,cAiBpDrqB,EAAO2qB,MAAQ,SAAU/P,GAKrBjb,KAAKib,KAAOA,EAEZlV,KAAKklB,uBAAuBjkB,KAAKhH,MAMjCA,KAAK+L,KAAO,cAWZ/L,KAAKkrB,yBAA0B,EAM/BlrB,KAAKmrB,QAAS,EAOdnrB,KAAKorB,eAAiB,IAAI/qB,EAAOmU,OAOjCxU,KAAKud,MAAQvd,KAKbA,KAAKqrB,qBAAuB,EAM5BrrB,KAAKsrB,WAAa,SAMlBtrB,KAAKurB,UAAY,KAMjBvrB,KAAKwrB,UAAa7d,EAAG,EAAG8d,EAAG,EAAGnc,EAAG,EAAGJ,EAAG,EAAGuP,MAAO,EAAGiN,KAAM,WAErD1rB,KAAKib,KAAK0Q,cAGX3rB,KAAKwrB,SAAStc,EAAI,GAGlB+L,EAAK2Q,QAEL5rB,KAAK6rB,YAAY5Q,EAAK2Q,SAK9BvrB,EAAO2qB,MAAMzkB,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WACnElG,EAAO2qB,MAAMzkB,UAAU8B,YAAchI,EAAO2qB,MAS5C3qB,EAAO2qB,MAAMzkB,UAAUslB,YAAc,SAAUD,GAEvCA,EAAgC,0BAEhC5rB,KAAKkrB,wBAA0BU,EAAgC,yBAG/DA,EAAwB,iBAExB5rB,KAAK8rB,mBAAmBF,EAAwB,kBAUxDvrB,EAAO2qB,MAAMzkB,UAAU6W,KAAO,WAE1B/c,EAAO0rB,IAAIC,UAAUhsB,KAAKib,KAAKgR,OAAQjsB,KAAK6O,QAE5CxO,EAAO6rB,OAAOC,cAAcnsB,KAAKib,KAAKgR,OAAQ,QAC9C5rB,EAAO6rB,OAAOE,eAAepsB,KAAKib,KAAKgR,OAAQ,QAE/CjsB,KAAKqsB,mBAUThsB,EAAO2qB,MAAMzkB,UAAUkX,UAAY,WAE/Bzd,KAAKqrB,qBAAuB,EAK5B,IAFA,IAAIrjB,EAAI,EAEDA,EAAIhI,KAAKssB,SAASvkB,QACzB,CACI,IAAIwkB,EAAQvsB,KAAKssB,SAAStkB,GAE1BukB,EAAM9O,YAEFzd,OAASusB,EAAMpC,QAEfniB,MAWZ3H,EAAO2qB,MAAMzkB,UAAUyY,OAAS,WAK5B,IAFA,IAAIhX,EAAIhI,KAAKssB,SAASvkB,OAEfC,KAEHhI,KAAKssB,SAAStkB,GAAGgX,UAYzB3e,EAAO2qB,MAAMzkB,UAAUwkB,WAAa,WAGhC/qB,KAAKib,KAAKoC,OAAO2B,SAGbhf,KAAKib,KAAKoC,OAAOnW,SAEjBlH,KAAKib,KAAKoC,OAAOnW,OAAO6jB,aAExB/qB,KAAKwsB,kBAELxsB,KAAKib,KAAKoC,OAAOoC,gBAGrB,IAAK,IAAIzX,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+iB,aAGrB/qB,KAAKwsB,mBAUTnsB,EAAO2qB,MAAMzkB,UAAUimB,gBAAkB,WAErCxsB,KAAKysB,WAAa,EAElB,IAAK,IAAIzkB,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAGwkB,mBAWzBnsB,EAAO2qB,MAAMzkB,UAAU8lB,gBAAkB,gBAEb/hB,IAApBoiB,SAASC,OAET3sB,KAAKsrB,WAAa,wBAEahhB,IAA1BoiB,SAASE,aAEd5sB,KAAKsrB,WAAa,8BAEUhhB,IAAvBoiB,SAASG,UAEd7sB,KAAKsrB,WAAa,2BAEShhB,IAAtBoiB,SAASI,SAEd9sB,KAAKsrB,WAAa,qBAIlBtrB,KAAKsrB,WAAa,KAGtB,IAAIpE,EAAQlnB,KAEZA,KAAKurB,UAAY,SAAUwB,GACvB,OAAO7F,EAAM8F,iBAAiBD,IAI9B/sB,KAAKsrB,YAELoB,SAASO,iBAAiBjtB,KAAKsrB,WAAYtrB,KAAKurB,WAAW,GAG/DtjB,OAAOilB,OAASltB,KAAKurB,UACrBtjB,OAAOklB,QAAUntB,KAAKurB,UAEtBtjB,OAAOmlB,WAAaptB,KAAKurB,UACzBtjB,OAAOolB,WAAartB,KAAKurB,UAErBvrB,KAAKib,KAAKqS,OAAOC,cAEjBC,SAASC,IAAIC,YAAYT,iBAAiB,WACtC5sB,EAAO2qB,MAAMzkB,UAAUymB,iBAAiBhmB,KAAKkgB,GAAS9e,KAAM,YAGhEolB,SAASC,IAAIE,YAAYV,iBAAiB,WACtC5sB,EAAO2qB,MAAMzkB,UAAUymB,iBAAiBhmB,KAAKkgB,GAAS9e,KAAM,eAYxE/H,EAAO2qB,MAAMzkB,UAAUymB,iBAAmB,SAAUD,GAE7B,aAAfA,EAAM3kB,MAAsC,SAAf2kB,EAAM3kB,MAAkC,aAAf2kB,EAAM3kB,MAAsC,UAAf2kB,EAAM3kB,KAczFpI,KAAKkrB,0BAKLwB,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAM3kB,KAE7FpI,KAAKib,KAAK2S,WAAWb,GAIrB/sB,KAAKib,KAAK4S,YAAYd,IAvBH,aAAfA,EAAM3kB,MAAsC,SAAf2kB,EAAM3kB,KAEnCpI,KAAKib,KAAK6S,UAAUf,GAEA,aAAfA,EAAM3kB,MAAsC,UAAf2kB,EAAM3kB,MAExCpI,KAAKib,KAAK8S,UAAUhB,IAkChC1sB,EAAO2qB,MAAMzkB,UAAUulB,mBAAqB,SAAUrN,GAE9Cze,KAAKib,KAAK0Q,cAEdtrB,EAAO2tB,MAAMC,aAAaxP,EAAOze,KAAKwrB,UACtCnrB,EAAO2tB,MAAME,YAAYluB,KAAKwrB,UAG9BxrB,KAAKwrB,SAAS7d,GAAK,IACnB3N,KAAKwrB,SAASC,GAAK,IACnBzrB,KAAKwrB,SAASlc,GAAK,IACnBtP,KAAKwrB,SAAStc,EAAI,IAStB7O,EAAO2qB,MAAMzkB,UAAUge,QAAU,WAEzBvkB,KAAKsrB,YAELoB,SAASyB,oBAAoBnuB,KAAKsrB,WAAYtrB,KAAKurB,WAAW,GAGlEtjB,OAAOmlB,WAAa,KACpBnlB,OAAOolB,WAAa,KAEpBplB,OAAOilB,OAAS,KAChBjlB,OAAOklB,QAAU,MAQrB1lB,OAAOmF,eAAevM,EAAO2qB,MAAMzkB,UAAW,mBAE1CmG,IAAK,WAED,OAAO1M,KAAKwrB,SAAS/M,OAIzB9R,IAAK,SAAU8R,GAEXze,KAAK8rB,mBAAmBrN,MAYhChX,OAAOmF,eAAevM,EAAO2qB,MAAMzkB,UAAW,YAE1CmG,IAAK,WAED,OAAO3G,KAAKJ,WAAWC,UAAYG,KAAKJ,WAAWE,QAIvD8G,IAAK,SAAU5C,GAIPhE,KAAKJ,WAAWC,QAFhBmE,EAE0BhE,KAAKJ,WAAWE,OAIhBE,KAAKJ,WAAWG,WAgCtDzF,EAAO+tB,MAAQ,SAAUnT,EAAMkP,EAAQpe,EAAMsiB,EAAYC,EAAYC,QAE9CjkB,IAAf+jB,IAA4BA,GAAa,QAC1B/jB,IAAfgkB,IAA4BA,GAAa,QACrBhkB,IAApBikB,IAAiCA,EAAkBluB,EAAOmuB,QAAQC,QAOtEzuB,KAAKib,KAAOA,OAEG3Q,IAAX6f,IAEAA,EAASlP,EAAKC,OAOlBlb,KAAK+L,KAAOA,GAAQ,QAQpB/L,KAAK0uB,EAAI,EAET3oB,KAAKklB,uBAAuBjkB,KAAKhH,MAE7BquB,GAEAruB,KAAKib,KAAKsC,MAAMC,SAASxd,MACzBA,KAAK0uB,EAAI1uB,KAAKib,KAAKsC,MAAM+O,SAASvkB,QAI9BoiB,IAEAA,EAAO3M,SAASxd,MAChBA,KAAK0uB,EAAIvE,EAAOmC,SAASvkB,QASjC/H,KAAKoI,KAAO/H,EAAOoB,MAMnBzB,KAAK2uB,YAActuB,EAAOoB,MAO1BzB,KAAK4uB,OAAQ,EAOb5uB,KAAKmrB,QAAS,EAOdnrB,KAAK6uB,eAAgB,EAYrB7uB,KAAK8uB,gBAAiB,EAUtB9uB,KAAK+uB,UAAY1uB,EAAO2uB,OAQxBhvB,KAAKivB,OAAS,KAWdjvB,KAAKkvB,qBAAsB,EAQ3BlvB,KAAKmvB,4BAA6B,EAYlCnvB,KAAKovB,iBAAmB,IAAI/uB,EAAOwb,OAanC7b,KAAKqvB,eAAiB,IAAIhvB,EAAOwb,OAYjC7b,KAAKsvB,iBAAmB,IAAIjvB,EAAOwb,OAYnC7b,KAAKuvB,gBAAkB,IAAIlvB,EAAOwb,OAUlC7b,KAAKsuB,WAAaA,EASlBtuB,KAAKwvB,iBAAkB,EAQvBxvB,KAAKuuB,gBAAkBA,EAkBvBvuB,KAAKyvB,qBAAuB,KAM5BzvB,KAAK0vB,UAAY,IAAIrvB,EAAOwb,OAM5B7b,KAAK2vB,YAAc,EAUnB3vB,KAAK4vB,eAAgB,EAOrB5vB,KAAK6vB,aAAe,IAAIxvB,EAAOoN,MAa/BzN,KAAK8vB,QAOL9vB,KAAK+vB,cAAgB,KAIzB1vB,EAAO+tB,MAAM7nB,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WACnElG,EAAO+tB,MAAM7nB,UAAU8B,YAAchI,EAAO+tB,MAO5C/tB,EAAO+tB,MAAM4B,YAAc,EAO3B3vB,EAAO+tB,MAAM6B,aAAe,EAO5B5vB,EAAO+tB,MAAM8B,aAAe,EAO5B7vB,EAAO+tB,MAAM+B,WAAa,EAO1B9vB,EAAO+tB,MAAMgC,gBAAkB,EAO/B/vB,EAAO+tB,MAAMiC,gBAAkB,EAwB/BhwB,EAAO+tB,MAAM7nB,UAAU2L,IAAM,SAAUqa,EAAO+D,EAAQvnB,GAIlD,YAFeuB,IAAXgmB,IAAwBA,GAAS,GAEjC/D,EAAMpC,SAAWnqB,KAEVusB,GAGPA,EAAMgE,MAAQhE,EAAMpC,QAAUoC,EAAMpC,OAAO2F,MAE3CvD,EAAMpC,OAAOqG,eAAejE,QAGlBjiB,IAAVvB,GAEAwjB,EAAMmC,EAAI1uB,KAAKssB,SAASvkB,OAExB/H,KAAKwd,SAAS+O,KAIdvsB,KAAKywB,WAAWlE,EAAOxjB,GAEvB/I,KAAK0wB,WAGL1wB,KAAKsuB,YAAc/B,EAAMzjB,eAAe,SAA0B,OAAfyjB,EAAMgE,KAEzDvwB,KAAKib,KAAK6F,QAAQ6P,OAAOpE,EAAOvsB,KAAKuuB,iBAEhChC,EAAMgE,MAEXvwB,KAAK4wB,UAAUrE,IAGfvsB,KAAKkvB,qBAAyB3C,EAAM/L,QAAS+L,EAAMsE,eAEnDtE,EAAMsE,cAAe,IAGpBP,GAAU/D,EAAMuE,QAEjBvE,EAAMuE,OAAOC,wBAAwBxE,EAAOvsB,MAG5B,OAAhBA,KAAKivB,SAELjvB,KAAKivB,OAAS1C,GAGXA,IAmBXlsB,EAAO+tB,MAAM7nB,UAAUyqB,MAAQ,SAAUzE,EAAOxjB,EAAOunB,GAEnD,OAAOtwB,KAAKkS,IAAIqa,EAAO+D,EAAQvnB,IAYnC1I,EAAO+tB,MAAM7nB,UAAUqqB,UAAY,SAAUrE,GAEzC,OAAIA,EAAMpC,SAAWnqB,OAIF,IAFHA,KAAK8vB,KAAKmB,QAAQ1E,KAI1BvsB,KAAK8vB,KAAK3c,KAAKoZ,IACR,IAgBnBlsB,EAAO+tB,MAAM7nB,UAAUiqB,eAAiB,SAAUjE,GAE9C,GAAIA,EACJ,CACI,IAAIxjB,EAAQ/I,KAAK8vB,KAAKmB,QAAQ1E,GAE9B,IAAe,IAAXxjB,EAGA,OADA/I,KAAK8vB,KAAKlM,OAAO7a,EAAO,IACjB,EAIf,OAAO,GAqBX1I,EAAO+tB,MAAM7nB,UAAU2qB,YAAc,SAAU5E,EAAUgE,GAErD,GAAIhE,aAAoBjsB,EAAO+tB,MAE3B9B,EAAS6E,QAAQnxB,KAAMswB,QAEtB,GAAI5pB,MAAMa,QAAQ+kB,GAEnB,IAAK,IAAItkB,EAAI,EAAGA,EAAIskB,EAASvkB,OAAQC,IAEjChI,KAAKkS,IAAIoa,EAAStkB,GAAIsoB,GAI9B,OAAOhE,GAWXjsB,EAAO+tB,MAAM7nB,UAAU6qB,MAAQ,SAAUroB,GAErC,OAAIA,EAAQ,GAAKA,GAAS/I,KAAKssB,SAASvkB,QAE5B,EAID/H,KAAKqxB,WAAWtoB,IA4B/B1I,EAAO+tB,MAAM7nB,UAAU4a,OAAS,SAAUhb,EAAG+G,EAAGrD,EAAKynB,EAAOnG,EAAQpiB,QAEjDuB,IAAX6gB,IAAwBA,GAAS,GAErC,IAAIoB,EAAQ,IAAIvsB,KAAK+uB,UAAU/uB,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,GAMrD,OAJA/E,EAAMpB,OAASA,EACfoB,EAAMjR,QAAU6P,EAChBoB,EAAMqC,MAAQzD,EAEPnrB,KAAKkS,IAAIqa,GAAO,EAAOxjB,IAmDlC1I,EAAO+tB,MAAM7nB,UAAUgrB,eAAiB,SAAUC,EAAU3nB,EAAKynB,EAAOnG,QAEtD7gB,IAAVgnB,IAAuBA,EAAQ,QACpBhnB,IAAX6gB,IAAwBA,GAAS,GAEhCzkB,MAAMa,QAAQsC,KAEfA,GAAQA,IAGPnD,MAAMa,QAAQ+pB,KAEfA,GAAUA,IAGd,IAAIpK,EAAQlnB,KACRssB,KAeJ,OAbAziB,EAAIlC,QAAQ,SAAS8pB,GAEjBH,EAAM3pB,QAAQ,SAAS+pB,GAEnB,IAAK,IAAI1pB,EAAI,EAAGA,EAAIwpB,EAAUxpB,IAE1BskB,EAASnZ,KAAK+T,EAAM/F,OAAO,EAAG,EAAGsQ,EAAWC,EAAavG,QAO9DmB,GAYXjsB,EAAO+tB,MAAM7nB,UAAUmqB,QAAU,WAI7B,IAFA,IAAI1oB,EAAIhI,KAAKssB,SAASvkB,OAEfC,KAEHhI,KAAKssB,SAAStkB,GAAG0mB,EAAI1mB,GAyD7B3H,EAAO+tB,MAAM7nB,UAAUorB,MAAQ,SAAUxhB,EAAOC,EAAQwhB,EAAWC,EAAY5X,EAAUpL,GAKrF,QAHiBvE,IAAb2P,IAA0BA,EAAW5Z,EAAOuD,eACjC0G,IAAXuE,IAAwBA,EAAS,GAER,IAAzB7O,KAAKssB,SAASvkB,QAAgB8G,EAAS7O,KAAKssB,SAASvkB,SAAsB,IAAXoI,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDzC,EAAI,IAAItN,EAAO2N,UAAU,EAAG,EAAG4jB,EAAWC,GAC1C9T,EAAK5N,EAAQyhB,EACb5T,EAAK5N,EAASyhB,EAET7pB,EAAI6G,EAAQ7G,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC/C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAE1B,GAAIukB,EAAe,QASnB,GAPIA,EAAMuF,QAAQnkB,EAAGsM,IAON,IAAX9J,EAGAxC,EAAET,GAAK2kB,EAEHlkB,EAAET,IAAM8Q,IAERrQ,EAAExH,GAAKyrB,EACPjkB,EAAET,EAAI,QAGT,IAAgB,IAAZkD,EAGLzC,EAAExH,GAAKyrB,EAEHjkB,EAAExH,IAAM4X,IAERpQ,EAAExH,EAAI,EACNwH,EAAET,GAAK2kB,QAQX,GAFAlkB,EAAExH,GAAKyrB,EAEHjkB,EAAExH,IAAM4X,IAERpQ,EAAExH,EAAI,EACNwH,EAAET,GAAK2kB,EAEHlkB,EAAET,IAAM8Q,GAGR,OAAO,EAMvB,OAAO,GAaX3d,EAAO+tB,MAAM7nB,UAAUwrB,YAAc,SAAUhpB,GAS3C,QAPcuB,IAAVvB,IAAuBA,EAAQ,GAE/BA,EAAQ/I,KAAKssB,SAASvkB,OAAS,IAE/BgB,EAAQ,GAGR/I,KAAKivB,OAIL,OAFAjvB,KAAK2vB,YAAc5mB,EACnB/I,KAAKivB,OAASjvB,KAAKssB,SAAStsB,KAAK2vB,aAC1B3vB,KAAKivB,QAapB5uB,EAAO+tB,MAAM7nB,UAAUyrB,KAAO,WAE1B,GAAIhyB,KAAKivB,OAcL,OAXIjvB,KAAK2vB,aAAe3vB,KAAKssB,SAASvkB,OAAS,EAE3C/H,KAAK2vB,YAAc,EAInB3vB,KAAK2vB,cAGT3vB,KAAKivB,OAASjvB,KAAKssB,SAAStsB,KAAK2vB,aAE1B3vB,KAAKivB,QAapB5uB,EAAO+tB,MAAM7nB,UAAU0rB,SAAW,WAE9B,GAAIjyB,KAAKivB,OAcL,OAXyB,IAArBjvB,KAAK2vB,YAEL3vB,KAAK2vB,YAAc3vB,KAAKssB,SAASvkB,OAAS,EAI1C/H,KAAK2vB,cAGT3vB,KAAKivB,OAASjvB,KAAKssB,SAAStsB,KAAK2vB,aAE1B3vB,KAAKivB,QAcpB5uB,EAAO+tB,MAAM7nB,UAAU2rB,KAAO,SAAUC,EAAQC,GAE5CpyB,KAAKqyB,aAAaF,EAAQC,GAC1BpyB,KAAK0wB,WAWTrwB,EAAO+tB,MAAM7nB,UAAU+rB,WAAa,SAAU/F,GAQ1C,OANIA,EAAMpC,SAAWnqB,MAAQA,KAAKuyB,SAAShG,GAASvsB,KAAKssB,SAASvkB,SAE9D/H,KAAKujB,OAAOgJ,GAAO,GAAO,GAC1BvsB,KAAKkS,IAAIqa,GAAO,IAGbA,GAWXlsB,EAAO+tB,MAAM7nB,UAAUisB,WAAa,SAAUjG,GAQ1C,OANIA,EAAMpC,SAAWnqB,MAAQA,KAAKuyB,SAAShG,GAAS,IAEhDvsB,KAAKujB,OAAOgJ,GAAO,GAAO,GAC1BvsB,KAAKgxB,MAAMzE,EAAO,GAAG,IAGlBA,GAWXlsB,EAAO+tB,MAAM7nB,UAAUksB,OAAS,SAAUlG,GAEtC,GAAIA,EAAMpC,SAAWnqB,MAAQA,KAAKuyB,SAAShG,GAASvsB,KAAKssB,SAASvkB,OAAS,EAC3E,CACI,IAAImH,EAAIlP,KAAKuyB,SAAShG,GAClBjd,EAAItP,KAAKoxB,MAAMliB,EAAI,GAEnBI,GAEAtP,KAAKkyB,KAAK3F,EAAOjd,GAIzB,OAAOid,GAWXlsB,EAAO+tB,MAAM7nB,UAAUmsB,SAAW,SAAUnG,GAExC,GAAIA,EAAMpC,SAAWnqB,MAAQA,KAAKuyB,SAAShG,GAAS,EACpD,CACI,IAAIrd,EAAIlP,KAAKuyB,SAAShG,GAClBjd,EAAItP,KAAKoxB,MAAMliB,EAAI,GAEnBI,GAEAtP,KAAKkyB,KAAK3F,EAAOjd,GAIzB,OAAOid,GAYXlsB,EAAO+tB,MAAM7nB,UAAUosB,GAAK,SAAU5pB,EAAO5C,EAAG+G,GAE5C,GAAInE,EAAQ,GAAKA,EAAQ/I,KAAKssB,SAASvkB,OAEnC,OAAQ,EAIR/H,KAAKqxB,WAAWtoB,GAAO5C,EAAIA,EAC3BnG,KAAKqxB,WAAWtoB,GAAOmE,EAAIA,GAYnC7M,EAAO+tB,MAAM7nB,UAAU+C,QAAU,WAE7BtJ,KAAKssB,SAAShjB,UACdtJ,KAAK0wB,WAWTrwB,EAAO+tB,MAAM7nB,UAAUgsB,SAAW,SAAUhG,GAExC,OAAOvsB,KAAKssB,SAAS2E,QAAQ1E,IAajClsB,EAAO+tB,MAAM7nB,UAAUqsB,UAAY,SAAU7mB,GAEzC,IAAK,IAAI/D,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtC,GAAIhI,KAAKssB,SAAStkB,GAAG+D,OAASA,EAE1B,OAAO/L,KAAKssB,SAAStkB,GAI7B,OAAO,MAgBX3H,EAAO+tB,MAAM7nB,UAAUgG,QAAU,SAAUsmB,EAAUC,GAEjD,IAAI/pB,EAAQ/I,KAAKuyB,SAASM,GAE1B,IAAe,IAAX9pB,EAkBA,OAhBI+pB,EAAS3I,SAEL2I,EAAS3I,kBAAkB9pB,EAAO+tB,MAElC0E,EAAS3I,OAAO5G,OAAOuP,GAIvBA,EAAS3I,OAAO4I,YAAYD,IAIpC9yB,KAAKujB,OAAOsP,GAEZ7yB,KAAKgxB,MAAM8B,EAAU/pB,GAEd8pB,GAefxyB,EAAO+tB,MAAM7nB,UAAUysB,YAAc,SAAUzG,EAAO1iB,GAElD,IAAI/B,EAAM+B,EAAI9B,OAEd,OAAY,IAARD,GAAa+B,EAAI,KAAM0iB,IAIV,IAARzkB,GAAa+B,EAAI,KAAM0iB,GAAS1iB,EAAI,KAAM0iB,EAAM1iB,EAAI,MAI5C,IAAR/B,GAAa+B,EAAI,KAAM0iB,GAAS1iB,EAAI,KAAM0iB,EAAM1iB,EAAI,KAAOA,EAAI,KAAM0iB,EAAM1iB,EAAI,IAAIA,EAAI,KAI/E,IAAR/B,GAAa+B,EAAI,KAAM0iB,GAAS1iB,EAAI,KAAM0iB,EAAM1iB,EAAI,KAAOA,EAAI,KAAM0iB,EAAM1iB,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAM0iB,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA2B/IxJ,EAAO+tB,MAAM7nB,UAAUuD,YAAc,SAAUyiB,EAAO1iB,EAAKE,EAAOkpB,EAAW3U,GAgBzE,QAdchU,IAAVgU,IAAuBA,GAAQ,GAEnC2U,EAAYA,GAAa,GAYpBjzB,KAAKgzB,YAAYzG,EAAO1iB,MAAUyU,GAAS2U,EAAY,GAExD,OAAO,EAGX,IAAInrB,EAAM+B,EAAI9B,OAmCd,OAjCY,IAARD,EAEkB,IAAdmrB,EAAmB1G,EAAM1iB,EAAI,IAAME,EAChB,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,KAAOE,EACtB,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,KAAOE,EACtB,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,KAAOE,EACtB,IAAdkpB,IAAmB1G,EAAM1iB,EAAI,KAAOE,GAEhC,IAARjC,EAEa,IAAdmrB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAME,EACxB,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,KAAOE,EAC9B,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,KAAOE,EAC9B,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,KAAOE,EAC9B,IAAdkpB,IAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,KAAOE,GAExC,IAARjC,EAEa,IAAdmrB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAME,EAChC,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EACtC,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EACtC,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EACtC,IAAdkpB,IAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,GAEhD,IAARjC,IAEa,IAAdmrB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAME,EACxC,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EAC9C,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EAC9C,IAAdkpB,EAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,EAC9C,IAAdkpB,IAAmB1G,EAAM1iB,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAOE,KAGlE,GAcX1J,EAAO+tB,MAAM7nB,UAAU2sB,cAAgB,SAAU3G,EAAO1iB,EAAKE,EAAOuU,GAIhE,QAFchU,IAAVgU,IAAuBA,GAAQ,GAE/Bte,OAASusB,EAAMpC,OAEf,OAAO,EAGX,IAAIxY,EAAStR,EAAO6I,MAAMM,YAAY+iB,EAAO1iB,GAE7C,aAAiBS,IAAXqH,GAAyB2M,GAAW3M,IAAW5H,IAwBzD1J,EAAO+tB,MAAM7nB,UAAUoG,IAAM,SAAU4f,EAAO1iB,EAAKE,EAAOopB,EAAYC,EAAcH,EAAW3U,GAS3F,QAPchU,IAAVgU,IAAuBA,GAAQ,GAEnCzU,EAAMA,EAAIR,MAAM,UAEGiB,IAAf6oB,IAA4BA,GAAa,QACxB7oB,IAAjB8oB,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAc5G,EAAMqC,UAA6B,IAAjBwE,GAA2BA,GAAgB7G,EAAMjR,SAE3G,OAAOtb,KAAK8J,YAAYyiB,EAAO1iB,EAAKE,EAAOkpB,EAAW3U,IAqB9Dje,EAAO+tB,MAAM7nB,UAAU8sB,OAAS,SAAUxpB,EAAKE,EAAOopB,EAAYC,EAAcH,EAAW3U,QAEpEhU,IAAf6oB,IAA4BA,GAAa,QACxB7oB,IAAjB8oB,IAA8BA,GAAe,QACnC9oB,IAAVgU,IAAuBA,GAAQ,GAEnCzU,EAAMA,EAAIR,MAAM,KAChB4pB,EAAYA,GAAa,EAEzB,IAAK,IAAIjrB,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,MAEhCmrB,GAAeA,GAAcnzB,KAAKssB,SAAStkB,GAAG4mB,UAAawE,GAAiBA,GAAgBpzB,KAAKssB,SAAStkB,GAAGsT,UAE/Gtb,KAAK8J,YAAY9J,KAAKssB,SAAStkB,GAAI6B,EAAKE,EAAOkpB,EAAW3U,IAsBtEje,EAAO+tB,MAAM7nB,UAAU+sB,eAAiB,SAAUzpB,EAAKE,EAAOopB,EAAYC,EAAcH,EAAW3U,QAE5EhU,IAAf6oB,IAA4BA,GAAa,QACxB7oB,IAAjB8oB,IAA8BA,GAAe,QACnC9oB,IAAVgU,IAAuBA,GAAQ,GAEnC2U,EAAYA,GAAa,EAEzB,IAAK,IAAIjrB,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,MAEhCmrB,GAAeA,GAAcnzB,KAAKssB,SAAStkB,GAAG4mB,UAAawE,GAAiBA,GAAgBpzB,KAAKssB,SAAStkB,GAAGsT,WAE3Gtb,KAAKssB,SAAStkB,aAAc3H,EAAO+tB,MAEnCpuB,KAAKssB,SAAStkB,GAAGsrB,eAAezpB,EAAKE,EAAOopB,EAAYC,EAAcH,EAAW3U,GAIjFte,KAAK8J,YAAY9J,KAAKssB,SAAStkB,GAAI6B,EAAIR,MAAM,KAAMU,EAAOkpB,EAAW3U,KAoBrFje,EAAO+tB,MAAM7nB,UAAUgtB,SAAW,SAAU1pB,EAAKE,EAAOopB,EAAYC,EAAc9U,QAE3DhU,IAAf6oB,IAA4BA,GAAa,QACxB7oB,IAAjB8oB,IAA8BA,GAAe,QACnC9oB,IAAVgU,IAAuBA,GAAQ,GAEnC,IAAK,IAAItW,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC1C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAE1B,KAAMmrB,GAAeA,GAAc5G,EAAMqC,UAAawE,GAAiBA,GAAgB7G,EAAMjR,WAEpFtb,KAAKkzB,cAAc3G,EAAO1iB,EAAKE,EAAOuU,GAEvC,OAAO,EAKnB,OAAO,GAgBXje,EAAO+tB,MAAM7nB,UAAUitB,SAAW,SAAU3pB,EAAKE,EAAOopB,EAAYC,QAE7C9oB,IAAf6oB,IAA4BA,GAAa,QACxB7oB,IAAjB8oB,IAA8BA,GAAe,GAEjD,IAAK,IAAIprB,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC1C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAE1B,KAAMmrB,GAAeA,GAAc5G,EAAMqC,UAAawE,GAAiBA,GAAgB7G,EAAMjR,UAErFtb,KAAKkzB,cAAc3G,EAAO1iB,EAAKE,GAE/B,OAAO,EAKnB,OAAO,GAeX1J,EAAO+tB,MAAM7nB,UAAUktB,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpEpzB,KAAKqzB,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5D/yB,EAAO+tB,MAAM7nB,UAAUqtB,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpEpzB,KAAKqzB,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5D/yB,EAAO+tB,MAAM7nB,UAAUstB,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzEpzB,KAAKqzB,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5D/yB,EAAO+tB,MAAM7nB,UAAUutB,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvEpzB,KAAKqzB,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAS5D/yB,EAAO+tB,MAAM7nB,UAAUwtB,QAAU,WAE7B/zB,KAAKg0B,cAAc,QAAQ,IAS/B3zB,EAAO+tB,MAAM7nB,UAAU0tB,UAAY,WAE/Bj0B,KAAKg0B,cAAc,UAAU,IAcjC3zB,EAAO+tB,MAAM7nB,UAAU2tB,SAAW,SAAU/tB,EAAG+G,EAAGrD,EAAKynB,EAAO6C,GAE1Dn0B,KAAK2H,QAAQ3H,KAAKo0B,WAAYp0B,KAAMm0B,EAAahuB,EAAG+G,EAAGrD,EAAKynB,IAchEjxB,EAAO+tB,MAAM7nB,UAAUytB,cAAgB,SAAUK,EAAUC,GAEvD,IAAIztB,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,KAEA,IAASmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAElChI,KAAKssB,SAAStkB,GAAGmjB,SAAWmJ,GAAet0B,KAAKssB,SAAStkB,GAAGqsB,IAE5Dr0B,KAAKssB,SAAStkB,GAAGqsB,GAAUltB,MAAMnH,KAAKssB,SAAStkB,GAAInB,IAe/DxG,EAAO+tB,MAAM7nB,UAAUguB,kBAAoB,SAAUhI,EAAO8H,EAAUtsB,GAIlE,GAAe,IAAXA,GAEA,GAAIwkB,EAAM8H,EAAS,IAEf,OAAO9H,EAAM8H,EAAS,SAGzB,GAAe,IAAXtsB,GAEL,GAAIwkB,EAAM8H,EAAS,IAAIA,EAAS,IAE5B,OAAO9H,EAAM8H,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAXtsB,GAEL,GAAIwkB,EAAM8H,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAO9H,EAAM8H,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAXtsB,GAEL,GAAIwkB,EAAM8H,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAO9H,EAAM8H,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAI9H,EAAM8H,GAEX,OAAO9H,EAAM8H,GAGjB,OAAO,GAeXh0B,EAAO+tB,MAAM7nB,UAAUiuB,QAAU,SAAUC,EAAQ3P,GAE/C,QAAexa,IAAXmqB,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAOprB,MAAM,MAEItB,OAE1B,QAAgBuC,IAAZwa,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAI6P,GADJ7P,EAAUA,EAAQzb,MAAM,MACItB,OAIpC,IAAIlB,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,KAEA,IAASmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAO5B,IAAK,IAHDqsB,EAAW,KACX7Q,EAAkB,KAEbxb,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtCqsB,EAAWr0B,KAAKu0B,kBAAkBv0B,KAAKssB,SAAStkB,GAAIysB,EAAQC,GAExD5P,GAAWuP,GAEX7Q,EAAkBxjB,KAAKu0B,kBAAkBv0B,KAAKssB,SAAStkB,GAAI8c,EAAS6P,GAEhEN,GAEAA,EAASltB,MAAMqc,EAAiB3c,IAG/BwtB,GAELA,EAASltB,MAAMnH,KAAKssB,SAAStkB,GAAInB,KAW7CxG,EAAO+tB,MAAM7nB,UAAUkX,UAAY,WAE/B,GAAIzd,KAAK8uB,eAGL,OADA9uB,KAAKukB,WACE,EAGX,IAAKvkB,KAAKmrB,SAAWnrB,KAAKmqB,OAAOgB,OAG7B,OADAnrB,KAAK40B,eAAiB,GACf,EAOX,IAFA,IAAI5sB,EAAI,EAEDA,EAAIhI,KAAKssB,SAASvkB,QACzB,CACI,IAAIwkB,EAAQvsB,KAAKssB,SAAStkB,GAE1BukB,EAAM9O,YAEFzd,OAASusB,EAAMpC,QAEfniB,IAIR,OAAO,GAYX3H,EAAO+tB,MAAM7nB,UAAUyY,OAAS,WAK5B,IAFA,IAAIhX,EAAIhI,KAAKssB,SAASvkB,OAEfC,KACP,CACI,IAAIF,EAAM9H,KAAKssB,SAASvkB,OAEpBC,GAAKF,IAAOE,EAAIF,EAAM,GAE1B,IAAIykB,EAAQvsB,KAAKssB,SAAStkB,GAErBhI,KAAKmvB,6BAA8B5C,EAAMpB,QAC1CoB,EAAMvN,WAWlB3e,EAAO+tB,MAAM7nB,UAAUwkB,WAAa,WAG5B/qB,KAAK4vB,gBAEL5vB,KAAKmG,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK6vB,aAAa1pB,GAAKnG,KAAKib,KAAKoC,OAAOhI,MAAMlP,EAClFnG,KAAKkN,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK6vB,aAAa3iB,GAAKlN,KAAKib,KAAKoC,OAAOhI,MAAMnI,GAGtF,IAAK,IAAIlF,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+iB,cAsBzB1qB,EAAO+tB,MAAM7nB,UAAUsuB,OAAS,SAAUC,EAAWX,GAMjD,IAJA,IAAIprB,GAAS,EACThB,EAAS/H,KAAKssB,SAASvkB,OACvBgL,OAEKhK,EAAQhB,GACjB,CACI,IAAIwkB,EAAQvsB,KAAKssB,SAASvjB,KAErBorB,GAAgBA,GAAe5H,EAAMpB,SAElC2J,EAAUvI,EAAOxjB,EAAO/I,KAAKssB,WAE7BvZ,EAAQI,KAAKoZ,GAKzB,OAAO,IAAIlsB,EAAO00B,SAAShiB,IAqB/B1S,EAAO+tB,MAAM7nB,UAAUoB,QAAU,SAAU0sB,EAAU7Q,EAAiB2Q,GAIlE,QAFoB7pB,IAAhB6pB,IAA6BA,GAAc,GAE3CltB,UAAUc,QAAU,EAEpB,IAASC,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,MAEjCmsB,GAAgBA,GAAen0B,KAAKssB,SAAStkB,GAAGmjB,SAEjDkJ,EAASrtB,KAAKwc,EAAiBxjB,KAAKssB,SAAStkB,QAKzD,CAKI,IAAK,IAFDnB,GAAQ,MAEHmB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAGxB,IAASA,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,MAEjCmsB,GAAgBA,GAAen0B,KAAKssB,SAAStkB,GAAGmjB,UAEjDtkB,EAAK,GAAK7G,KAAKssB,SAAStkB,GACxBqsB,EAASltB,MAAMqc,EAAiB3c,MAiBhDxG,EAAO+tB,MAAM7nB,UAAUyuB,cAAgB,SAAUX,EAAU7Q,GAEvD,IAAI3c,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5BhI,KAAKi1B,QAAQ,UAAU,EAAM50B,EAAO+tB,MAAM6B,aAAcoE,EAAU7Q,EAAiB3c,IAcvFxG,EAAO+tB,MAAM7nB,UAAU2uB,aAAe,SAAUb,EAAU7Q,GAEtD,IAAI3c,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5BhI,KAAKi1B,QAAQ,SAAS,EAAM50B,EAAO+tB,MAAM6B,aAAcoE,EAAU7Q,EAAiB3c,IActFxG,EAAO+tB,MAAM7nB,UAAU4uB,YAAc,SAAUd,EAAU7Q,GAErD,IAAI3c,EAEJ,GAAII,UAAUc,OAAS,EACvB,CACIlB,GAAQ,MAER,IAAK,IAAImB,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAElCnB,EAAKsM,KAAKlM,UAAUe,IAI5BhI,KAAKi1B,QAAQ,SAAS,EAAO50B,EAAO+tB,MAAM6B,aAAcoE,EAAU7Q,EAAiB3c,IAkBvFxG,EAAO+tB,MAAM7nB,UAAU6uB,KAAO,SAAUvrB,EAAKwrB,GAErCr1B,KAAKssB,SAASvkB,OAAS,SAMfuC,IAART,IAAqBA,EAAM,UACjBS,IAAV+qB,IAAuBA,EAAQh1B,EAAO+tB,MAAMgC,gBAEhDpwB,KAAK+vB,cAAgBlmB,EAEjBwrB,IAAUh1B,EAAO+tB,MAAMgC,eAEvBpwB,KAAKssB,SAAS8I,KAAKp1B,KAAKs1B,qBAAqB9uB,KAAKxG,OAIlDA,KAAKssB,SAAS8I,KAAKp1B,KAAKu1B,sBAAsB/uB,KAAKxG,OAGvDA,KAAK0wB,YAcTrwB,EAAO+tB,MAAM7nB,UAAUivB,WAAa,SAAUC,EAAa3Q,GAEnD9kB,KAAKssB,SAASvkB,OAAS,IAM3B/H,KAAKssB,SAAS8I,KAAKK,EAAYjvB,KAAKse,IAEpC9kB,KAAK0wB,YAYTrwB,EAAO+tB,MAAM7nB,UAAU+uB,qBAAuB,SAAUpmB,EAAGI,GAEvD,OAAIJ,EAAElP,KAAK+vB,eAAiBzgB,EAAEtP,KAAK+vB,gBAEvB,EAEH7gB,EAAElP,KAAK+vB,eAAiBzgB,EAAEtP,KAAK+vB,eAE7B,EAIH7gB,EAAEwf,EAAIpf,EAAEof,GAEA,EAID,GAcnBruB,EAAO+tB,MAAM7nB,UAAUgvB,sBAAwB,SAAUrmB,EAAGI,GAExD,OAAIJ,EAAElP,KAAK+vB,eAAiBzgB,EAAEtP,KAAK+vB,eAExB,EAEF7gB,EAAElP,KAAK+vB,eAAiBzgB,EAAEtP,KAAK+vB,gBAE5B,EAID,GAiCf1vB,EAAO+tB,MAAM7nB,UAAU0uB,QAAU,SAAUprB,EAAKE,EAAO2rB,EAAYrB,EAAU7Q,EAAiB3c,GAE1F,GAA6B,IAAzB7G,KAAKssB,SAASvkB,OAClB,CACI,GAAI2tB,IAAer1B,EAAO+tB,MAAM6B,aAE5B,OAAO,EAEN,GAAIyF,IAAer1B,EAAO+tB,MAAM+B,WAEjC,SAIR,IAAIwF,EAAQ,EAEZ,GAAID,IAAer1B,EAAO+tB,MAAM+B,WAE5B,IAAI3hB,KAGR,IAAK,IAAIxG,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtC,GAAIhI,KAAKssB,SAAStkB,GAAG6B,KAASE,EAC9B,CAgBI,GAfA4rB,IAEItB,IAEIxtB,GAEAA,EAAK,GAAK7G,KAAKssB,SAAStkB,GACxBqsB,EAASltB,MAAMqc,EAAiB3c,IAIhCwtB,EAASrtB,KAAKwc,EAAiBxjB,KAAKssB,SAAStkB,KAIjD0tB,IAAer1B,EAAO+tB,MAAM8B,aAE5B,OAAOlwB,KAAKssB,SAAStkB,GAEhB0tB,IAAer1B,EAAO+tB,MAAM+B,YAEjC3hB,EAAO2E,KAAKnT,KAAKssB,SAAStkB,IAKtC,OAAI0tB,IAAer1B,EAAO+tB,MAAM6B,aAErB0F,EAEFD,IAAer1B,EAAO+tB,MAAM+B,WAE1B3hB,EAKA,MAwBfnO,EAAO+tB,MAAM7nB,UAAUqvB,eAAiB,SAAUzK,EAAQ0K,EAAc1vB,EAAG+G,EAAGrD,EAAKynB,QAE1DhnB,IAAjBurB,IAA8BA,GAAe,GAE3B,kBAAX1K,IAEPA,GAAS,GAGb,IAAIoB,EAAQvsB,KAAKi1B,QAAQ,SAAU9J,EAAQ9qB,EAAO+tB,MAAM8B,cAExD,OAAkB,OAAV3D,GAAkBsJ,EAAgB71B,KAAKmhB,OAAOhb,EAAG+G,EAAGrD,EAAKynB,GAAStxB,KAAKo0B,WAAW7H,EAAOpmB,EAAG+G,EAAGrD,EAAKynB,IAwBhHjxB,EAAO+tB,MAAM7nB,UAAUuvB,cAAgB,SAAUD,EAAc1vB,EAAG+G,EAAGrD,EAAKynB,QAEjDhnB,IAAjBurB,IAA8BA,GAAe,GAEjD,IAAItJ,EAAQvsB,KAAKi1B,QAAQ,SAAS,EAAM50B,EAAO+tB,MAAM8B,cAErD,OAAkB,OAAV3D,GAAkBsJ,EAAgB71B,KAAKmhB,OAAOhb,EAAG+G,EAAGrD,EAAKynB,GAAStxB,KAAKo0B,WAAW7H,EAAOpmB,EAAG+G,EAAGrD,EAAKynB,IAwBhHjxB,EAAO+tB,MAAM7nB,UAAUwvB,aAAe,SAAUF,EAAc1vB,EAAG+G,EAAGrD,EAAKynB,QAEhDhnB,IAAjBurB,IAA8BA,GAAe,GAEjD,IAAItJ,EAAQvsB,KAAKi1B,QAAQ,SAAS,EAAO50B,EAAO+tB,MAAM8B,cAEtD,OAAkB,OAAV3D,GAAkBsJ,EAAgB71B,KAAKmhB,OAAOhb,EAAG+G,EAAGrD,EAAKynB,GAAStxB,KAAKo0B,WAAW7H,EAAOpmB,EAAG+G,EAAGrD,EAAKynB,IAmBhHjxB,EAAO+tB,MAAM7nB,UAAU6tB,WAAa,SAAU7H,EAAOpmB,EAAG+G,EAAGrD,EAAKynB,GAE5D,OAAc,OAAV/E,EAEO,WAGDjiB,IAANnE,IAAmBA,EAAI,WACjBmE,IAAN4C,IAAmBA,EAAI,MAEjB,OAAN/G,GAAoB,OAAN+G,GAEdqf,EAAMpM,MAAMha,EAAG+G,QAGP5C,IAART,GAEA0iB,EAAMyJ,YAAYnsB,EAAKynB,GAGpB/E,IAYXlsB,EAAO+tB,MAAM7nB,UAAU0vB,OAAS,WAE5B,GAAIj2B,KAAKssB,SAASvkB,OAAS,EAEvB,OAAO/H,KAAKssB,SAAStsB,KAAKssB,SAASvkB,OAAS,IAapD1H,EAAO+tB,MAAM7nB,UAAU2vB,UAAY,WAE/B,GAAIl2B,KAAKssB,SAASvkB,OAAS,EAEvB,OAAO/H,KAAKssB,SAAS,IAuB7BjsB,EAAO+tB,MAAM7nB,UAAU4vB,aAAe,SAAUC,EAAQ/B,EAAU7Q,GAM9D,IAAK,IAJDlV,EAAWyK,OAAOC,UAClBqd,EAAe,EACf1kB,EAAS,KAEJ3J,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC1C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAEtBukB,EAAMpB,SAENkL,EAAepwB,KAAK2J,IAAIvP,EAAOoN,MAAMa,SAAS8nB,EAAQ7J,KAEnCje,KAAc+lB,GAAYA,EAASrtB,KAAKwc,EAAiB+I,EAAO8J,MAE/E/nB,EAAW+nB,EACX1kB,EAAS4a,GAKrB,OAAO5a,GAsBXtR,EAAO+tB,MAAM7nB,UAAU+vB,gBAAkB,SAAUF,EAAQ/B,EAAU7Q,GAMjE,IAAK,IAJDlV,EAAW,EACX+nB,EAAe,EACf1kB,EAAS,KAEJ3J,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC1C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAEtBukB,EAAMpB,SAENkL,EAAepwB,KAAK2J,IAAIvP,EAAOoN,MAAMa,SAAS8nB,EAAQ7J,KAEnCje,KAAc+lB,GAAYA,EAASrtB,KAAKwc,EAAiB+I,EAAO8J,MAE/E/nB,EAAW+nB,EACX1kB,EAAS4a,GAKrB,OAAO5a,GAUXtR,EAAO+tB,MAAM7nB,UAAUgwB,YAAc,WAEjC,OAAOv2B,KAAKi1B,QAAQ,SAAS,EAAM50B,EAAO+tB,MAAM6B,eAUpD5vB,EAAO+tB,MAAM7nB,UAAUiwB,UAAY,WAE/B,OAAOx2B,KAAKi1B,QAAQ,SAAS,EAAO50B,EAAO+tB,MAAM6B,eAYrD5vB,EAAO+tB,MAAM7nB,UAAUkwB,UAAY,SAAUC,EAAY3uB,GAKrD,YAHmBuC,IAAfosB,IAA4BA,EAAa,QAC9BpsB,IAAXvC,IAAwBA,EAAS/H,KAAKssB,SAASvkB,QAEpC,IAAXA,EAEO,KAGJ1H,EAAOs2B,WAAWC,cAAc52B,KAAKssB,SAAUoK,EAAY3uB,IAgBtE1H,EAAO+tB,MAAM7nB,UAAUswB,gBAAkB,SAAUH,EAAYI,GAE3D,IAAIC,EAAO/2B,KAAKg3B,OAAO,UAAU,EAAMN,EAAYI,GAEnD,OAAO92B,KAAKib,KAAKsE,IAAI0X,KAAKF,IAsB9B12B,EAAO+tB,MAAM7nB,UAAUywB,OAAS,SAAUtD,EAAU3pB,EAAO2sB,EAAYI,QAEhDxsB,IAAfosB,IAA4BA,EAAa,QAC5BpsB,IAAbwsB,IAA0BA,EAAW92B,KAAKssB,SAASvkB,QAIvD,IAAK,IAFDyG,KAEKxG,EAAI0uB,EAAY1uB,EAAI8uB,EAAU9uB,IACvC,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAEtB0rB,EAEInH,EAAMmH,KAAc3pB,GAEpByE,EAAO2E,KAAKoZ,GAKhB/d,EAAO2E,KAAKoZ,GAIpB,OAAO/d,GAiBXnO,EAAO+tB,MAAM7nB,UAAUgd,OAAS,SAAUgJ,EAAOhI,EAAS+L,GAKtD,QAHgBhmB,IAAZia,IAAyBA,GAAU,QACxBja,IAAXgmB,IAAwBA,GAAS,GAER,IAAzBtwB,KAAKssB,SAASvkB,SAAkD,IAAlC/H,KAAKssB,SAAS2E,QAAQ1E,GAEpD,OAAO,EAGN+D,IAAU/D,EAAMuE,QAAWvE,EAAM2K,cAElC3K,EAAMuE,OAAOqG,4BAA4B5K,EAAOvsB,MAGpD,IAAIo3B,EAAUp3B,KAAK+yB,YAAYxG,GAgB/B,OAdAvsB,KAAKwwB,eAAejE,GAEpBvsB,KAAK0wB,UAED1wB,KAAKivB,SAAW1C,GAEhBvsB,KAAKgyB,OAGLzN,GAAW6S,GAEXA,EAAQ7S,SAAQ,IAGb,GAYXlkB,EAAO+tB,MAAM7nB,UAAU4qB,QAAU,SAAUkG,EAAO/G,GAI9C,QAFehmB,IAAXgmB,IAAwBA,GAAS,GAEjCtwB,KAAKssB,SAASvkB,OAAS,GAAKsvB,aAAiBh3B,EAAO+tB,MACxD,CACI,GAEIiJ,EAAMnlB,IAAIlS,KAAKssB,SAAS,GAAIgE,SAEzBtwB,KAAKssB,SAASvkB,OAAS,GAE9B/H,KAAK8vB,QAEL9vB,KAAKivB,OAAS,KAGlB,OAAOoI,GAiBXh3B,EAAO+tB,MAAM7nB,UAAU8d,UAAY,SAAUE,EAAS+L,EAAQgH,GAM1D,QAJgBhtB,IAAZia,IAAyBA,GAAU,QACxBja,IAAXgmB,IAAwBA,GAAS,QACdhmB,IAAnBgtB,IAAgCA,GAAiB,GAExB,IAAzBt3B,KAAKssB,SAASvkB,OAAlB,CAKA,EACA,EACSuoB,GAAUtwB,KAAKssB,SAAS,GAAGwE,QAE5B9wB,KAAKssB,SAAS,GAAGwE,OAAOqG,4BAA4Bn3B,KAAKssB,SAAS,GAAItsB,MAG1E,IAAIo3B,EAAUp3B,KAAK+yB,YAAY/yB,KAAKssB,SAAS,IAE7CtsB,KAAKwwB,eAAe4G,GAEhB7S,GAAW6S,GAEXA,EAAQ7S,SAAQ,EAAM+S,SAGvBt3B,KAAKssB,SAASvkB,OAAS,GAE9B/H,KAAK8vB,QAEL9vB,KAAKivB,OAAS,OAalB5uB,EAAO+tB,MAAM7nB,UAAUgxB,cAAgB,SAAUb,EAAYI,EAAUvS,EAAS+L,GAM5E,QAJiBhmB,IAAbwsB,IAA0BA,EAAW92B,KAAKssB,SAASvkB,OAAS,QAChDuC,IAAZia,IAAyBA,GAAU,QACxBja,IAAXgmB,IAAwBA,GAAS,GAER,IAAzBtwB,KAAKssB,SAASvkB,OAAlB,CAKA,GAAI2uB,EAAaI,GAAYJ,EAAa,GAAKI,EAAW92B,KAAKssB,SAASvkB,OAEpE,OAAO,EAKX,IAFA,IAAIC,EAAI8uB,EAED9uB,GAAK0uB,GACZ,EACSpG,GAAUtwB,KAAKssB,SAAStkB,GAAG8oB,QAE5B9wB,KAAKssB,SAAStkB,GAAG8oB,OAAOqG,4BAA4Bn3B,KAAKssB,SAAStkB,GAAIhI,MAG1E,IAAIo3B,EAAUp3B,KAAK+yB,YAAY/yB,KAAKssB,SAAStkB,IAE7ChI,KAAKwwB,eAAe4G,GAEhB7S,GAAW6S,GAEXA,EAAQ7S,SAAQ,GAGhBvkB,KAAKivB,SAAWjvB,KAAKssB,SAAStkB,KAE9BhI,KAAKivB,OAAS,MAGlBjnB,IAGJhI,KAAK0wB,YAWTrwB,EAAO+tB,MAAM7nB,UAAUixB,QAAU,SAAUvjB,EAAMkgB,GAEjC,MAARlgB,IAAgBA,EAAOjU,KAAKib,KAAKC,MAAME,QAE3Cpb,KAAK2H,QAAQ,SAAU4kB,GAEnBA,EAAMtS,SAAStN,IAAIsH,EAAK6F,QAAS7F,EAAK8F,UAEvC,KAAMoa,IAWb9zB,EAAO+tB,MAAM7nB,UAAUkxB,QAAU,WAE7Bp3B,EAAOs2B,WAAWc,QAAQz3B,KAAKssB,UAC/BtsB,KAAK0wB,WAaTrwB,EAAO+tB,MAAM7nB,UAAUge,QAAU,SAAUmT,EAAiBC,GAEtC,OAAd33B,KAAKib,MAAiBjb,KAAK6uB,qBAEPvkB,IAApBotB,IAAiCA,GAAkB,QAC1CptB,IAATqtB,IAAsBA,GAAO,GAEjC33B,KAAK0vB,UAAUpQ,SAAStf,KAAM03B,EAAiBC,GAE/C33B,KAAKqkB,UAAUqT,GAEf13B,KAAKivB,OAAS,KACdjvB,KAAKgqB,QAAU,KACfhqB,KAAK8uB,gBAAiB,EAEjB6I,IAEG33B,KAAKmqB,QAELnqB,KAAKmqB,OAAO4I,YAAY/yB,MAG5BA,KAAKib,KAAO,KACZjb,KAAKmrB,QAAS,KAYtB1jB,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,SAE1CmG,IAAK,WAED,OAAO1M,KAAKi1B,QAAQ,UAAU,EAAM50B,EAAO+tB,MAAM6B,iBAazDxoB,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAKssB,SAASvkB,UAiB7BN,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,SAE1CmG,IAAK,WACD,OAAOrM,EAAO4F,KAAKmQ,SAASpW,KAAK43B,WAGrCjrB,IAAK,SAAS5C,GACV/J,KAAK43B,SAAWv3B,EAAO4F,KAAKuJ,SAASzF,MAc7CtC,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,WAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQ/Y,SAIvCzE,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAK4D,EAAQ8E,EAAUlB,EAAEkC,aAetCpI,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,WAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQ9Y,SAIvC1E,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKnD,EAAQ8E,EAAUlB,EAAEoC,cAetCtI,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,QAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQ1e,MAIvCkB,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAI4D,EAAQ8E,KAezBpH,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,SAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQ3e,OAIvCmB,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKmG,EAAIwH,EAAExH,EAExBnG,KAAKmG,EAAK4D,EAAQ8E,EAAUlB,EAAEwC,SAetC1I,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,OAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQhb,KAIvCxC,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKnD,EAAQ8E,KAe1BpH,OAAOmF,eAAevM,EAAO+tB,MAAM7nB,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAK+N,UAAU/N,KAAKmqB,QAAQ/a,QAIvCzC,IAAK,SAAU5C,GAEX,IAAI4D,EAAI3N,KAAK+N,UAAU/N,KAAKmqB,QACxBtb,EAAS7O,KAAKkN,EAAIS,EAAET,EAExBlN,KAAKkN,EAAKnD,EAAQ8E,EAAUlB,EAAEyC,UAoLtC/P,EAAOw3B,MAAQ,SAAU5c,GAErB5a,EAAO+tB,MAAMpnB,KAAKhH,KAAMib,EAAM,KAAM,WAAW,GAS/Cjb,KAAKob,OAAS,IAAI/a,EAAO2N,UAAU,EAAG,EAAGiN,EAAK9K,MAAO8K,EAAK7K,QAK1DpQ,KAAKqd,OAAS,KAMdrd,KAAK83B,cAAe,EAKpB93B,KAAK+3B,OAAS9c,EAAK9K,MAKnBnQ,KAAKg4B,QAAU/c,EAAK7K,OAEpBpQ,KAAKib,KAAK0F,MAAMuB,cAAchQ,IAAIlS,KAAKi4B,YAAaj4B,OAIxDK,EAAOw3B,MAAMtxB,UAAYkB,OAAO0Z,OAAO9gB,EAAO+tB,MAAM7nB,WACpDlG,EAAOw3B,MAAMtxB,UAAU8B,YAAchI,EAAOw3B,MAQ5Cx3B,EAAOw3B,MAAMtxB,UAAU6W,KAAO,WAE1Bpd,KAAKqd,OAAS,IAAIhd,EAAO2a,OAAOhb,KAAKib,KAAM,EAAG,EAAG,EAAGjb,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAE/EpQ,KAAKib,KAAKsC,MAAMC,SAASxd,MAEzBA,KAAKqd,OAAOD,QAahB/c,EAAOw3B,MAAMtxB,UAAU0xB,YAAc,WAEjCj4B,KAAKmG,EAAI,EACTnG,KAAKkN,EAAI,EAETlN,KAAKqd,OAAO8C,SAchB9f,EAAOw3B,MAAMtxB,UAAU2xB,UAAY,SAAU/xB,EAAG+G,EAAGiD,EAAOC,GAEtDpQ,KAAK83B,cAAe,EACpB93B,KAAK+3B,OAAS5nB,EACdnQ,KAAKg4B,QAAU5nB,EAEfpQ,KAAKob,OAAOnN,MAAM9H,EAAG+G,EAAGiD,EAAOC,GAE/BpQ,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EAELlN,KAAKqd,OAAOjC,QAGZpb,KAAKqd,OAAOjC,OAAOnN,MAAM9H,EAAG+G,EAAGjH,KAAKyM,IAAIvC,EAAOnQ,KAAKib,KAAK9K,OAAQlK,KAAKyM,IAAItC,EAAQpQ,KAAKib,KAAK7K,SAGhGpQ,KAAKib,KAAK6F,QAAQjB,oBAWtBxf,EAAOw3B,MAAMtxB,UAAUiT,OAAS,SAAUrJ,EAAOC,GAIzCpQ,KAAK83B,eAED3nB,EAAQnQ,KAAK+3B,SAEb5nB,EAAQnQ,KAAK+3B,QAGb3nB,EAASpQ,KAAKg4B,UAEd5nB,EAASpQ,KAAKg4B,UAItBh4B,KAAKob,OAAOjL,MAAQA,EACpBnQ,KAAKob,OAAOhL,OAASA,EAErBpQ,KAAKib,KAAKoC,OAAOwC,mBAEjB7f,KAAKib,KAAK6F,QAAQjB,oBAStBxf,EAAOw3B,MAAMtxB,UAAUkb,SAAW,WAG9BzhB,KAAKukB,SAAQ,GAAM,IAmBvBlkB,EAAOw3B,MAAMtxB,UAAU+M,KAAO,SAAU6kB,EAAQhQ,EAASiQ,EAAW7b,EAAYC,QAE5DlS,IAAZ6d,IAAyBA,EAAU,QACrB7d,IAAd8tB,IAA2BA,GAAY,QACxB9tB,IAAfiS,IAA4BA,GAAa,QAC5BjS,IAAbkS,IAA0BA,GAAW,GAEpC4b,GAsBDD,EAAOpqB,YAEHwO,IAEK4b,EAAOhyB,EAAIgyB,EAAOE,eAAeloB,MAASnQ,KAAKob,OAAOjV,EAEvDgyB,EAAOhyB,EAAInG,KAAKob,OAAO5P,MAElB2sB,EAAOhyB,EAAInG,KAAKob,OAAO5P,QAE5B2sB,EAAOhyB,EAAInG,KAAKob,OAAO3P,OAI3B+Q,IAEK2b,EAAOjrB,EAAIirB,EAAOE,eAAejoB,OAAUpQ,KAAKob,OAAOjM,IAExDgpB,EAAOjrB,EAAIlN,KAAKob,OAAOhM,OAElB+oB,EAAOjrB,EAAIlN,KAAKob,OAAOhM,SAE5B+oB,EAAOjrB,EAAIlN,KAAKob,OAAOjM,QA1C3BoN,GAAc4b,EAAOhyB,EAAIgiB,EAAUnoB,KAAKob,OAAOjV,EAE/CgyB,EAAOhyB,EAAInG,KAAKob,OAAO5P,MAAQ2c,EAE1B5L,GAAc4b,EAAOhyB,EAAIgiB,EAAUnoB,KAAKob,OAAO5P,QAEpD2sB,EAAOhyB,EAAInG,KAAKob,OAAO3P,KAAO0c,GAG9B3L,GAAY2b,EAAOjrB,EAAIib,EAAUnoB,KAAKob,OAAOjM,IAE7CgpB,EAAOjrB,EAAIlN,KAAKob,OAAOhM,OAAS+Y,EAE3B3L,GAAY2b,EAAOjrB,EAAIib,EAAUnoB,KAAKob,OAAOhM,SAElD+oB,EAAOjrB,EAAIlN,KAAKob,OAAOjM,IAAMgZ,KAsCzC1gB,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,SAE1CmG,IAAK,WACD,OAAO1M,KAAKob,OAAOjL,OAGvBxD,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKib,KAAK9K,QAElBpG,EAAQ/J,KAAKib,KAAK9K,OAGtBnQ,KAAKob,OAAOjL,MAAQpG,EACpB/J,KAAK+3B,OAAShuB,EACd/J,KAAK83B,cAAe,KAU5BrwB,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKob,OAAOhL,QAGvBzD,IAAK,SAAU5C,GAEPA,EAAQ/J,KAAKib,KAAK7K,SAElBrG,EAAQ/J,KAAKib,KAAK7K,QAGtBpQ,KAAKob,OAAOhL,OAASrG,EACrB/J,KAAKg4B,QAAUjuB,EACf/J,KAAK83B,cAAe,KAW5BrwB,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,WAE1CmG,IAAK,WACD,OAAO1M,KAAKob,OAAOvL,UAAY7P,KAAKob,OAAOjV,KAUnDsB,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,WAE1CmG,IAAK,WACD,OAAO1M,KAAKob,OAAOrL,WAAa/P,KAAKob,OAAOlO,KAUpDzF,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKob,OAAOjV,EAAI,EAETnG,KAAKib,KAAKsE,IAAI+Y,QAAQt4B,KAAKob,OAAOjV,EAAInG,KAAKob,OAAOjL,MAAQlK,KAAK2J,IAAI5P,KAAKob,OAAOjV,IAI/EnG,KAAKib,KAAKsE,IAAI+Y,QAAQt4B,KAAKob,OAAOjV,EAAGnG,KAAKob,OAAOjL,UAYpE1I,OAAOmF,eAAevM,EAAOw3B,MAAMtxB,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKob,OAAOlO,EAAI,EAETlN,KAAKib,KAAKsE,IAAI+Y,QAAQt4B,KAAKob,OAAOlO,EAAIlN,KAAKob,OAAOhL,OAASnK,KAAK2J,IAAI5P,KAAKob,OAAOlO,IAIhFlN,KAAKib,KAAKsE,IAAI+Y,QAAQt4B,KAAKob,OAAOlO,EAAGlN,KAAKob,OAAOhL,WA+EpE/P,EAAOk4B,KAAO,SAAUpoB,EAAOC,EAAQooB,EAAUrO,EAAQxJ,EAAOgL,EAAa8M,EAAWC,GAwapF,OAlaA14B,KAAKmV,GAAK9U,EAAOE,MAAM4S,KAAKnT,MAAQ,EAKpCA,KAAK4rB,OAAS,KAKd5rB,KAAK04B,cAAgBA,EAOrB14B,KAAKmqB,OAAS,GAWdnqB,KAAKmQ,MAAQ,IAWbnQ,KAAKoQ,OAAS,IASdpQ,KAAKsoB,WAAa,EAMlBtoB,KAAK+3B,OAAS,IAMd/3B,KAAKg4B,QAAU,IAMfh4B,KAAK2rB,aAAc,EAOnB3rB,KAAKy4B,WAAY,EAajBz4B,KAAK24B,cAAe,EAMpB34B,KAAK44B,uBAAwB,EAQ7B54B,KAAK64B,mBAAoB,EAMzB74B,KAAKw4B,SAAW,KAMhBx4B,KAAK6kB,WAAaxkB,EAAOG,KAKzBR,KAAK2gB,MAAQ,KAMb3gB,KAAKsjB,UAAW,EAMhBtjB,KAAK84B,WAAY,EAMjB94B,KAAK+4B,IAAM,KAKX/4B,KAAKkS,IAAM,KAKXlS,KAAKsgB,KAAO,KAKZtgB,KAAKugB,MAAQ,KAKbvgB,KAAKwgB,MAAQ,KAKbxgB,KAAKygB,KAAO,KAKZzgB,KAAK2f,KAAO,KAKZ3f,KAAKg5B,IAAM,KAKXh5B,KAAKqV,MAAQ,KAKbrV,KAAK0gB,MAAQ,KAKb1gB,KAAKud,MAAQ,KAKbvd,KAAKof,KAAO,KAKZpf,KAAK4gB,OAAS,KAKd5gB,KAAKkb,MAAQ,KAKblb,KAAK8gB,QAAU,KAKf9gB,KAAK2qB,QAAU,KAKf3qB,KAAKuf,IAAM,KAKXvf,KAAKstB,OAASjtB,EAAO44B,OAKrBj5B,KAAKqd,OAAS,KAKdrd,KAAKisB,OAAS,KAKdjsB,KAAK8kB,QAAU,KAKf9kB,KAAKskB,MAAQ,KAKbtkB,KAAK6gB,UAAY,KAKjB7gB,KAAKmhB,OAAS,KASdnhB,KAAKk5B,YAAa,EAOlBl5B,KAAKm5B,UAAW,EAOhBn5B,KAAKo5B,aAAc,EAOnBp5B,KAAKq5B,UAAY,EAKjBr5B,KAAKgjB,QAAU,KAKfhjB,KAAKkjB,SAAW,KAKhBljB,KAAKs5B,OAAS,KAKdt5B,KAAKu5B,QAAU,KAMfv5B,KAAKw5B,SAAU,EAMfx5B,KAAKy5B,aAAc,EAQnBz5B,KAAK05B,gBAAkB,EAOvB15B,KAAK25B,iBAAmB,EAMxB35B,KAAK45B,WAAa,EAMlB55B,KAAK65B,WAAa,EAMlB75B,KAAK85B,WAAa,EAMlB95B,KAAK0kB,YAAa,EAQlB1kB,KAAK+5B,mBAAqB,IAAI15B,EAAOwb,OAKrC7b,KAAKg6B,mBAAoB,EAMzBh6B,KAAKi6B,qBAAuB,EAGH,IAArBhzB,UAAUc,QAAwC,iBAAjBd,UAAU,GAE3CjH,KAAK6rB,YAAY5kB,UAAU,KAI3BjH,KAAK4rB,QAAWsO,aAAa,QAER,IAAV/pB,IAEPnQ,KAAK+3B,OAAS5nB,QAGI,IAAXC,IAEPpQ,KAAKg4B,QAAU5nB,QAGK,IAAbooB,IAEPx4B,KAAK6kB,WAAa2T,QAGA,IAAXrO,IAEPnqB,KAAKmqB,OAASA,QAGS,IAAhBwB,IAEP3rB,KAAK2rB,YAAcA,QAGE,IAAd8M,IAEPz4B,KAAKy4B,UAAYA,GAGrBz4B,KAAKuf,IAAM,IAAIlf,EAAO85B,sBAAsB9R,KAAK+R,MAAQn0B,KAAKsE,UAAU7C,aAExE1H,KAAK2gB,MAAQ,IAAItgB,EAAOqhB,aAAa1hB,KAAM2gB,IAG/C3gB,KAAKstB,OAAO+M,UAAUr6B,KAAKod,KAAMpd,MAE1BA,MA2BXK,EAAOk4B,KAAKhyB,WAQRslB,YAAa,SAAUD,GAEnB5rB,KAAK4rB,OAASA,OAEgBthB,IAA1BshB,EAAoB,cAEpB5rB,KAAK4rB,OAAOsO,aAAc,GAG1BtO,EAAc,QAEd5rB,KAAK+3B,OAASnM,EAAc,OAG5BA,EAAe,SAEf5rB,KAAKg4B,QAAUpM,EAAe,QAG9BA,EAAiB,WAEjB5rB,KAAK6kB,WAAa+G,EAAiB,UAGnCA,EAAe,SAEf5rB,KAAKmqB,OAASyB,EAAe,aAGHthB,IAA1BshB,EAAoB,cAEpB5rB,KAAK2rB,YAAcC,EAAoB,kBAGfthB,IAAxBshB,EAAkB,YAElB5rB,KAAKy4B,UAAY7M,EAAkB,gBAGRthB,IAA3BshB,EAAqB,eAErB5rB,KAAK24B,aAAe/M,EAAqB,cAGzCA,EAAmB,aAEnB5rB,KAAKsoB,WAAasD,EAAmB,iBAGDthB,IAApCshB,EAA8B,wBAE9B5rB,KAAK44B,sBAAwBhN,EAA8B,uBAG3DA,EAAsB,gBAEtB5rB,KAAK04B,cAAgB9M,EAAsB,eAG/C,IAAI0O,IAASjS,KAAK+R,MAAQn0B,KAAKsE,UAAU7C,YAErCkkB,EAAa,OAEb0O,EAAO1O,EAAa,MAGxB5rB,KAAKuf,IAAM,IAAIlf,EAAO85B,oBAAoBG,GAE1C,IAAI3Z,EAAQ,KAERiL,EAAc,QAEdjL,EAAQiL,EAAc,OAG1B5rB,KAAK2gB,MAAQ,IAAItgB,EAAOqhB,aAAa1hB,KAAM2gB,IAU/CvD,KAAM,WAEEpd,KAAKsjB,WAKTtjB,KAAKgjB,QAAU,IAAI3iB,EAAOwb,OAC1B7b,KAAKkjB,SAAW,IAAI7iB,EAAOwb,OAC3B7b,KAAKs5B,OAAS,IAAIj5B,EAAOwb,OACzB7b,KAAKu5B,QAAU,IAAIl5B,EAAOwb,OAE1B7b,KAAKsjB,UAAW,EAEhBvd,KAAKkV,KAAOjb,KAEZA,KAAK2f,KAAOtf,EAAO4F,KAEnBjG,KAAKqV,MAAQ,IAAIhV,EAAOk6B,aAAav6B,KAAMA,KAAK+3B,OAAQ/3B,KAAKg4B,SAC7Dh4B,KAAKud,MAAQ,IAAIld,EAAO2qB,MAAMhrB,MAE9BA,KAAKw6B,gBAELx6B,KAAKkb,MAAQ,IAAI7a,EAAOw3B,MAAM73B,MAC9BA,KAAKkS,IAAM,IAAI7R,EAAOo6B,kBAAkBz6B,MACxCA,KAAKsgB,KAAO,IAAIjgB,EAAOq6B,kBAAkB16B,MACzCA,KAAKugB,MAAQ,IAAIlgB,EAAOypB,MAAM9pB,MAC9BA,KAAKygB,KAAO,IAAIpgB,EAAOs6B,OAAO36B,MAC9BA,KAAKof,KAAO,IAAI/e,EAAOu6B,KAAK56B,MAC5BA,KAAK4gB,OAAS,IAAIvgB,EAAOw6B,aAAa76B,MACtCA,KAAKwgB,MAAQ,IAAIngB,EAAOy6B,MAAM96B,MAC9BA,KAAK0gB,MAAQ,IAAIrgB,EAAO06B,aAAa/6B,MACrCA,KAAK8gB,QAAU,IAAIzgB,EAAOmuB,QAAQxuB,KAAMA,KAAK04B,eAC7C14B,KAAK6gB,UAAY,IAAIxgB,EAAO26B,UAAUh7B,MACtCA,KAAKmhB,OAAS,IAAI9gB,EAAO46B,OAAOj7B,MAChCA,KAAK2qB,QAAU,IAAItqB,EAAOqqB,cAAc1qB,MACxCA,KAAKg5B,IAAM,IAAI34B,EAAO66B,IAAIl7B,MAE1BA,KAAKof,KAAKhC,OACVpd,KAAKud,MAAMH,OACXpd,KAAKkb,MAAMkC,OACXpd,KAAKqV,MAAM+H,OACXpd,KAAKwgB,MAAMpD,OACXpd,KAAK0gB,MAAMtD,OACXpd,KAAK2gB,MAAMvD,OAEPpd,KAAK4rB,OAAoB,aAEzB5rB,KAAKskB,MAAQ,IAAIjkB,EAAO6I,MAAMiyB,MAAMn7B,MACpCA,KAAKskB,MAAMlH,QAIXpd,KAAKskB,OAAU7G,UAAW,aAAgBuB,OAAQ,aAAgBmB,MAAO,aAAgBib,YAAY,GAGzGp7B,KAAKq7B,kBAELr7B,KAAK84B,WAAY,EAEb94B,KAAK4rB,QAAU5rB,KAAK4rB,OAAwB,gBAE5C5rB,KAAK+4B,IAAM,IAAI14B,EAAOi7B,sBAAsBt7B,KAAMA,KAAK4rB,OAAwB,iBAI/E5rB,KAAK+4B,IAAM,IAAI14B,EAAOi7B,sBAAsBt7B,MAAM,GAGtDA,KAAK0kB,YAAa,EAEdzc,OAAc,SAETA,OAAqB,cAAMA,OAAqB,eAAMA,OAAqB,aAAEszB,YAE9EtzB,OAAOuzB,QAIfx7B,KAAK+4B,IAAIjoB,UAUbuqB,gBAAiB,WAEb,IAAIpzB,OAAqB,eAAKA,OAAqB,aAAEwzB,WAArD,CAKA,IAAIC,EAAIr7B,EAAOC,QACXqN,EAAI,SACJuB,EAAI,aACJQ,EAAI,EAkBR,GAhBI1P,KAAK6kB,aAAexkB,EAAOK,OAE3BiN,EAAI,QACJ+B,KAEK1P,KAAK6kB,aAAexkB,EAAOM,WAEhCgN,EAAI,YAGJ3N,KAAKstB,OAAOqO,WAEZzsB,EAAI,WACJQ,KAGC1P,KAAKstB,OAAOsO,GA0BR3zB,OAAgB,SAErBK,QAAQC,IAAI,WAAamzB,EAAI,gBAAkB/tB,EAAI,MAAQuB,EAAI,2BA3BnE,CAWI,IAAK,IAVDrI,GACA,uBAAyB60B,EAAI,gBAAkB/tB,EAAI,MAAQuB,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKlH,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAI0H,EAEJ7I,EAAKsM,KAAK,oCAIVtM,EAAKsM,KAAK,oCAIlB7K,QAAQC,IAAIpB,MAAMmB,QAASzB,MAenC2zB,cAAe,WAoBX,GAlBIx6B,KAAK4rB,OAAe,OAEpB5rB,KAAKisB,OAASjsB,KAAK4rB,OAAe,OAIlC5rB,KAAKisB,OAAS5rB,EAAO6rB,OAAO/K,OAAOnhB,KAAMA,KAAKmQ,MAAOnQ,KAAKoQ,OAAQpQ,KAAK4rB,OAAiB,UAAG,GAG3F5rB,KAAK4rB,OAAoB,YAEzB5rB,KAAKisB,OAAOtO,MAAQ3d,KAAK4rB,OAAoB,YAI7C5rB,KAAKisB,OAAOtO,MAAM,uBAAyB,4BAG3C3d,KAAK6kB,aAAexkB,EAAOM,UAAYX,KAAK6kB,aAAexkB,EAAOI,QAAWT,KAAK6kB,aAAexkB,EAAOG,OAASR,KAAKstB,OAAOuO,MACjI,CACI,IAAI77B,KAAKstB,OAAOrB,OAYZ,MAAM,IAAItU,MAAM,kEAVhB3X,KAAKw4B,SAAW,IAAIzyB,KAAK+1B,eAAe97B,MAExCA,KAAK8kB,QAAU9kB,KAAKw4B,SAAS1T,QAEzB9kB,KAAK6kB,aAAexkB,EAAOG,OAC3BR,KAAK6kB,WAAaxkB,EAAOI,aAY7BT,KAAK24B,cAAgB34B,KAAK6kB,aAAexkB,EAAOO,eAEhDmF,KAAKg2B,qBAEL/7B,KAAK24B,cAAe,GAGxB34B,KAAK6kB,WAAaxkB,EAAOK,MAEzBV,KAAKw4B,SAAW,IAAIzyB,KAAKi2B,cAAch8B,MAEvCA,KAAK8kB,QAAU,KAEf9kB,KAAKisB,OAAOgB,iBAAiB,mBAAoBjtB,KAAKi8B,YAAYz1B,KAAKxG,OAAO,GAC9EA,KAAKisB,OAAOgB,iBAAiB,uBAAwBjtB,KAAKk8B,gBAAgB11B,KAAKxG,OAAO,GAGtFA,KAAKstB,OAAO6O,WAEZn8B,KAAKisB,OAAOmQ,aAAgBp8B,KAAK6kB,aAAexkB,EAAOI,QAGvDT,KAAK6kB,aAAexkB,EAAOM,WAE3BX,KAAKud,MAAM8e,SAAWr8B,KAAKy4B,UAE3Bp4B,EAAO6rB,OAAOoQ,SAASt8B,KAAKisB,OAAQjsB,KAAKmqB,QAAQ,GACjD9pB,EAAO6rB,OAAOE,eAAepsB,KAAKisB,UAY1CgQ,YAAa,SAAUlP,GAEnBA,EAAMwP,iBAENv8B,KAAKw4B,SAASyD,aAAc,GAUhCC,gBAAiB,WAEbl8B,KAAKw4B,SAASgE,cAEdx8B,KAAKugB,MAAMkc,kBAEXz8B,KAAKw4B,SAASyD,aAAc,GAWhCjd,OAAQ,SAAUI,GAId,GAFApf,KAAKof,KAAKJ,OAAOI,GAEbpf,KAAK0kB,WASL,OAPA1kB,KAAK08B,YAAY18B,KAAKof,KAAKud,gBAG3B38B,KAAK48B,aAAa58B,KAAKof,KAAKyd,WAAa78B,KAAKof,KAAK0d,iBAEnD98B,KAAK0kB,YAAa,GAMtB,GAAI1kB,KAAK85B,WAAa,IAAM95B,KAAKg6B,kBAGzBh6B,KAAKof,KAAKA,KAAOpf,KAAKi6B,uBAGtBj6B,KAAKi6B,qBAAuBj6B,KAAKof,KAAKA,KAAO,IAG7Cpf,KAAK+5B,mBAAmBza,YAI5Btf,KAAK45B,WAAa,EAClB55B,KAAK85B,WAAa,EAGlB95B,KAAK48B,aAAa58B,KAAKof,KAAKyd,WAAa78B,KAAKof,KAAK0d,gBAGvD,CAEI,IAAIC,EAAkC,IAAvB/8B,KAAKof,KAAKyd,WAAsB78B,KAAKof,KAAK0d,WAGzD98B,KAAK45B,YAAc3zB,KAAKyM,IAAIzM,KAAKuM,IAAe,EAAXuqB,EAAc/8B,KAAKof,KAAK4d,SAAU,GAIvE,IAAIC,EAAQ,EASZ,IAPAj9B,KAAK25B,iBAAmB1zB,KAAKI,MAAMrG,KAAK45B,WAAamD,GAEjD/8B,KAAKg6B,oBAELh6B,KAAK25B,iBAAmB1zB,KAAKuM,IAAI,EAAGxS,KAAK25B,mBAGtC35B,KAAK45B,YAAcmD,IAEtB/8B,KAAK45B,YAAcmD,EACnB/8B,KAAK05B,gBAAkBuD,EAEvBj9B,KAAK08B,YAAY18B,KAAKof,KAAKud,gBAE3BM,KAEIj9B,KAAKg6B,mBAA+B,IAAViD,IAM1Bj9B,KAAKof,KAAK8d,UAKdD,EAAQj9B,KAAK65B,WAEb75B,KAAK85B,aAEAmD,EAAQj9B,KAAK65B,aAGlB75B,KAAK85B,WAAa,GAGtB95B,KAAK65B,WAAaoD,EAGlBj9B,KAAK48B,aAAa58B,KAAK45B,WAAamD,KAY5CL,YAAa,SAAUS,GAEdn9B,KAAKw5B,SAAYx5B,KAAKo5B,aA6BvBp5B,KAAKqV,MAAMmM,cACXxhB,KAAK2gB,MAAMa,YAAY2b,GACvBn9B,KAAKskB,MAAM7G,cA7BPzd,KAAKm5B,WAELn5B,KAAKo5B,aAAc,GAGvBp5B,KAAKqV,MAAMoI,YACXzd,KAAKskB,MAAM7G,YACXzd,KAAKqd,OAAOI,YACZzd,KAAK8gB,QAAQrD,YACbzd,KAAK2gB,MAAMlD,UAAU0f,GACrBn9B,KAAK2qB,QAAQlN,UAAU0f,GACvBn9B,KAAKud,MAAME,YAEXzd,KAAK2gB,MAAM3B,SACXhf,KAAKud,MAAMyB,SACXhf,KAAK4gB,OAAO5B,SACZhf,KAAK0gB,MAAM1B,SACXhf,KAAKwgB,MAAMxB,SACXhf,KAAK8gB,QAAQ9B,SACbhf,KAAK2qB,QAAQ3L,SAEbhf,KAAKud,MAAMwN,aACX/qB,KAAK2qB,QAAQI,cAUjB/qB,KAAKud,MAAMiP,mBAmBfoQ,aAAc,SAAUhY,GAEhB5kB,KAAKk5B,aAKTl5B,KAAK2gB,MAAMS,UAAUwD,GAEjB5kB,KAAK6kB,aAAexkB,EAAOM,WAE3BX,KAAKw4B,SAASnX,OAAOrhB,KAAKud,OAE1Bvd,KAAK2qB,QAAQtJ,OAAOuD,GAEpB5kB,KAAK2gB,MAAMU,OAAOuD,IAGtB5kB,KAAK2qB,QAAQF,WAAW7F,KAU5BwY,WAAY,WAERp9B,KAAKm5B,UAAW,EAChBn5B,KAAKo5B,aAAc,EACnBp5B,KAAKq5B,UAAY,GASrBgE,YAAa,WAETr9B,KAAKm5B,UAAW,EAChBn5B,KAAKo5B,aAAc,GAUvBkE,KAAM,WAEFt9B,KAAKo5B,aAAc,EACnBp5B,KAAKq5B,aAcT9U,QAAS,WAELvkB,KAAK+4B,IAAIwE,OAELv9B,KAAKskB,MAAMC,SAEXvkB,KAAKskB,MAAMC,UAGfvkB,KAAK2gB,MAAM4D,UACXvkB,KAAK0gB,MAAM6D,UACXvkB,KAAKqV,MAAMkP,UACXvkB,KAAKud,MAAMgH,UACXvkB,KAAKwgB,MAAM+D,UACXvkB,KAAK8gB,QAAQyD,UACbvkB,KAAK2qB,QAAQpG,UAEbvkB,KAAKskB,MAAQ,KACbtkB,KAAK2gB,MAAQ,KACb3gB,KAAK0gB,MAAQ,KACb1gB,KAAKqV,MAAQ,KACbrV,KAAKud,MAAQ,KACbvd,KAAKwgB,MAAQ,KACbxgB,KAAK8gB,QAAU,KACf9gB,KAAK2qB,QAAU,KAEf3qB,KAAKugB,MAAQ,KACbvgB,KAAKygB,KAAO,KACZzgB,KAAKof,KAAO,KACZpf,KAAKkb,MAAQ,KAEblb,KAAKsjB,UAAW,EAEhBtjB,KAAKw4B,SAASjU,SAAQ,GAEtBlkB,EAAO6rB,OAAOsR,cAAcx9B,KAAKisB,QAEjClmB,KAAK03B,gBAAkB,KAEvBp9B,EAAOE,MAAMP,KAAKmV,IAAM,MAW5ByY,WAAY,SAAUb,GAGb/sB,KAAKw5B,UAENx5B,KAAKw5B,SAAU,EAEfx5B,KAAKof,KAAKwO,aAEN5tB,KAAK0gB,MAAMgd,aAEX19B,KAAK0gB,MAAMid,UAGf39B,KAAKgjB,QAAQ1D,SAASyN,GAGlB/sB,KAAKstB,OAAOsQ,SAAW59B,KAAKstB,OAAOuQ,MAEnC79B,KAAKk5B,YAAa,KAa9BrL,YAAa,SAAUd,GAGf/sB,KAAKw5B,UAAYx5B,KAAKy5B,cAEtBz5B,KAAKw5B,SAAU,EAEfx5B,KAAKof,KAAKyO,cAEV7tB,KAAKwgB,MAAML,QAEPngB,KAAK0gB,MAAMgd,aAEX19B,KAAK0gB,MAAMod,YAGf99B,KAAKkjB,SAAS5D,SAASyN,GAGnB/sB,KAAKstB,OAAOsQ,SAAW59B,KAAKstB,OAAOuQ,MAEnC79B,KAAKk5B,YAAa,KAa9BpL,UAAW,SAAUf,GAEjB/sB,KAAKs5B,OAAOha,SAASyN,GAEhB/sB,KAAKud,MAAM2N,yBAEZlrB,KAAK4tB,WAAWb,IAYxBgB,UAAW,SAAUhB,GAEjB/sB,KAAKu5B,QAAQja,SAASyN,GAEjB/sB,KAAKud,MAAM2N,yBAEZlrB,KAAK6tB,YAAYd,KAO7B1sB,EAAOk4B,KAAKhyB,UAAU8B,YAAchI,EAAOk4B,KAQ3C9wB,OAAOmF,eAAevM,EAAOk4B,KAAKhyB,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAKw5B,SAGhB7sB,IAAK,SAAU5C,IAEG,IAAVA,IAEqB,IAAjB/J,KAAKw5B,UAELx5B,KAAKw5B,SAAU,EACfx5B,KAAK0gB,MAAMid,UACX39B,KAAKof,KAAKwO,aACV5tB,KAAKgjB,QAAQ1D,SAAStf,OAE1BA,KAAKy5B,aAAc,IAIfz5B,KAAKw5B,UAELx5B,KAAKw5B,SAAU,EACfx5B,KAAKwgB,MAAML,QACXngB,KAAK0gB,MAAMod,YACX99B,KAAKof,KAAKyO,cACV7tB,KAAKkjB,SAAS5D,SAAStf,OAE3BA,KAAKy5B,aAAc,MA6B/Bp5B,EAAOy6B,MAAQ,SAAU7f,GAKrBjb,KAAKib,KAAOA,EAMZjb,KAAK+9B,UAAY,KAMjB/9B,KAAKg+B,WAAa,KAQlBh+B,KAAKi+B,iBAMLj+B,KAAKk+B,uBAAyB,KAM9Bl+B,KAAKm+B,8BAAgC,KAMrCn+B,KAAKo+B,SAAW,EAShBp+B,KAAKq+B,SAAU,EAMfr+B,KAAKs+B,mBAAqBj+B,EAAOy6B,MAAMyD,oBAMvCv+B,KAAKia,SAAW,KAKhBja,KAAKw+B,MAAQ,KAObx+B,KAAKy+B,OAAS,KAKdz+B,KAAKqV,MAAQ,KAMbrV,KAAK0+B,aAAe,EAMpB1+B,KAAK2+B,QAAU,IAMf3+B,KAAK4+B,cAAgB,IAMrB5+B,KAAK6+B,SAAW,IAMhB7+B,KAAK8+B,gBAAkB,IAMvB9+B,KAAK++B,iBAAmB,IASxB/+B,KAAKg/B,sBAAuB,EAM5Bh/B,KAAKi/B,WAAa,IAQlBj/B,KAAKk/B,YAAc,IASnBl/B,KAAKm/B,sBAKLn/B,KAAKo/B,SAAW,KAKhBp/B,KAAKq/B,SAAW,KAKhBr/B,KAAKs/B,SAAW,KAKhBt/B,KAAKu/B,SAAW,KAKhBv/B,KAAKw/B,SAAW,KAKhBx/B,KAAKy/B,SAAW,KAKhBz/B,KAAK0/B,SAAW,KAKhB1/B,KAAK2/B,SAAW,KAKhB3/B,KAAK4/B,SAAW,KAKhB5/B,KAAK6/B,UAAY,KASjB7/B,KAAK8/B,YASL9/B,KAAK+/B,cAAgB,KAOrB//B,KAAKggC,aAAe,KAUpBhgC,KAAKuoB,MAAQ,KAObvoB,KAAKigC,SAAW,KAUhBjgC,KAAKkgC,MAAQ,KAUblgC,KAAKmgC,UAAY,KAOjBngC,KAAKogC,QAAU,KAQfpgC,KAAKqgC,aAAc,EAMnBrgC,KAAKsgC,OAAS,KAMdtgC,KAAKugC,KAAO,KAMZvgC,KAAKwgC,MAAQ,KAMbxgC,KAAKygC,OAAS,KAQdzgC,KAAK0gC,cAAgB,EAMrB1gC,KAAK2gC,iBAAmB,IAAItgC,EAAO00B,SAMnC/0B,KAAK4gC,YAAc,IAAIvgC,EAAOoN,MAM9BzN,KAAK6gC,aAAe,EAMpB7gC,KAAK8gC,aAAe,KAMpB9gC,KAAK+gC,GAAK,EAMV/gC,KAAKghC,GAAK,GAQd3gC,EAAOy6B,MAAMmG,sBAAwB,EAMrC5gC,EAAOy6B,MAAMoG,sBAAwB,EAMrC7gC,EAAOy6B,MAAMyD,oBAAsB,EAOnCl+B,EAAOy6B,MAAMqG,aAAe,GAE5B9gC,EAAOy6B,MAAMv0B,WAQT6W,KAAM,WAEFpd,KAAKggC,aAAe,IAAI3/B,EAAO+gC,QAAQphC,KAAKib,KAAM,EAAG5a,EAAOghC,YAAYC,QACxEthC,KAAKuhC,aACLvhC,KAAKuhC,aAELvhC,KAAKuoB,MAAQ,IAAIloB,EAAOmhC,MAAMxhC,KAAKib,MACnCjb,KAAKkgC,MAAQ,IAAI7/B,EAAOohC,MAAMzhC,KAAKib,MACnCjb,KAAKmgC,UAAY,IAAI9/B,EAAOqhC,UAAU1hC,KAAKib,MAEvC5a,EAAOshC,WAEP3hC,KAAKigC,SAAW,IAAI5/B,EAAOshC,SAAS3hC,KAAKib,OAGzC5a,EAAOuhC,UAEP5hC,KAAKogC,QAAU,IAAI//B,EAAOuhC,QAAQ5hC,KAAKib,OAG3Cjb,KAAKsgC,OAAS,IAAIjgC,EAAOwb,OACzB7b,KAAKugC,KAAO,IAAIlgC,EAAOwb,OACvB7b,KAAKwgC,MAAQ,IAAIngC,EAAOwb,OACxB7b,KAAKygC,OAAS,IAAIpgC,EAAOwb,OAEzB7b,KAAKqV,MAAQ,IAAIhV,EAAOoN,MAAM,EAAG,GACjCzN,KAAKw+B,MAAQ,IAAIn+B,EAAOoN,MACxBzN,KAAKia,SAAW,IAAI5Z,EAAOoN,MAC3BzN,KAAK8gC,aAAe,IAAIzgC,EAAOoN,MAE/BzN,KAAKy+B,OAAS,IAAIp+B,EAAO4M,OAAO,EAAG,EAAG,IAEtCjN,KAAK+/B,cAAgB//B,KAAKggC,aAE1BhgC,KAAK+9B,UAAY19B,EAAOwhC,WAAW1gB,OAAOnhB,KAAM,EAAG,GACnDA,KAAKg+B,WAAah+B,KAAK+9B,UAAU+D,WAAW,MAE5C9hC,KAAKuoB,MAAMzX,QACN9Q,KAAKib,KAAKqS,OAAO6S,WAIlBngC,KAAKkgC,MAAMpvB,QAEf9Q,KAAKmgC,UAAUrvB,QACf9Q,KAAKggC,aAAa1a,QAAS,EAEvBtlB,KAAKigC,UAELjgC,KAAKigC,SAASnvB,QAGlB,IAAIoW,EAAQlnB,KAEZA,KAAK+hC,mBAAqB,SAAUhV,GAChC7F,EAAM8a,kBAAkBjV,IAG5B/sB,KAAKib,KAAKgR,OAAOgB,iBAAiB,QAASjtB,KAAK+hC,oBAAoB,IASxExd,QAAS,WAELvkB,KAAKuoB,MAAMgV,OACXv9B,KAAKkgC,MAAM3C,OACXv9B,KAAKmgC,UAAU5C,OAEXv9B,KAAKigC,UAELjgC,KAAKigC,SAAS1C,OAGdv9B,KAAKogC,SAELpgC,KAAKogC,QAAQ7C,OAGjBv9B,KAAKi+B,iBAEL59B,EAAOwhC,WAAWte,OAAOvjB,MAEzBA,KAAKib,KAAKgR,OAAOkC,oBAAoB,QAASnuB,KAAK+hC,qBA0BvDE,+BAAgC,SAAU5N,EAAUvP,GAEhD9kB,KAAKk+B,uBAAyB7J,EAC9Br0B,KAAKm+B,8BAAgCrZ,GAuBzCod,gBAAiB,SAAU7N,EAAUvP,GAEjC9kB,KAAKi+B,cAAc9qB,MAAOkhB,SAAUA,EAAUvP,QAASA,KAmB3Dqd,qBAAsB,SAAU9N,EAAUvP,EAASsd,QAEjC93B,IAAV83B,IAAuBA,GAAQ,GAEnCpiC,KAAKm/B,mBAAmBhsB,MAAOkhB,SAAUA,EAAUvP,QAASA,EAASsd,MAAOA,KAYhFC,wBAAyB,SAAUhO,EAAUvP,GAIzC,IAFA,IAAI9c,EAAIhI,KAAKm/B,mBAAmBp3B,OAEzBC,KAEH,GAAIhI,KAAKm/B,mBAAmBn3B,GAAGqsB,WAAaA,GAAYr0B,KAAKm/B,mBAAmBn3B,GAAG8c,UAAYA,EAG3F,OADA9kB,KAAKm/B,mBAAmBvb,OAAO5b,EAAG,IAC3B,EAIf,OAAO,GAYXs6B,0BAA2B,SAAUF,EAAOrV,GAGxC,IAFA,IAAI/kB,EAAIhI,KAAKm/B,mBAAmBp3B,OAEzBC,KACP,CACI,IAAIu6B,EAAKviC,KAAKm/B,mBAAmBn3B,GAE7Bu6B,EAAGH,QAAUA,GAASG,EAAGlO,SAASrtB,KAAKu7B,EAAGzd,QAAS9kB,KAAM+sB,IAEzD/sB,KAAKm/B,mBAAmBvb,OAAO5b,EAAG,KAY9Cw6B,mBAAoB,SAAUnO,EAAUvP,GAIpC,IAFA,IAAI9c,EAAIhI,KAAKi+B,cAAcl2B,OAEpBC,KAEH,GAAIhI,KAAKi+B,cAAcj2B,GAAGqsB,WAAaA,GAAYr0B,KAAKi+B,cAAcj2B,GAAG8c,UAAYA,EAGjF,YADA9kB,KAAKi+B,cAAcra,OAAO5b,EAAG,IAezCu5B,WAAY,WAER,GAAIvhC,KAAK8/B,SAAS/3B,QAAU1H,EAAOy6B,MAAMqG,aAGrC,OADA74B,QAAQG,KAAK,6CAA+CpI,EAAOy6B,MAAMqG,aAAe,sBACjF,KAGX,IAAIhsB,EAAKnV,KAAK8/B,SAAS/3B,OAAS,EAC5BwhB,EAAU,IAAIlpB,EAAO+gC,QAAQphC,KAAKib,KAAM9F,EAAI9U,EAAOghC,YAAYoB,OAKnE,OAHAziC,KAAK8/B,SAAS3sB,KAAKoW,GACnBvpB,KAAK,UAAYmV,GAAMoU,EAEhBA,GAUXvK,OAAQ,WAOJ,GALIhf,KAAKigC,UAELjgC,KAAKigC,SAASjhB,SAGdhf,KAAKo+B,SAAW,GAAKp+B,KAAK6gC,aAAe7gC,KAAKo+B,SAE9Cp+B,KAAK6gC,mBAFT,CAMA7gC,KAAKw+B,MAAMr4B,EAAInG,KAAKia,SAAS9T,EAAInG,KAAK8gC,aAAa36B,EACnDnG,KAAKw+B,MAAMtxB,EAAIlN,KAAKia,SAAS/M,EAAIlN,KAAK8gC,aAAa5zB,EAEnDlN,KAAK8gC,aAAa5yB,SAASlO,KAAKia,UAChCja,KAAKggC,aAAahhB,SAEdhf,KAAKogC,SAAWpgC,KAAKogC,QAAQ9a,QAE7BtlB,KAAKogC,QAAQphB,SAGjB,IAAK,IAAIhX,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAEtChI,KAAK8/B,SAAS93B,GAAGgX,SAGrBhf,KAAK6gC,aAAe,IAexB1gB,MAAO,SAAUuiB,GAEb,GAAK1iC,KAAKib,KAAKqI,WAAYtjB,KAAKqgC,YAAhC,MAKa/1B,IAATo4B,IAAsBA,GAAO,GAEjC1iC,KAAKggC,aAAa7f,QAEdngB,KAAKigC,UAELjgC,KAAKigC,SAAS9f,MAAMuiB,GAGpB1iC,KAAKogC,SAELpgC,KAAKogC,QAAQjgB,QAGjB,IAAK,IAAInY,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAEtChI,KAAK8/B,SAAS93B,GAAGmY,QAGiB,SAAlCngB,KAAKib,KAAKgR,OAAOtO,MAAMsR,SAEvBjvB,KAAKib,KAAKgR,OAAOtO,MAAMsR,OAAS,IAGhCyT,IAEA1iC,KAAKsgC,OAAOrZ,UACZjnB,KAAKugC,KAAKtZ,UACVjnB,KAAKwgC,MAAMvZ,UACXjnB,KAAKygC,OAAOxZ,UACZjnB,KAAKsgC,OAAS,IAAIjgC,EAAOwb,OACzB7b,KAAKugC,KAAO,IAAIlgC,EAAOwb,OACvB7b,KAAKwgC,MAAQ,IAAIngC,EAAOwb,OACxB7b,KAAKygC,OAAS,IAAIpgC,EAAOwb,OACzB7b,KAAKi+B,kBAGTj+B,KAAK6gC,aAAe,IAWxB8B,WAAY,SAAUx8B,EAAG+G,GAErBlN,KAAK8gC,aAAa7yB,MAAM9H,EAAG+G,GAC3BlN,KAAKw+B,MAAMvwB,MAAM,EAAG,IAaxB20B,aAAc,SAAU7V,GAEpB,GAAI/sB,KAAK0+B,aAAe,GAAK1+B,KAAK6iC,oBAAoB7iC,KAAK0+B,cAAgB1+B,KAAK0+B,YAE5E,OAAO,KAGX,IAAK1+B,KAAKo/B,SAAS9Z,OAEf,OAAOtlB,KAAKo/B,SAAStuB,MAAMic,GAG/B,IAAK/sB,KAAKq/B,SAAS/Z,OAEf,OAAOtlB,KAAKq/B,SAASvuB,MAAMic,GAG/B,IAAK,IAAI/kB,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,IAAKuhB,EAAQjE,OAET,OAAOiE,EAAQzY,MAAMic,GAI7B,OAAO,MAaX+V,cAAe,SAAU/V,GAErB,GAAI/sB,KAAKo/B,SAAS9Z,QAAUtlB,KAAKo/B,SAAS2D,aAAehW,EAAMgW,WAE3D,OAAO/iC,KAAKo/B,SAAS4D,KAAKjW,GAG9B,GAAI/sB,KAAKq/B,SAAS/Z,QAAUtlB,KAAKq/B,SAAS0D,aAAehW,EAAMgW,WAE3D,OAAO/iC,KAAKq/B,SAAS2D,KAAKjW,GAG9B,IAAK,IAAI/kB,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,GAAIuhB,EAAQjE,QAAUiE,EAAQwZ,aAAehW,EAAMgW,WAE/C,OAAOxZ,EAAQyZ,KAAKjW,GAI5B,OAAO,MAYXkW,YAAa,SAAUlW,GAEnB,GAAI/sB,KAAKo/B,SAAS9Z,QAAUtlB,KAAKo/B,SAAS2D,aAAehW,EAAMgW,WAE3D,OAAO/iC,KAAKo/B,SAAS7B,KAAKxQ,GAG9B,GAAI/sB,KAAKq/B,SAAS/Z,QAAUtlB,KAAKq/B,SAAS0D,aAAehW,EAAMgW,WAE3D,OAAO/iC,KAAKq/B,SAAS9B,KAAKxQ,GAG9B,IAAK,IAAI/kB,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,GAAIuhB,EAAQjE,QAAUiE,EAAQwZ,aAAehW,EAAMgW,WAE/C,OAAOxZ,EAAQgU,KAAKxQ,GAI5B,OAAO,MAYX8V,oBAAqB,SAAUjsB,QAEbtM,IAAVsM,IAAuBA,EAAQ5W,KAAK8/B,SAAS/3B,QAIjD,IAAK,IAFDk1B,EAAQrmB,EAEH5O,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,QAAUk1B,EAAQ,EAAGj1B,IAErChI,KAAK8/B,SAAS93B,GAEhBsd,QAER2X,IAIR,OAAQrmB,EAAQqmB,GAWpBiG,WAAY,SAAUC,QAED74B,IAAb64B,IAA0BA,GAAW,GAEzC,IAAK,IAAIn7B,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,GAAIuhB,EAAQjE,SAAW6d,EAEnB,OAAO5Z,EAIf,OAAO,MAeX6Z,yBAA0B,SAAUL,GAEhC,IAAK,IAAI/6B,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,GAAIuhB,EAAQwZ,aAAeA,EAEvB,OAAOxZ,EAIf,OAAO,MAcX8Z,iBAAkB,SAAUC,GAExB,IAAK,IAAIt7B,EAAI,EAAGA,EAAIhI,KAAK8/B,SAAS/3B,OAAQC,IAC1C,CACI,IAAIuhB,EAAUvpB,KAAK8/B,SAAS93B,GAE5B,GAAIuhB,EAAQ+Z,YAAcA,EAEtB,OAAO/Z,EAIf,OAAO,MAYXga,iBAAkB,SAAU9nB,EAAe8N,EAAS/a,QAEjClE,IAAXkE,IAAwBA,EAAS,IAAInO,EAAOoN,OAEhD,IAAI+1B,EAAK/nB,EAAc2P,eACnBjW,EAAK,GAAKquB,EAAGt0B,EAAIs0B,EAAG/uB,EAAI+uB,EAAG9zB,GAAK8zB,EAAGl0B,GAEvC,OAAOd,EAAOP,MACVu1B,EAAG/uB,EAAIU,EAAKoU,EAAQpjB,GAAKq9B,EAAG9zB,EAAIyF,EAAKoU,EAAQrc,GAAKs2B,EAAGvxB,GAAKuxB,EAAG9zB,EAAI8zB,EAAGxxB,GAAKwxB,EAAG/uB,GAAKU,EACjFquB,EAAGt0B,EAAIiG,EAAKoU,EAAQrc,GAAKs2B,EAAGl0B,EAAI6F,EAAKoU,EAAQpjB,IAAMq9B,EAAGvxB,GAAKuxB,EAAGt0B,EAAIs0B,EAAGxxB,GAAKwxB,EAAGl0B,GAAK6F,IAa1FsuB,QAAS,SAAUhoB,EAAe8N,EAASma,GAEvC,IAAKjoB,EAAckoB,aAEf,OAAO,EAOX,GAJA3jC,KAAKujC,iBAAiB9nB,EAAe8N,EAASvpB,KAAK4gC,aAEnD8C,EAAWx1B,SAASlO,KAAK4gC,aAErBnlB,EAAcmoB,SAAWnoB,EAAcmoB,QAAQn1B,SAE/C,OAAQgN,EAAcmoB,QAAQn1B,SAASzO,KAAK4gC,YAAYz6B,EAAGnG,KAAK4gC,YAAY1zB,GAE3E,GAAI7M,EAAOwjC,UAAYpoB,aAAyBpb,EAAOwjC,SAAU,CACpE,IAAI1zB,EAAQlK,KAAK2J,IAAI6L,EAActL,OAC/BC,EAASnK,KAAK2J,IAAI6L,EAAcrL,QAChCM,EAAK+K,EAActV,EAAKgK,EAAQsL,EAAckO,QAElD,GAAI3pB,KAAKib,KAAKoC,OAAOlX,EAAIojB,EAAQpjB,GAAKuK,GAAM1Q,KAAKib,KAAKoC,OAAOlX,EAAIojB,EAAQpjB,EAAIuK,EAAKP,EAClF,CACMQ,EAAK8K,EAAcvO,EAAKkD,EAASqL,EAAcmO,QAEnD,GAAI5pB,KAAKib,KAAKoC,OAAOnQ,EAAIqc,EAAQrc,GAAKyD,GAAM3Q,KAAKib,KAAKoC,OAAOnQ,EAAIqc,EAAQrc,EAAIyD,EAAKP,EAEhF,OAAO,QAIR,GAAIqL,aAAyBpb,EAAOyjC,WACzC,CACI,IAAI3zB,EAAQsL,EAActL,MACtBC,EAASqL,EAAcrL,OACvBM,GAAMP,EAAQsL,EAAcsO,OAAO5jB,EAEvC,GAAInG,KAAK4gC,YAAYz6B,GAAKuK,GAAM1Q,KAAK4gC,YAAYz6B,EAAIuK,EAAKP,EAC1D,CACQQ,GAAMP,EAASqL,EAAcsO,OAAO7c,EAExC,GAAIlN,KAAK4gC,YAAY1zB,GAAKyD,GAAM3Q,KAAK4gC,YAAY1zB,EAAIyD,EAAKP,EAEtD,OAAO,QAId,GAAIqL,aAAyB1V,KAAKipB,OACvC,CACI,IAAI7e,EAAQsL,EAAcsoB,QAAQzS,MAAMnhB,MAAQsL,EAAcsoB,QAAQC,YAAY1b,WAC9ElY,EAASqL,EAAcsoB,QAAQzS,MAAMlhB,OAASqL,EAAcsoB,QAAQC,YAAY1b,WAChF5X,GAAMP,EAAQsL,EAAcsO,OAAO5jB,EAEvC,GAAInG,KAAK4gC,YAAYz6B,GAAKuK,GAAM1Q,KAAK4gC,YAAYz6B,EAAIuK,EAAKP,EAC1D,CACI,IAAIQ,GAAMP,EAASqL,EAAcsO,OAAO7c,EAExC,GAAIlN,KAAK4gC,YAAY1zB,GAAKyD,GAAM3Q,KAAK4gC,YAAY1zB,EAAIyD,EAAKP,EAEtD,OAAO,QAId,GAAIqL,aAAyBpb,EAAOid,SAErC,IAAStV,EAAI,EAAGA,EAAIyT,EAAcwoB,aAAal8B,OAAQC,IACvD,CACI,IAAIk8B,EAAOzoB,EAAcwoB,aAAaj8B,GAEtC,GAAKk8B,EAAKC,OAMND,EAAKE,OAASF,EAAKE,MAAM31B,SAASzO,KAAK4gC,YAAYz6B,EAAGnG,KAAK4gC,YAAY1zB,IAEvE,OAAO,EAOnB,IAAK,IAAIlF,EAAI,EAAGA,EAAIyT,EAAc6Q,SAASvkB,OAAQC,IAE/C,GAAIhI,KAAKyjC,QAAQhoB,EAAc6Q,SAAStkB,GAAIuhB,EAASma,GAEjD,OAAO,EAIf,OAAO,GASX1B,kBAAmB,WAIfhiC,KAAK+/B,cAAcsE,4BAM3BhkC,EAAOy6B,MAAMv0B,UAAU8B,YAAchI,EAAOy6B,MAQ5CrzB,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,KAE1CmG,IAAK,WACD,OAAO1M,KAAK+gC,IAGhBp0B,IAAK,SAAU5C,GACX/J,KAAK+gC,GAAK96B,KAAKI,MAAM0D,MAW7BtC,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,KAE1CmG,IAAK,WACD,OAAO1M,KAAKghC,IAGhBr0B,IAAK,SAAU5C,GACX/J,KAAKghC,GAAK/6B,KAAKI,MAAM0D,MAW7BtC,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,cAE1CmG,IAAK,WACD,OAAQ1M,KAAKo+B,SAAW,GAAKp+B,KAAK6gC,aAAe7gC,KAAKo+B,YAW9D32B,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,yBAE1CmG,IAAK,WACD,OAAO1M,KAAK8/B,SAAS/3B,OAAS/H,KAAK6iC,yBAW3Cp7B,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,uBAE1CmG,IAAK,WACD,OAAO1M,KAAK6iC,yBAWpBp7B,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAKmG,KAW9CsB,OAAOmF,eAAevM,EAAOy6B,MAAMv0B,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAKkN,KAyB9C7M,EAAOmhC,MAAQ,SAAUvmB,GAKrBjb,KAAKib,KAAOA,EAMZjb,KAAKwgB,MAAQvF,EAAKuF,MAKlBxgB,KAAKwjB,gBAAkBxjB,KAAKib,KAK5Bjb,KAAKskC,kBAAoB,KAKzBtkC,KAAKukC,gBAAkB,KAKvBvkC,KAAKwkC,iBAAmB,KAKxBxkC,KAAKykC,kBAAoB,KAKzBzkC,KAAK0kC,mBAAqB,KAK1B1kC,KAAK2kC,SAAU,EASf3kC,KAAK4kC,QAAU,EAMf5kC,KAAK6kC,WAAa,EAOlB7kC,KAAKq+B,SAAU,EAMfr+B,KAAK8kC,QAAS,EAMd9kC,KAAK+kC,eAAgB,EAMrB/kC,KAAKglC,YAAc,IAAI3kC,EAAOwb,OAQ9B7b,KAAK+sB,MAAQ,KAMb/sB,KAAKilC,aAAe,KAMpBjlC,KAAKklC,aAAe,KAMpBllC,KAAKmlC,WAAa,KAMlBnlC,KAAKolC,YAAc,KAMnBplC,KAAKqlC,aAAe,KAMpBrlC,KAAKslC,cAAgB,KAOrBtlC,KAAKulC,YAAc,MAQvBllC,EAAOmhC,MAAMgE,WAAa,EAM1BnlC,EAAOmhC,MAAMiE,YAAc,EAM3BplC,EAAOmhC,MAAMkE,cAAgB,EAM7BrlC,EAAOmhC,MAAMmE,aAAe,EAM5BtlC,EAAOmhC,MAAMoE,YAAc,EAM3BvlC,EAAOmhC,MAAMqE,eAAiB,EAM9BxlC,EAAOmhC,MAAMsE,SAAW,EAMxBzlC,EAAOmhC,MAAMuE,YAAc,EAE3B1lC,EAAOmhC,MAAMj7B,WAMTuK,MAAO,WAEH,KAAI9Q,KAAKib,KAAKqS,OAAO0Y,UAAuC,IAA5BhmC,KAAKib,KAAKqS,OAAO2Y,SAMvB,OAAtBjmC,KAAKilC,aAAT,CAMA,IAAI/d,EAAQlnB,KAEZA,KAAKilC,aAAe,SAAUlY,GAC1B,OAAO7F,EAAMgf,YAAYnZ,IAG7B/sB,KAAKklC,aAAe,SAAUnY,GAC1B,OAAO7F,EAAMif,YAAYpZ,IAG7B/sB,KAAKmlC,WAAa,SAAUpY,GACxB,OAAO7F,EAAMkf,UAAUrZ,IAG3B/sB,KAAKqmC,iBAAmB,SAAUtZ,GAC9B,OAAO7F,EAAMof,gBAAgBvZ,IAGjC/sB,KAAKumC,kBAAoB,SAAUxZ,GAC/B,OAAO7F,EAAMsf,iBAAiBzZ,IAGlC/sB,KAAKolC,YAAc,SAAUrY,GACzB,OAAO7F,EAAMuf,WAAW1Z,IAG5B/sB,KAAKqlC,aAAe,SAAUtY,GAC1B,OAAO7F,EAAMwf,YAAY3Z,IAG7B/sB,KAAKslC,cAAgB,SAAUvY,GAC3B,OAAO7F,EAAMyf,aAAa5Z,IAG9B,IAAId,EAASjsB,KAAKib,KAAKgR,OAEvBA,EAAOgB,iBAAiB,YAAajtB,KAAKilC,cAAc,GACxDhZ,EAAOgB,iBAAiB,YAAajtB,KAAKklC,cAAc,GACxDjZ,EAAOgB,iBAAiB,UAAWjtB,KAAKmlC,YAAY,GAE/CnlC,KAAKib,KAAKqS,OAAO6O,WAElBl0B,OAAOglB,iBAAiB,UAAWjtB,KAAKqmC,kBAAkB,GAC1Dp+B,OAAOglB,iBAAiB,WAAYjtB,KAAKumC,mBAAmB,GAC5Dta,EAAOgB,iBAAiB,YAAajtB,KAAKqlC,cAAc,GACxDpZ,EAAOgB,iBAAiB,WAAYjtB,KAAKolC,aAAa,IAG1D,IAAIwB,EAAa5mC,KAAKib,KAAKqS,OAAOsZ,WAE9BA,IAEA3a,EAAOgB,iBAAiB2Z,EAAY5mC,KAAKslC,eAAe,GAErC,eAAfsB,EAEA5mC,KAAKulC,YAAc,IAAI1lC,GAAgB,KAAO,GAE1B,mBAAf+mC,IAEL5mC,KAAKulC,YAAc,IAAI1lC,EAAgB,EAAG,OAWtDqmC,YAAa,SAAUnZ,GAEnB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAKskC,mBAELtkC,KAAKskC,kBAAkBt9B,KAAKhH,KAAKwjB,gBAAiBuJ,GAGjD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAkB,WAAI,EAEtB/sB,KAAKwgB,MAAMwf,aAAalvB,MAAMic,KASlCoZ,YAAa,SAAUpZ,GAEnB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAK6mC,mBAEL7mC,KAAK6mC,kBAAkB7/B,KAAKhH,KAAKwjB,gBAAiBuJ,GAGjD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAkB,WAAI,EAEtB/sB,KAAKwgB,MAAMwf,aAAagD,KAAKjW,KASjCqZ,UAAW,SAAUrZ,GAEjB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAKukC,iBAELvkC,KAAKukC,gBAAgBv9B,KAAKhH,KAAKwjB,gBAAiBuJ,GAG/C/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAkB,WAAI,EAEtB/sB,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,KAUjCuZ,gBAAiB,SAAUvZ,GAElB/sB,KAAKwgB,MAAMwf,aAAa8G,aAErB9mC,KAAKukC,iBAELvkC,KAAKukC,gBAAgBv9B,KAAKhH,KAAKwjB,gBAAiBuJ,GAGpDA,EAAkB,WAAI,EAEtB/sB,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,KAWrCyZ,iBAAkB,SAAUzZ,GAExB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGVv8B,KAAKwgB,MAAMwf,aAAa8G,YAAa,EAEhC9mC,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAajCr+B,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,GAC7B/sB,KAAKwgB,MAAMwf,aAAa+G,WAAWxJ,KAAKxQ,GACxC/sB,KAAKwgB,MAAMwf,aAAagH,YAAYzJ,KAAKxQ,KAU7C0Z,WAAY,SAAU1Z,GAElB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGVv8B,KAAKwgB,MAAMwf,aAAa8G,YAAa,EAEjC9mC,KAAKwkC,kBAELxkC,KAAKwkC,iBAAiBx9B,KAAKhH,KAAKwjB,gBAAiBuJ,GAGhD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,SAK7Br+B,KAAK+kC,gBAELhY,EAAkB,WAAI,EAEtB/sB,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,KAWrC2Z,YAAa,SAAU3Z,GAEnB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGVv8B,KAAKwgB,MAAMwf,aAAa8G,YAAa,EAEjC9mC,KAAKykC,mBAELzkC,KAAKykC,kBAAkBz9B,KAAKhH,KAAKwjB,gBAAiBuJ,IAW1D4Z,aAAc,SAAU5Z,GAEhB/sB,KAAKulC,cACLxY,EAAQ/sB,KAAKulC,YAAY0B,UAAUla,IAGvC/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAIVv8B,KAAK6kC,WAAaxkC,EAAO4F,KAAKiQ,OAAO6W,EAAMma,QAAS,EAAG,GAEnDlnC,KAAK0kC,oBAEL1kC,KAAK0kC,mBAAmB19B,KAAKhH,KAAKwjB,gBAAiBuJ,IAW3Doa,mBAAoB,WAEhB,GAAInnC,KAAKib,KAAKqS,OAAO0X,YACrB,CACI,IAAIoC,EAAUpnC,KAAKib,KAAKgR,OAExBmb,EAAQD,mBAAqBC,EAAQD,oBAAsBC,EAAQC,uBAAyBD,EAAQE,yBAEpGF,EAAQD,qBAER,IAAIjgB,EAAQlnB,KAEZA,KAAKunC,mBAAqB,SAAUxa,GAChC,OAAO7F,EAAMsgB,kBAAkBza,IAGnCL,SAASO,iBAAiB,oBAAqBjtB,KAAKunC,oBAAoB,GACxE7a,SAASO,iBAAiB,uBAAwBjtB,KAAKunC,oBAAoB,GAC3E7a,SAASO,iBAAiB,0BAA2BjtB,KAAKunC,oBAAoB,KAWtFC,kBAAmB,SAAUza,GAEzB,IAAIqa,EAAUpnC,KAAKib,KAAKgR,OAEpBS,SAAS+a,qBAAuBL,GAAW1a,SAASgb,wBAA0BN,GAAW1a,SAASib,2BAA6BP,GAG/HpnC,KAAK8kC,QAAS,EACd9kC,KAAKglC,YAAY1lB,UAAS,EAAMyN,KAKhC/sB,KAAK8kC,QAAS,EACd9kC,KAAKglC,YAAY1lB,UAAS,EAAOyN,KASzC6a,mBAAoB,WAEhBlb,SAASmb,gBAAkBnb,SAASmb,iBAAmBnb,SAASob,oBAAsBpb,SAASqb,sBAE/Frb,SAASmb,kBAETnb,SAASyB,oBAAoB,oBAAqBnuB,KAAKunC,oBAAoB,GAC3E7a,SAASyB,oBAAoB,uBAAwBnuB,KAAKunC,oBAAoB,GAC9E7a,SAASyB,oBAAoB,0BAA2BnuB,KAAKunC,oBAAoB,IAQrFhK,KAAM,WAEF,IAAItR,EAASjsB,KAAKib,KAAKgR,OAEvBA,EAAOkC,oBAAoB,YAAanuB,KAAKilC,cAAc,GAC3DhZ,EAAOkC,oBAAoB,YAAanuB,KAAKklC,cAAc,GAC3DjZ,EAAOkC,oBAAoB,UAAWnuB,KAAKmlC,YAAY,GACvDlZ,EAAOkC,oBAAoB,YAAanuB,KAAKqlC,cAAc,GAC3DpZ,EAAOkC,oBAAoB,WAAYnuB,KAAKolC,aAAa,GAEzD,IAAIwB,EAAa5mC,KAAKib,KAAKqS,OAAOsZ,WAE9BA,GAEA3a,EAAOkC,oBAAoByY,EAAY5mC,KAAKslC,eAAe,GAG/Dr9B,OAAOkmB,oBAAoB,UAAWnuB,KAAKqmC,kBAAkB,GAC7Dp+B,OAAOkmB,oBAAoB,WAAYnuB,KAAKumC,mBAAmB,GAE/D7Z,SAASyB,oBAAoB,oBAAqBnuB,KAAKunC,oBAAoB,GAC3E7a,SAASyB,oBAAoB,uBAAwBnuB,KAAKunC,oBAAoB,GAC9E7a,SAASyB,oBAAoB,0BAA2BnuB,KAAKunC,oBAAoB,KAMzFlnC,EAAOmhC,MAAMj7B,UAAU8B,YAAchI,EAAOmhC,OAoC5C3hC,EAAgB0G,cACU8B,YAAcxI,EAExCA,EAAgB0G,UAAU0gC,UAAY,SAAUla,GAG5C,IAAKltB,EAAgBmoC,iBAAmBjb,EACxC,CAUI,IAAK,IAAIrjB,KAAQqjB,EAEPrjB,KAAQ7J,EAAgB0G,WAE1BkB,OAAOmF,eAAe/M,EAAgB0G,UAAWmD,GAC7CgD,IAdK,SAAUX,GAEvB,OAAO,WACH,IAAI2vB,EAAI17B,KAAKG,cAAc4L,GAC3B,MAAoB,mBAAN2vB,EAAmBA,EAAIA,EAAEl1B,KAAKxG,KAAKG,gBAUxC8nC,CAAWv+B,KAI5B7J,EAAgBmoC,iBAAkB,EAItC,OADAhoC,KAAKG,cAAgB4sB,EACd/sB,MAIXyH,OAAOygC,iBAAiBroC,EAAgB0G,WACpC6B,MAAU2B,MAAO,SACjBhK,WAAe2M,IAAK,WAAc,OAAO1M,KAAKE,aAC9CgnC,QACIx6B,IAAK,WACD,OAAQ1M,KAAKC,cAAgBD,KAAKG,cAAc0kC,YAAc7kC,KAAKG,cAAcgoC,SAAY,IAGrGC,QACI17B,IAAK,WACD,OAAQ1M,KAAKC,aAAeD,KAAKG,cAAckoC,aAAgB,IAGvEC,QAAYv+B,MAAO,KAyBvB1J,EAAOqhC,UAAY,SAAUzmB,GAKzBjb,KAAKib,KAAOA,EAMZjb,KAAKwgB,MAAQvF,EAAKuF,MAKlBxgB,KAAKwjB,gBAAkBxjB,KAAKib,KAK5Bjb,KAAKuoC,oBAAsB,KAK3BvoC,KAAKwoC,oBAAsB,KAK3BxoC,KAAKyoC,kBAAoB,KAKzBzoC,KAAK2kC,SAAU,EAQf3kC,KAAK4kC,QAAU,EAQf5kC,KAAK+sB,MAAQ,KAOb/sB,KAAKq+B,SAAU,EAMfr+B,KAAK0oC,iBAAmB,KAMxB1oC,KAAK2oC,iBAAmB,KAMxB3oC,KAAK4oC,eAAiB,KAMtB5oC,KAAK6oC,qBAAuB,KAM5B7oC,KAAK8oC,gBAAkB,KAMvB9oC,KAAK+oC,iBAAmB,MAI5B1oC,EAAOqhC,UAAUn7B,WAMbuK,MAAO,WAEH,GAA8B,OAA1B9Q,KAAK0oC,iBAAT,CAMA,IAAIxhB,EAAQlnB,KAEZ,GAAIA,KAAKib,KAAKqS,OAAO6S,UACrB,CACIngC,KAAK0oC,iBAAmB,SAAU3b,GAC9B,OAAO7F,EAAM8hB,cAAcjc,IAG/B/sB,KAAK2oC,iBAAmB,SAAU5b,GAC9B,OAAO7F,EAAM+hB,cAAclc,IAG/B/sB,KAAK4oC,eAAiB,SAAU7b,GAC5B,OAAO7F,EAAMgiB,YAAYnc,IAG7B/sB,KAAK6oC,qBAAuB,SAAU9b,GAClC,OAAO7F,EAAMiiB,kBAAkBpc,IAGnC/sB,KAAK8oC,gBAAkB,SAAU/b,GAC7B,OAAO7F,EAAMkiB,aAAarc,IAG9B/sB,KAAK+oC,iBAAmB,SAAUhc,GAC9B,OAAO7F,EAAMmiB,cAActc,IAG/B,IAAId,EAASjsB,KAAKib,KAAKgR,OAEvBA,EAAOgB,iBAAiB,gBAAiBjtB,KAAK0oC,kBAAkB,GAChEzc,EAAOgB,iBAAiB,gBAAiBjtB,KAAK2oC,kBAAkB,GAChE1c,EAAOgB,iBAAiB,cAAejtB,KAAK4oC,gBAAgB,GAG5D3c,EAAOgB,iBAAiB,cAAejtB,KAAK0oC,kBAAkB,GAC9Dzc,EAAOgB,iBAAiB,cAAejtB,KAAK2oC,kBAAkB,GAC9D1c,EAAOgB,iBAAiB,YAAajtB,KAAK4oC,gBAAgB,GAE1D3c,EAAOtO,MAAM,uBAAyB,OACtCsO,EAAOtO,MAAM,oBAAsB,OAE9B3d,KAAKib,KAAKqS,OAAO6O,WAElBl0B,OAAOglB,iBAAiB,cAAejtB,KAAK6oC,sBAAsB,GAClE5c,EAAOgB,iBAAiB,gBAAiBjtB,KAAK+oC,kBAAkB,GAChE9c,EAAOgB,iBAAiB,eAAgBjtB,KAAK8oC,iBAAiB,GAG9D7gC,OAAOglB,iBAAiB,YAAajtB,KAAK6oC,sBAAsB,GAChE5c,EAAOgB,iBAAiB,cAAejtB,KAAK+oC,kBAAkB,GAC9D9c,EAAOgB,iBAAiB,aAAcjtB,KAAK8oC,iBAAiB,OAYxEE,cAAe,SAAUjc,GAErB/sB,KAAKib,KAAKuF,MAAM8hB,2BAA0B,EAAOvV,GAEjD/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAKuoC,qBAELvoC,KAAKuoC,oBAAoBvhC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGnD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAMgW,WAAahW,EAAMuW,UAEC,UAAtBvW,EAAMuc,aAAiD,IAAtBvc,EAAMuc,YAEvCtpC,KAAKwgB,MAAMwf,aAAalvB,MAAMic,GAI9B/sB,KAAKwgB,MAAMoiB,aAAa7V,KAUhCkc,cAAe,SAAUlc,GAErB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAKwoC,qBAELxoC,KAAKwoC,oBAAoBxhC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGnD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAMgW,WAAahW,EAAMuW,UAEC,UAAtBvW,EAAMuc,aAAiD,IAAtBvc,EAAMuc,YAEvCtpC,KAAKwgB,MAAMwf,aAAagD,KAAKjW,GAI7B/sB,KAAKwgB,MAAMsiB,cAAc/V,KAUjCmc,YAAa,SAAUnc,GAEnB/sB,KAAKib,KAAKuF,MAAM8hB,2BAA0B,EAAMvV,GAEhD/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGNv8B,KAAKyoC,mBAELzoC,KAAKyoC,kBAAkBzhC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGjD/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,UAKjCtR,EAAMgW,WAAahW,EAAMuW,UAEC,UAAtBvW,EAAMuc,aAAiD,IAAtBvc,EAAMuc,YAEvCtpC,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,GAI7B/sB,KAAKwgB,MAAMyiB,YAAYlW,KAW/Boc,kBAAmB,SAAUpc,GAEzB,GAA2B,UAAtBA,EAAMuc,aAAiD,IAAtBvc,EAAMuc,aAAgCtpC,KAAKwgB,MAAMwf,aAAa8G,WAKpG,CACI,IAAIvd,EAAUvpB,KAAKwgB,MAAM4iB,yBAAyBrW,EAAMgW,YAEpDxZ,GAAWA,EAAQud,YAEnB9mC,KAAKkpC,YAAYnc,QARrB/sB,KAAKkpC,YAAYnc,IAoBzBqc,aAAc,SAAUrc,GASpB,GAPA/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGgB,UAAtBxP,EAAMuc,aAAiD,IAAtBvc,EAAMuc,YAEvCtpC,KAAKwgB,MAAMwf,aAAa8G,YAAa,MAGzC,CACI,IAAIvd,EAAUvpB,KAAKwgB,MAAM4iB,yBAAyBrW,EAAMgW,YAEpDxZ,IAEAA,EAAQud,YAAa,GAIzB9mC,KAAKwgB,MAAM+H,MAAMic,kBAEjBxkC,KAAKwgB,MAAM+H,MAAMic,iBAAiBx9B,KAAKhH,KAAKwgB,MAAM+H,MAAM/E,gBAAiBuJ,GAGxE/sB,KAAKwgB,MAAM6d,SAAYr+B,KAAKq+B,SAK7Br+B,KAAKwgB,MAAM+H,MAAMwc,gBAEjBhY,EAAkB,WAAI,EAElBxD,EAEAA,EAAQgU,KAAKxQ,GAIb/sB,KAAKwgB,MAAMwf,aAAazC,KAAKxQ,KAYzCsc,cAAe,SAAUtc,GASrB,GAPA/sB,KAAK+sB,MAAQA,EAET/sB,KAAK2kC,SAEL5X,EAAMwP,iBAGgB,UAAtBxP,EAAMuc,aAAiD,IAAtBvc,EAAMuc,YAEvCtpC,KAAKwgB,MAAMwf,aAAa8G,YAAa,MAGzC,CACI,IAAIvd,EAAUvpB,KAAKwgB,MAAM4iB,yBAAyBrW,EAAMgW,YAEpDxZ,IAEAA,EAAQud,YAAa,GAIzB9mC,KAAKwgB,MAAM+H,MAAMkc,mBAEjBzkC,KAAKwgB,MAAM+H,MAAMkc,kBAAkBz9B,KAAKhH,KAAKwgB,MAAM+H,MAAM/E,gBAAiBuJ,IASlFwQ,KAAM,WAEF,IAAItR,EAASjsB,KAAKib,KAAKgR,OAEvBA,EAAOkC,oBAAoB,gBAAiBnuB,KAAK0oC,kBAAkB,GACnEzc,EAAOkC,oBAAoB,gBAAiBnuB,KAAK2oC,kBAAkB,GACnE1c,EAAOkC,oBAAoB,cAAenuB,KAAK4oC,gBAAgB,GAG/D3c,EAAOkC,oBAAoB,cAAenuB,KAAK0oC,kBAAkB,GACjEzc,EAAOkC,oBAAoB,cAAenuB,KAAK2oC,kBAAkB,GACjE1c,EAAOkC,oBAAoB,YAAanuB,KAAK4oC,gBAAgB,GAE7D3gC,OAAOkmB,oBAAoB,cAAenuB,KAAK6oC,sBAAsB,GACrE5c,EAAOkC,oBAAoB,gBAAiBnuB,KAAK+oC,kBAAkB,GACnE9c,EAAOkC,oBAAoB,eAAgBnuB,KAAK8oC,iBAAiB,GAGjE7gC,OAAOkmB,oBAAoB,YAAanuB,KAAK6oC,sBAAsB,GACnE5c,EAAOkC,oBAAoB,cAAenuB,KAAK+oC,kBAAkB,GACjE9c,EAAOkC,oBAAoB,aAAcnuB,KAAK8oC,iBAAiB,KAMvEzoC,EAAOqhC,UAAUn7B,UAAU8B,YAAchI,EAAOqhC,UAgChDrhC,EAAOkpC,aAAe,SAAUpf,EAAQqf,GAKpCxpC,KAAKmqB,OAASA,EAKdnqB,KAAKib,KAAOkP,EAAOlP,KAMnBjb,KAAK+sB,MAAQ,KAMb/sB,KAAKypC,QAAS,EAMdzpC,KAAK0pC,MAAO,EAMZ1pC,KAAK2pC,SAAW,EAMhB3pC,KAAK4pC,OAAS,EAQd5pC,KAAK6pC,QAAU,EAQf7pC,KAAK8pC,QAAS,EAQd9pC,KAAK+pC,UAAW,EAQhB/pC,KAAKgqC,SAAU,EAMfhqC,KAAK+J,MAAQ,EAKb/J,KAAKwpC,WAAaA,EAQlBxpC,KAAKsgC,OAAS,IAAIjgC,EAAOwb,OAQzB7b,KAAKugC,KAAO,IAAIlgC,EAAOwb,OAQvB7b,KAAKiqC,QAAU,IAAI5pC,EAAOwb,QAI9Bxb,EAAOkpC,aAAahjC,WAWhBuK,MAAO,SAAUic,EAAOhjB,GAEhB/J,KAAKypC,SAKTzpC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EACZ1pC,KAAK2pC,SAAW3pC,KAAKib,KAAKmE,KAAKA,KAC/Bpf,KAAK6pC,QAAU,EAEf7pC,KAAK+sB,MAAQA,EACb/sB,KAAK+J,MAAQA,EAETgjB,IAEA/sB,KAAK8pC,OAAS/c,EAAM+c,OACpB9pC,KAAK+pC,SAAWhd,EAAMgd,SACtB/pC,KAAKgqC,QAAUjd,EAAMid,SAGzBhqC,KAAKsgC,OAAOhhB,SAAStf,KAAM+J,KAa/BwzB,KAAM,SAAUxQ,EAAOhjB,GAEf/J,KAAK0pC,OAKT1pC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EACZ1pC,KAAK4pC,OAAS5pC,KAAKib,KAAKmE,KAAKA,KAE7Bpf,KAAK+sB,MAAQA,EACb/sB,KAAK+J,MAAQA,EAETgjB,IAEA/sB,KAAK8pC,OAAS/c,EAAM+c,OACpB9pC,KAAK+pC,SAAWhd,EAAMgd,SACtB/pC,KAAKgqC,QAAUjd,EAAMid,SAGzBhqC,KAAKugC,KAAKjhB,SAAStf,KAAM+J,KAW7BmgC,SAAU,SAAUngC,GAEhB/J,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EAEZ1pC,KAAK+J,MAAQA,EAEb/J,KAAKiqC,QAAQ3qB,SAAStf,KAAM+J,IAYhCogC,YAAa,SAAU7tB,GAInB,OAFAA,EAAWA,GAAY,IAEftc,KAAKypC,QAAWzpC,KAAK2pC,SAAWrtB,EAAYtc,KAAKib,KAAKmE,KAAKA,MAYvEgrB,aAAc,SAAU9tB,GAIpB,OAFAA,EAAWA,GAAY,IAEftc,KAAK0pC,MAAS1pC,KAAK4pC,OAASttB,EAAYtc,KAAKib,KAAKmE,KAAKA,MASnEe,MAAO,WAEHngB,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EAEZ1pC,KAAK2pC,SAAW3pC,KAAKib,KAAKmE,KAAKA,KAC/Bpf,KAAK6pC,QAAU,EAEf7pC,KAAK8pC,QAAS,EACd9pC,KAAK+pC,UAAW,EAChB/pC,KAAKgqC,SAAU,GAUnBzlB,QAAS,WAELvkB,KAAKsgC,OAAOrZ,UACZjnB,KAAKugC,KAAKtZ,UACVjnB,KAAKiqC,QAAQhjB,UAEbjnB,KAAKmqB,OAAS,KACdnqB,KAAKib,KAAO,OAMpB5a,EAAOkpC,aAAahjC,UAAU8B,YAAchI,EAAOkpC,aAUnD9hC,OAAOmF,eAAevM,EAAOkpC,aAAahjC,UAAW,YAEjDmG,IAAK,WAED,OAAI1M,KAAK0pC,MAEG,EAGL1pC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK2pC,YAqB1CtpC,EAAO+gC,QAAU,SAAUnmB,EAAM9F,EAAIk1B,GAKjCrqC,KAAKib,KAAOA,EAKZjb,KAAKmV,GAAKA,EAMVnV,KAAKoI,KAAO/H,EAAOgC,QAMnBrC,KAAKmrB,QAAS,EAMdnrB,KAAK+iC,WAAa,EAMlB/iC,KAAKsjC,UAAY,KAKjBtjC,KAAKqqC,YAAcA,GAAgBhqC,EAAOghC,YAAYC,OAASjhC,EAAOghC,YAAYiJ,QAMlFtqC,KAAKkH,OAAS,KASdlH,KAAK4kC,OAAS,KAWd5kC,KAAK+mC,WAAa,IAAI1mC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQqE,aAa/DzlC,KAAKuqC,aAAe,IAAIlqC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQsE,eAajE1lC,KAAKgnC,YAAc,IAAI3mC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQuE,cAahE3lC,KAAKwqC,WAAa,IAAInqC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQwE,aAa/D5lC,KAAKyqC,cAAgB,IAAIpqC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQyE,gBAalE7lC,KAAK0qC,aAAe,IAAIrqC,EAAOkpC,aAAavpC,KAAMK,EAAO+gC,QAAQuJ,eAOjE3qC,KAAK4qC,WAAY,EAMjB5qC,KAAK6qC,YAML7qC,KAAK8qC,UAAY,EAMjB9qC,KAAK+qC,aAAc,EAKnB/qC,KAAK8mC,YAAa,EAKlB9mC,KAAKgrC,SAAW,EAKhBhrC,KAAKirC,SAAW,EAKhBjrC,KAAKkrC,OAAS,EAKdlrC,KAAKmrC,OAAS,EAKdnrC,KAAKorC,SAAW,EAKhBprC,KAAKqrC,SAAW,EAMhBrrC,KAAKsrC,aAAe,EAMpBtrC,KAAKurC,aAAe,EAMpBvrC,KAAKwrC,UAAY,EAMjBxrC,KAAKyrC,UAAY,EAMjBzrC,KAAKmG,GAAK,EAMVnG,KAAKkN,GAAK,EAKVlN,KAAK0rC,QAAkB,IAAPv2B,EAQhBnV,KAAKypC,QAAS,EAQdzpC,KAAK0pC,MAAO,EAMZ1pC,KAAK2pC,SAAW,EAMhB3pC,KAAK4pC,OAAS,EAMd5pC,KAAK2rC,gBAAkB,EAMvB3rC,KAAK4rC,aAAe,EAMpB5rC,KAAK6rC,iBAAmB9yB,OAAOC,UAM/BhZ,KAAK8rC,aAAe,KAWpB9rC,KAAK+rC,yBAML/rC,KAAKslB,QAAS,EAMdtlB,KAAKkoB,OAAQ,EAKbloB,KAAKia,SAAW,IAAI5Z,EAAOoN,MAK3BzN,KAAKgsC,aAAe,IAAI3rC,EAAOoN,MAK/BzN,KAAKisC,WAAa,IAAI5rC,EAAOoN,MAO7BzN,KAAKy+B,OAAS,IAAIp+B,EAAO4M,OAAO,EAAG,EAAG,IAOtCjN,KAAKksC,kBAAoB,KAQzBlsC,KAAKmsC,wBAA0B,MASnC9rC,EAAO+gC,QAAQoE,UAAY,EAO3BnlC,EAAO+gC,QAAQqE,YAAc,EAO7BplC,EAAO+gC,QAAQuE,aAAe,EAO9BtlC,EAAO+gC,QAAQsE,cAAgB,EAQ/BrlC,EAAO+gC,QAAQwE,YAAc,EAQ7BvlC,EAAO+gC,QAAQyE,eAAiB,GAOhCxlC,EAAO+gC,QAAQuJ,cAAgB,GAE/BtqC,EAAO+gC,QAAQ76B,WAQX6lC,aAAc,WAEVpsC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EAER1pC,KAAK0rC,UAEL1rC,KAAK+mC,WAAW5mB,QAChBngB,KAAKuqC,aAAapqB,QAClBngB,KAAKgnC,YAAY7mB,QACjBngB,KAAKwqC,WAAWrqB,QAChBngB,KAAKyqC,cAActqB,QACnBngB,KAAK0qC,aAAavqB,UAa1BksB,mBAAoB,SAAUC,EAASvf,GAI/B1sB,EAAO+gC,QAAQqE,YAAc6G,GAE7BtsC,KAAK+mC,WAAWj2B,MAAMic,GAGtB1sB,EAAO+gC,QAAQuE,aAAe2G,GAE9BtsC,KAAKgnC,YAAYl2B,MAAMic,GAGvB1sB,EAAO+gC,QAAQsE,cAAgB4G,GAE/BtsC,KAAKuqC,aAAaz5B,MAAMic,GAGxB1sB,EAAO+gC,QAAQwE,YAAc0G,GAE7BtsC,KAAKwqC,WAAW15B,MAAMic,GAGtB1sB,EAAO+gC,QAAQyE,eAAiByG,GAEhCtsC,KAAKyqC,cAAc35B,MAAMic,GAGzB1sB,EAAO+gC,QAAQuJ,cAAgB2B,GAE/BtsC,KAAK0qC,aAAa55B,MAAMic,IAahCwf,iBAAkB,SAAU3H,EAAQ7X,GAE5B6X,IAAWvkC,EAAOmhC,MAAMiE,aAExBzlC,KAAK+mC,WAAWxJ,KAAKxQ,GAGrB6X,IAAWvkC,EAAOmhC,MAAMmE,cAExB3lC,KAAKgnC,YAAYzJ,KAAKxQ,GAGtB6X,IAAWvkC,EAAOmhC,MAAMkE,eAExB1lC,KAAKuqC,aAAahN,KAAKxQ,GAGvB6X,IAAWvkC,EAAOmhC,MAAMoE,aAExB5lC,KAAKwqC,WAAWjN,KAAKxQ,GAGrB6X,IAAWvkC,EAAOmhC,MAAMqE,gBAExB7lC,KAAKyqC,cAAclN,KAAKxQ,GAGb,IAAX6X,GAEA5kC,KAAK0qC,aAAanN,KAAKxQ,IAa/Byf,cAAe,SAAUzf,GAErB/sB,KAAK4kC,OAAS7X,EAAM6X,OAEpB,IAAI6H,EAAgD,SAAxC1f,EAAM3kB,KAAKskC,cAAc1hC,QAAQ,QAEvBV,IAAlByiB,EAAMuf,QAEFG,EAEAzsC,KAAKqsC,mBAAmBtf,EAAMuf,QAASvf,GAIvC/sB,KAAKusC,iBAAiBxf,EAAM6X,OAAQ7X,GAMpC0f,EAEAzsC,KAAK+mC,WAAWj2B,MAAMic,IAItB/sB,KAAK+mC,WAAWxJ,KAAKxQ,GACrB/sB,KAAKgnC,YAAYzJ,KAAKxQ,IAQR,IAAlBA,EAAMuf,SAAiBvf,EAAMid,SAAWhqC,KAAK+mC,WAAW0C,SAExDzpC,KAAK+mC,WAAWxJ,KAAKxQ,GACrB/sB,KAAKgnC,YAAYl2B,MAAMic,IAG3B/sB,KAAK0pC,MAAO,EACZ1pC,KAAKypC,QAAS,GAEVzpC,KAAK+mC,WAAW0C,QAAUzpC,KAAKgnC,YAAYyC,QAAUzpC,KAAKuqC,aAAad,QAAUzpC,KAAKwqC,WAAWf,QAAUzpC,KAAKyqC,cAAchB,QAAUzpC,KAAK0qC,aAAajB,UAE1JzpC,KAAK0pC,MAAO,EACZ1pC,KAAKypC,QAAS,IAUtB34B,MAAO,SAAUic,GAEb,IAAIvM,EAAQxgB,KAAKib,KAAKuF,MA2DtB,OAzDIuM,EAAiB,YAEjB/sB,KAAKsjC,UAAYvW,EAAMuW,WAG3BtjC,KAAK+iC,WAAahW,EAAMgW,WACxB/iC,KAAKkH,OAAS6lB,EAAM7lB,OAEhBlH,KAAK0rC,QAEL1rC,KAAKwsC,cAAczf,IAInB/sB,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,GAGhB1pC,KAAKslB,QAAS,EACdtlB,KAAK8mC,YAAa,EAClB9mC,KAAKkoB,OAAQ,EAEbloB,KAAK6qC,YACL7qC,KAAKksC,kBAAoB,KACzBlsC,KAAKmsC,wBAA0B,KAG/BnsC,KAAK6rC,iBAAmB7rC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK2pC,SACnD3pC,KAAK2pC,SAAW3pC,KAAKib,KAAKmE,KAAKA,KAC/Bpf,KAAK4qC,WAAY,EAGjB5qC,KAAKgjC,KAAKjW,GAAO,GAGjB/sB,KAAKgsC,aAAa/9B,MAAMjO,KAAKmG,EAAGnG,KAAKkN,IAEjCsT,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMmG,uBAC1CzgB,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMyD,qBACzC/d,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMoG,uBAAuD,IAA9B1gB,EAAMmsB,uBAE1EnsB,EAAMra,EAAInG,KAAKmG,EACfqa,EAAMtT,EAAIlN,KAAKkN,EACfsT,EAAMvG,SAAShM,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GAClCsT,EAAM8f,OAAOhhB,SAAStf,KAAM+sB,GAC5BvM,EAAMmiB,WAAW3iC,KAAKmG,EAAGnG,KAAKkN,IAGlClN,KAAK+qC,aAAc,EAEnB/qC,KAAK4rC,eAEqB,OAAtB5rC,KAAK8rC,cAEL9rC,KAAK8rC,aAAac,gBAAgB5sC,MAG/BA,MAQXgf,OAAQ,WAEJ,IAAIwB,EAAQxgB,KAAKib,KAAKuF,MAElBxgB,KAAKslB,SAGDtlB,KAAKkoB,QAED1H,EAAMmgB,iBAAiBhL,MAAQ,GAE/B31B,KAAK6sC,2BAA0B,GAGnC7sC,KAAKkoB,OAAQ,IAGM,IAAnBloB,KAAK4qC,WAAuB5qC,KAAKsc,UAAYkE,EAAMqe,YAE/Cre,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMmG,uBAC1CzgB,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMyD,qBACzC/d,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMoG,uBAAuD,IAA9B1gB,EAAMmsB,sBAE1EnsB,EAAMigB,OAAOnhB,SAAStf,MAG1BA,KAAK4qC,WAAY,GAIjBpqB,EAAMwe,sBAAwBh/B,KAAKib,KAAKmE,KAAKA,MAAQpf,KAAK8qC,YAE1D9qC,KAAK8qC,UAAY9qC,KAAKib,KAAKmE,KAAKA,KAAOoB,EAAMye,WAE7Cj/B,KAAK6qC,SAAS13B,MACVhN,EAAGnG,KAAKia,SAAS9T,EACjB+G,EAAGlN,KAAKia,SAAS/M,IAGjBlN,KAAK6qC,SAAS9iC,OAASyY,EAAM0e,aAE7Bl/B,KAAK6qC,SAASiC,WAc9B9J,KAAM,SAAUjW,EAAOggB,GAEnB,IAAIvsB,EAAQxgB,KAAKib,KAAKuF,MAEtB,IAAIA,EAAMwsB,WAAV,MAKkB1iC,IAAdyiC,IAA2BA,GAAY,QAEtBziC,IAAjByiB,EAAM6X,SAEN5kC,KAAK4kC,OAAS7X,EAAM6X,QAGpBmI,GAAa/sC,KAAK0rC,SAElB1rC,KAAKwsC,cAAczf,GAGvB/sB,KAAKgrC,QAAUje,EAAMie,QACrBhrC,KAAKirC,QAAUle,EAAMke,QAErBjrC,KAAKkrC,MAAQne,EAAMme,MACnBlrC,KAAKmrC,MAAQpe,EAAMoe,MAEnBnrC,KAAKorC,QAAUre,EAAMqe,QACrBprC,KAAKqrC,QAAUte,EAAMse,QAEjBrrC,KAAK0rC,SAAWlrB,EAAM+H,MAAMuc,SAAWiI,IAEvC/sC,KAAKsrC,aAAeve,EAAMye,WAAaze,EAAMkgB,cAAgBlgB,EAAMmgB,iBAAmB,EACtFltC,KAAKurC,aAAexe,EAAM0e,WAAa1e,EAAMogB,cAAgBpgB,EAAMqgB,iBAAmB,EAEtFptC,KAAKwrC,WAAaxrC,KAAKsrC,aACvBtrC,KAAKyrC,WAAazrC,KAAKurC,cAG3BvrC,KAAKmG,GAAKnG,KAAKkrC,MAAQlrC,KAAKib,KAAK5F,MAAMxG,OAAO1I,GAAKqa,EAAMnL,MAAMlP,EAC/DnG,KAAKkN,GAAKlN,KAAKmrC,MAAQnrC,KAAKib,KAAK5F,MAAMxG,OAAO3B,GAAKsT,EAAMnL,MAAMnI,EAE/DlN,KAAKia,SAAShM,MAAMjO,KAAKmG,EAAGnG,KAAKkN,GACjClN,KAAKy+B,OAAOt4B,EAAInG,KAAKmG,EACrBnG,KAAKy+B,OAAOvxB,EAAIlN,KAAKkN,GAEjBsT,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMmG,uBAC1CzgB,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMyD,qBACzC/d,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMoG,uBAAuD,IAA9B1gB,EAAMmsB,uBAE1EnsB,EAAMuf,cAAgB//B,KACtBwgB,EAAMra,EAAInG,KAAKmG,EACfqa,EAAMtT,EAAIlN,KAAKkN,EACfsT,EAAMvG,SAAShM,MAAMuS,EAAMra,EAAGqa,EAAMtT,GACpCsT,EAAMie,OAAOt4B,EAAIqa,EAAMra,EACvBqa,EAAMie,OAAOvxB,EAAIsT,EAAMtT,GAG3BlN,KAAK8mC,WAAa9mC,KAAKib,KAAK5F,MAAM+F,OAAO3M,SAASzO,KAAKkrC,MAAOlrC,KAAKmrC,OAInE,IAFA,IAAInjC,EAAIwY,EAAMyd,cAAcl2B,OAErBC,KAEHwY,EAAMyd,cAAcj2B,GAAGqsB,SAASrtB,KAAKwZ,EAAMyd,cAAcj2B,GAAG8c,QAAS9kB,KAAMA,KAAKmG,EAAGnG,KAAKkN,EAAG6/B,GAgB/F,OAZ0B,OAAtB/sC,KAAK8rC,cAA2B9rC,KAAKib,KAAKqG,SAAUthB,KAAK8rC,aAAauB,UAA4C,IAAhCrtC,KAAK8rC,aAAawB,UAO/F9sB,EAAMmgB,iBAAiBhL,MAAQ,GAEpC31B,KAAK6sC,0BAA0BE,IAPQ,IAAnC/sC,KAAK8rC,aAAa9sB,OAAOhf,QAEzBA,KAAK8rC,aAAe,MAQrB9rC,OAYX6sC,0BAA2B,SAAUE,GAGjC,IAAIQ,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAKlBC,EAAc1tC,KAAKib,KAAKuF,MAAMmgB,iBAAiBgN,MAInD,IAFA3tC,KAAK+rC,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAYvtC,KAAKib,KAAKqG,SAAUosB,EAAYvV,OAAOkV,UAG3HK,EAAYE,SAAU,GAEjBb,GAAaW,EAAYI,iBAAiB9tC,MAAM,KAC/C+sC,GAAaW,EAAYK,iBAAiB/tC,MAAM,MAElDutC,EAAuBG,EAAYvV,OAAOvD,cAC1C4Y,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClB1tC,KAAK+rC,sBAAsB54B,KAAKu6B,KAIxCA,EAAc1tC,KAAKib,KAAKuF,MAAMmgB,iBAAiB3O,KASnD,IAFA0b,EAAc1tC,KAAKib,KAAKuF,MAAMmgB,iBAAiBgN,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnER,GAAaW,EAAYI,iBAAiB9tC,MAAM,KAC/C+sC,GAAaW,EAAYK,iBAAiB/tC,MAAM,MAElDutC,EAAuBG,EAAYvV,OAAOvD,cAC1C4Y,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClB1tC,KAAK+rC,sBAAsB54B,KAAKu6B,IAIxCA,EAAc1tC,KAAKib,KAAKuF,MAAMmgB,iBAAiB3O,KAUnD,OAPIhyB,KAAKib,KAAKuF,MAAM0d,yBAEhBuP,EAAkBztC,KAAKib,KAAKuF,MAAM0d,uBAAuBl3B,KAAKhH,KAAKib,KAAKuF,MAAM2d,8BAA+Bn+B,KAAMA,KAAK+rC,sBAAuB0B,IAGnJztC,KAAKiuC,WAAWR,GAAiB,GAEH,OAAtBztC,KAAK8rC,cAgBjBmC,WAAY,SAAUC,EAAW5d,QAEdhmB,IAAXgmB,IAAwBA,GAAS,GAGnB,OAAd4d,EAGIluC,KAAK8rC,eAEL9rC,KAAK8rC,aAAaqC,mBAAmBnuC,KAAMswB,GAC3CtwB,KAAK8rC,aAAe,MAKE,OAAtB9rC,KAAK8rC,cAGL9rC,KAAK8rC,aAAeoC,EACpBA,EAAUE,oBAAoBpuC,KAAMswB,IAKhCtwB,KAAK8rC,eAAiBoC,GAGS,IAA3BA,EAAUlvB,OAAOhf,QAEjBA,KAAK8rC,aAAe,OAMxB9rC,KAAK8rC,aAAaqC,mBAAmBnuC,KAAMswB,GAG3CtwB,KAAK8rC,aAAeoC,EACpBluC,KAAK8rC,aAAasC,oBAAoBpuC,KAAMswB,KAa5D+d,MAAO,SAAUthB,GAEb/sB,KAAK8mC,YAAa,EAClB9mC,KAAKgjC,KAAKjW,GAAO,IAUrBwQ,KAAM,SAAUxQ,GAEZ,IAAIvM,EAAQxgB,KAAKib,KAAKuF,MAEtB,CAAA,IAAIxgB,KAAK+qC,cAAe/qC,KAAK8mC,WAqE7B,OA/DA9mC,KAAK4pC,OAAS5pC,KAAKib,KAAKmE,KAAKA,MAEzBoB,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMmG,uBAC1CzgB,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMyD,qBACzC/d,EAAM8d,qBAAuBj+B,EAAOy6B,MAAMoG,uBAAuD,IAA9B1gB,EAAMmsB,uBAE1EnsB,EAAM+f,KAAKjhB,SAAStf,KAAM+sB,GAGtB/sB,KAAKsc,UAAY,GAAKtc,KAAKsc,UAAYkE,EAAMme,UAGzC3+B,KAAK4pC,OAAS5pC,KAAK2rC,gBAAkBnrB,EAAMoe,cAG3Cpe,EAAMggB,MAAMlhB,SAAStf,MAAM,GAK3BwgB,EAAMggB,MAAMlhB,SAAStf,MAAM,GAG/BA,KAAK2rC,gBAAkB3rC,KAAK4pC,SAIhC5pC,KAAK0rC,QAEL1rC,KAAKwsC,cAAczf,IAInB/sB,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,GAIZ1pC,KAAKmV,GAAK,IAEVnV,KAAKslB,QAAS,GAGlBtlB,KAAK8mC,WAAa9mC,KAAKib,KAAK5F,MAAM+F,OAAO3M,SAASse,EAAMme,MAAOne,EAAMoe,OACrEnrC,KAAKsjC,UAAY,KACjBtjC,KAAK+iC,WAAa,KAElB/iC,KAAKisC,WAAWh+B,MAAMjO,KAAKmG,EAAGnG,KAAKkN,IAEd,IAAjBlN,KAAK0rC,SAELlrB,EAAM8tB,kBAGV9tB,EAAMmgB,iBAAiBnM,QAAQ,mBAAoBx0B,MAE/CA,KAAKksC,oBAELlsC,KAAKmsC,wBAA0BnsC,KAAK8rC,cAGxC9rC,KAAK8rC,aAAe,KAEb9rC,KAnEH+sB,EAAMwP,mBA+Ed4N,YAAa,SAAU7tB,GAInB,OAFAA,EAAWA,GAAYtc,KAAKib,KAAKuF,MAAMse,iBAEf,IAAhB9+B,KAAKypC,QAAoBzpC,KAAK2pC,SAAWrtB,EAAYtc,KAAKib,KAAKmE,KAAKA,MAYhFgrB,aAAc,SAAU9tB,GAIpB,OAFAA,EAAWA,GAAYtc,KAAKib,KAAKuF,MAAMue,iBAE/B/+B,KAAK0pC,MAAS1pC,KAAK4pC,OAASttB,EAAYtc,KAAKib,KAAKmE,KAAKA,MAqBnEmvB,mBAAoB,SAAUxiC,EAAMsoB,EAAU7Q,EAAiBgrB,GAE3D,GAAKxuC,KAAKypC,OAAV,CAOA,IAAK,IAFDgF,EAAezuC,KAAKksC,kBAAoBlsC,KAAKksC,sBAExClkC,EAAI,EAAGA,EAAIymC,EAAY1mC,OAAQC,IAEpC,GAAIymC,EAAYzmC,GAAG+D,OAASA,EAC5B,CACI0iC,EAAY7qB,OAAO5b,EAAG,GACtB,MAIRymC,EAAYt7B,MACRpH,KAAMA,EACN+/B,aAAc9rC,KAAK8rC,aACnBzX,SAAUA,EACV7Q,gBAAiBA,EACjBgrB,aAAcA,MAUtBnK,wBAAyB,WAErB,IAAIoK,EAAczuC,KAAKksC,kBAEvB,GAAKuC,EAAL,CAKA,IAAK,IAAIzmC,EAAI,EAAGA,EAAIymC,EAAY1mC,OAAQC,IACxC,CACI,IAAI0mC,EAAaD,EAAYzmC,GAEzB0mC,EAAW5C,eAAiB9rC,KAAKmsC,yBAEjCuC,EAAWra,SAASltB,MAAMunC,EAAWlrB,gBAAiBkrB,EAAWF,cAIzExuC,KAAKksC,kBAAoB,KACzBlsC,KAAKmsC,wBAA0B,OAQnChsB,MAAO,YAEkB,IAAjBngB,KAAK0rC,UAEL1rC,KAAKslB,QAAS,GAGlBtlB,KAAKsjC,UAAY,KACjBtjC,KAAK+iC,WAAa,KAClB/iC,KAAKkoB,OAAQ,EACbloB,KAAK4rC,aAAe,EACpB5rC,KAAK4qC,WAAY,EACjB5qC,KAAK6qC,SAAS9iC,OAAS,EACvB/H,KAAK+qC,aAAc,EAEnB/qC,KAAKosC,eAEDpsC,KAAK8rC,cAEL9rC,KAAK8rC,aAAa6C,iBAAiB3uC,MAGvCA,KAAK8rC,aAAe,MAQxB8C,cAAe,WAEX5uC,KAAKwrC,UAAY,EACjBxrC,KAAKyrC,UAAY,IAMzBprC,EAAO+gC,QAAQ76B,UAAU8B,YAAchI,EAAO+gC,QAW9C35B,OAAOmF,eAAevM,EAAO+gC,QAAQ76B,UAAW,YAE5CmG,IAAK,WAED,OAAI1M,KAAK0pC,MAEG,EAGL1pC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK2pC,YAY1CliC,OAAOmF,eAAevM,EAAO+gC,QAAQ76B,UAAW,UAE5CmG,IAAK,WAED,OAAO1M,KAAKib,KAAKC,MAAMmC,OAAOlX,EAAInG,KAAKmG,KAY/CsB,OAAOmF,eAAevM,EAAO+gC,QAAQ76B,UAAW,UAE5CmG,IAAK,WAED,OAAO1M,KAAKib,KAAKC,MAAMmC,OAAOnQ,EAAIlN,KAAKkN,KAgB/C7M,EAAOghC,aASHC,OAAQ,EAMRgJ,QAAS,GAmBbjqC,EAAOohC,MAAQ,SAAUxmB,GAKrBjb,KAAKib,KAAOA,EAOZjb,KAAKq+B,SAAU,EAKfr+B,KAAKwjB,gBAAkBxjB,KAAKib,KAK5Bjb,KAAK6uC,mBAAqB,KAK1B7uC,KAAK8uC,kBAAoB,KAKzB9uC,KAAK+uC,iBAAmB,KAKxB/uC,KAAKgvC,mBAAqB,KAK1BhvC,KAAKivC,mBAAqB,KAK1BjvC,KAAKkvC,oBAAsB,KAM3BlvC,KAAKu8B,gBAAiB,EAMtBv8B,KAAK+sB,MAAQ,KAMb/sB,KAAKmvC,cAAgB,KAMrBnvC,KAAKovC,aAAe,KAMpBpvC,KAAKqvC,YAAc,KAMnBrvC,KAAKsvC,cAAgB,KAMrBtvC,KAAKuvC,cAAgB,KAMrBvvC,KAAKwvC,eAAiB,KAMtBxvC,KAAKovC,aAAe,MAIxB/uC,EAAOohC,MAAMl7B,WAMTuK,MAAO,WAEH,GAA2B,OAAvB9Q,KAAKmvC,cAAT,CAMA,IAAIjoB,EAAQlnB,KAERA,KAAKib,KAAKqS,OAAO4S,QAEjBlgC,KAAKmvC,cAAgB,SAAUpiB,GAC3B,OAAO7F,EAAMuoB,aAAa1iB,IAG9B/sB,KAAKovC,aAAe,SAAUriB,GAC1B,OAAO7F,EAAMwoB,YAAY3iB,IAG7B/sB,KAAKqvC,YAAc,SAAUtiB,GACzB,OAAO7F,EAAMyoB,WAAW5iB,IAG5B/sB,KAAKsvC,cAAgB,SAAUviB,GAC3B,OAAO7F,EAAM0oB,aAAa7iB,IAG9B/sB,KAAKuvC,cAAgB,SAAUxiB,GAC3B,OAAO7F,EAAM2oB,aAAa9iB,IAG9B/sB,KAAKwvC,eAAiB,SAAUziB,GAC5B,OAAO7F,EAAM4oB,cAAc/iB,IAG/B/sB,KAAKib,KAAKgR,OAAOgB,iBAAiB,aAAcjtB,KAAKmvC,eAAe,GACpEnvC,KAAKib,KAAKgR,OAAOgB,iBAAiB,YAAajtB,KAAKovC,cAAc,GAClEpvC,KAAKib,KAAKgR,OAAOgB,iBAAiB,WAAYjtB,KAAKqvC,aAAa,GAChErvC,KAAKib,KAAKgR,OAAOgB,iBAAiB,cAAejtB,KAAKwvC,gBAAgB,GAEjExvC,KAAKib,KAAKqS,OAAO6O,WAElBn8B,KAAKib,KAAKgR,OAAOgB,iBAAiB,aAAcjtB,KAAKsvC,eAAe,GACpEtvC,KAAKib,KAAKgR,OAAOgB,iBAAiB,aAAcjtB,KAAKuvC,eAAe,KAU5EvvC,KAAKmiC,qBAAuBniC,KAAKib,KAAKuF,MAAM2hB,qBAAqB37B,KAAKxG,KAAKib,KAAKuF,OAQhFxgB,KAAKqiC,wBAA0BriC,KAAKib,KAAKuF,MAAM6hB,wBAAwB77B,KAAKxG,KAAKib,KAAKuF,SAQ1FuvB,uBAAwB,WAEpB/vC,KAAKgwC,mBAAqB,SAAUjjB,GAChCA,EAAMwP,kBAGV7P,SAASO,iBAAiB,YAAajtB,KAAKgwC,oBAAoB,IASpEP,aAAc,SAAU1iB,GAMpB,GAJA/sB,KAAKib,KAAKuF,MAAM8hB,2BAA0B,EAAOvV,GAEjD/sB,KAAK+sB,MAAQA,EAER/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,QAAtC,CAKIr+B,KAAK6uC,oBAEL7uC,KAAK6uC,mBAAmB7nC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGnD/sB,KAAKu8B,gBAELxP,EAAMwP,iBAMV,IAAK,IAAIv0B,EAAI,EAAGA,EAAI+kB,EAAMkjB,eAAeloC,OAAQC,IAE7ChI,KAAKib,KAAKuF,MAAMoiB,aAAa7V,EAAMkjB,eAAejoC,MAW1D8nC,cAAe,SAAU/iB,GASrB,GAPA/sB,KAAK+sB,MAAQA,EAET/sB,KAAKkvC,qBAELlvC,KAAKkvC,oBAAoBloC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGnD/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,QAAtC,CAKIr+B,KAAKu8B,gBAELxP,EAAMwP,iBAKV,IAAK,IAAIv0B,EAAI,EAAGA,EAAI+kB,EAAMkjB,eAAeloC,OAAQC,IAE7ChI,KAAKib,KAAKuF,MAAMyiB,YAAYlW,EAAMkjB,eAAejoC,MAWzD4nC,aAAc,SAAU7iB,GAEpB/sB,KAAK+sB,MAAQA,EAET/sB,KAAKgvC,oBAELhvC,KAAKgvC,mBAAmBhoC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGlD/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,SAKlCr+B,KAAKu8B,gBAELxP,EAAMwP,kBAWdsT,aAAc,SAAU9iB,GAEpB/sB,KAAK+sB,MAAQA,EAET/sB,KAAKivC,oBAELjvC,KAAKivC,mBAAmBjoC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGnD/sB,KAAKu8B,gBAELxP,EAAMwP,kBAUdmT,YAAa,SAAU3iB,GAEnB/sB,KAAK+sB,MAAQA,EAET/sB,KAAK8uC,mBAEL9uC,KAAK8uC,kBAAkB9nC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGlD/sB,KAAKu8B,gBAELxP,EAAMwP,iBAGV,IAAK,IAAIv0B,EAAI,EAAGA,EAAI+kB,EAAMkjB,eAAeloC,OAAQC,IAE7ChI,KAAKib,KAAKuF,MAAMsiB,cAAc/V,EAAMkjB,eAAejoC,KAU3D2nC,WAAY,SAAU5iB,GAElB/sB,KAAKib,KAAKuF,MAAM8hB,2BAA0B,EAAMvV,GAEhD/sB,KAAK+sB,MAAQA,EAET/sB,KAAK+uC,kBAEL/uC,KAAK+uC,iBAAiB/nC,KAAKhH,KAAKwjB,gBAAiBuJ,GAGjD/sB,KAAKu8B,gBAELxP,EAAMwP,iBAMV,IAAK,IAAIv0B,EAAI,EAAGA,EAAI+kB,EAAMkjB,eAAeloC,OAAQC,IAE7ChI,KAAKib,KAAKuF,MAAMyiB,YAAYlW,EAAMkjB,eAAejoC,KASzDu1B,KAAM,WAEEv9B,KAAKib,KAAKqS,OAAO4S,QAEjBlgC,KAAKib,KAAKgR,OAAOkC,oBAAoB,aAAcnuB,KAAKmvC,eACxDnvC,KAAKib,KAAKgR,OAAOkC,oBAAoB,YAAanuB,KAAKovC,cACvDpvC,KAAKib,KAAKgR,OAAOkC,oBAAoB,WAAYnuB,KAAKqvC,aACtDrvC,KAAKib,KAAKgR,OAAOkC,oBAAoB,aAAcnuB,KAAKsvC,eACxDtvC,KAAKib,KAAKgR,OAAOkC,oBAAoB,aAAcnuB,KAAKuvC,eACxDvvC,KAAKib,KAAKgR,OAAOkC,oBAAoB,cAAenuB,KAAKwvC,mBAOrEnvC,EAAOohC,MAAMl7B,UAAU8B,YAAchI,EAAOohC,MAe5CphC,EAAO6vC,aAAe,SAAU/X,GAK5Bn4B,KAAKm4B,OAASA,EAKdn4B,KAAKib,KAAOkd,EAAOld,KAMnBjb,KAAKq+B,SAAU,EAMfr+B,KAAK4tC,SAAU,EASf5tC,KAAKguC,WAAa,EAMlBhuC,KAAKmwC,eAAgB,EAMrBnwC,KAAKowC,gBAAiB,EAMtBpwC,KAAKstC,WAAY,EAMjBttC,KAAKqwC,qBAAsB,EAM3BrwC,KAAKswC,mBAAoB,EAMzBtwC,KAAKsyB,YAAa,EAMlBtyB,KAAKuwC,WAAa,KAMlBvwC,KAAKwwC,YAAa,EAMlBxwC,KAAKywC,eAAgB,EAMrBzwC,KAAK0wC,MAAQ,EAMb1wC,KAAK2wC,MAAQ,EAMb3wC,KAAK4wC,YAAc,EAMnB5wC,KAAK6wC,YAAc,EAUnB7wC,KAAK8wC,kBAAmB,EAUxB9wC,KAAK+wC,mBAAoB,EAMzB/wC,KAAKgxC,kBAAoB,IAMzBhxC,KAAKixC,WAAY,EAMjBjxC,KAAKkxC,WAAa,KAMlBlxC,KAAKmxC,aAAe,KAKpBnxC,KAAKoxC,YAAa,EAKlBpxC,KAAKqxC,WAAa,IAAIhxC,EAAOoN,MAK7BzN,KAAKsxC,gBAAiB,EAKtBtxC,KAAKuxC,uBAAwB,EAK7BvxC,KAAKwxC,eAAiB,IAAInxC,EAAOoN,MAKjCzN,KAAKyxC,sBAAwB,EAK7BzxC,KAAK0xC,kBAAoB,EAKzB1xC,KAAK2xC,UAAY,IAAItxC,EAAOoN,MAK5BzN,KAAK4xC,UAAY,IAAIvxC,EAAOoN,MAM5BzN,KAAK6xC,WAAa,IAAIxxC,EAAOoN,MAM7BzN,KAAK8xC,YAAa,EAMlB9xC,KAAK+xC,cAAe,EAMpB/xC,KAAKgyC,eAAgB,EAMrBhyC,KAAKiyC,mBAAoB,EAMzBjyC,KAAKkyC,aAAc,EAMnBlyC,KAAKmyC,WAAa,IAAI9xC,EAAOoN,MAM7BzN,KAAKoyC,gBAELpyC,KAAKoyC,aAAaj/B,MACdgC,GAAI,EACJhP,EAAG,EACH+G,EAAG,EACHmlC,KAAM,EACNC,KAAM,EACN7I,QAAQ,EACRC,MAAM,EACN6I,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT/I,SAAU,EACVC,OAAQ,EACR+I,aAAc,EACdrF,WAAW,KAKnBjtC,EAAO6vC,aAAa3pC,WAUhBuK,MAAO,SAAUgV,EAAUqqB,GAMvB,GAJArqB,EAAWA,GAAY,OACDxb,IAAlB6lC,IAA+BA,GAAgB,IAG9B,IAAjBnwC,KAAKq+B,QACT,CAEIr+B,KAAKib,KAAKuF,MAAMmgB,iBAAiBzuB,IAAIlS,MACrCA,KAAKmwC,cAAgBA,EACrBnwC,KAAKguC,WAAaloB,EAElB,IAAK,IAAI9d,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAKoyC,aAAapqC,IACdmN,GAAInN,EACJ7B,EAAG,EACH+G,EAAG,EACHu8B,QAAQ,EACRC,MAAM,EACN6I,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT/I,SAAU,EACVC,OAAQ,EACR+I,aAAc,EACdrF,WAAW,GAInBttC,KAAKuwC,WAAa,IAAIlwC,EAAOoN,MAC7BzN,KAAKq+B,SAAU,EACfr+B,KAAKkyC,aAAc,EAOvB,OAHAlyC,KAAKm4B,OAAOrH,OAAO8hB,eAAe1gC,IAAIlS,KAAK6yC,aAAc7yC,MACzDA,KAAKm4B,OAAOrH,OAAOgiB,mBAAmB5gC,IAAIlS,KAAK+yC,iBAAkB/yC,MAE1DA,KAAKm4B,QAUhB0a,aAAc,WAEN7yC,KAAK8xC,YAKL9xC,KAAKkyC,cAAgBlyC,KAAKq+B,SAE1Br+B,KAAK8Q,SAWbiiC,iBAAkB,WAEV/yC,KAAK8xC,aAKL9xC,KAAKq+B,SAELr+B,KAAKkyC,aAAc,EACnBlyC,KAAKu9B,QAILv9B,KAAKkyC,aAAc,IAS3B/xB,MAAO,WAEHngB,KAAKq+B,SAAU,EAEf,IAAK,IAAIr2B,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAKoyC,aAAapqC,IACdmN,GAAInN,EACJ7B,EAAG,EACH+G,EAAG,EACHu8B,QAAQ,EACRC,MAAM,EACN6I,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT/I,SAAU,EACVC,OAAQ,EACR+I,aAAc,EACdrF,WAAW,IASvB/P,KAAM,YAGmB,IAAjBv9B,KAAKq+B,UAOLr+B,KAAKq+B,SAAU,EACfr+B,KAAKib,KAAKuF,MAAMmgB,iBAAiBpd,OAAOvjB,QAShDukB,QAAS,WAEDvkB,KAAKm4B,SAEDn4B,KAAKowC,iBAELpwC,KAAKib,KAAKgR,OAAOtO,MAAMsR,OAAS,GAChCjvB,KAAKowC,gBAAiB,GAG1BpwC,KAAKq+B,SAAU,EAEfr+B,KAAKib,KAAKuF,MAAMmgB,iBAAiBpd,OAAOvjB,MAExCA,KAAKoyC,aAAarqC,OAAS,EAC3B/H,KAAKkxC,WAAa,KAClBlxC,KAAKmxC,aAAe,KACpBnxC,KAAKm4B,OAAS,OAgBtB0V,cAAe,SAAUmF,EAAWC,EAAiBC,GAIjD,YAF4B5oC,IAAxB4oC,IAAqCA,GAAsB,MAE1DlzC,KAAKq+B,SACkB,IAAxBr+B,KAAKm4B,OAAO9iB,MAAMlP,GACM,IAAxBnG,KAAKm4B,OAAO9iB,MAAMnI,GAClBlN,KAAKguC,WAAahuC,KAAKib,KAAKuF,MAAMkgB,eACjC1gC,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,OAAOgpB,uBAMzCD,IAAwBlzC,KAAK+wC,mBAAqB/wC,KAAK8wC,qBAKxD9wC,KAAKguC,WAAagF,GAAchzC,KAAKguC,aAAegF,GAAahzC,KAAKm4B,OAAOvD,cAAgBqe,KAerGG,eAAgB,WAEZ,OAAQpzC,KAAK+wC,mBAAqB/wC,KAAK8wC,kBAY3CuC,SAAU,SAAU/P,GAIhB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWn9B,GAYxCmtC,SAAU,SAAUhQ,GAIhB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWp2B,GAYxCqmC,YAAa,SAAUjQ,GAInB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWmG,QAYxC+J,UAAW,SAAUlQ,GAIjB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWoG,MAWxC+J,gBAAiB,SAAUnQ,GAIvB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWqG,UAWxC+J,cAAe,SAAUpQ,GAIrB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWsG,QAWxC+J,YAAa,SAAUrQ,GAEnB,IAAKtjC,KAAKq+B,QAEN,OAAO,EAGX,QAAkB/zB,IAAdg5B,EACJ,CACI,IAAK,IAAIt7B,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAIhI,KAAKoyC,aAAapqC,GAAGuqC,OAErB,OAAO,EAIf,OAAO,EAIP,OAAOvyC,KAAKoyC,aAAa9O,GAAWiP,QAY5CqB,WAAY,SAAUtQ,GAElB,IAAKtjC,KAAKq+B,QAEN,OAAO,EAGX,QAAkB/zB,IAAdg5B,EAYA,OAAOtjC,KAAKoyC,aAAa9O,GAAWkP,MAVpC,IAAK,IAAIxqC,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAIhI,KAAKoyC,aAAapqC,GAAGwqC,MAErB,OAAO,GAkBvBqB,gBAAiB,SAAUvQ,GAIvB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWmP,UAWxCqB,eAAgB,SAAUxQ,GAItB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWoP,SAWxCqB,eAAgB,SAAUzQ,GAItB,OAFAA,EAAYA,GAAa,EAElBtjC,KAAKoyC,aAAa9O,GAAWgK,WAaxCQ,iBAAkB,SAAUvkB,EAASyqB,GAEjC,SAAKzqB,EAAQkgB,QACRzpC,KAAKq+B,SACLr+B,KAAKm4B,QACLn4B,KAAKm4B,OAAOhO,QACZnqB,KAAKm4B,OAAO7c,SACZtb,KAAKm4B,OAAOhO,OAAO7O,SACS,IAA7Btb,KAAKm4B,OAAO8b,WAAW9tC,GACM,IAA7BnG,KAAKm4B,OAAO8b,WAAW/mC,OAMvBlN,KAAKib,KAAKuF,MAAMijB,QAAQzjC,KAAKm4B,OAAQ5O,EAASvpB,KAAKmyC,mBAElC7nC,IAAb0pC,IAEAA,GAAW,MAGVA,GAAYh0C,KAAK+wC,oBAEX/wC,KAAKk0C,WAAWl0C,KAAKmyC,WAAWhsC,EAAGnG,KAAKmyC,WAAWjlC,MAqBtE6gC,iBAAkB,SAAUxkB,EAASyqB,GAEjC,SAAKh0C,KAAKq+B,SACLr+B,KAAKm4B,QACLn4B,KAAKm4B,OAAOhO,QACZnqB,KAAKm4B,OAAO7c,SACZtb,KAAKm4B,OAAOhO,OAAO7O,SACS,IAA7Btb,KAAKm4B,OAAO8b,WAAW9tC,GACM,IAA7BnG,KAAKm4B,OAAO8b,WAAW/mC,OAMvBlN,KAAKib,KAAKuF,MAAMijB,QAAQzjC,KAAKm4B,OAAQ5O,EAASvpB,KAAKmyC,mBAElC7nC,IAAb0pC,IAEAA,GAAW,MAGVA,GAAYh0C,KAAK8wC,mBAEX9wC,KAAKk0C,WAAWl0C,KAAKmyC,WAAWhsC,EAAGnG,KAAKmyC,WAAWjlC,MAsBtEgnC,WAAY,SAAU/tC,EAAG+G,EAAGqc,GAGxB,GAAIvpB,KAAKm4B,OAAO4L,QAAQC,YAAY71B,OACpC,CACI,GAAU,OAANhI,GAAoB,OAAN+G,EAClB,CAEIlN,KAAKib,KAAKuF,MAAM+iB,iBAAiBvjC,KAAKm4B,OAAQ5O,EAASvpB,KAAKmyC,YAE5D,IAAIhsC,EAAInG,KAAKmyC,WAAWhsC,EACpB+G,EAAIlN,KAAKmyC,WAAWjlC,EAgB5B,GAb6B,IAAzBlN,KAAKm4B,OAAOpO,OAAO5jB,IAEnBA,IAAMnG,KAAKm4B,OAAO4L,QAAQzS,MAAMnhB,MAAQnQ,KAAKm4B,OAAOpO,OAAO5jB,GAGlC,IAAzBnG,KAAKm4B,OAAOpO,OAAO7c,IAEnBA,IAAMlN,KAAKm4B,OAAO4L,QAAQzS,MAAMlhB,OAASpQ,KAAKm4B,OAAOpO,OAAO7c,GAGhE/G,GAAKnG,KAAKm4B,OAAO4L,QAAQzS,MAAMnrB,EAC/B+G,GAAKlN,KAAKm4B,OAAO4L,QAAQzS,MAAMpkB,EAE3BlN,KAAKm4B,OAAO4L,QAAQoQ,OAEpBhuC,GAAKnG,KAAKm4B,OAAO4L,QAAQoQ,KAAKhuC,EAC9B+G,GAAKlN,KAAKm4B,OAAO4L,QAAQoQ,KAAKjnC,EAG1B/G,EAAInG,KAAKm4B,OAAO4L,QAAQqQ,KAAKjuC,GAAKA,EAAInG,KAAKm4B,OAAO4L,QAAQqQ,KAAK5oC,OAAS0B,EAAIlN,KAAKm4B,OAAO4L,QAAQqQ,KAAKlnC,GAAKA,EAAIlN,KAAKm4B,OAAO4L,QAAQqQ,KAAKhlC,QAIvI,OAFApP,KAAKq0C,IAAMluC,EACXnG,KAAKs0C,IAAMpnC,GACJ,EAYf,GARAlN,KAAKq0C,IAAMluC,EACXnG,KAAKs0C,IAAMpnC,EAEXlN,KAAKib,KAAKuF,MAAMwd,WAAWuW,UAAU,EAAG,EAAG,EAAG,GAC9Cv0C,KAAKib,KAAKuF,MAAMwd,WAAWwW,UAAUx0C,KAAKm4B,OAAO4L,QAAQC,YAAY71B,OAAQhI,EAAG+G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExFlN,KAAKib,KAAKuF,MAAMwd,WAAWyW,aAAa,EAAG,EAAG,EAAG,GAEnDvQ,KAAK,IAAMlkC,KAAKgxC,kBAEpB,OAAO,EAIf,OAAO,GAaXhyB,OAAQ,SAAUuK,GAEd,GAAoB,OAAhBvpB,KAAKm4B,aAA0C7tB,IAAvBtK,KAAKm4B,OAAOhO,OAMxC,OAAKnqB,KAAKq+B,SAAYr+B,KAAKm4B,OAAO7c,SAAYtb,KAAKm4B,OAAOhO,OAAO7O,QAM7Dtb,KAAK+xC,cAEA/xC,KAAKiyC,oBAENjyC,KAAKiyC,kBAAqB5xC,EAAO4F,KAAKqI,SAASib,EAAQpjB,EAAGojB,EAAQrc,EAAGlN,KAAK2xC,UAAUxrC,EAAGnG,KAAK2xC,UAAUzkC,IAAMlN,KAAKyxC,uBAGjHzxC,KAAKiyC,mBAAqBjyC,KAAKgyC,eAE/BhyC,KAAK00C,UAAUnrB,IAGZ,GAEFvpB,KAAKixC,WAAajxC,KAAK20C,oBAAsBprB,EAAQpU,GAEnDnV,KAAK40C,WAAWrrB,GAAS,GAE3BvpB,KAAKoyC,aAAa7oB,EAAQpU,IAAIo9B,OAE/BvyC,KAAK+tC,iBAAiBxkB,IAEtBvpB,KAAKoyC,aAAa7oB,EAAQpU,IAAIhP,EAAIojB,EAAQpjB,EAAInG,KAAKm4B,OAAOhyB,EAC1DnG,KAAKoyC,aAAa7oB,EAAQpU,IAAIjI,EAAIqc,EAAQrc,EAAIlN,KAAKm4B,OAAOjrB,GACnD,IAIPlN,KAAKmuC,mBAAmB5kB,IACjB,QAXV,GAtBDvpB,KAAKmuC,mBAAmB5kB,IACjB,IA6Cf6kB,oBAAqB,SAAU7kB,EAAS+G,GAEpC,GAAoB,OAAhBtwB,KAAKm4B,OAAT,CAMA,IAAI+L,EAAOlkC,KAAKoyC,aAAa7oB,EAAQpU,IAErC,IAAoB,IAAhB+uB,EAAKqO,QAAoBhpB,EAAQrB,MACrC,CACI,IAAI2sB,GAA6B,IAAhB3Q,EAAKqO,OAEtBrO,EAAKqO,QAAS,EACdrO,EAAKsO,OAAQ,EACbtO,EAAKuO,SAAWzyC,KAAKib,KAAKmE,KAAKA,KAC/B8kB,EAAK/9B,EAAIojB,EAAQpjB,EAAInG,KAAKm4B,OAAOhyB,EACjC+9B,EAAKh3B,EAAIqc,EAAQrc,EAAIlN,KAAKm4B,OAAOjrB,EAE7BlN,KAAKmwC,gBAAoC,IAAnBjM,EAAKoJ,YAE3BttC,KAAKib,KAAKgR,OAAOtO,MAAMsR,OAAS,UAChCjvB,KAAKowC,gBAAiB,IAGrB9f,GAAUukB,GAAa70C,KAAKm4B,QAAUn4B,KAAKm4B,OAAOrH,QAEnD9wB,KAAKm4B,OAAOrH,OAAOgkB,qBAAqB90C,KAAKm4B,OAAQ5O,GAGrDvpB,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,OAAO/hB,OAAS/H,EAAOoB,OAEzDzB,KAAKm4B,OAAOhO,OAAOmF,iBAAiBhQ,SAAStf,KAAKm4B,OAAQ5O,MActE4kB,mBAAoB,SAAU5kB,EAAS+G,GAEnC,GAAoB,OAAhBtwB,KAAKm4B,OAAT,CAMA,IAAI+L,EAAOlkC,KAAKoyC,aAAa7oB,EAAQpU,IAErC+uB,EAAKqO,QAAS,EACdrO,EAAKsO,OAAQ,EACbtO,EAAKwO,QAAU1yC,KAAKib,KAAKmE,KAAKA,KAE1Bpf,KAAKmwC,gBAAoC,IAAnBjM,EAAKoJ,YAE3BttC,KAAKib,KAAKgR,OAAOtO,MAAMsR,OAAS,GAChCjvB,KAAKowC,gBAAiB,IAGrB9f,GAAUtwB,KAAKm4B,QAAUn4B,KAAKm4B,OAAOrH,SAEtC9wB,KAAKm4B,OAAOrH,OAAOikB,oBAAoB/0C,KAAKm4B,OAAQ5O,GAEhDvpB,KAAKm4B,QAAUn4B,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,OAAO/hB,OAAS/H,EAAOoB,OAExEzB,KAAKm4B,OAAOhO,OAAOoF,gBAAgBjQ,SAAStf,KAAKm4B,OAAQ5O,MAarEqjB,gBAAiB,SAAUrjB,GAEvB,GAAoB,OAAhBvpB,KAAKm4B,OAAT,CAMA,IAAI+L,EAAOlkC,KAAKoyC,aAAa7oB,EAAQpU,IAErC,IAAK+uB,EAAKuF,QAAUvF,EAAKqO,OACzB,CACI,GAAIvyC,KAAK+wC,oBAAsB/wC,KAAKk0C,WAAW,KAAM,KAAM3qB,GAEvD,OAYJ,GATA2a,EAAKuF,QAAS,EACdvF,EAAKwF,MAAO,EACZxF,EAAKyF,SAAW3pC,KAAKib,KAAKmE,KAAKA,KAE/Bpf,KAAK2xC,UAAUhlC,IAAI4c,EAAQpjB,EAAGojB,EAAQrc,GAGtCqc,EAAQrB,OAAQ,EAEZloB,KAAKm4B,QAAUn4B,KAAKm4B,OAAOrH,SAE3B9wB,KAAKm4B,OAAOrH,OAAOkkB,qBAAqBh1C,KAAKm4B,OAAQ5O,GAGjDvpB,KAAKm4B,QAAUn4B,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,OAAO/hB,OAAS/H,EAAOoB,OAExEzB,KAAKm4B,OAAOhO,OAAOiF,iBAAiB9P,SAAStf,KAAKm4B,OAAQ5O,GAI1C,OAAhBvpB,KAAKm4B,QAEL,OAKJn4B,KAAKixC,YAAgC,IAAnBjxC,KAAKstC,YAEQ,IAA3BttC,KAAK0xC,mBAA0D,IAA/B1xC,KAAKyxC,sBAErCzxC,KAAK00C,UAAUnrB,IAIfvpB,KAAK+xC,cAAe,EAEpB/xC,KAAKiyC,kBAAoD,IAA/BjyC,KAAKyxC,sBAE3BzxC,KAAK0xC,kBAAoB,GAEzB1xC,KAAKgyC,eAAgB,EACrBhyC,KAAKib,KAAKmE,KAAK0R,OAAO5e,IAAIlS,KAAK0xC,kBAAmB1xC,KAAKi1C,gBAAiBj1C,KAAMupB,IAI9EvpB,KAAKgyC,eAAgB,IAK7BhyC,KAAKsyB,YAELtyB,KAAKm4B,OAAO7F,gBAaxB2iB,gBAAiB,SAAU1rB,GAEvBvpB,KAAKgyC,eAAgB,EAEjBhyC,KAAK+xC,cAAgB/xC,KAAKm4B,QAEtBn4B,KAAKiyC,mBAELjyC,KAAK00C,UAAUnrB,IAY3BolB,iBAAkB,SAAUplB,GAExB,GAAoB,OAAhBvpB,KAAKm4B,OAAT,CAMA,IAAI+L,EAAOlkC,KAAKoyC,aAAa7oB,EAAQpU,IAGrC,GAAI+uB,EAAKuF,QAAUlgB,EAAQmgB,KAC3B,CACIxF,EAAKuF,QAAS,EACdvF,EAAKwF,MAAO,EACZxF,EAAK0F,OAAS5pC,KAAKib,KAAKmE,KAAKA,KAC7B8kB,EAAKyO,aAAezO,EAAK0F,OAAS1F,EAAKyF,SAGvC,IAAI4I,EAASvyC,KAAK+tC,iBAAiBxkB,GAE/BvpB,KAAKm4B,QAAUn4B,KAAKm4B,OAAOrH,SAEtB9wB,KAAKuxC,yBACNvxC,KAAKuxC,uBAA2BvxC,KAAKixC,WAAajxC,KAAKstC,WAAattC,KAAK20C,oBAAsBprB,EAAQpU,KAEvGnV,KAAKm4B,OAAOrH,OAAOokB,mBAAmBl1C,KAAKm4B,OAAQ5O,EAASgpB,GAG5DvyC,KAAKm4B,QAAUn4B,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,OAAO/hB,OAAS/H,EAAOoB,OAExEzB,KAAKm4B,OAAOhO,OAAOkF,eAAe/P,SAAStf,KAAKm4B,OAAQ5O,EAASgpB,GAIjEA,IAEAA,EAASvyC,KAAK+tC,iBAAiBxkB,KAIvC2a,EAAKqO,OAASA,GAETA,GAAUvyC,KAAKmwC,gBAEhBnwC,KAAKib,KAAKgR,OAAOtO,MAAMsR,OAAS,UAChCjvB,KAAKowC,gBAAiB,GAI1B7mB,EAAQrB,OAAQ,EAEhBloB,KAAK+xC,cAAe,EAGhB/xC,KAAKixC,WAAajxC,KAAKstC,WAAattC,KAAK20C,oBAAsBprB,EAAQpU,IAEvEnV,KAAKm1C,SAAS5rB,MAe1BqrB,WAAY,SAAUrrB,EAAS6rB,GAI3B,QAFkB9qC,IAAd8qC,IAA2BA,GAAY,GAEvC7rB,EAAQmgB,KAGR,OADA1pC,KAAKm1C,SAAS5rB,IACP,EAGjB,IAAI8rB,EAAoBr1C,KAAKs1C,cAAc/rB,GACjCxe,EAAKsqC,EAAkBlvC,EAAInG,KAAK6xC,WAAW1rC,EAAInG,KAAKqxC,WAAWlrC,EAC/DovC,EAAKF,EAAkBnoC,EAAIlN,KAAK6xC,WAAW3kC,EAAIlN,KAAKqxC,WAAWnkC,EAEnE,GAAIlN,KAAKm4B,OAAOvI,cAER5vB,KAAKqwC,sBAELrwC,KAAKm4B,OAAOtI,aAAa1pB,EAAI4E,EAAK/K,KAAKib,KAAKoC,OAAOlX,GAGnDnG,KAAKswC,oBAELtwC,KAAKm4B,OAAOtI,aAAa3iB,EAAIqoC,EAAKv1C,KAAKib,KAAKoC,OAAOnQ,GAGnDlN,KAAKkxC,YAELlxC,KAAKw1C,kBAGLx1C,KAAKmxC,cAELnxC,KAAKy1C,oBAGLz1C,KAAKwwC,aAELxwC,KAAKm4B,OAAOtI,aAAa1pB,EAAIF,KAAKsI,OAAOvO,KAAKm4B,OAAOtI,aAAa1pB,EAAKnG,KAAK4wC,YAAc5wC,KAAK0wC,OAAU1wC,KAAK0wC,OAAS1wC,KAAK0wC,MAAS1wC,KAAK4wC,YAAc5wC,KAAK0wC,MAC7J1wC,KAAKm4B,OAAOtI,aAAa3iB,EAAIjH,KAAKsI,OAAOvO,KAAKm4B,OAAOtI,aAAa3iB,EAAKlN,KAAK6wC,YAAc7wC,KAAK2wC,OAAU3wC,KAAK2wC,OAAS3wC,KAAK2wC,MAAS3wC,KAAK6wC,YAAc7wC,KAAK2wC,MAC7J3wC,KAAK4xC,UAAUjlC,IAAI3M,KAAKm4B,OAAOtI,aAAa1pB,EAAGnG,KAAKm4B,OAAOtI,aAAa3iB,QAIhF,CACI,IAAIyC,EAAK3P,KAAKib,KAAKoC,OAAOlX,EAAInG,KAAKoyC,aAAa7oB,EAAQpU,IAAIk9B,KACxDviC,EAAK9P,KAAKib,KAAKoC,OAAOnQ,EAAIlN,KAAKoyC,aAAa7oB,EAAQpU,IAAIm9B,KAExDtyC,KAAKqwC,sBAELrwC,KAAKm4B,OAAOhyB,EAAI4E,EAAK4E,GAGrB3P,KAAKswC,oBAELtwC,KAAKm4B,OAAOjrB,EAAIqoC,EAAKzlC,GAGrB9P,KAAKkxC,YAELlxC,KAAKw1C,kBAGLx1C,KAAKmxC,cAELnxC,KAAKy1C,oBAGLz1C,KAAKwwC,aAELxwC,KAAKm4B,OAAOhyB,EAAIF,KAAKsI,OAAOvO,KAAKm4B,OAAOhyB,EAAKnG,KAAK4wC,YAAc5wC,KAAK0wC,OAAU1wC,KAAK0wC,OAAS1wC,KAAK0wC,MAAS1wC,KAAK4wC,YAAc5wC,KAAK0wC,MACnI1wC,KAAKm4B,OAAOjrB,EAAIjH,KAAKsI,OAAOvO,KAAKm4B,OAAOjrB,EAAKlN,KAAK6wC,YAAc7wC,KAAK2wC,OAAU3wC,KAAK2wC,OAAS3wC,KAAK2wC,MAAS3wC,KAAK6wC,YAAc7wC,KAAK2wC,MACnI3wC,KAAK4xC,UAAUjlC,IAAI3M,KAAKm4B,OAAOhyB,EAAGnG,KAAKm4B,OAAOjrB,IAMtD,OAFAlN,KAAKm4B,OAAOrH,OAAO4kB,aAAap2B,SAAStf,KAAKm4B,OAAQ5O,EAASxe,EAAIwqC,EAAIv1C,KAAK4xC,UAAWwD,IAEhF,GAYXO,SAAU,SAAUrS,EAAWsS,GAK3B,OAHAtS,EAAYA,GAAa,EACzBsS,EAAQA,GAAS,IAET51C,KAAKoyC,aAAa9O,GAAWiP,QAAUvyC,KAAK61C,aAAavS,GAAasS,GAYlFE,QAAS,SAAUxS,EAAWsS,GAK1B,OAHAtS,EAAYA,GAAa,EACzBsS,EAAQA,GAAS,IAET51C,KAAKoyC,aAAa9O,GAAWkP,OAAUxyC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKoyC,aAAa9O,GAAWoP,QAAUkD,GAYhHzL,YAAa,SAAU7G,EAAWsS,GAK9B,OAHAtS,EAAYA,GAAa,EACzBsS,EAAQA,GAAS,IAET51C,KAAKoyC,aAAa9O,GAAWmG,QAAUzpC,KAAK2yC,aAAarP,GAAasS,GAYlFxL,aAAc,SAAU9G,EAAWsS,GAK/B,OAHAtS,EAAYA,GAAa,EACzBsS,EAAQA,GAAS,IAET51C,KAAKoyC,aAAa9O,GAAWoG,MAAS1pC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKoyC,aAAa9O,GAAWsG,OAASgM,GAW9GC,aAAc,SAAUvS,GAIpB,OAFAA,EAAYA,GAAa,EAErBtjC,KAAKoyC,aAAa9O,GAAWiP,OAEtBvyC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKoyC,aAAa9O,GAAWmP,UAGtD,GAWZE,aAAc,SAAUrP,GAIpB,OAFAA,EAAYA,GAAa,EAErBtjC,KAAKoyC,aAAa9O,GAAWmG,OAEtBzpC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKoyC,aAAa9O,GAAWqG,UAGtD,GAgCZoM,WAAY,SAAUC,EAAY1jB,EAAY2jB,EAAcC,EAAgBhF,EAAYC,QAEjE7mC,IAAf0rC,IAA4BA,GAAa,QAC1B1rC,IAAfgoB,IAA4BA,GAAa,QACxBhoB,IAAjB2rC,IAA8BA,GAAe,QAC1B3rC,IAAnB4rC,IAAgCA,EAAiB,UAClC5rC,IAAf4mC,IAA4BA,EAAa,WACxB5mC,IAAjB6mC,IAA8BA,EAAe,MAEjDnxC,KAAK6xC,WAAa,IAAIxxC,EAAOoN,MAC7BzN,KAAKixC,WAAY,EACjBjxC,KAAKsyB,WAAaA,EAClBtyB,KAAKqxC,WAAa,IAAIhxC,EAAOoN,MAC7BzN,KAAKsxC,eAAiB0E,EAEtBh2C,KAAK+wC,kBAAoBkF,EACzBj2C,KAAKgxC,kBAAoBkF,EAErBhF,IAEAlxC,KAAKkxC,WAAaA,GAGlBC,IAEAnxC,KAAKmxC,aAAeA,IAW5BgF,YAAa,WAET,GAAIn2C,KAAKoyC,aAEL,IAAK,IAAIpqC,EAAI,EAAGA,EAAI,GAAIA,IAEpBhI,KAAKoyC,aAAapqC,GAAGslC,WAAY,EAIzCttC,KAAKixC,WAAY,EACjBjxC,KAAKstC,WAAY,EACjBttC,KAAK20C,mBAAqB,EAC1B30C,KAAK+xC,cAAe,GAUxB2C,UAAW,SAAUnrB,GAEjB,IAAIpjB,EAAInG,KAAKm4B,OAAOhyB,EAChB+G,EAAIlN,KAAKm4B,OAAOjrB,EACtBmoC,EAAoBr1C,KAAKs1C,cAAc/rB,GAUrC,GARAvpB,KAAKstC,WAAY,EACjBttC,KAAK20C,kBAAoBprB,EAAQpU,GAEjCnV,KAAKoyC,aAAa7oB,EAAQpU,IAAIk9B,KAAOryC,KAAKib,KAAKoC,OAAOlX,EACtDnG,KAAKoyC,aAAa7oB,EAAQpU,IAAIm9B,KAAOtyC,KAAKib,KAAKoC,OAAOnQ,EAEtDlN,KAAKoyC,aAAa7oB,EAAQpU,IAAIm4B,WAAY,EAEtCttC,KAAKm4B,OAAOvI,cAChB,CACI,GAAI5vB,KAAKsxC,eACT,CACI,IAAIl2B,EAASpb,KAAKm4B,OAAOpqB,YACjCqoC,EAAyBp2C,KAAKs1C,cAAc,IAAIj1C,EAAOoN,MAAM2N,EAAOhK,QAASgK,EAAO/J,UAE5ErR,KAAKm4B,OAAOtI,aAAa1pB,EAAIkvC,EAAkBlvC,GAAKnG,KAAKm4B,OAAOtI,aAAa1pB,EAAIiwC,EAAuBjwC,GACxGnG,KAAKm4B,OAAOtI,aAAa3iB,EAAImoC,EAAkBnoC,GAAKlN,KAAKm4B,OAAOtI,aAAa3iB,EAAIkpC,EAAuBlpC,GAG5GlN,KAAK6xC,WAAW5jC,MAAMjO,KAAKm4B,OAAOtI,aAAa1pB,EAAIojB,EAAQpjB,EAAGnG,KAAKm4B,OAAOtI,aAAa3iB,EAAIqc,EAAQrc,OAGvG,CACI,GAAIlN,KAAKsxC,eACT,CACI,IAAIl2B,EAASpb,KAAKm4B,OAAOpqB,YACjCqoC,EAAyBp2C,KAAKs1C,cAAc,IAAIj1C,EAAOoN,MAAM2N,EAAOhK,QAASgK,EAAO/J,UAE5ErR,KAAKm4B,OAAOhyB,EAAIkvC,EAAkBlvC,GAAKnG,KAAKm4B,OAAOhyB,EAAIiwC,EAAuBjwC,GAC9EnG,KAAKm4B,OAAOjrB,EAAImoC,EAAkBnoC,GAAKlN,KAAKm4B,OAAOjrB,EAAIkpC,EAAuBlpC,GAGlFlN,KAAK6xC,WAAW5jC,MAAMjO,KAAKm4B,OAAOhyB,EAAIkvC,EAAkBlvC,EAAGnG,KAAKm4B,OAAOjrB,EAAImoC,EAAkBnoC,GAGjGlN,KAAK40C,WAAWrrB,GAAS,GAErBvpB,KAAKsyB,aAELtyB,KAAK8xC,YAAa,EAClB9xC,KAAKm4B,OAAO7F,cAGhBtyB,KAAKwxC,eAAe7kC,IAAIxG,EAAG+G,GAE3BlN,KAAKm4B,OAAOrH,OAAOulB,qBAAqBr2C,KAAKm4B,OAAQ5O,EAASpjB,EAAG+G,GAEjElN,KAAK+xC,cAAe,GAUxBuE,eAAgB,SAAUnwC,GAQtB,OANInG,KAAKoxC,aAELjrC,GAAKnG,KAAKib,KAAK5F,MAAMkhC,KAAKC,YAAYrwC,EACtCA,GAAKnG,KAAKib,KAAK5F,MAAMkhC,KAAKE,mBAAmBtwC,GAG1CA,GAUXuwC,eAAgB,SAAUxpC,GAQtB,OANIlN,KAAKoxC,aAELlkC,GAAKlN,KAAKib,KAAK5F,MAAMkhC,KAAKC,YAAYtpC,EACtCA,GAAKlN,KAAKib,KAAK5F,MAAMkhC,KAAKE,mBAAmBvpC,GAG1CA,GAWXooC,cAAe,SAAUqB,GAE3B,OAAI32C,KAAKm4B,OAAOhO,OAERnqB,KAAKib,KAAKuF,MAAM+iB,iBAAiBvjC,KAAKm4B,OAAOhO,QAAShkB,EAAGwwC,EAAYxwC,EAAG+G,EAAGypC,EAAYzpC,IAIvFypC,GAWNxB,SAAU,SAAU5rB,GAEhBvpB,KAAKstC,WAAY,EACjBttC,KAAK20C,mBAAqB,EAC1B30C,KAAKoyC,aAAa7oB,EAAQpU,IAAIm4B,WAAY,EAC1CttC,KAAK8xC,YAAa,EAClB9xC,KAAK+xC,cAAe,EAEhB/xC,KAAKywC,gBAEDzwC,KAAKm4B,OAAOvI,eAEZ5vB,KAAKm4B,OAAOtI,aAAa1pB,EAAIF,KAAKsI,OAAOvO,KAAKm4B,OAAOtI,aAAa1pB,EAAKnG,KAAK4wC,YAAc5wC,KAAK0wC,OAAU1wC,KAAK0wC,OAAS1wC,KAAK0wC,MAAS1wC,KAAK4wC,YAAc5wC,KAAK0wC,MAC7J1wC,KAAKm4B,OAAOtI,aAAa3iB,EAAIjH,KAAKsI,OAAOvO,KAAKm4B,OAAOtI,aAAa3iB,EAAKlN,KAAK6wC,YAAc7wC,KAAK2wC,OAAU3wC,KAAK2wC,OAAS3wC,KAAK2wC,MAAS3wC,KAAK6wC,YAAc7wC,KAAK2wC,QAI7J3wC,KAAKm4B,OAAOhyB,EAAIF,KAAKsI,OAAOvO,KAAKm4B,OAAOhyB,EAAKnG,KAAK4wC,YAAc5wC,KAAK0wC,OAAU1wC,KAAK0wC,OAAS1wC,KAAK0wC,MAAS1wC,KAAK4wC,YAAc5wC,KAAK0wC,MACnI1wC,KAAKm4B,OAAOjrB,EAAIjH,KAAKsI,OAAOvO,KAAKm4B,OAAOjrB,EAAKlN,KAAK6wC,YAAc7wC,KAAK2wC,OAAU3wC,KAAK2wC,OAAS3wC,KAAK2wC,MAAS3wC,KAAK6wC,YAAc7wC,KAAK2wC,QAI3I3wC,KAAKm4B,OAAOrH,OAAO8lB,oBAAoB52C,KAAKm4B,OAAQ5O,IAEb,IAAnCvpB,KAAK+tC,iBAAiBxkB,IAEtBvpB,KAAKmuC,mBAAmB5kB,IAYhCstB,YAAa,SAAUC,EAAiBC,QAEZzsC,IAApBwsC,IAAiCA,GAAkB,QACjCxsC,IAAlBysC,IAA+BA,GAAgB,GAEnD/2C,KAAKqwC,oBAAsByG,EAC3B92C,KAAKswC,kBAAoByG,GAgB7BC,WAAY,SAAUtG,EAAOC,EAAOsG,EAAQC,EAAWtG,EAAaC,QAEjDvmC,IAAX2sC,IAAwBA,GAAS,QACnB3sC,IAAd4sC,IAA2BA,GAAY,QACvB5sC,IAAhBsmC,IAA6BA,EAAc,QAC3BtmC,IAAhBumC,IAA6BA,EAAc,GAE/C7wC,KAAK0wC,MAAQA,EACb1wC,KAAK2wC,MAAQA,EACb3wC,KAAK4wC,YAAcA,EACnB5wC,KAAK6wC,YAAcA,EACnB7wC,KAAKwwC,WAAayG,EAClBj3C,KAAKywC,cAAgByG,GASzBC,YAAa,WAETn3C,KAAKwwC,YAAa,EAClBxwC,KAAKywC,eAAgB,GASzB+E,gBAAiB,WAETx1C,KAAKm4B,OAAOvI,eAER5vB,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKkxC,WAAWzlC,KAE7CzL,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKkxC,WAAWzlC,KAEvCzL,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKm4B,OAAOhoB,MAASnQ,KAAKkxC,WAAW1lC,QAExExL,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKkxC,WAAW1lC,MAAQxL,KAAKm4B,OAAOhoB,OAGjEnQ,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKkxC,WAAW/hC,IAE7CnP,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKkxC,WAAW/hC,IAEvCnP,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKm4B,OAAO/nB,OAAUpQ,KAAKkxC,WAAW9hC,SAEzEpP,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKkxC,WAAW9hC,OAASpP,KAAKm4B,OAAO/nB,UAKlEpQ,KAAKm4B,OAAO1sB,KAAOzL,KAAKkxC,WAAWzlC,KAEnCzL,KAAKm4B,OAAOhyB,EAAInG,KAAKkxC,WAAW/qC,EAAInG,KAAKm4B,OAAOif,QAE3Cp3C,KAAKm4B,OAAO3sB,MAAQxL,KAAKkxC,WAAW1lC,QAEzCxL,KAAKm4B,OAAOhyB,EAAInG,KAAKkxC,WAAW1lC,OAASxL,KAAKm4B,OAAOhoB,MAAQnQ,KAAKm4B,OAAOif,UAGzEp3C,KAAKm4B,OAAOhpB,IAAMnP,KAAKkxC,WAAW/hC,IAElCnP,KAAKm4B,OAAOjrB,EAAIlN,KAAKkxC,WAAW/hC,IAAMnP,KAAKm4B,OAAOkf,QAE7Cr3C,KAAKm4B,OAAO/oB,OAASpP,KAAKkxC,WAAW9hC,SAE1CpP,KAAKm4B,OAAOjrB,EAAIlN,KAAKkxC,WAAW9hC,QAAUpP,KAAKm4B,OAAO/nB,OAASpQ,KAAKm4B,OAAOkf,YAWvF5B,kBAAmB,WAEXz1C,KAAKm4B,OAAOvI,eAAiB5vB,KAAKmxC,aAAavhB,eAE3C5vB,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKmxC,aAAathB,aAAa1pB,EAE5DnG,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKmxC,aAAathB,aAAa1pB,EAEtDnG,KAAKm4B,OAAOtI,aAAa1pB,EAAInG,KAAKm4B,OAAOhoB,MAAUnQ,KAAKmxC,aAAathB,aAAa1pB,EAAInG,KAAKmxC,aAAahhC,QAE9GnQ,KAAKm4B,OAAOtI,aAAa1pB,EAAKnG,KAAKmxC,aAAathB,aAAa1pB,EAAInG,KAAKmxC,aAAahhC,MAASnQ,KAAKm4B,OAAOhoB,OAGxGnQ,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKmxC,aAAathB,aAAa3iB,EAE5DlN,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKmxC,aAAathB,aAAa3iB,EAEtDlN,KAAKm4B,OAAOtI,aAAa3iB,EAAIlN,KAAKm4B,OAAO/nB,OAAWpQ,KAAKmxC,aAAathB,aAAa3iB,EAAIlN,KAAKmxC,aAAa/gC,SAE/GpQ,KAAKm4B,OAAOtI,aAAa3iB,EAAKlN,KAAKmxC,aAAathB,aAAa3iB,EAAIlN,KAAKmxC,aAAa/gC,OAAUpQ,KAAKm4B,OAAO/nB,UAKzGpQ,KAAKm4B,OAAO1sB,KAAOzL,KAAKmxC,aAAa1lC,KAErCzL,KAAKm4B,OAAOhyB,EAAInG,KAAKmxC,aAAa1lC,KAAOzL,KAAKm4B,OAAOif,QAEhDp3C,KAAKm4B,OAAO3sB,MAAQxL,KAAKmxC,aAAa3lC,QAE3CxL,KAAKm4B,OAAOhyB,EAAInG,KAAKmxC,aAAa3lC,OAASxL,KAAKm4B,OAAOhoB,MAAQnQ,KAAKm4B,OAAOif,UAG3Ep3C,KAAKm4B,OAAOhpB,IAAMnP,KAAKmxC,aAAahiC,IAEpCnP,KAAKm4B,OAAOjrB,EAAIlN,KAAKmxC,aAAahiC,IAAMnP,KAAKm4B,OAAOkf,QAE/Cr3C,KAAKm4B,OAAO/oB,OAASpP,KAAKmxC,aAAa/hC,SAE5CpP,KAAKm4B,OAAOjrB,EAAIlN,KAAKmxC,aAAa/hC,QAAUpP,KAAKm4B,OAAO/nB,OAASpQ,KAAKm4B,OAAOkf,aAQ7Fh3C,EAAO6vC,aAAa3pC,UAAU8B,YAAchI,EAAO6vC,aAsBnD7vC,EAAOuhC,QAAU,SAAU3mB,GAKvBjb,KAAKib,KAAOA,EAMZjb,KAAKs3C,oBAMLt3C,KAAKu3C,YAOLv3C,KAAKw3C,SAAU,EAOfx3C,KAAKq+B,SAAU,EAOfr+B,KAAKy3C,2BAA6BC,UAAUC,qBAAuBD,UAAUE,iBAAgE,IAA7CF,UAAUG,UAAU5mB,QAAQ,eAAyBymB,UAAUI,YAQ/J93C,KAAK+3C,wBAQL/3C,KAAKg4C,mBAKLh4C,KAAKwjB,gBAAkBxjB,KAKvBA,KAAKi4C,kBAAoB,KAKzBj4C,KAAKk4C,qBAAuB,KAK5Bl4C,KAAKm4C,eAAiB,KAKtBn4C,KAAKo4C,aAAe,KAKpBp4C,KAAKq4C,eAAiB,KAKtBr4C,KAAKs4C,gBAAkB,KAMvBt4C,KAAKu4C,oBAAsB,KAM3Bv4C,KAAKw4C,qBAAuB,KAM5Bx4C,KAAKy4C,WACD,IAAIp4C,EAAOq4C,UAAUz9B,EAAMjb,MAC3B,IAAIK,EAAOq4C,UAAUz9B,EAAMjb,MAC3B,IAAIK,EAAOq4C,UAAUz9B,EAAMjb,MAC3B,IAAIK,EAAOq4C,UAAUz9B,EAAMjb,QAKnCK,EAAOuhC,QAAQr7B,WAUXoyC,aAAc,SAAU7zB,EAAS8zB,QAEJ,IAAdA,IAEP54C,KAAKi4C,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAY74C,KAAKi4C,kBAClGj4C,KAAKk4C,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe94C,KAAKk4C,qBAC3Gl4C,KAAKm4C,eAA8C,mBAArBS,EAAUtY,OAAyBsY,EAAUtY,OAAStgC,KAAKm4C,eACzFn4C,KAAKo4C,aAA0C,mBAAnBQ,EAAUrY,KAAuBqY,EAAUrY,KAAOvgC,KAAKo4C,aACnFp4C,KAAKq4C,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS/4C,KAAKq4C,eACzFr4C,KAAKs4C,gBAAgD,mBAAtBM,EAAU3O,QAA0B2O,EAAU3O,QAAUjqC,KAAKs4C,gBAC5Ft4C,KAAKwjB,gBAAkBsB,IAW/BhU,MAAO,WAEH,IAAI9Q,KAAKw3C,QAAT,CAMAx3C,KAAKw3C,SAAU,EAEf,IAAItwB,EAAQlnB,KAEZA,KAAKg5C,oBAAsB,SAAUjsB,GACjC,OAAO7F,EAAM+xB,mBAAmBlsB,IAGpC/sB,KAAKk5C,uBAAyB,SAAUnsB,GACpC,OAAO7F,EAAMiyB,sBAAsBpsB,IAGvC9kB,OAAOglB,iBAAiB,mBAAoBjtB,KAAKg5C,qBAAqB,GACtE/wC,OAAOglB,iBAAiB,sBAAuBjtB,KAAKk5C,wBAAwB,KAWhFD,mBAAoB,SAAUlsB,GAE1B,IAAIqsB,EAASrsB,EAAMqT,QACnBpgC,KAAKu3C,SAASpkC,KAAKimC,GACnBp5C,KAAKy4C,UAAUW,EAAOrwC,OAAOswC,QAAQD,IAWzCD,sBAAuB,SAAUpsB,GAE7B,IAAIusB,EAAavsB,EAAMqT,QAEvB,IAAK,IAAIp4B,KAAKhI,KAAKu3C,SAEXv3C,KAAKu3C,SAASvvC,GAAGe,QAAUuwC,EAAWvwC,OAEtC/I,KAAKu3C,SAAS3zB,OAAO5b,EAAE,GAI/BhI,KAAKy4C,UAAUa,EAAWvwC,OAAOwwC,cASrCv6B,OAAQ,WAEJhf,KAAKw5C,gBAELx5C,KAAKy5C,KAAKC,aACV15C,KAAK25C,KAAKD,aACV15C,KAAK45C,KAAKF,aACV15C,KAAK65C,KAAKH,cAUdF,cAAe,WAEX,GAAKx5C,KAAKw3C,QAAV,CAKA,GAAIE,UAAuB,YAEnBoC,EAAcpC,UAAUI,mBAE3B,GAAIJ,UAA6B,kBAE9BoC,EAAcpC,UAAUC,yBAE3B,GAAID,UAA0B,eAE/B,IAAIoC,EAAcpC,UAAUE,iBAGhC,GAAIkC,EACJ,CACI95C,KAAKu3C,YAIL,IAAK,IAFDwC,GAAkB,EAEb/xC,EAAI,EAAGA,EAAI8xC,EAAY/xC,gBAEjB+xC,EAAY9xC,KAAOhI,KAAK+3C,qBAAqB/vC,KAEpD+xC,GAAkB,EAClB/5C,KAAK+3C,qBAAqB/vC,UAAY8xC,EAAY9xC,IAGlD8xC,EAAY9xC,IAEZhI,KAAKu3C,SAASpkC,KAAK2mC,EAAY9xC,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAIyjB,EAAI,EAAGA,EAAIzrB,KAAKy4C,UAAU1wC,OAAQ0jB,IAEvCzrB,KAAKy4C,UAAUhtB,GAAGuuB,QAAUh6C,KAAKu3C,SAAS9rB,GAG9C,GAAIsuB,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhC3hC,EAAI,EAAGA,EAAIzY,KAAKy4C,UAAU1wC,OAAQ0Q,IAIvC,IAFAwhC,EAAYj6C,KAAKy4C,UAAUhgC,IAEb4hC,UAEV,IAAK,IAAIC,EAAI,EAAGA,EAAIt6C,KAAKu3C,SAASxvC,OAAQuyC,IAElCt6C,KAAKu3C,SAAS+C,GAAGvxC,QAAUkxC,EAAUlxC,QAErCmxC,EAAiBC,WAAWF,EAAUlxC,QAAS,EAC/CmxC,EAAiBE,WAAW3hC,IAAK,GAMjD,IAAK,IAAIvO,EAAI,EAAGA,EAAIlK,KAAKy4C,UAAU1wC,OAAQmC,IAIvC,GAFA+vC,EAAYj6C,KAAKy4C,UAAUvuC,IAEvBgwC,EAAiBE,WAAWlwC,GAAhC,CAKIlK,KAAKu3C,SAASxvC,OAAS,GAEvBkyC,EAAUV,aAGd,IAAK,IAAI5iC,EAAI,EAAGA,EAAI3W,KAAKu3C,SAASxvC,SAE1BmyC,EAAiBE,WAAWlwC,GAFMyM,IAC1C,CAMI,IAAI4jC,EAASv6C,KAAKu3C,SAAS5gC,GAE3B,GAAI4jC,EACJ,CACI,GAAIL,EAAiBC,WAAWI,EAAOxxC,OACvC,CACIkxC,EAAUV,aACV,SAIAU,EAAUZ,QAAQkB,GAClBL,EAAiBC,WAAWI,EAAOxxC,QAAS,EAC5CmxC,EAAiBE,WAAWlwC,IAAK,OAKrC+vC,EAAUV,mBAYlCiB,aAAc,SAAUzwC,GAEpB,IAAK,IAAI/B,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvChI,KAAKy4C,UAAUzwC,GAAGyyC,SAAW1wC,GAUrCwzB,KAAM,WAEFv9B,KAAKw3C,SAAU,EAEfvvC,OAAOkmB,oBAAoB,mBAAoBnuB,KAAKg5C,qBACpD/wC,OAAOkmB,oBAAoB,sBAAuBnuB,KAAKk5C,yBAQ3D/4B,MAAO,WAEHngB,KAAKgf,SAEL,IAAK,IAAIhX,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvChI,KAAKy4C,UAAUzwC,GAAGmY,SAY1BgqB,YAAa,SAAUX,EAAYltB,GAE/B,IAAK,IAAItU,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvC,IAA4D,IAAxDhI,KAAKy4C,UAAUzwC,GAAGmiC,YAAYX,EAAYltB,GAE1C,OAAO,EAIf,OAAO,GAWX8tB,aAAc,SAAUZ,EAAYltB,GAEhC,IAAK,IAAItU,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvC,IAA6D,IAAzDhI,KAAKy4C,UAAUzwC,GAAGoiC,aAAaZ,EAAYltB,GAE3C,OAAO,EAIf,OAAO,GAUXmtB,OAAQ,SAAUD,GAEd,IAAK,IAAIxhC,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvC,IAA6C,IAAzChI,KAAKy4C,UAAUzwC,GAAGyhC,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQXjlB,QAAS,WAELvkB,KAAKu9B,OAEL,IAAK,IAAIv1B,EAAI,EAAGA,EAAIhI,KAAKy4C,UAAU1wC,OAAQC,IAEvChI,KAAKy4C,UAAUzwC,GAAGuc,YAO9BlkB,EAAOuhC,QAAQr7B,UAAU8B,YAAchI,EAAOuhC,QAQ9Cn6B,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,UAE5CmG,IAAK,WACD,OAAO1M,KAAKw3C,WAWpB/vC,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,aAE5CmG,IAAK,WACD,OAAO1M,KAAKy3C,4BAWpBhwC,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,iBAE5CmG,IAAK,WACD,OAAO1M,KAAKu3C,SAASxvC,UAW7BN,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKy4C,UAAU,MAW9BhxC,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKy4C,UAAU,MAW9BhxC,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKy4C,UAAU,MAW9BhxC,OAAOmF,eAAevM,EAAOuhC,QAAQr7B,UAAW,QAE5CmG,IAAK,WACD,OAAO1M,KAAKy4C,UAAU,MAK9Bp4C,EAAOuhC,QAAQ8Y,SAAW,EAC1Br6C,EAAOuhC,QAAQ+Y,SAAW,EAC1Bt6C,EAAOuhC,QAAQgZ,SAAW,EAC1Bv6C,EAAOuhC,QAAQiZ,SAAW,EAC1Bx6C,EAAOuhC,QAAQkZ,SAAW,EAC1Bz6C,EAAOuhC,QAAQmZ,SAAW,EAC1B16C,EAAOuhC,QAAQoZ,SAAW,EAC1B36C,EAAOuhC,QAAQqZ,SAAW,EAC1B56C,EAAOuhC,QAAQsZ,SAAW,EAC1B76C,EAAOuhC,QAAQuZ,SAAW,EAC1B96C,EAAOuhC,QAAQwZ,UAAY,GAC3B/6C,EAAOuhC,QAAQyZ,UAAY,GAC3Bh7C,EAAOuhC,QAAQ0Z,UAAY,GAC3Bj7C,EAAOuhC,QAAQ2Z,UAAY,GAC3Bl7C,EAAOuhC,QAAQ4Z,UAAY,GAC3Bn7C,EAAOuhC,QAAQ6Z,UAAY,GAE3Bp7C,EAAOuhC,QAAQ8Z,OAAS,EACxBr7C,EAAOuhC,QAAQ+Z,OAAS,EACxBt7C,EAAOuhC,QAAQga,OAAS,EACxBv7C,EAAOuhC,QAAQia,OAAS,EACxBx7C,EAAOuhC,QAAQka,OAAS,EACxBz7C,EAAOuhC,QAAQma,OAAS,EACxB17C,EAAOuhC,QAAQoa,OAAS,EACxB37C,EAAOuhC,QAAQqa,OAAS,EACxB57C,EAAOuhC,QAAQsa,OAAS,EACxB77C,EAAOuhC,QAAQua,OAAS,EAMxB97C,EAAOuhC,QAAQwa,UAAY,EAC3B/7C,EAAOuhC,QAAQya,UAAY,EAC3Bh8C,EAAOuhC,QAAQ0a,UAAY,EAC3Bj8C,EAAOuhC,QAAQ2a,UAAY,EAC3Bl8C,EAAOuhC,QAAQ4a,oBAAsB,EACrCn8C,EAAOuhC,QAAQ6a,qBAAuB,EACtCp8C,EAAOuhC,QAAQ8a,qBAAuB,EACtCr8C,EAAOuhC,QAAQ+a,sBAAwB,EACvCt8C,EAAOuhC,QAAQgb,aAAe,EAC9Bv8C,EAAOuhC,QAAQib,cAAgB,EAC/Bx8C,EAAOuhC,QAAQkb,0BAA4B,GAC3Cz8C,EAAOuhC,QAAQmb,2BAA6B,GAE5C18C,EAAOuhC,QAAQob,kBAAoB,GACnC38C,EAAOuhC,QAAQqb,mBAAqB,GACpC58C,EAAOuhC,QAAQsb,gBAAkB,GACjC78C,EAAOuhC,QAAQub,kBAAoB,GAGnC98C,EAAOuhC,QAAQwb,qBAAuB,EACtC/8C,EAAOuhC,QAAQyb,qBAAuB,EACtCh9C,EAAOuhC,QAAQ0b,sBAAwB,EACvCj9C,EAAOuhC,QAAQ2b,sBAAwB,EAIvCl9C,EAAOuhC,QAAQ4b,QAAU,EACzBn9C,EAAOuhC,QAAQ6b,aAAe,EAC9Bp9C,EAAOuhC,QAAQ8b,aAAe,EAC9Br9C,EAAOuhC,QAAQ+b,eAAiB,EAChCt9C,EAAOuhC,QAAQgc,SAAW,EAC1Bv9C,EAAOuhC,QAAQic,SAAW,EAC1Bx9C,EAAOuhC,QAAQkc,SAAW,EAC1Bz9C,EAAOuhC,QAAQmc,SAAW,EAC1B19C,EAAOuhC,QAAQoc,aAAe,EAC9B39C,EAAOuhC,QAAQqc,YAAc,EAC7B59C,EAAOuhC,QAAQsc,wBAA0B,GACzC79C,EAAOuhC,QAAQuc,yBAA2B,GAC1C99C,EAAOuhC,QAAQwc,cAAgB,GAC/B/9C,EAAOuhC,QAAQyc,gBAAkB,GACjCh+C,EAAOuhC,QAAQ0c,gBAAkB,GACjCj+C,EAAOuhC,QAAQ2c,iBAAmB,GAClCl+C,EAAOuhC,QAAQ4c,mBAAqB,EACpCn+C,EAAOuhC,QAAQ6c,mBAAqB,EACpCp+C,EAAOuhC,QAAQ8c,oBAAsB,EACrCr+C,EAAOuhC,QAAQ+c,oBAAsB,EAiBrCt+C,EAAOq4C,UAAY,SAAUz9B,EAAM2jC,GAK/B5+C,KAAKib,KAAOA,EAMZjb,KAAK+I,MAAQ,KAMb/I,KAAKq6C,WAAY,EAKjBr6C,KAAKwjB,gBAAkBxjB,KAKvBA,KAAKi4C,kBAAoB,KAKzBj4C,KAAKk4C,qBAAuB,KAK5Bl4C,KAAKm4C,eAAiB,KAKtBn4C,KAAKo4C,aAAe,KAKpBp4C,KAAKq4C,eAAiB,KAKtBr4C,KAAKs4C,gBAAkB,KAKvBt4C,KAAKy6C,SAAW,IAMhBz6C,KAAK6+C,WAAaD,EAMlB5+C,KAAKg6C,QAAU,KAMfh6C,KAAK8+C,eAAiB,KAMtB9+C,KAAK++C,YAML/+C,KAAKg/C,YAAc,EAMnBh/C,KAAKi/C,SAMLj/C,KAAKk/C,SAAW,GAIpB7+C,EAAOq4C,UAAUnyC,WAUboyC,aAAc,SAAU7zB,EAAS8zB,QAEJ,IAAdA,IAEP54C,KAAKi4C,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAY74C,KAAKi4C,kBAClGj4C,KAAKk4C,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe94C,KAAKk4C,qBAC3Gl4C,KAAKm4C,eAA8C,mBAArBS,EAAUtY,OAAyBsY,EAAUtY,OAAStgC,KAAKm4C,eACzFn4C,KAAKo4C,aAA0C,mBAAnBQ,EAAUrY,KAAuBqY,EAAUrY,KAAOvgC,KAAKo4C,aACnFp4C,KAAKq4C,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS/4C,KAAKq4C,eACzFr4C,KAAKs4C,gBAAgD,mBAAtBM,EAAU3O,QAA0B2O,EAAU3O,QAAUjqC,KAAKs4C,gBAE5Ft4C,KAAKwjB,gBAAkBsB,IAY/Bq6B,UAAW,SAAU3V,GAEjB,OAAIxpC,KAAK++C,SAASvV,GAEPxpC,KAAK++C,SAASvV,GAId,MAUfkQ,WAAY,WAER,GAAK15C,KAAKq6C,WAAcr6C,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKib,KAAKuF,MAAM4f,QAAQ/B,WAAYr+B,KAAKg6C,QAAQoF,WAAcp/C,KAAKg6C,QAAQoF,YAAcp/C,KAAK8+C,gBAAnJ,CAKA,IAAK,IAAI92C,EAAI,EAAGA,EAAIhI,KAAKg/C,YAAah3C,IACtC,CACI,IAAIq3C,EAAeC,MAAMt/C,KAAKg6C,QAAQ1N,QAAQtkC,IAAMhI,KAAKg6C,QAAQ1N,QAAQtkC,GAAG+B,MAAQ/J,KAAKg6C,QAAQ1N,QAAQtkC,GAErGq3C,IAAiBr/C,KAAK++C,SAAS/2C,GAAG+B,QAEb,IAAjBs1C,EAEAr/C,KAAKu/C,kBAAkBv3C,EAAGq3C,GAEJ,IAAjBA,EAELr/C,KAAKw/C,gBAAgBx3C,EAAGq3C,GAIxBr/C,KAAKy/C,mBAAmBz3C,EAAGq3C,IAKvC,IAAK,IAAIt2C,EAAQ,EAAGA,EAAQ/I,KAAKk/C,SAAUn2C,IAC3C,CACI,IAAIgB,EAAQ/J,KAAKg6C,QAAQ0F,KAAK32C,GAEzBgB,EAAQ,GAAKA,EAAQ/J,KAAKy6C,UAAc1wC,EAAQ,GAAKA,GAAS/J,KAAKy6C,SAEpEz6C,KAAK2/C,kBAAkB52C,EAAOgB,GAI9B/J,KAAK2/C,kBAAkB52C,EAAO,GAItC/I,KAAK8+C,eAAiB9+C,KAAKg6C,QAAQoF,YAUvC/F,QAAS,SAAUkB,GAEf,IAAIqF,GAAmB5/C,KAAKq6C,UAE5Br6C,KAAKq6C,WAAY,EACjBr6C,KAAK+I,MAAQwxC,EAAOxxC,MAEpB/I,KAAKg6C,QAAUO,EAEfv6C,KAAK++C,YACL/+C,KAAKg/C,YAAczE,EAAOjO,QAAQvkC,OAElC/H,KAAKi/C,SACLj/C,KAAKk/C,SAAW3E,EAAOmF,KAAK33C,OAE5B,IAAK,IAAImH,EAAI,EAAGA,EAAIlP,KAAKk/C,SAAUhwC,IAE/BlP,KAAKi/C,MAAM/vC,GAAKqrC,EAAOmF,KAAKxwC,GAGhC,IAAK,IAAIs6B,KAAc+Q,EAAOjO,QAE1B9C,EAAav+B,SAASu+B,EAAY,IAClCxpC,KAAK++C,SAASvV,GAAc,IAAInpC,EAAOkpC,aAAavpC,KAAMwpC,GAG1DoW,GAAmB5/C,KAAK6+C,WAAW5G,mBAEnCj4C,KAAK6+C,WAAW5G,kBAAkBjxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBxjB,KAAK+I,OAG7E62C,GAAmB5/C,KAAKi4C,mBAExBj4C,KAAKi4C,kBAAkBjxC,KAAKhH,KAAKwjB,kBAUzC+1B,WAAY,WAER,IAAIqG,EAAkB5/C,KAAKq6C,UACvBwF,EAAqB7/C,KAAK+I,MAE9B/I,KAAKq6C,WAAY,EACjBr6C,KAAK+I,MAAQ,KAEb/I,KAAKg6C,aAAU1vC,EAEf,IAAK,IAAItC,EAAI,EAAGA,EAAIhI,KAAKg/C,YAAah3C,IAElChI,KAAK++C,SAAS/2C,GAAGuc,UAGrBvkB,KAAK++C,YACL/+C,KAAKg/C,YAAc,EAEnBh/C,KAAKi/C,SACLj/C,KAAKk/C,SAAW,EAEZU,GAAmB5/C,KAAK6+C,WAAW3G,sBAEnCl4C,KAAK6+C,WAAW3G,qBAAqBlxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBq8B,GAG3ED,GAAmB5/C,KAAKk4C,sBAExBl4C,KAAKk4C,qBAAqBlxC,KAAKhH,KAAKwjB,kBAU5Ce,QAAS,WAELvkB,KAAKg6C,aAAU1vC,EAEf,IAAK,IAAItC,EAAI,EAAGA,EAAIhI,KAAKg/C,YAAah3C,IAElChI,KAAK++C,SAAS/2C,GAAGuc,UAGrBvkB,KAAK++C,YACL/+C,KAAKg/C,YAAc,EAEnBh/C,KAAKi/C,SACLj/C,KAAKk/C,SAAW,EAEhBl/C,KAAKi4C,kBAAoB,KACzBj4C,KAAKk4C,qBAAuB,KAC5Bl4C,KAAKm4C,eAAiB,KACtBn4C,KAAKo4C,aAAe,KACpBp4C,KAAKq4C,eAAiB,KACtBr4C,KAAKs4C,gBAAkB,MAU3BqH,kBAAmB,SAAU52C,EAAOgB,GAE5B/J,KAAKi/C,MAAMl2C,KAAWgB,IAK1B/J,KAAKi/C,MAAMl2C,GAASgB,EAEhB/J,KAAK6+C,WAAWxG,gBAEhBr4C,KAAK6+C,WAAWxG,eAAerxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBxjB,KAAM+I,EAAOgB,GAGlF/J,KAAKq4C,gBAELr4C,KAAKq4C,eAAerxC,KAAKhH,KAAKwjB,gBAAiBxjB,KAAM+I,EAAOgB,KAYpEw1C,kBAAmB,SAAU/V,EAAYz/B,GAEjC/J,KAAK++C,SAASvV,IAEdxpC,KAAK++C,SAASvV,GAAY14B,MAAM,KAAM/G,GAGtC/J,KAAK6+C,WAAW1G,gBAEhBn4C,KAAK6+C,WAAW1G,eAAenxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBgmB,EAAYz/B,EAAO/J,KAAK+I,OAG7F/I,KAAKm4C,gBAELn4C,KAAKm4C,eAAenxC,KAAKhH,KAAKwjB,gBAAiBgmB,EAAYz/B,IAYnEy1C,gBAAiB,SAAUhW,EAAYz/B,GAE/B/J,KAAK6+C,WAAWzG,cAEhBp4C,KAAK6+C,WAAWzG,aAAapxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBgmB,EAAYz/B,EAAO/J,KAAK+I,OAG3F/I,KAAKo4C,cAELp4C,KAAKo4C,aAAapxC,KAAKhH,KAAKwjB,gBAAiBgmB,EAAYz/B,GAGzD/J,KAAK++C,SAASvV,IAEdxpC,KAAK++C,SAASvV,GAAYjM,KAAK,KAAMxzB,IAY7C01C,mBAAoB,SAAUjW,EAAYz/B,GAElC/J,KAAK6+C,WAAWvG,iBAEhBt4C,KAAK6+C,WAAWvG,gBAAgBtxC,KAAKhH,KAAK6+C,WAAWr7B,gBAAiBgmB,EAAYz/B,EAAO/J,KAAK+I,OAG9F/I,KAAKs4C,iBAELt4C,KAAKs4C,gBAAgBtxC,KAAKhH,KAAKwjB,gBAAiBgmB,EAAYz/B,GAG5D/J,KAAK++C,SAASvV,IAEdxpC,KAAK++C,SAASvV,GAAYU,SAASngC,IAY3C+1C,KAAM,SAAUC,GAEZ,QAAI//C,KAAKi/C,MAAMc,IAEJ//C,KAAKi/C,MAAMc,IAc1BtW,OAAQ,SAAUD,GAEd,QAAIxpC,KAAK++C,SAASvV,IAEPxpC,KAAK++C,SAASvV,GAAYC,QAczCC,KAAM,SAAUF,GAEZ,QAAIxpC,KAAK++C,SAASvV,IAEPxpC,KAAK++C,SAASvV,GAAYE,MAezCU,aAAc,SAAUZ,EAAYltB,GAEhC,GAAItc,KAAK++C,SAASvV,GAEd,OAAOxpC,KAAK++C,SAASvV,GAAYY,aAAa9tB,IAatD6tB,YAAa,SAAUX,EAAYltB,GAE/B,GAAItc,KAAK++C,SAASvV,GAEd,OAAOxpC,KAAK++C,SAASvV,GAAYW,YAAY7tB,IAarD0jC,YAAa,SAAUxW,GAEnB,OAAIxpC,KAAK++C,SAASvV,GAEPxpC,KAAK++C,SAASvV,GAAYz/B,MAG9B,MASXoW,MAAO,WAEH,IAAK,IAAI1H,EAAI,EAAGA,EAAIzY,KAAKi/C,MAAMl3C,OAAQ0Q,IAEnCzY,KAAKi/C,MAAMxmC,GAAK,IAO5BpY,EAAOq4C,UAAUnyC,UAAU8B,YAAchI,EAAOq4C,UAgBhDr4C,EAAO4/C,IAAM,SAAUhlC,EAAMilC,GAKzBlgD,KAAKib,KAAOA,EAOZjb,KAAKmgD,UAAW,EAMhBngD,KAAK+sB,MAAQ,KAMb/sB,KAAKypC,QAAS,EAMdzpC,KAAK0pC,MAAO,EAMZ1pC,KAAK8pC,QAAS,EAMd9pC,KAAKgqC,SAAU,EAMfhqC,KAAK+pC,UAAW,EAKhB/pC,KAAK2pC,SAAW,EAQhB3pC,KAAKsc,SAAW,EAMhBtc,KAAK4pC,QAAU,KAQf5pC,KAAKogD,YAAc,KAMnBpgD,KAAK6pC,QAAU,EAKf7pC,KAAKqgD,QAAUH,EAKflgD,KAAKsgC,OAAS,IAAIjgC,EAAOwb,OAKzB7b,KAAKsgD,eAAiB,KAKtBtgD,KAAKugD,cAAgB,KAKrBvgD,KAAKugC,KAAO,IAAIlgC,EAAOwb,OAMvB7b,KAAKwgD,WAAY,EAMjBxgD,KAAKygD,SAAU,GAInBpgD,EAAO4/C,IAAI15C,WAQPyY,OAAQ,WAEChf,KAAKmgD,WAENngD,KAAKypC,QAELzpC,KAAKsc,SAAWtc,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK2pC,SAC3C3pC,KAAK6pC,UAED7pC,KAAKsgD,gBAELtgD,KAAKsgD,eAAet5C,KAAKhH,KAAKugD,cAAevgD,OAKjDA,KAAKogD,WAAapgD,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK4pC,SAYrD8W,eAAgB,SAAU3zB,GAEjB/sB,KAAKmgD,WAEVngD,KAAK+sB,MAAQA,EAGT/sB,KAAKypC,SAKTzpC,KAAK8pC,OAAS/c,EAAM+c,OACpB9pC,KAAKgqC,QAAUjd,EAAMid,QACrBhqC,KAAK+pC,SAAWhd,EAAMgd,SAEtB/pC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EACZ1pC,KAAK2pC,SAAW3pC,KAAKib,KAAKmE,KAAKA,KAC/Bpf,KAAKsc,SAAW,EAChBtc,KAAKogD,WAAapgD,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK4pC,OAC7C5pC,KAAK6pC,QAAU,EAIf7pC,KAAKwgD,WAAY,EAEjBxgD,KAAKsgC,OAAOhhB,SAAStf,SAWzB2gD,aAAc,SAAU5zB,GAEf/sB,KAAKmgD,WAEVngD,KAAK+sB,MAAQA,EAET/sB,KAAK0pC,OAKT1pC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EACZ1pC,KAAK4pC,OAAS5pC,KAAKib,KAAKmE,KAAKA,KAC7Bpf,KAAKsc,SAAWtc,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK2pC,SAC3C3pC,KAAKogD,WAAa,EAIlBpgD,KAAKygD,SAAU,EAEfzgD,KAAKugC,KAAKjhB,SAAStf,SAavBmgB,MAAO,SAAUuiB,QAEAp4B,IAATo4B,IAAsBA,GAAO,GAEjC1iC,KAAKypC,QAAS,EACdzpC,KAAK0pC,MAAO,EACZ1pC,KAAK4pC,OAAS5pC,KAAKib,KAAKmE,KAAKA,KAC7Bpf,KAAKsc,SAAW,EAChBtc,KAAKogD,YAAc,KACnBpgD,KAAKmgD,UAAW,EAChBngD,KAAKwgD,WAAY,EACjBxgD,KAAKygD,SAAU,EAEX/d,IAEA1iC,KAAKsgC,OAAOjc,YACZrkB,KAAKugC,KAAKlc,YACVrkB,KAAKsgD,eAAiB,KACtBtgD,KAAKugD,cAAgB,OAa7B5N,aAAc,SAAUr2B,GAIpB,YAFiBhS,IAAbgS,IAA0BA,EAAW,IAEjCtc,KAAKypC,QAAUzpC,KAAKsc,SAAWA,GAY3CskC,WAAY,SAAUtkC,GAIlB,YAFiBhS,IAAbgS,IAA0BA,EAAW,KAEhCtc,KAAKypC,QAAYzpC,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK4pC,OAAUttB,GAWnE6tB,YAAa,WAET,OAAQnqC,KAAKypC,QAA4B,IAAlBzpC,KAAKsc,UAWhC8tB,aAAc,WAEV,OAASpqC,KAAKypC,QAA8B,IAApBzpC,KAAKogD,aAiBrC34C,OAAOmF,eAAevM,EAAO4/C,IAAI15C,UAAW,YAExCmG,IAAK,WAED,IAAIvC,EAAUnK,KAAKwgD,UAEnB,OADAxgD,KAAKwgD,WAAY,EACVr2C,KAiBf1C,OAAOmF,eAAevM,EAAO4/C,IAAI15C,UAAW,UAExCmG,IAAK,WAED,IAAIvC,EAAUnK,KAAKygD,QAEnB,OADAzgD,KAAKygD,SAAU,EACRt2C,KAcf1C,OAAOmF,eAAevM,EAAO4/C,IAAI15C,UAAW,WAExCmG,IAAK,WAED,OAAO1M,KAAKmgD,UAIhBxzC,IAAK,SAAU5C,IAEXA,IAAUA,KAEI/J,KAAKmgD,WAEVp2C,GAED/J,KAAKmgB,OAAM,GAGfngB,KAAKmgD,SAAWp2C,MAM5B1J,EAAO4/C,IAAI15C,UAAU8B,YAAchI,EAAO4/C,IAsB1C5/C,EAAOshC,SAAW,SAAU1mB,GAKxBjb,KAAKib,KAAOA,EAOZjb,KAAKq+B,SAAU,EAKfr+B,KAAK+sB,MAAQ,KAKb/sB,KAAK6gD,WAAa,KAKlB7gD,KAAKwjB,gBAAkBxjB,KAKvBA,KAAKm4C,eAAiB,KAKtBn4C,KAAK8gD,gBAAkB,KAKvB9gD,KAAKo4C,aAAe,KAMpBp4C,KAAK+gD,SAML/gD,KAAKghD,YAOLhhD,KAAKihD,WAAa,KAOlBjhD,KAAKkhD,YAAc,KAOnBlhD,KAAKmhD,SAAW,KAMhBnhD,KAAK6qB,GAAK,EAMV7qB,KAAKohD,GAAK,GAId/gD,EAAOshC,SAASp7B,WAWZoyC,aAAc,SAAU7zB,EAASwb,EAAQC,EAAM8gB,GAE3CrhD,KAAKwjB,gBAAkBsB,OAERxa,IAAXg2B,GAAmC,OAAXA,IAExBtgC,KAAKm4C,eAAiB7X,QAGbh2B,IAATi2B,GAA+B,OAATA,IAEtBvgC,KAAKo4C,aAAe7X,QAGRj2B,IAAZ+2C,GAAqC,OAAZA,IAEzBrhD,KAAK8gD,gBAAkBO,IAa/BC,OAAQ,SAAUpB,GASd,OAPKlgD,KAAK+gD,MAAMb,KAEZlgD,KAAK+gD,MAAMb,GAAW,IAAI7/C,EAAO4/C,IAAIjgD,KAAKib,KAAMilC,GAEhDlgD,KAAKuhD,cAAcrB,IAGhBlgD,KAAK+gD,MAAMb,IAiBtBsB,QAAS,SAAU/0C,GAEf,IAAI+B,KAEJ,IAAK,IAAI3E,KAAO4C,EAEZ+B,EAAO3E,GAAO7J,KAAKshD,OAAO70C,EAAK5C,IAGnC,OAAO2E,GAUXizC,UAAW,SAAUvB,GAEblgD,KAAK+gD,MAAMb,KAEXlgD,KAAK+gD,MAAMb,GAAW,KAEtBlgD,KAAK0hD,iBAAiBxB,KAW9ByB,iBAAkB,WAEd,OAAO3hD,KAAKwhD,SAAUI,GAAMvhD,EAAOwhD,QAAQ7gD,GAAIyrC,KAAQpsC,EAAOwhD,QAAQ5gD,KAAMwK,KAAQpL,EAAOwhD,QAAQ/gD,KAAM0K,MAASnL,EAAOwhD,QAAQ9gD,SAWrI+P,MAAO,WAEH,IAAI9Q,KAAKib,KAAKqS,OAAO6O,UAKG,OAApBn8B,KAAKihD,WAAT,CAMA,IAAI/5B,EAAQlnB,KAEZA,KAAKihD,WAAa,SAAUl0B,GACxB,OAAO7F,EAAMw5B,eAAe3zB,IAGhC/sB,KAAKmhD,SAAW,SAAUp0B,GACtB,OAAO7F,EAAMy5B,aAAa5zB,IAG9B/sB,KAAKkhD,YAAc,SAAUn0B,GACzB,OAAO7F,EAAM46B,gBAAgB/0B,IAGjC9kB,OAAOglB,iBAAiB,UAAWjtB,KAAKihD,YAAY,GACpDh5C,OAAOglB,iBAAiB,QAASjtB,KAAKmhD,UAAU,GAChDl5C,OAAOglB,iBAAiB,WAAYjtB,KAAKkhD,aAAa,KAS1D3jB,KAAM,WAEFt1B,OAAOkmB,oBAAoB,UAAWnuB,KAAKihD,YAC3Ch5C,OAAOkmB,oBAAoB,QAASnuB,KAAKmhD,UACzCl5C,OAAOkmB,oBAAoB,WAAYnuB,KAAKkhD,aAE5ClhD,KAAKihD,WAAa,KAClBjhD,KAAKmhD,SAAW,KAChBnhD,KAAKkhD,YAAc,MAUvB38B,QAAS,WAELvkB,KAAKu9B,OAELv9B,KAAK+hD,gBAEL/hD,KAAK+gD,MAAMh5C,OAAS,EACpB/H,KAAK6qB,GAAK,GAgBd02B,cAAe,SAAUrB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAIr2C,KAAOq2C,EAEZlgD,KAAKghD,SAASd,EAAQr2C,KAAQ,OAKlC7J,KAAKghD,SAASd,IAAW,GAUjCwB,iBAAkB,SAAUxB,UAEjBlgD,KAAKghD,SAASd,IASzB6B,cAAe,WAEX/hD,KAAKghD,aASThiC,OAAQ,WAIJ,IAFAhf,KAAK6qB,GAAK7qB,KAAK+gD,MAAMh5C,OAEd/H,KAAK6qB,MAEJ7qB,KAAK+gD,MAAM/gD,KAAK6qB,KAEhB7qB,KAAK+gD,MAAM/gD,KAAK6qB,IAAI7L,UAahC0hC,eAAgB,SAAU3zB,GAItB,GAFA/sB,KAAK+sB,MAAQA,EAER/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,QAAtC,CAKA,IAAIx0B,EAAMkjB,EAAMszB,QAGZrgD,KAAKghD,SAASn3C,IAEdkjB,EAAMwP,iBAGLv8B,KAAK+gD,MAAMl3C,KAEZ7J,KAAK+gD,MAAMl3C,GAAO,IAAIxJ,EAAO4/C,IAAIjgD,KAAKib,KAAMpR,IAGhD7J,KAAK+gD,MAAMl3C,GAAK62C,eAAe3zB,GAE/B/sB,KAAKohD,GAAKv3C,EAEN7J,KAAKm4C,gBAELn4C,KAAKm4C,eAAenxC,KAAKhH,KAAKwjB,gBAAiBuJ,KAYvD+0B,gBAAiB,SAAU/0B,GAEvB/sB,KAAK6gD,WAAa9zB,EAEb/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,SAKlCr+B,KAAK8gD,iBAEL9gD,KAAK8gD,gBAAgB95C,KAAKhH,KAAKwjB,gBAAiBw+B,OAAOC,aAAal1B,EAAMm1B,UAAWn1B,IAY7F4zB,aAAc,SAAU5zB,GAIpB,GAFA/sB,KAAK+sB,MAAQA,EAER/sB,KAAKib,KAAKuF,MAAM6d,SAAYr+B,KAAKq+B,QAAtC,CAKA,IAAIx0B,EAAMkjB,EAAMszB,QAEZrgD,KAAKghD,SAASn3C,IAEdkjB,EAAMwP,iBAGLv8B,KAAK+gD,MAAMl3C,KAEZ7J,KAAK+gD,MAAMl3C,GAAO,IAAIxJ,EAAO4/C,IAAIjgD,KAAKib,KAAMpR,IAGhD7J,KAAK+gD,MAAMl3C,GAAK82C,aAAa5zB,GAEzB/sB,KAAKo4C,cAELp4C,KAAKo4C,aAAapxC,KAAKhH,KAAKwjB,gBAAiBuJ,KAWrD5M,MAAO,SAAUuiB,QAEAp4B,IAATo4B,IAAsBA,GAAO,GAEjC1iC,KAAK+sB,MAAQ,KAIb,IAFA,IAAI/kB,EAAIhI,KAAK+gD,MAAMh5C,OAEZC,KAEChI,KAAK+gD,MAAM/4C,IAEXhI,KAAK+gD,MAAM/4C,GAAGmY,MAAMuiB,IAehCiQ,aAAc,SAAUuN,EAAS5jC,GAE7B,OAAItc,KAAK+gD,MAAMb,GAEJlgD,KAAK+gD,MAAMb,GAASvN,aAAar2B,GAIjC,MAcfskC,WAAY,SAAUV,EAAS5jC,GAE3B,OAAItc,KAAK+gD,MAAMb,GAEJlgD,KAAK+gD,MAAMb,GAASU,WAAWtkC,GAI/B,MAKf6tB,YAAa,SAAU+V,GAEnB,OAAIlgD,KAAK+gD,MAAMb,GAEJlgD,KAAK+gD,MAAMb,GAAS/V,cAIpB,MAKfC,aAAc,SAAU8V,GAEpB,OAAIlgD,KAAK+gD,MAAMb,GAEJlgD,KAAK+gD,MAAMb,GAAS9V,eAIpB,MAYfX,OAAQ,SAAUyW,GAEd,OAAIlgD,KAAK+gD,MAAMb,GAEJlgD,KAAK+gD,MAAMb,GAASzW,OAIpB,OAanBhiC,OAAOmF,eAAevM,EAAOshC,SAASp7B,UAAW,YAE7CmG,IAAK,WAED,OAAI1M,KAAK+sB,OAAiC,KAAxB/sB,KAAK+sB,MAAMm1B,SAElB,GAEFliD,KAAK6gD,WAEHmB,OAAOC,aAAajiD,KAAK6gD,WAAWqB,UAIpC,QAanBz6C,OAAOmF,eAAevM,EAAOshC,SAASp7B,UAAW,WAE7CmG,IAAK,WAED,OAAO1M,KAAK+gD,MAAM/gD,KAAKohD,OAM/B/gD,EAAOshC,SAASp7B,UAAU8B,YAAchI,EAAOshC,SAiB/CthC,EAAOwhD,SAEHM,EAAG,IAAIC,WAAW,GAElBC,EAAG,IAAID,WAAW,GAElBE,EAAG,IAAIF,WAAW,GAElBG,EAAG,IAAIH,WAAW,GAElBI,EAAG,IAAIJ,WAAW,GAElB/6C,EAAG,IAAI+6C,WAAW,GAElBK,EAAG,IAAIL,WAAW,GAElBM,EAAG,IAAIN,WAAW,GAElBO,EAAG,IAAIP,WAAW,GAElBQ,EAAG,IAAIR,WAAW,GAElBS,EAAG,IAAIT,WAAW,GAElBU,EAAG,IAAIV,WAAW,GAElBW,EAAG,IAAIX,WAAW,GAElBY,EAAG,IAAIZ,WAAW,GAElBa,EAAG,IAAIb,WAAW,GAElBc,EAAG,IAAId,WAAW,GAElBe,EAAG,IAAIf,WAAW,GAElBgB,EAAG,IAAIhB,WAAW,GAElBiB,EAAG,IAAIjB,WAAW,GAElBkB,EAAG,IAAIlB,WAAW,GAElBmB,EAAG,IAAInB,WAAW,GAElBoB,EAAG,IAAIpB,WAAW,GAElBqB,EAAG,IAAIrB,WAAW,GAElBsB,EAAG,IAAItB,WAAW,GAElBuB,EAAG,IAAIvB,WAAW,GAElBwB,EAAG,IAAIxB,WAAW,GAElByB,KAAM,IAAIzB,WAAW,GAErB0B,IAAK,IAAI1B,WAAW,GAEpB2B,IAAK,IAAI3B,WAAW,GAEpB4B,MAAO,IAAI5B,WAAW,GAEtB6B,KAAM,IAAI7B,WAAW,GAErB8B,KAAM,IAAI9B,WAAW,GAErB+B,IAAK,IAAI/B,WAAW,GAEpBgC,MAAO,IAAIhC,WAAW,GAEtBiC,MAAO,IAAIjC,WAAW,GAEtBkC,KAAM,IAAIlC,WAAW,GAErBmC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,gBAAiB,IAEjBC,WAAY,IAEZC,aAAc,IAEdC,gBAAiB,IAEjBC,eAAgB,IAEhBC,cAAe,IAEfC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,MAAO,IAEPC,OAAQ,IAERC,MAAO,IAEPC,WAAY,IAEZC,OAAQ,IAERC,cAAe,IAEfC,MAAO,IAEPC,aAAc,IAEdC,eAAgB,IAEhBC,eAAgB,IAEhBC,OAAQ,IAERC,UAAW,EAEXC,IAAK,EAELC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,QAAS,GAETC,IAAK,GAELC,UAAW,GAEXC,IAAK,GAELC,SAAU,GAEVC,QAAS,GAETC,UAAW,GAEXC,IAAK,GAELC,KAAM,GAENhnD,KAAM,GAENE,GAAI,GAEJD,MAAO,GAEPE,KAAM,GAEN8mD,KAAM,GAENC,MAAO,GAEPC,OAAQ,GAERC,OAAQ,GAERC,KAAM,GAENC,SAAU,KAId,IAAK,IAAIv+C,KAAOxJ,EAAOwhD,QAEfxhD,EAAOwhD,QAAQ/4C,eAAee,KAASA,EAAIw+C,MAAM,WAEjDhoD,EAAOshC,SAAS93B,GAAOxJ,EAAOwhD,QAAQh4C,IAU9CxJ,EAAOioD,UAAY,aAanBjoD,EAAOioD,UAAUC,MAAQ,aAEzBloD,EAAOioD,UAAUC,MAAMhiD,WAenBoI,OAEIjC,IAAK,WAED,OAAOrM,EAAO4F,KAAKuiD,UAAUnoD,EAAO4F,KAAKmQ,SAASpW,KAAK43B,YAI3DjrB,IAAK,SAAS5C,GAEV/J,KAAK43B,SAAWv3B,EAAO4F,KAAKuJ,SAASnP,EAAO4F,KAAKuiD,UAAUz+C,OAmBvE1J,EAAOioD,UAAUG,UAAY,aAE7BpoD,EAAOioD,UAAUG,UAAUliD,WAiBvBmiD,KAAM,SAAU38C,EAAM48C,EAAWC,EAAMC,GAEnC,GAAI7oD,KAAK8oD,WAEL,OAAO9oD,KAAK8oD,WAAWJ,KAAK38C,EAAM48C,EAAWC,EAAMC,KAmB/DxoD,EAAOioD,UAAUS,SAAW,aAE5B1oD,EAAOioD,UAAUS,SAASxiD,WAatByiD,UAAU,EASVC,UAEIv8C,IAAK,WASD,OAPK1M,KAAKgpD,UAAahpD,KAAKkpD,mBAExBlpD,KAAKmpD,QAAQj7C,SAASlO,KAAK+N,aAC3B/N,KAAKmpD,QAAQhjD,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EACxCnG,KAAKmpD,QAAQj8C,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,GAGrClN,KAAKib,KAAKC,MAAMmC,OAAOlC,KAAK5L,WAAWvP,KAAKmpD,YAmB/D9oD,EAAOioD,UAAUc,OAAS,aAE1B/oD,EAAOioD,UAAUc,OAAO7iD,WAUpB6wC,SAEI1qC,IAAK,WAED,OAAO1M,KAAK+pB,OAAO5jB,EAAInG,KAAKmQ,QAcpCknC,SAEI3qC,IAAK,WAED,OAAO1M,KAAK+pB,OAAO7c,EAAIlN,KAAKoQ,SAYpCgB,SAEI1E,IAAK,WAED,OAAQ1M,KAAKmG,EAAInG,KAAKo3C,QAAyB,GAAbp3C,KAAKmQ,OAI3CxD,IAAK,SAAU5C,GAEX/J,KAAKmG,EAAK4D,EAAQ/J,KAAKo3C,QAAyB,GAAbp3C,KAAKmQ,QAYhDkB,SAEI3E,IAAK,WAED,OAAQ1M,KAAKkN,EAAIlN,KAAKq3C,QAA0B,GAAdr3C,KAAKoQ,QAI3CzD,IAAK,SAAU5C,GAEX/J,KAAKkN,EAAKnD,EAAQ/J,KAAKq3C,QAA0B,GAAdr3C,KAAKoQ,SAYhD3E,MAEIiB,IAAK,WAED,OAAO1M,KAAKmG,EAAInG,KAAKo3C,SAIzBzqC,IAAK,SAAU5C,GAEX/J,KAAKmG,EAAI4D,EAAQ/J,KAAKo3C,UAY9B5rC,OAEIkB,IAAK,WAED,OAAQ1M,KAAKmG,EAAInG,KAAKmQ,MAASnQ,KAAKo3C,SAIxCzqC,IAAK,SAAU5C,GAEX/J,KAAKmG,EAAI4D,EAAS/J,KAAU,MAAIA,KAAKo3C,UAY7CjoC,KAEIzC,IAAK,WAED,OAAO1M,KAAKkN,EAAIlN,KAAKq3C,SAIzB1qC,IAAK,SAAU5C,GAEX/J,KAAKkN,EAAInD,EAAQ/J,KAAKq3C,UAY9BjoC,QAEI1C,IAAK,WAED,OAAQ1M,KAAKkN,EAAIlN,KAAKoQ,OAAUpQ,KAAKq3C,SAIzC1qC,IAAK,SAAU5C,GAEX/J,KAAKkN,EAAInD,EAAS/J,KAAW,OAAIA,KAAKq3C,UA6C9CvlB,QAAS,SAAUu3B,EAAWpvC,EAAUm9B,EAASC,GAK7C,YAHgB/sC,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,GAE/Bp9B,GAEJ,QACA,KAAK5Z,EAAOuD,SACR5D,KAAKyL,KAAO49C,EAAU59C,KAAO2rC,EAC7Bp3C,KAAKmP,IAAMk6C,EAAUl6C,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAOwD,WACR7D,KAAKoR,QAAUi4C,EAAUj4C,QAAUgmC,EACnCp3C,KAAKmP,IAAMk6C,EAAUl6C,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAOyD,UACR9D,KAAKwL,MAAQ69C,EAAU79C,MAAQ4rC,EAC/Bp3C,KAAKmP,IAAMk6C,EAAUl6C,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAO2D,YACRhE,KAAKyL,KAAO49C,EAAU59C,KAAO2rC,EAC7Bp3C,KAAKqR,QAAUg4C,EAAUh4C,QAAUgmC,EACnC,MAEJ,KAAKh3C,EAAO6D,OACRlE,KAAKoR,QAAUi4C,EAAUj4C,QAAUgmC,EACnCp3C,KAAKqR,QAAUg4C,EAAUh4C,QAAUgmC,EACnC,MAEJ,KAAKh3C,EAAO+D,aACRpE,KAAKwL,MAAQ69C,EAAU79C,MAAQ4rC,EAC/Bp3C,KAAKqR,QAAUg4C,EAAUh4C,QAAUgmC,EACnC,MAEJ,KAAKh3C,EAAOiE,YACRtE,KAAKyL,KAAO49C,EAAU59C,KAAO2rC,EAC7Bp3C,KAAKoP,OAASi6C,EAAUj6C,OAASioC,EACjC,MAEJ,KAAKh3C,EAAOkE,cACRvE,KAAKoR,QAAUi4C,EAAUj4C,QAAUgmC,EACnCp3C,KAAKoP,OAASi6C,EAAUj6C,OAASioC,EACjC,MAEJ,KAAKh3C,EAAOmE,aACRxE,KAAKwL,MAAQ69C,EAAU79C,MAAQ4rC,EAC/Bp3C,KAAKoP,OAASi6C,EAAUj6C,OAASioC,EAIzC,OAAOr3C,MA4CXspD,QAAS,SAAUn/B,EAAQlQ,EAAUm9B,EAASC,GAK1C,YAHgB/sC,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,GAE/Bp9B,GAEJ,QACA,KAAK5Z,EAAOuD,SACR5D,KAAKyL,KAAO0e,EAAO1e,KAAO2rC,EAC1Bp3C,KAAKoP,OAAS+a,EAAOhb,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAOwD,WACR7D,KAAKoR,QAAU+Y,EAAO/Y,QAAUgmC,EAChCp3C,KAAKoP,OAAS+a,EAAOhb,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAOyD,UACR9D,KAAKwL,MAAQ2e,EAAO3e,MAAQ4rC,EAC5Bp3C,KAAKoP,OAAS+a,EAAOhb,IAAMkoC,EAC3B,MAEJ,KAAKh3C,EAAO0D,SACR/D,KAAKwL,MAAQ2e,EAAO1e,KAAO2rC,EAC3Bp3C,KAAKmP,IAAMgb,EAAOhb,IAAMkoC,EACxB,MAEJ,KAAKh3C,EAAO2D,YACRhE,KAAKwL,MAAQ2e,EAAO1e,KAAO2rC,EAC3Bp3C,KAAKqR,QAAU8Y,EAAO9Y,QAAUgmC,EAChC,MAEJ,KAAKh3C,EAAO4D,YACRjE,KAAKwL,MAAQ2e,EAAO1e,KAAO2rC,EAC3Bp3C,KAAKoP,OAAS+a,EAAO/a,OAASioC,EAC9B,MAEJ,KAAKh3C,EAAO8D,UACRnE,KAAKyL,KAAO0e,EAAO3e,MAAQ4rC,EAC3Bp3C,KAAKmP,IAAMgb,EAAOhb,IAAMkoC,EACxB,MAEJ,KAAKh3C,EAAO+D,aACRpE,KAAKyL,KAAO0e,EAAO3e,MAAQ4rC,EAC3Bp3C,KAAKqR,QAAU8Y,EAAO9Y,QAAUgmC,EAChC,MAEJ,KAAKh3C,EAAOgE,aACRrE,KAAKyL,KAAO0e,EAAO3e,MAAQ4rC,EAC3Bp3C,KAAKoP,OAAS+a,EAAO/a,OAASioC,EAC9B,MAEJ,KAAKh3C,EAAOiE,YACRtE,KAAKyL,KAAO0e,EAAO1e,KAAO2rC,EAC1Bp3C,KAAKmP,IAAMgb,EAAO/a,OAASioC,EAC3B,MAEJ,KAAKh3C,EAAOkE,cACRvE,KAAKoR,QAAU+Y,EAAO/Y,QAAUgmC,EAChCp3C,KAAKmP,IAAMgb,EAAO/a,OAASioC,EAC3B,MAEJ,KAAKh3C,EAAOmE,aACRxE,KAAKwL,MAAQ2e,EAAO3e,MAAQ4rC,EAC5Bp3C,KAAKmP,IAAMgb,EAAO/a,OAASioC,EAInC,OAAOr3C,OAQfK,EAAO+tB,MAAM7nB,UAAUurB,QAAUzxB,EAAOioD,UAAUc,OAAO7iD,UAAUurB,QACnEzxB,EAAO+tB,MAAM7nB,UAAU+iD,QAAUjpD,EAAOioD,UAAUc,OAAO7iD,UAAU+iD,QAanEjpD,EAAOioD,UAAUiB,WAAa,aAY9BlpD,EAAOioD,UAAUiB,WAAWhjD,UAAU+rB,WAAa,WAO/C,OALItyB,KAAKmqB,QAELnqB,KAAKmqB,OAAOmI,WAAWtyB,MAGpBA,MAcXK,EAAOioD,UAAUiB,WAAWhjD,UAAUisB,WAAa,WAO/C,OALIxyB,KAAKmqB,QAELnqB,KAAKmqB,OAAOqI,WAAWxyB,MAGpBA,MAcXK,EAAOioD,UAAUiB,WAAWhjD,UAAUksB,OAAS,WAO3C,OALIzyB,KAAKmqB,QAELnqB,KAAKmqB,OAAOsI,OAAOzyB,MAGhBA,MAcXK,EAAOioD,UAAUiB,WAAWhjD,UAAUmsB,SAAW,WAO7C,OALI1yB,KAAKmqB,QAELnqB,KAAKmqB,OAAOuI,SAAS1yB,MAGlBA,MAeXK,EAAOioD,UAAUkB,KAAO,aAOxBnpD,EAAOioD,UAAUkB,KAAKC,gBAAiB,EAUvCppD,EAAOioD,UAAUkB,KAAKE,QAAU,SAAUC,GAGtCtpD,EAAO6I,MAAMmD,eAAerM,KAAMK,EAAOioD,UAAUkB,KAAKjjD,WAExDvG,KAAK2pD,cAEL,IAAK,IAAI3hD,EAAI,EAAGA,EAAI2hD,EAAW5hD,OAAQC,IACvC,CACI,IAAImN,EAAKw0C,EAAW3hD,GAChBuE,GAAU,EAEH,YAAP4I,IAEA5I,GAAU,GAGdlM,EAAO6I,MAAMmD,eAAerM,KAAMK,EAAOioD,UAAUnzC,GAAI5O,UAAWgG,GAElEvM,KAAK2pD,WAAWx0C,IAAM,IAa9B9U,EAAOioD,UAAUkB,KAAKzoC,KAAO,SAAU9F,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEpD,IAAKjxB,EAAOioD,UAAUkB,KAAKC,eAC3B,CACI,KAAMxuC,aAAgB5a,EAAOk4B,MAEzB,MAAM,IAAI5gB,MAAM,4CAA8CsD,EAAO,wCAGxD,iBAAN9U,IAEPmC,QAAQG,KAAK,kDAAmDtC,GAChEA,EAAI,GAGS,iBAAN+G,IAEP5E,QAAQG,KAAK,kDAAmDyE,GAChEA,EAAI,GAIZlN,KAAKib,KAAOA,EACZjb,KAAK6J,IAAMA,EACX7J,KAAKkkC,QAELlkC,KAAKia,SAAStN,IAAIxG,EAAG+G,GACrBlN,KAAKkb,MAAQ,IAAI7a,EAAOoN,MAAMtH,EAAG+G,GACjClN,KAAK4pD,iBAAmB,IAAIvpD,EAAOoN,MAAMtH,EAAG+G,GAE5ClN,KAAK8wB,OAAS,IAAIzwB,EAAOwpD,OAAO7pD,MAEhCA,KAAKmpD,QAAU,IAAI9oD,EAAO2N,UAEtBhO,KAAK2pD,WAAWG,cAGhB9pD,KAAKuwB,KAAOvwB,KAAKuwB,MAGjBvwB,KAAK2pD,WAAWlB,YAEhBzoD,KAAK8oD,WAAa,IAAIzoD,EAAO0pD,iBAAiB/pD,OAG9CA,KAAK2pD,WAAWK,aAAuB,OAARngD,GAE/B7J,KAAKg2B,YAAYnsB,EAAKynB,GAGtBtxB,KAAK2pD,WAAWM,gBAEhBjqD,KAAK6vB,aAAe,IAAIxvB,EAAOoN,MAAMtH,EAAG+G,KAKhD7M,EAAOioD,UAAUkB,KAAK/rC,UAAY,WAE9B,IAAIzd,KAAK8uB,eAST,OAHA9uB,KAAK4pD,iBAAiBj9C,IAAI3M,KAAKkb,MAAM/U,EAAGnG,KAAKkb,MAAMhO,GACnDlN,KAAKkqD,iBAAmBlqD,KAAK43B,SAExB53B,KAAKmrB,QAAWnrB,KAAKmqB,OAAOgB,QAMjCnrB,KAAKkb,MAAMjN,MAAMjO,KAAKib,KAAKoC,OAAOlX,EAAInG,KAAKorB,eAAepZ,GAAIhS,KAAKib,KAAKoC,OAAOnQ,EAAIlN,KAAKorB,eAAenZ,IAEnGjS,KAAKsb,UAELtb,KAAK40B,cAAgB50B,KAAKib,KAAKsC,MAAM8N,wBAGrCrrB,KAAK8oD,YAEL9oD,KAAK8oD,WAAW9pC,SAGhBhf,KAAKuwB,MAELvwB,KAAKuwB,KAAK9S,YAGdzd,KAAKmqD,qBAEE,IAvBHnqD,KAAK40B,eAAiB,GACf,GAVP50B,KAAKukB,WAoCblkB,EAAOioD,UAAUkB,KAAKjjD,WAMlB0U,KAAM,KAQNlP,KAAM,GAUNm4B,QAOAylB,cAUAj7B,EAAG,EAQHoC,YAAQxmB,EAQRw+C,gBAAYx+C,EAUZT,IAAK,GAQLqR,MAAO,KAOPoJ,OAAO,EAOPslC,iBAAkB,KAOlBM,iBAAkB,EAQlBt1B,cAAe,EAQfw1B,OAAO,EAWPt7B,gBAAgB,EAMhBq6B,QAAS,KAMTkB,SAAS,EAaTl/B,QAEIze,IAAK,WAED,OAAO1M,KAAKqqD,SAIhB19C,IAAK,SAAU5C,GAEPA,GAEA/J,KAAKqqD,SAAU,EAEXrqD,KAAKuwB,MAAQvwB,KAAKuwB,KAAKnoB,OAAS/H,EAAOmuB,QAAQ87B,MAE/CtqD,KAAKuwB,KAAK7G,aAGd1pB,KAAKsb,SAAU,IAIftb,KAAKqqD,SAAU,EAEXrqD,KAAKuwB,MAAQvwB,KAAKuwB,KAAKnoB,OAAS/H,EAAOmuB,QAAQ87B,MAE/CtqD,KAAKuwB,KAAKg6B,kBAGdvqD,KAAKsb,SAAU,KAa3B6uC,kBAAmB,WAKf,IAFA,IAAIniD,EAAI,EAEDA,EAAIhI,KAAKssB,SAASvkB,QACzB,CACI,IAAIwkB,EAAQvsB,KAAKssB,SAAStkB,GAE1BukB,EAAM9O,YAEFzd,OAASusB,EAAMpC,QAEfniB,MAaZgX,OAAQ,aAUR+L,WAAY,WAEJ/qB,KAAKwqD,cAELxqD,KAAK6J,IAAIwX,SAGTrhB,KAAK2pD,WAAWG,aAEhBzpD,EAAOioD,UAAUwB,YAAY/+B,WAAW/jB,KAAKhH,MAG7CA,KAAK2pD,WAAWM,eAEhB5pD,EAAOioD,UAAU2B,cAAcl/B,WAAW/jB,KAAKhH,MAGnD,IAAK,IAAIgI,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+iB,eAmB7B1qB,EAAOioD,UAAUmC,KAAO,aAExBpqD,EAAOioD,UAAUmC,KAAKlkD,WASlBmkD,SAAU,KAMVC,MAAO,KAmBPvW,KAAM,SAAUngC,EAAMhI,QAEL3B,IAAT2B,IAAsBA,GAAO,GAE7BgI,GAEIhI,GAA0B,OAAlBjM,KAAK0qD,SAEb1qD,KAAK0qD,SAASz8C,MAAMgG,EAAK9N,EAAG8N,EAAK/G,EAAG+G,EAAK9D,MAAO8D,EAAK7D,QAEhDnE,GAA0B,OAAlBjM,KAAK0qD,SAElB1qD,KAAK0qD,SAAW,IAAIrqD,EAAO2N,UAAUiG,EAAK9N,EAAG8N,EAAK/G,EAAG+G,EAAK9D,MAAO8D,EAAK7D,QAItEpQ,KAAK0qD,SAAWz2C,EAGpBjU,KAAK4qD,eAIL5qD,KAAK2qD,MAAQ,KACb3qD,KAAK0qD,SAAW,KAEhB1qD,KAAK6qD,eAWbD,WAAY,WAER,GAAK5qD,KAAK0qD,SAAV,CAKA,IAAII,EAAO9qD,KAAK+jC,QAAQqQ,KAAKjuC,EACzB4kD,EAAO/qD,KAAK+jC,QAAQqQ,KAAKlnC,EACzB89C,EAAOhrD,KAAK+jC,QAAQqQ,KAAKjkC,MACzB86C,EAAOjrD,KAAK+jC,QAAQqQ,KAAKhkC,OAE7BpQ,KAAK2qD,MAAQtqD,EAAO2N,UAAU7B,MAAMnM,KAAK0qD,SAAU1qD,KAAK2qD,OACxD3qD,KAAK2qD,MAAMxkD,GAAKnG,KAAKkrD,OAAO/kD,EAC5BnG,KAAK2qD,MAAMz9C,GAAKlN,KAAKkrD,OAAOh+C,EAE5B,IAAIyC,EAAK1J,KAAKyM,IAAI1S,KAAKkrD,OAAO/kD,EAAGnG,KAAK2qD,MAAMxkD,GACxC2J,EAAK7J,KAAKyM,IAAI1S,KAAKkrD,OAAOh+C,EAAGlN,KAAK2qD,MAAMz9C,GACxCi+C,EAAKllD,KAAKuM,IAAIxS,KAAKkrD,OAAO1/C,MAAOxL,KAAK2qD,MAAMn/C,OAASmE,EACrDy7C,EAAKnlD,KAAKuM,IAAIxS,KAAKkrD,OAAO97C,OAAQpP,KAAK2qD,MAAMv7C,QAAUU,EAE3D9P,KAAK+jC,QAAQqQ,KAAKjuC,EAAIwJ,EACtB3P,KAAK+jC,QAAQqQ,KAAKlnC,EAAI4C,EACtB9P,KAAK+jC,QAAQqQ,KAAKjkC,MAAQg7C,EAC1BnrD,KAAK+jC,QAAQqQ,KAAKhkC,OAASg7C,EAE3BprD,KAAK+jC,QAAQzS,MAAMnhB,MAAQlK,KAAKuM,IAAI24C,EAAInrD,KAAK0qD,SAASv6C,OACtDnQ,KAAK+jC,QAAQzS,MAAMlhB,OAASnK,KAAKuM,IAAI44C,EAAIprD,KAAK0qD,SAASt6C,QAEvDpQ,KAAK+jC,QAAQ5zB,MAAQnQ,KAAK+jC,QAAQzS,MAAMnhB,MACxCnQ,KAAK+jC,QAAQ3zB,OAASpQ,KAAK+jC,QAAQzS,MAAMlhB,OAEzCpQ,KAAK+jC,QAAQsnB,aAEK,WAAdrrD,KAAKsrD,MAAsBR,IAASn7C,GAAMo7C,IAASj7C,GAAMk7C,IAASG,GAAMF,IAASG,IAEjFprD,KAAK+jC,QAAQwnB,gBAAiB,MAkB1ClrD,EAAOioD,UAAUkD,MAAQ,aAEzBnrD,EAAOioD,UAAUkD,MAAMjlD,WAUnB6hC,QAEI17B,IAAK,WAED,OAAO1M,KAAKkb,MAAM/U,EAAInG,KAAK4pD,iBAAiBzjD,IAcpD+gC,QAEIx6B,IAAK,WAED,OAAO1M,KAAKkb,MAAMhO,EAAIlN,KAAK4pD,iBAAiB18C,IAYpDo7B,QAEI57B,IAAK,WAED,OAAO1M,KAAK43B,SAAW53B,KAAKkqD,oBAmBxC7pD,EAAOioD,UAAUmD,QAAU,aAE3BprD,EAAOioD,UAAUmD,QAAQllD,WAQrB2wB,cAAc,EAed3S,QAAS,SAAUmT,EAAiBJ,GAEhC,GAAkB,OAAdt3B,KAAKib,OAAiBjb,KAAKk3B,aAA/B,MAEwB5sB,IAApBotB,IAAiCA,GAAkB,QAChCptB,IAAnBgtB,IAAgCA,GAAiB,GAErDt3B,KAAKk3B,cAAe,EAEhBl3B,KAAK8wB,QAEL9wB,KAAK8wB,OAAO46B,mBAAmB1rD,MAG/BA,KAAKmqB,SAEDnqB,KAAKmqB,kBAAkB9pB,EAAO+tB,MAE9BpuB,KAAKmqB,OAAO5G,OAAOvjB,MAInBA,KAAKmqB,OAAO4I,YAAY/yB,OAI5BA,KAAKwgB,OAELxgB,KAAKwgB,MAAM+D,UAGXvkB,KAAK8oD,YAEL9oD,KAAK8oD,WAAWvkC,UAGhBvkB,KAAKuwB,MAELvwB,KAAKuwB,KAAKhM,UAGVvkB,KAAK8wB,QAEL9wB,KAAK8wB,OAAOvM,UAGhBvkB,KAAKib,KAAK2F,OAAO+qC,WAAW3rD,MAE5B,IAAIgI,EAAIhI,KAAKssB,SAASvkB,OAEtB,GAAI2vB,EAEA,KAAO1vB,KAEHhI,KAAKssB,SAAStkB,GAAGuc,QAAQmT,QAK7B,KAAO1vB,KAEHhI,KAAK+yB,YAAY/yB,KAAKssB,SAAStkB,IAInChI,KAAK2qD,QAEL3qD,KAAK2qD,MAAQ,KACb3qD,KAAK0qD,SAAW,MAGhB1qD,KAAKkrD,SAELlrD,KAAKkrD,OAAS,MAGd7qD,EAAOurD,OAAS5rD,KAAK6J,eAAexJ,EAAOurD,OAE3C5rD,KAAK6J,IAAIgiD,eAAetoC,OAAOvjB,KAAK8rD,YAAa9rD,MAGjDK,EAAO0rD,YAAc/rD,KAAKgsD,UAE1BhsD,KAAKgsD,YAGThsD,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EACdnrB,KAAKsb,SAAU,EAEftb,KAAKgqB,QAAU,KACfhqB,KAAKisD,KAAO,KACZjsD,KAAKib,KAAO,KAEZjb,KAAKkkC,QAGLlkC,KAAKksD,YAAa,EAEdlsD,KAAKmsD,oBAELnsD,KAAKmsD,kBAAoB,KACzBnsD,KAAKosD,yBAA2B,MAIpCpsD,KAAK4jC,QAAU,KACf5jC,KAAKmqB,OAAS,KACdnqB,KAAKud,MAAQ,KACbvd,KAAKorB,eAAiB,KACtBprB,KAAKqsD,WAAa,KAClBrsD,KAAKmpD,QAAU,KACfnpD,KAAKq4B,eAAiB,KACtBr4B,KAAKssD,MAAQ,KAEbtsD,KAAKusD,uBAGDj1B,GAEAt3B,KAAK+jC,QAAQxf,SAAQ,GAGzBvkB,KAAKk3B,cAAe,EACpBl3B,KAAK8uB,gBAAiB,KAmC9BzuB,EAAOwpD,OAAS,SAAU1xB,GAKtBn4B,KAAKmqB,OAASgO,GAMlB93B,EAAOwpD,OAAOtjD,WAOVge,QAAS,WAELvkB,KAAKwsD,QAAU,KAEXxsD,KAAKysD,YAAwBzsD,KAAKysD,WAAWxlC,UAC7CjnB,KAAK0sD,iBAAwB1sD,KAAK0sD,gBAAgBzlC,UAClDjnB,KAAK2sD,qBAAwB3sD,KAAK2sD,oBAAoB1lC,UACtDjnB,KAAK4sD,qBAAwB5sD,KAAK4sD,oBAAoB3lC,UACtDjnB,KAAK6sD,WAAwB7sD,KAAK6sD,UAAU5lC,UAC5CjnB,KAAK8sD,YAAwB9sD,KAAK8sD,WAAW7lC,UAC7CjnB,KAAK+sD,gBAAwB/sD,KAAK+sD,eAAe9lC,UACjDjnB,KAAKgtD,gBAAwBhtD,KAAKgtD,eAAe/lC,UAEjDjnB,KAAKitD,cAAwBjtD,KAAKitD,aAAahmC,UAC/CjnB,KAAKktD,aAAwBltD,KAAKktD,YAAYjmC,UAC9CjnB,KAAKmtD,cAAwBntD,KAAKmtD,aAAalmC,UAC/CjnB,KAAKotD,YAAwBptD,KAAKotD,WAAWnmC,UAC7CjnB,KAAKqtD,cAAwBrtD,KAAKqtD,aAAapmC,UAC/CjnB,KAAKstD,eAAwBttD,KAAKstD,cAAcrmC,UAChDjnB,KAAKutD,aAAwBvtD,KAAKutD,YAAYtmC,UAE9CjnB,KAAKwtD,mBAAwBxtD,KAAKwtD,kBAAkBvmC,UACpDjnB,KAAKytD,sBAAwBztD,KAAKytD,qBAAqBxmC,UACvDjnB,KAAK0tD,kBAAwB1tD,KAAK0tD,iBAAiBzmC,WAa3D2rB,eAAgB,KAShBE,mBAAoB,KAOpB6a,mBAAoB,KASpBj+B,UAAW,KAUXk+B,SAAU,KASVC,UAAW,KASXC,cAAe,KASfC,cAAe,KAUfC,YAAa,KAUbC,WAAY,KAWZC,YAAa,KAYbC,UAAW,KAaXC,YAAa,KAeb1Y,aAAc,KAUd2Y,WAAY,KAWZC,iBAAkB,KAWlBC,oBAAqB,KAWrBC,gBAAiB,MAIrBnuD,EAAOwpD,OAAOtjD,UAAU8B,YAAchI,EAAOwpD,OAK7C,IAAK,IAAIngD,KAAQrJ,EAAOwpD,OAAOtjD,UAEtBlG,EAAOwpD,OAAOtjD,UAAUuC,eAAeY,IACjB,IAAvBA,EAAKunB,QAAQ,OACqB,OAAlC5wB,EAAOwpD,OAAOtjD,UAAUmD,IAK5B,SAAWA,EAAM+kD,GACb,aAGAhnD,OAAOmF,eAAevM,EAAOwpD,OAAOtjD,UAAWmD,GAC3CgD,IAAK,WACD,OAAO1M,KAAKyuD,KAAazuD,KAAKyuD,GAAW,IAAIpuD,EAAOwb,WAK5Dxb,EAAOwpD,OAAOtjD,UAAUmD,EAAO,aAAe,WAC1C,OAAO1J,KAAKyuD,GAAWzuD,KAAKyuD,GAASnvC,SAASnY,MAAMnH,KAAKyuD,GAAUxnD,WAAa,MAZxF,CAeGyC,EAAM,IAAMA,GAgBnBrJ,EAAOioD,UAAU2B,cAAgB,aAQjC5pD,EAAOioD,UAAU2B,cAAcl/B,WAAa,WAEpC/qB,KAAK4vB,gBAEL5vB,KAAKia,SAAS9T,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK6vB,aAAa1pB,GAAKnG,KAAKib,KAAKoC,OAAOhI,MAAMlP,EAC3FnG,KAAKia,SAAS/M,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK6vB,aAAa3iB,GAAKlN,KAAKib,KAAKoC,OAAOhI,MAAMnI,IAKnG7M,EAAOioD,UAAU2B,cAAc1jD,WAM3BmoD,gBAAgB,EAkBhB9+B,eAEIljB,IAAK,WAED,OAAO1M,KAAK0uD,gBAIhB/hD,IAAK,SAAU5C,GAEPA,GAEA/J,KAAK0uD,gBAAiB,EACtB1uD,KAAK6vB,aAAaljB,IAAI3M,KAAKmG,EAAGnG,KAAKkN,IAInClN,KAAK0uD,gBAAiB,IAalC7+B,aAAc,IAAIxvB,EAAOoN,OAiB7BpN,EAAOioD,UAAUqG,OAAS,aAE1BtuD,EAAOioD,UAAUqG,OAAOpoD,WAUpBqoD,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAUn7B,GAYd,OAVI3zB,KAAK4uB,QAEL5uB,KAAK4uD,QAAUj7B,EAEX3zB,KAAK4uD,QAAU,GAEf5uD,KAAK+uD,QAIN/uD,MAYXgvD,UAAW,SAAUr7B,GASjB,OAPA3zB,KAAK4uD,OAASj7B,EAEV3zB,KAAK4uD,OAAS5uD,KAAK6uD,YAEnB7uD,KAAK4uD,OAAS5uD,KAAK6uD,WAGhB7uD,MAWXivD,KAAM,SAAUt7B,GAYZ,OAVI3zB,KAAK4uB,QAEL5uB,KAAK4uD,QAAUj7B,EAEX3zB,KAAK4uD,OAAS5uD,KAAK6uD,YAEnB7uD,KAAK4uD,OAAS5uD,KAAK6uD,YAIpB7uD,OAiBfK,EAAOioD,UAAU4G,SAAW,aAE5B7uD,EAAOioD,UAAU4G,SAAS3oD,WAYtB0iD,UAEIv8C,IAAK,WAED,OAAO1M,KAAKib,KAAKC,MAAMmC,OAAOlC,KAAK5L,WAAWvP,KAAKmpD,YAmB/D9oD,EAAOioD,UAAU6G,aAAe,aAEhC9uD,EAAOioD,UAAU6G,aAAa5oD,WAU1Bia,MAAO,KAkBPqQ,cAEInkB,IAAK,WAED,OAAQ1M,KAAKwgB,OAASxgB,KAAKwgB,MAAM6d,SAIrC1xB,IAAK,SAAU5C,GAEPA,EAEmB,OAAf/J,KAAKwgB,OAELxgB,KAAKwgB,MAAQ,IAAIngB,EAAO6vC,aAAalwC,MACrCA,KAAKwgB,MAAM1P,SAEN9Q,KAAKwgB,QAAUxgB,KAAKwgB,MAAM6d,SAE/Br+B,KAAKwgB,MAAM1P,QAKX9Q,KAAKwgB,OAASxgB,KAAKwgB,MAAM6d,SAEzBr+B,KAAKwgB,MAAM+c,UAuB/Bl9B,EAAOioD,UAAU8G,QAAU,aAQ3B/uD,EAAOioD,UAAU8G,QAAQ3xC,UAAY,WAGjC,GAAIzd,KAAKgpD,UAAYhpD,KAAKkpD,iBAC1B,CAMI,GALAlpD,KAAKmpD,QAAQj7C,SAASlO,KAAK+N,aAE3B/N,KAAKmpD,QAAQhjD,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EACxCnG,KAAKmpD,QAAQj8C,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAEpClN,KAAKgpD,SAGL,GAAIhpD,KAAKib,KAAKC,MAAMmC,OAAOlC,KAAK5L,WAAWvP,KAAKmpD,SAE5CnpD,KAAKksD,YAAa,EAClBlsD,KAAKib,KAAKC,MAAMmC,OAAO3B,mBAMvB,GAFA1b,KAAKksD,YAAa,EAEdlsD,KAAKqvD,sBAGL,OADArvD,KAAK+uD,QACE,EAKnB,GAAI/uD,KAAKkpD,iBAGL,GAAIlpD,KAAKsvD,mBAAqBtvD,KAAKib,KAAKC,MAAME,OAAO7L,WAAWvP,KAAKmpD,SAEjEnpD,KAAKsvD,mBAAoB,EACzBtvD,KAAK8wB,OAAOy+B,uBAAuBvvD,WAElC,IAAKA,KAAKsvD,oBAAsBtvD,KAAKib,KAAKC,MAAME,OAAO7L,WAAWvP,KAAKmpD,WAGxEnpD,KAAKsvD,mBAAoB,EACzBtvD,KAAK8wB,OAAO0+B,uBAAuBxvD,MAE/BA,KAAKyvD,iBAGL,OADAzvD,KAAK+uD,QACE,EAMvB,OAAO,GAIX1uD,EAAOioD,UAAU8G,QAAQ7oD,WAmBrB2iD,kBAAkB,EAQlBuG,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEIhjD,IAAK,WAED,OAAO1M,KAAKib,KAAKC,MAAME,OAAO7L,WAAWvP,KAAK+N,gBAmB1D1N,EAAOioD,UAAUqH,SAAW,aAQ5BtvD,EAAOioD,UAAUqH,SAASlyC,UAAY,WAElC,QAAIzd,KAAK4vD,SAAW,IAEhB5vD,KAAK4vD,UAAY5vD,KAAKib,KAAKmE,KAAKywC,iBAE5B7vD,KAAK4vD,UAAY,MAEjB5vD,KAAK+uD,QACE,IAQnB1uD,EAAOioD,UAAUqH,SAASppD,WAatBqoB,OAAO,EAePghC,SAAU,EAaVE,OAAQ,SAAUlB,GAkBd,YAhBetkD,IAAXskD,IAAwBA,EAAS,KAErC5uD,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EACdnrB,KAAKsb,SAAU,EAEe,mBAAnBtb,KAAKgvD,WAEZhvD,KAAKgvD,UAAUJ,GAGf5uD,KAAK8wB,QAEL9wB,KAAK8wB,OAAOi/B,mBAAmB/vD,MAG5BA,MAiBX+uD,KAAM,WAWF,OATA/uD,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EACdnrB,KAAKsb,SAAU,EAEXtb,KAAK8wB,QAEL9wB,KAAK8wB,OAAOk/B,kBAAkBhwD,MAG3BA,OAiBfK,EAAOioD,UAAU0B,YAAc,aAE/B3pD,EAAOioD,UAAU0B,YAAYzjD,WAMzBikD,cAAc,EAMdU,OAAQ,KAyBRl1B,YAAa,SAAUnsB,EAAKynB,EAAO2+B,GAE3BpmD,IAAQxJ,EAAO0C,eAEf8G,EAAMynB,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhB2+B,QAAmC3lD,IAAlB2lD,IAAgCjwD,KAAK8oD,YAEvD9oD,KAAK8oD,WAAWvrB,OAGpBv9B,KAAK6J,IAAMA,EACX7J,KAAKwqD,cAAe,EACpB,IAAIjqC,EAAQvgB,KAAKib,KAAKsF,MAElB2vC,GAAW,EACX7zB,GAAYr8B,KAAK+jC,QAAQC,YAAYmsB,UAEzC,GAAI9vD,EAAO+vD,eAAiBvmD,aAAexJ,EAAO+vD,cAE9CpwD,KAAK6J,IAAMA,EAAIA,IACf7J,KAAKqwD,WAAWxmD,QAEf,GAAIxJ,EAAOiwD,YAAczmD,aAAexJ,EAAOiwD,WAEhDtwD,KAAKwqD,cAAe,EAEpBxqD,KAAKqwD,WAAWxmD,EAAIk6B,SAIhBmsB,EAFA3vC,EAAMgwC,aAAa1mD,EAAIA,IAAKxJ,EAAOypB,MAAM/nB,aAE7B/B,KAAK8oD,WAAW0H,cAAcjwC,EAAMkwC,aAAa5mD,EAAIA,IAAKxJ,EAAOypB,MAAM/nB,YAAauvB,IAIpFtxB,KAAK8oD,WAAW0H,cAAc3mD,EAAI6mD,UAAW,QAG5D,GAAIrwD,EAAOurD,OAAS/hD,aAAexJ,EAAOurD,MAC/C,CACI5rD,KAAKwqD,cAAe,EAGpB,IAAImG,EAAQ9mD,EAAIk6B,QAAQ4sB,MACxB3wD,KAAKqwD,WAAWxmD,EAAIk6B,SACpB/jC,KAAKkwD,SAASrmD,EAAIk6B,QAAQzS,MAAMnlB,SAChCtC,EAAIgiD,eAAe35C,IAAIlS,KAAK8rD,YAAa9rD,MACzCA,KAAK+jC,QAAQ4sB,MAAQA,OAEpB,GAAItwD,EAAOuwD,SAAW/mD,aAAexJ,EAAOwwD,aAI7C7wD,KAAKqwD,WAAWtqD,KAAK+qD,QAAQC,WAAWlnD,EAAIoiB,cAE3C,GAAIpiB,aAAe9D,KAAK+qD,QAEzB9wD,KAAKqwD,WAAWxmD,OAGpB,CACI,IAAImnD,EAAMzwC,EAAM0wC,SAASpnD,GAAK,GAE9B7J,KAAK6J,IAAMmnD,EAAInnD,IACf7J,KAAKqwD,WAAW,IAAItqD,KAAK+qD,QAAQE,EAAIE,OAIjClxD,KAAK+jC,QAAQC,YAAYmtB,WAFjB,cAARtnD,EASJqmD,GAAYlwD,KAAK8oD,WAAW0H,cAAcQ,EAAIN,UAAWp/B,GAGzD4+B,IAEAlwD,KAAKkrD,OAAS7qD,EAAO2N,UAAU7B,MAAMnM,KAAK+jC,QAAQzS,QAGjD+K,IAEDr8B,KAAK+jC,QAAQC,YAAYmsB,UAAY,IAa7CD,SAAU,SAAU5+B,GAEhBtxB,KAAKkrD,OAAS55B,EAEdtxB,KAAK+jC,QAAQzS,MAAMnrB,EAAImrB,EAAMnrB,EAC7BnG,KAAK+jC,QAAQzS,MAAMpkB,EAAIokB,EAAMpkB,EAC7BlN,KAAK+jC,QAAQzS,MAAMnhB,MAAQmhB,EAAMnhB,MACjCnQ,KAAK+jC,QAAQzS,MAAMlhB,OAASkhB,EAAMlhB,OAElCpQ,KAAK+jC,QAAQqQ,KAAKjuC,EAAImrB,EAAMnrB,EAC5BnG,KAAK+jC,QAAQqQ,KAAKlnC,EAAIokB,EAAMpkB,EAC5BlN,KAAK+jC,QAAQqQ,KAAKjkC,MAAQmhB,EAAMnhB,MAChCnQ,KAAK+jC,QAAQqQ,KAAKhkC,OAASkhB,EAAMlhB,OAE7BkhB,EAAM8/B,SAEFpxD,KAAK+jC,QAAQoQ,MAEbn0C,KAAK+jC,QAAQoQ,KAAKhuC,EAAImrB,EAAM+/B,kBAC5BrxD,KAAK+jC,QAAQoQ,KAAKjnC,EAAIokB,EAAMggC,kBAC5BtxD,KAAK+jC,QAAQoQ,KAAKhkC,MAAQmhB,EAAMigC,YAChCvxD,KAAK+jC,QAAQoQ,KAAK/jC,OAASkhB,EAAMkgC,aAIjCxxD,KAAK+jC,QAAQoQ,MAAShuC,EAAGmrB,EAAM+/B,kBAAmBnkD,EAAGokB,EAAMggC,kBAAmBnhD,MAAOmhB,EAAMigC,YAAanhD,OAAQkhB,EAAMkgC,aAG1HxxD,KAAK+jC,QAAQ5zB,MAAQmhB,EAAMigC,YAC3BvxD,KAAK+jC,QAAQ3zB,OAASkhB,EAAMkgC,YAC5BxxD,KAAK+jC,QAAQzS,MAAMnhB,MAAQmhB,EAAMigC,YACjCvxD,KAAK+jC,QAAQzS,MAAMlhB,OAASkhB,EAAMkgC,cAE5BlgC,EAAM8/B,SAAWpxD,KAAK+jC,QAAQoQ,OAEpCn0C,KAAK+jC,QAAQoQ,KAAO,MAGpB7iB,EAAMmgC,UAENzxD,KAAK+jC,QAAQ0tB,SAAU,GAGvBzxD,KAAK0qD,UAEL1qD,KAAK4qD,aAGT5qD,KAAK+jC,QAAQwnB,gBAAiB,EAE9BvrD,KAAK+jC,QAAQsnB,aAETrrD,KAAK0xD,gBAEL1xD,KAAK2xD,gBAAiB,IAgB9B7F,YAAa,SAAU3hC,EAAQha,EAAOC,GAElCpQ,KAAK+jC,QAAQzS,MAAM9X,OAAOrJ,EAAOC,GACjCpQ,KAAK+jC,QAAQmsB,SAASlwD,KAAK+jC,QAAQzS,QASvCu5B,WAAY,WAEJ7qD,KAAKkrD,QAELlrD,KAAKkwD,SAASlwD,KAAKkrD,SAkB3B55B,OAEI5kB,IAAK,WACD,OAAO1M,KAAK8oD,WAAWx3B,OAG3B3kB,IAAK,SAAU5C,GACX/J,KAAK8oD,WAAWx3B,MAAQvnB,IAkBhC6nD,WAEIllD,IAAK,WACD,OAAO1M,KAAK8oD,WAAW8I,WAG3BjlD,IAAK,SAAU5C,GACX/J,KAAK8oD,WAAW8I,UAAY7nD,KAkBxC1J,EAAOioD,UAAUuJ,QAAU,aAE3BxxD,EAAOioD,UAAUuJ,QAAQtrD,WAerBurD,QAAS,SAAUr2C,GAEf,OAAOpb,EAAO2N,UAAUuB,WAAWvP,KAAK+N,YAAa0N,EAAc1N,eAkB3E1N,EAAOioD,UAAUwB,YAAc,aAQ/BzpD,EAAOioD,UAAUwB,YAAYrsC,UAAY,WAErC,OAAIzd,KAAKoqD,OAASpqD,KAAKmrB,QAEnBnrB,KAAKkb,MAAMjN,MAAMjO,KAAKmqB,OAAOlQ,SAAS9T,EAAInG,KAAKia,SAAS9T,EAAGnG,KAAKmqB,OAAOlQ,SAAS/M,EAAIlN,KAAKia,SAAS/M,GAClGlN,KAAKorB,eAAepZ,GAAKhS,KAAKkb,MAAM/U,EACpCnG,KAAKorB,eAAenZ,GAAKjS,KAAKkb,MAAMhO,EAEpClN,KAAK4pD,iBAAiBj9C,IAAI3M,KAAKkb,MAAM/U,EAAGnG,KAAKkb,MAAMhO,GACnDlN,KAAKkqD,iBAAmBlqD,KAAK43B,SAEzB53B,KAAKuwB,MAELvwB,KAAKuwB,KAAK9S,YAGdzd,KAAKoqD,OAAQ,EAEbpqD,KAAKmqD,qBAEE,IAGXnqD,KAAK4pD,iBAAiBj9C,IAAI3M,KAAKkb,MAAM/U,EAAGnG,KAAKkb,MAAMhO,GACnDlN,KAAKkqD,iBAAmBlqD,KAAK43B,YAExB53B,KAAKqqD,UAAYrqD,KAAKmqB,OAAOgB,UAE9BnrB,KAAK40B,eAAiB,GACf,KAafv0B,EAAOioD,UAAUwB,YAAY/+B,WAAa,WAElC/qB,KAAKmrB,QAAUnrB,KAAKuwB,MAEpBvwB,KAAKuwB,KAAKxF,cAKlB1qB,EAAOioD,UAAUwB,YAAYvjD,WAqBzBgqB,KAAM,KAONpqB,GAEIuG,IAAK,WAED,OAAO1M,KAAKia,SAAS9T,GAIzBwG,IAAK,SAAU5C,GAEX/J,KAAKia,SAAS9T,EAAI4D,EAEd/J,KAAKuwB,OAASvwB,KAAKuwB,KAAKrI,QAExBloB,KAAKuwB,KAAKwhC,QAAS,KAY/B7kD,GAEIR,IAAK,WAED,OAAO1M,KAAKia,SAAS/M,GAIzBP,IAAK,SAAU5C,GAEX/J,KAAKia,SAAS/M,EAAInD,EAEd/J,KAAKuwB,OAASvwB,KAAKuwB,KAAKrI,QAExBloB,KAAKuwB,KAAKwhC,QAAS,MAoBnC1xD,EAAOioD,UAAU0J,MAAQ,aAkBzB3xD,EAAOioD,UAAU0J,MAAMzrD,UAAU4Z,MAAQ,SAAUha,EAAG+G,EAAG0hD,GA+BrD,YA7BetkD,IAAXskD,IAAwBA,EAAS,GAErC5uD,KAAKkb,MAAMvO,IAAIxG,EAAG+G,GAClBlN,KAAKia,SAAStN,IAAIxG,EAAG+G,GAErBlN,KAAKoqD,OAAQ,EACbpqD,KAAKmrB,QAAS,EACdnrB,KAAKsb,SAAU,EACftb,KAAKksD,YAAa,EAEdlsD,KAAK2pD,WAAWyF,UAEhBpvD,KAAKsvD,mBAAoB,GAGzBtvD,KAAK2pD,WAAWgG,WAEhB3vD,KAAK4uB,OAAQ,EACb5uB,KAAK4uD,OAASA,GAGd5uD,KAAK2pD,WAAWG,aAEZ9pD,KAAKuwB,MAELvwB,KAAKuwB,KAAKpQ,MAAMha,EAAG+G,GAAG,GAAO,GAI9BlN,MAeXK,EAAOioD,UAAU2J,YAAc,aAE/B5xD,EAAOioD,UAAU2J,YAAY1rD,WAMzB4lD,kBAAmB,KAMnBC,yBAA0BpsD,KAU1BkyD,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAU5uB,GAElBxjC,KAAKkyD,WAED1uB,EAAGt0B,EAAIlP,KAAKkyD,SAAS/rD,IAErBq9B,EAAGt0B,EAAIlP,KAAKkyD,SAAS/rD,GAGrBq9B,EAAG/uB,EAAIzU,KAAKkyD,SAAShlD,IAErBs2B,EAAG/uB,EAAIzU,KAAKkyD,SAAShlD,IAIzBlN,KAAKmyD,WAED3uB,EAAGt0B,EAAIlP,KAAKmyD,SAAShsD,IAErBq9B,EAAGt0B,EAAIlP,KAAKmyD,SAAShsD,GAGrBq9B,EAAG/uB,EAAIzU,KAAKmyD,SAASjlD,IAErBs2B,EAAG/uB,EAAIzU,KAAKmyD,SAASjlD,KA+BjCmlD,eAAgB,SAAUC,EAAMC,EAAMC,EAAMC,QAE3BnoD,IAATioD,EAGAA,EAAOC,EAAOC,EAAOH,OAEPhoD,IAATkoD,IAGLA,EAAOC,EAAOF,EACdA,EAAOD,GAGE,OAATA,EAEAtyD,KAAKkyD,SAAW,KAIZlyD,KAAKkyD,SAELlyD,KAAKkyD,SAASvlD,IAAI2lD,EAAMC,GAIxBvyD,KAAKkyD,SAAW,IAAI7xD,EAAOoN,MAAM6kD,EAAMC,GAIlC,OAATC,EAEAxyD,KAAKmyD,SAAW,KAIZnyD,KAAKmyD,SAELnyD,KAAKmyD,SAASxlD,IAAI6lD,EAAMC,GAIxBzyD,KAAKmyD,SAAW,IAAI9xD,EAAOoN,MAAM+kD,EAAMC,GAIzB,OAAlBzyD,KAAKkyD,SAELlyD,KAAKmsD,kBAAoB,MAIzBnsD,KAAKmsD,kBAAoBnsD,KAAKoyD,eAC9BpyD,KAAKosD,yBAA2BpsD,QAkB5CK,EAAOioD,UAAUoK,SAAW,aAE5BryD,EAAOioD,UAAUoK,SAASnsD,WAWtB81B,UAEI3vB,IAAK,WAED,OAAQ1M,KAAK+jC,QAAQC,YAAYmsB,WAIrCxjD,IAAK,SAAU5C,GAEPA,EAEI/J,KAAK+jC,UAEL/jC,KAAK+jC,QAAQC,YAAYmsB,UAAY,GAKrCnwD,KAAK+jC,UAEL/jC,KAAK+jC,QAAQC,YAAYmsB,UAAY,MAyBzD9vD,EAAOo6B,kBAAoB,SAAUxf,GAMjCjb,KAAKib,KAAOA,EAMZjb,KAAKkb,MAAQlb,KAAKib,KAAKC,OAI3B7a,EAAOo6B,kBAAkBl0B,WASrBosD,SAAU,SAAUv8B,GAEhB,OAAOp2B,KAAKkb,MAAMhJ,IAAIkkB,IAyB1Bw8B,OAAQ,SAAUphC,EAAU3nB,EAAKynB,EAAO+F,EAAOw7B,GAE3C,IAAID,EAAS5yD,KAAKib,KAAK0P,QAAQzY,IAAI7R,EAAOyyD,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAcvhC,EAAU3nB,EAAKynB,EAAO+F,GAEpCu7B,GAoBX/oC,MAAO,SAAU1jB,EAAG+G,EAAGrD,EAAKynB,EAAO+F,GAI/B,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAO2yD,MAAMhzD,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,KAmB5D6G,OAAQ,SAAUhyB,EAAG+G,EAAGrD,EAAKynB,EAAO+F,GAIhC,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMlW,OAAOhb,EAAG+G,EAAGrD,EAAKynB,IAyBnC2hC,SAAU,SAAU9sD,EAAG+G,EAAGrD,EAAKqpD,EAAM77B,QAEnB/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAExC,IAAIzR,EAAM,IAAIpJ,EAAOwjC,SAAS7jC,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKqpD,GAIpD,OAFA77B,EAAMnlB,IAAIzI,GAEHA,GAaX0pD,MAAO,SAAU/8B,GAEb,OAAOp2B,KAAKib,KAAK2F,OAAOO,OAAOiV,IAenCiB,MAAO,SAAUlN,EAAQpe,EAAMsiB,EAAYC,EAAYC,GAEnD,OAAO,IAAIluB,EAAO+tB,MAAMpuB,KAAKib,KAAMkP,EAAQpe,EAAMsiB,EAAYC,EAAYC,IAiB7E6kC,aAAc,SAAU7kC,EAAiBpE,EAAQpe,EAAMsiB,GAEnD,OAAO,IAAIhuB,EAAO+tB,MAAMpuB,KAAKib,KAAMkP,EAAQpe,EAAMsiB,GAAY,EAAME,IAevE8kC,YAAa,SAAUlpC,EAAQpe,EAAMsiB,GAMjC,YAJe/jB,IAAX6f,IAAwBA,EAAS,WACxB7f,IAATyB,IAAsBA,EAAO,cACdzB,IAAf+jB,IAA4BA,GAAa,GAEtC,IAAIhuB,EAAOizD,YAAYtzD,KAAKib,KAAMkP,EAAQpe,EAAMsiB,IAc3DklC,MAAO,SAAU1pD,EAAK4Q,EAAQmuC,EAAMvP,GAEhC,OAAOr5C,KAAKib,KAAKyF,MAAMxO,IAAIrI,EAAK4Q,EAAQmuC,EAAMvP,IAclD34B,MAAO,SAAU7W,EAAK4Q,EAAQmuC,EAAMvP,GAEhC,OAAOr5C,KAAKib,KAAKyF,MAAMxO,IAAIrI,EAAK4Q,EAAQmuC,EAAMvP,IAWlDma,YAAa,SAAU3pD,GAEnB,OAAO7J,KAAKib,KAAKyF,MAAM+yC,UAAU5pD,IAiBrC6pD,WAAY,SAAUvtD,EAAG+G,EAAGiD,EAAOC,EAAQvG,EAAKynB,EAAO+F,GAInD,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAOyjC,WAAW9jC,KAAKib,KAAM9U,EAAG+G,EAAGiD,EAAOC,EAAQvG,EAAKynB,KAkBhFqiC,KAAM,SAAUxtD,EAAG+G,EAAGrD,EAAKynB,EAAO5Z,EAAQ2f,GAItC,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAOuzD,KAAK5zD,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,EAAO5Z,KAelEm8C,KAAM,SAAU1tD,EAAG+G,EAAG2mD,EAAMl2C,EAAO0Z,GAI/B,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAOyzD,KAAK9zD,KAAKib,KAAM9U,EAAG+G,EAAG2mD,EAAMl2C,KAoB5DinB,OAAQ,SAAUz+B,EAAG+G,EAAGrD,EAAKwqB,EAAU7Q,EAAiBuwC,EAAWC,EAAUC,EAAWC,EAAS78B,GAI7F,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAO8zD,OAAOn0D,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKwqB,EAAU7Q,EAAiBuwC,EAAWC,EAAUC,EAAWC,KAaxHE,SAAU,SAAUjuD,EAAG+G,EAAGmqB,GAItB,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAOid,SAAStd,KAAKib,KAAM9U,EAAG+G,KAiBvDmnD,QAAS,SAAUluD,EAAG+G,EAAGonD,GAErB,OAAOt0D,KAAKib,KAAK4F,UAAU3O,IAAI,IAAI7R,EAAO26B,UAAUu5B,OAAOC,QAAQx0D,KAAKib,KAAM9U,EAAG+G,EAAGonD,KA0BxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAI70D,EAAO80D,UAAUn1D,KAAKib,KAAMy5C,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUjvD,EAAG+G,EAAGwnD,EAAMb,EAAMjpD,EAAMysB,GAI1C,YAFc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKkb,OAEjCmc,EAAMnlB,IAAI,IAAI7R,EAAO0rD,WAAW/rD,KAAKib,KAAM9U,EAAG+G,EAAGwnD,EAAMb,EAAMjpD,KAqBxEyqD,QAAS,SAAUxrD,EAAKyrD,EAAWC,EAAYplD,EAAOC,GAElD,OAAO,IAAI/P,EAAOuwD,QAAQ5wD,KAAKib,KAAMpR,EAAKyrD,EAAWC,EAAYplD,EAAOC,IAc5EolD,cAAe,SAAUrlD,EAAOC,EAAQvG,EAAK4rD,QAE7BnrD,IAART,GAA6B,KAARA,IAAcA,EAAM7J,KAAKib,KAAKsE,IAAIm2C,aACxCprD,IAAfmrD,IAA4BA,GAAa,GAE7C,IAAI1xB,EAAU,IAAI1jC,EAAO+vD,cAAcpwD,KAAKib,KAAM9K,EAAOC,EAAQvG,GAOjE,OALI4rD,GAEAz1D,KAAKib,KAAKsF,MAAMo1C,iBAAiB9rD,EAAKk6B,GAGnCA,GAcX6xB,MAAO,SAAU/rD,EAAKgsD,GAElB,OAAO,IAAIx1D,EAAOurD,MAAM5rD,KAAKib,KAAMpR,EAAKgsD,IAgB5CC,WAAY,SAAU3lD,EAAOC,EAAQvG,EAAK4rD,QAEnBnrD,IAAfmrD,IAA4BA,GAAa,QACjCnrD,IAART,GAA6B,KAARA,IAAcA,EAAM7J,KAAKib,KAAKsE,IAAIm2C,QAE3D,IAAI3xB,EAAU,IAAI1jC,EAAOiwD,WAAWtwD,KAAKib,KAAMpR,EAAKsG,EAAOC,GAO3D,OALIqlD,GAEAz1D,KAAKib,KAAKsF,MAAMw1C,cAAclsD,EAAKk6B,GAGhCA,GAYXlP,OAAQ,SAAUA,GAEd,IAAIhuB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAMjD,OAJI4tB,EAAS,IAAIx0B,EAAOwnB,OAAOgN,GAAQ70B,KAAKib,OAErC8F,KAAK5Z,MAAM0tB,EAAQhuB,GAEnBguB,GAcX/J,OAAQ,SAAUA,GAEd,OAAO9qB,KAAKib,KAAK0P,QAAQzY,IAAI4Y,KAMrCzqB,EAAOo6B,kBAAkBl0B,UAAU8B,YAAchI,EAAOo6B,kBAgBxDp6B,EAAOq6B,kBAAoB,SAAUzf,GAMjCjb,KAAKib,KAAOA,EAMZjb,KAAKkb,MAAQlb,KAAKib,KAAKC,OAI3B7a,EAAOq6B,kBAAkBn0B,WAerBsjB,MAAO,SAAU1jB,EAAG+G,EAAGrD,EAAKynB,GAExB,OAAO,IAAIjxB,EAAO2yD,MAAMhzD,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,IAclD6G,OAAQ,SAAUhyB,EAAG+G,EAAGrD,EAAKynB,GAEzB,OAAO,IAAIjxB,EAAO2uB,OAAOhvB,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,IAanD6hC,MAAO,SAAU1pD,GAEb,OAAO,IAAIpJ,EAAO21D,MAAMvsD,EAAKzJ,KAAKib,KAAMjb,KAAKib,KAAK2F,SAetDyW,MAAO,SAAUlN,EAAQpe,EAAMsiB,EAAYC,EAAYC,GAEnD,OAAO,IAAIluB,EAAO+tB,MAAMpuB,KAAKib,KAAMkP,EAAQpe,EAAMsiB,EAAYC,EAAYC,IAa7E8kC,YAAa,SAAUlpC,EAAQpe,EAAMsiB,GAKjC,YAHa/jB,IAATyB,IAAsBA,EAAO,cACdzB,IAAf+jB,IAA4BA,GAAa,GAEtC,IAAIhuB,EAAOizD,YAAYtzD,KAAKib,KAAMkP,EAAQpe,EAAMsiB,IAc3DklC,MAAO,SAAU1pD,EAAK4Q,EAAQmuC,EAAMvP,GAEhC,OAAOr5C,KAAKib,KAAKyF,MAAMxO,IAAIrI,EAAK4Q,EAAQmuC,EAAMvP,IAWlDma,YAAa,SAAU3pD,GAEnB,OAAO7J,KAAKib,KAAKyF,MAAM+yC,UAAU5pD,IAcrC6W,MAAO,SAAU7W,EAAK4Q,EAAQmuC,EAAMvP,GAEhC,OAAOr5C,KAAKib,KAAKyF,MAAMxO,IAAIrI,EAAK4Q,EAAQmuC,EAAMvP,IAgBlDqa,WAAY,SAAUvtD,EAAG+G,EAAGiD,EAAOC,EAAQvG,EAAKynB,GAE5C,OAAO,IAAIjxB,EAAOyjC,WAAW9jC,KAAKib,KAAM9U,EAAG+G,EAAGiD,EAAOC,EAAQvG,EAAKynB,IAgBtEqiC,KAAM,SAAUxtD,EAAG+G,EAAGrD,EAAKynB,EAAO5Z,GAE9B,OAAO,IAAIrX,EAAOuzD,KAAK5zD,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKynB,EAAO5Z,IAcxDm8C,KAAM,SAAU1tD,EAAG+G,EAAG2mD,EAAMl2C,GAExB,OAAO,IAAItd,EAAOyzD,KAAK9zD,KAAKib,KAAM9U,EAAG+G,EAAG2mD,EAAMl2C,IAmBlDinB,OAAQ,SAAUz+B,EAAG+G,EAAGrD,EAAKwqB,EAAU7Q,EAAiBuwC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAI7zD,EAAO8zD,OAAOn0D,KAAKib,KAAM9U,EAAG+G,EAAGrD,EAAKwqB,EAAU7Q,EAAiBuwC,EAAWC,EAAUC,EAAWC,IAY9GE,SAAU,SAAUjuD,EAAG+G,GAEnB,OAAO,IAAI7M,EAAOid,SAAStd,KAAKib,KAAM9U,EAAG+G,IAiB7CmnD,QAAS,SAAUluD,EAAG+G,EAAGonD,GAErB,OAAO,IAAIj0D,EAAO26B,UAAUu5B,OAAOC,QAAQx0D,KAAKib,KAAM9U,EAAG+G,EAAGonD,IA0BhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAI70D,EAAO80D,UAAUn1D,KAAKib,KAAMy5C,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUjvD,EAAG+G,EAAGwnD,EAAMb,EAAMjpD,EAAM+mB,GAE1C,OAAO,IAAItxB,EAAO0rD,WAAW/rD,KAAKib,KAAM9U,EAAG+G,EAAGwnD,EAAMb,EAAMjpD,EAAM+mB,IAoBpE0jC,QAAS,SAAUxrD,EAAKyrD,EAAWC,EAAYplD,EAAOC,GAElD,OAAO,IAAI/P,EAAOuwD,QAAQ5wD,KAAKib,KAAMpR,EAAKyrD,EAAWC,EAAYplD,EAAOC,IAc5EolD,cAAe,SAAUrlD,EAAOC,EAAQvG,EAAK4rD,QAE7BnrD,IAART,GAA6B,KAARA,IAAcA,EAAM7J,KAAKib,KAAKsE,IAAIm2C,aACxCprD,IAAfmrD,IAA4BA,GAAa,GAE7C,IAAI1xB,EAAU,IAAI1jC,EAAO+vD,cAAcpwD,KAAKib,KAAM9K,EAAOC,EAAQvG,GAOjE,OALI4rD,GAEAz1D,KAAKib,KAAKsF,MAAMo1C,iBAAiB9rD,EAAKk6B,GAGnCA,GAgBX+xB,WAAY,SAAU3lD,EAAOC,EAAQvG,EAAK4rD,QAEnBnrD,IAAfmrD,IAA4BA,GAAa,QACjCnrD,IAART,GAA6B,KAARA,IAAcA,EAAM7J,KAAKib,KAAKsE,IAAIm2C,QAE3D,IAAI3xB,EAAU,IAAI1jC,EAAOiwD,WAAWtwD,KAAKib,KAAMpR,EAAKsG,EAAOC,GAO3D,OALIqlD,GAEAz1D,KAAKib,KAAKsF,MAAMw1C,cAAclsD,EAAKk6B,GAGhCA,GAYXlP,OAAQ,SAAUA,GAEd,IAAIhuB,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAMjD,OAJI4tB,EAAS,IAAIx0B,EAAOwnB,OAAOgN,GAAQ70B,KAAKib,OAErC8F,KAAK5Z,MAAM0tB,EAAQhuB,GAEnBguB,IAMfx0B,EAAOq6B,kBAAkBn0B,UAAU8B,YAAchI,EAAOq6B,kBA6CxDr6B,EAAO2uB,OAAS,SAAU/T,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEvCnrB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbynB,EAAQA,GAAS,KAMjBtxB,KAAKoI,KAAO/H,EAAOa,OAMnBlB,KAAK2uB,YAActuB,EAAOa,OAE1B6E,KAAKipB,OAAOhoB,KAAKhH,KAAMK,EAAOypB,MAAMlkB,SAEpCvF,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,IAI3DjxB,EAAO2uB,OAAOzoB,UAAYkB,OAAO0Z,OAAOpb,KAAKipB,OAAOzoB,WACpDlG,EAAO2uB,OAAOzoB,UAAU8B,YAAchI,EAAO2uB,OAE7C3uB,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAO2uB,OAAOzoB,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJlG,EAAO2uB,OAAOzoB,UAAU0vD,iBAAmB51D,EAAOioD,UAAUwB,YAAYrsC,UACxEpd,EAAO2uB,OAAOzoB,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UACtEpd,EAAO2uB,OAAOzoB,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACpEpd,EAAO2uB,OAAOzoB,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAS9Dpd,EAAO2uB,OAAOzoB,UAAUkX,UAAY,WAEhC,SAAKzd,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAwChB/1D,EAAO2yD,MAAQ,SAAU/3C,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEtCnrB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbynB,EAAQA,GAAS,KAMjBtxB,KAAKoI,KAAO/H,EAAOe,MAEnB2E,KAAKipB,OAAOhoB,KAAKhH,KAAMK,EAAOypB,MAAMlkB,SAEpCvF,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,IAI3DjxB,EAAO2yD,MAAMzsD,UAAYkB,OAAO0Z,OAAOpb,KAAKipB,OAAOzoB,WACnDlG,EAAO2yD,MAAMzsD,UAAU8B,YAAchI,EAAO2yD,MAE5C3yD,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAO2yD,MAAMzsD,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJlG,EAAO2yD,MAAMzsD,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UACrEpd,EAAO2yD,MAAMzsD,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACnEpd,EAAO2yD,MAAMzsD,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAQ7Dpd,EAAO2yD,MAAMzsD,UAAUkX,UAAY,WAE/B,SAAKzd,KAAKm2D,qBAAuBn2D,KAAKk2D,sBAK/Bl2D,KAAKo2D,iBAsChB/1D,EAAO8zD,OAAS,SAAUl5C,EAAM9U,EAAG+G,EAAGrD,EAAKwqB,EAAU7Q,EAAiBuwC,EAAWC,EAAUC,EAAWC,GAElG/tD,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbwqB,EAAWA,GAAY,KACvB7Q,EAAkBA,GAAmBxjB,KAErCK,EAAO2yD,MAAMhsD,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKmqD,GAOzCh0D,KAAKoI,KAAO/H,EAAOc,OAMnBnB,KAAK2uB,YAActuB,EAAOa,OAO1BlB,KAAKq2D,aAAe,KAOpBr2D,KAAKs2D,YAAc,KAOnBt2D,KAAKu2D,aAAe,KAOpBv2D,KAAKw2D,WAAa,KAOlBx2D,KAAKy2D,YAAc,KAOnBz2D,KAAK02D,WAAa,KAOlB12D,KAAK22D,YAAc,KAOnB32D,KAAK42D,UAAY,KAOjB52D,KAAK62D,kBAAoB,GAOzB72D,KAAK82D,iBAAmB,GAOxB92D,KAAK+2D,kBAAoB,GAOzB/2D,KAAKg3D,gBAAkB,GAMvBh3D,KAAKguD,YAAc,IAAI3tD,EAAOwb,OAM9B7b,KAAKiuD,WAAa,IAAI5tD,EAAOwb,OAM7B7b,KAAKkuD,YAAc,IAAI7tD,EAAOwb,OAM9B7b,KAAKmuD,UAAY,IAAI9tD,EAAOwb,OAS5B7b,KAAKi3D,iBAAkB,EASvBj3D,KAAKk3D,yBAA2B72D,EAAOghC,YAAYoB,MAOnDziC,KAAKm3D,cAAe,EAUpBn3D,KAAKo3D,UAAW,EAEhBp3D,KAAK6wB,cAAe,EAEpB7wB,KAAKwgB,MAAM1P,MAAM,GAAG,GAEpB9Q,KAAKwgB,MAAM2vB,eAAgB,EAE3BnwC,KAAKq3D,UAAUtD,EAAWC,EAAUC,EAAWC,GAE9B,OAAb7/B,GAEAr0B,KAAKmuD,UAAUj8C,IAAImiB,EAAU7Q,GAIjCxjB,KAAK8wB,OAAOk9B,YAAY97C,IAAIlS,KAAKs3D,mBAAoBt3D,MACrDA,KAAK8wB,OAAOm9B,WAAW/7C,IAAIlS,KAAKu3D,kBAAmBv3D,MACnDA,KAAK8wB,OAAOo9B,YAAYh8C,IAAIlS,KAAKw3D,mBAAoBx3D,MACrDA,KAAK8wB,OAAOq9B,UAAUj8C,IAAIlS,KAAKy3D,iBAAkBz3D,MAEjDA,KAAK8wB,OAAO68B,mBAAmBz7C,IAAIlS,KAAK03D,iBAAkB13D,OAI9DK,EAAO8zD,OAAO5tD,UAAYkB,OAAO0Z,OAAO9gB,EAAO2yD,MAAMzsD,WACrDlG,EAAO8zD,OAAO5tD,UAAU8B,YAAchI,EAAO8zD,OAigxDzC,OAp/wDJ9zD,EAAO8zD,OAAO5tD,UAAUoxD,YAAc,WAElC33D,KAAKq3D,UAAU,KAAM,KAAM,KAAM,OAUrCh3D,EAAO8zD,OAAO5tD,UAAUmxD,iBAAmB,WAEvC13D,KAAK6wB,cAAe,GAaxBxwB,EAAO8zD,OAAO5tD,UAAUqxD,cAAgB,SAAUj3C,EAAO2Q,EAAOumC,GAE5D,IAAIC,EAAW,MAAQn3C,EAAQ,QAEjB,OAAV2Q,GAEAtxB,KAAK83D,GAAYxmC,EAEbumC,GAEA73D,KAAK+3D,iBAAiBp3C,IAK1B3gB,KAAK83D,GAAY,MAazBz3D,EAAO8zD,OAAO5tD,UAAUwxD,iBAAmB,SAAUp3C,GAEjD,GAAI3gB,KAAKm3D,aAEL,OAAO,EAGX,IACI7lC,EAAQtxB,KADG,MAAQ2gB,EAAQ,SAG/B,MAAqB,iBAAV2Q,GAEPtxB,KAAK4xD,UAAYtgC,GACV,GAEe,iBAAVA,IAEZtxB,KAAKsxB,MAAQA,GACN,IAqBfjxB,EAAO8zD,OAAO5tD,UAAU8wD,UAAY,SAAUtD,EAAWC,EAAUC,EAAWC,GAE1El0D,KAAK43D,cA1GQ,OA0GkB7D,EAAW/zD,KAAKwgB,MAAMmzB,eACrD3zC,KAAK43D,cA1GO,MA0GkB5D,GAAWh0D,KAAKwgB,MAAMmzB,eACpD3zC,KAAK43D,cA1GQ,OA0GkB3D,EAAWj0D,KAAKwgB,MAAM+yB,eACrDvzC,KAAK43D,cA1GM,KA0GkB1D,EAASl0D,KAAKwgB,MAAMgzB,cAarDnzC,EAAO8zD,OAAO5tD,UAAUyxD,cAAgB,SAAUr3C,EAAOD,EAAOu3C,GAE5D,IAAIC,EAAW,KAAOv3C,EAAQ,QAC1Bw3C,EAAY,KAAOx3C,EAAQ,cAE3BD,aAAiBrgB,EAAO+3D,OAAS13C,aAAiBrgB,EAAOg4D,aAEzDr4D,KAAKk4D,GAAYx3C,EACjB1gB,KAAKm4D,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxDj4D,KAAKk4D,GAAY,KACjBl4D,KAAKm4D,GAAa,KAa1B93D,EAAO8zD,OAAO5tD,UAAU+xD,eAAiB,SAAU33C,GAE/C,IACID,EAAQ1gB,KADG,KAAO2gB,EAAQ,SAG9B,GAAID,EACJ,CACI,IACIu3C,EAASj4D,KADG,KAAO2gB,EAAQ,eAI/B,OADAD,EAAMgoC,KAAKuP,IACJ,EAIP,OAAO,GAsBf53D,EAAO8zD,OAAO5tD,UAAUgyD,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtH/4D,KAAKg4D,cA3LQ,OA2LkBQ,EAAWC,GAC1Cz4D,KAAKg4D,cA3LO,MA2LkBY,EAAUC,GACxC74D,KAAKg4D,cA3LQ,OA2LkBU,EAAWC,GAC1C34D,KAAKg4D,cA3LM,KA2LkBc,EAASC,IAY1C14D,EAAO8zD,OAAO5tD,UAAUyyD,aAAe,SAAUt4C,EAAOu3C,GAEpDj4D,KAAKg4D,cA5MQ,OA4MkBt3C,EAAOu3C,IAY1C53D,EAAO8zD,OAAO5tD,UAAU0yD,YAAc,SAAUv4C,EAAOu3C,GAEnDj4D,KAAKg4D,cAzNO,MAyNkBt3C,EAAOu3C,IAYzC53D,EAAO8zD,OAAO5tD,UAAU2yD,aAAe,SAAUx4C,EAAOu3C,GAEpDj4D,KAAKg4D,cAtOQ,OAsOkBt3C,EAAOu3C,IAY1C53D,EAAO8zD,OAAO5tD,UAAU4yD,WAAa,SAAUz4C,EAAOu3C,GAElDj4D,KAAKg4D,cAnPM,KAmPkBt3C,EAAOu3C,IAYxC53D,EAAO8zD,OAAO5tD,UAAU+wD,mBAAqB,SAAUn/B,EAAQ5O,GAEvDA,EAAQ6gB,iBACPpqC,KAAKk3D,yBAA2B3tC,EAAQ8gB,eAAiB9gB,EAAQ8gB,cAMtErqC,KAAK+3D,iBA3QQ,QA6QT/3D,KAAKi3D,kBAAoB1tC,EAAQmiB,UAKrC1rC,KAAKs4D,eAlRQ,QAoRTt4D,KAAKguD,aAELhuD,KAAKguD,YAAY1uC,SAAStf,KAAMupB,MAaxClpB,EAAO8zD,OAAO5tD,UAAUgxD,kBAAoB,SAAUp/B,EAAQ5O,GAE1DvpB,KAAK+3D,iBApSO,OAsSZ/3D,KAAKs4D,eAtSO,OAwSRt4D,KAAKiuD,YAELjuD,KAAKiuD,WAAW3uC,SAAStf,KAAMupB,IAYvClpB,EAAO8zD,OAAO5tD,UAAUixD,mBAAqB,SAAUr/B,EAAQ5O,GAE3DvpB,KAAK+3D,iBAvTQ,QAyTb/3D,KAAKs4D,eAzTQ,QA2TTt4D,KAAKkuD,aAELluD,KAAKkuD,YAAY5uC,SAAStf,KAAMupB,IAYxClpB,EAAO8zD,OAAO5tD,UAAUkxD,iBAAmB,SAAUt/B,EAAQ5O,EAASgpB,GAElEvyC,KAAKs4D,eA1UM,MA6UPt4D,KAAKmuD,WAELnuD,KAAKmuD,UAAU7uC,SAAStf,KAAMupB,EAASgpB,GAGvCvyC,KAAKm3D,gBAKa,IAAlBn3D,KAAKo3D,WAAsBp3D,KAAKo3D,SAAW7tC,EAAQ8gB,eAAiB9gB,EAAQ8gB,YAE5ErqC,KAAK+3D,iBA3VG,OA+VQ/3D,KAAK+3D,iBA7Vd,QAiWCxlB,EAEAvyC,KAAK+3D,iBAtWJ,QA0WD/3D,KAAK+3D,iBAzWL,UAsYhB13D,EAAOizD,YAAc,SAAUr4C,EAAMkP,EAAQpe,EAAMsiB,QAEhC/jB,IAAX6f,GAAmC,OAAXA,IAAmBA,EAASlP,EAAKC,OAE7D7a,EAAO+tB,MAAMpnB,KAAKhH,KAAMib,EAAMkP,EAAQpe,EAAMsiB,GAM5CruB,KAAKoI,KAAO/H,EAAO8B,YAMnBnC,KAAKo5D,gBAAkB,KAMvBp5D,KAAKq5D,OAAQ,GAIjBh5D,EAAOizD,YAAY/sD,UAAYkB,OAAO0Z,OAAO9gB,EAAO+tB,MAAM7nB,WAE1DlG,EAAOizD,YAAY/sD,UAAU8B,YAAchI,EAAOizD,YAUlDjzD,EAAOizD,YAAY/sD,UAAU+yD,aAAe,SAAUC,IAE7Cv5D,KAAKsb,SAAWtb,KAAK0e,OAAS,IAAM1e,KAAKssB,SAASvkB,SAKlD/H,KAAKq5D,QAENr5D,KAAKo5D,gBAAkB,IAAIrzD,KAAKyzD,qBAAqBD,EAAcE,IAEnEz5D,KAAKq5D,OAAQ,GAGbr5D,KAAKo5D,gBAAgBK,KAAOF,EAAcE,IAE1Cz5D,KAAKo5D,gBAAgBM,WAAWH,EAAcE,IAGlDF,EAAclG,YAAY91B,OAE1Bg8B,EAAcI,cAAcC,UAAUL,EAAcI,cAAcE,YAElE75D,KAAKo5D,gBAAgBU,MAAM95D,KAAMu5D,GACjCv5D,KAAKo5D,gBAAgB/3C,OAAOrhB,MAE5Bu5D,EAAclG,YAAYviD,UAY9BzQ,EAAOizD,YAAY/sD,UAAUwzD,cAAgB,SAAUR,GAEnD,GAAKv5D,KAAKsb,WAAWtb,KAAK0e,OAAS,IAAM1e,KAAKssB,SAASvkB,OAAvD,CAKA,IAAI+c,EAAUy0C,EAAcz0C,QAE5BA,EAAQk1C,YAAch6D,KAAKysB,WAE3BzsB,KAAKi6D,+BAML,IAAK,IAJDC,EAAYl6D,KAAKorB,eAEjB+uC,GAAY,EAEPnyD,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAC1C,CACI,IAAIukB,EAAQvsB,KAAKssB,SAAStkB,GAE1B,GAAKukB,EAAMjR,QAAX,CAKA,IAAIyoB,EAAUxX,EAAMwX,QAChBzS,EAAQyS,EAAQzS,MAIpB,GAFAxM,EAAQk1C,YAAch6D,KAAKysB,WAAaF,EAAM7N,MAE1C6N,EAAMqL,UAAsB,EAAV3xB,KAAKsH,KAAY,EAI/B4sD,IAEAr1C,EAAQE,aAAak1C,EAAUhrD,EAAGgrD,EAAU5qD,EAAG4qD,EAAUxqD,EAAGwqD,EAAUzlD,EAAGylD,EAAUloD,GAAIkoD,EAAUjoD,IACjGkoD,GAAY,GAGhBr1C,EAAQ0vB,UACJzQ,EAAQC,YAAY71B,OACpBmjB,EAAMnrB,EACNmrB,EAAMpkB,EACNokB,EAAMnhB,MACNmhB,EAAMlhB,OACJmc,EAAMxC,OAAQ,IAAMuH,EAAMnhB,MAAQoc,EAAMlX,MAAMlP,GAAKomB,EAAMtS,SAAS9T,EAAI,GAAMozD,EAAca,OAAU,EACpG7tC,EAAMxC,OAAQ,IAAMuH,EAAMlhB,OAASmc,EAAMlX,MAAMnI,GAAKqf,EAAMtS,SAAS/M,EAAI,GAAMqsD,EAAcc,OAAU,EACvG/oC,EAAMnhB,MAAQoc,EAAMlX,MAAMlP,EAC1BmrB,EAAMlhB,OAASmc,EAAMlX,MAAMnI,OAGnC,CACSitD,IAEDA,GAAY,GAGhB5tC,EAAM0tC,+BAEN,IAAIK,EAAiB/tC,EAAMnB,eACvBpZ,EAAMsoD,EAAetoD,GAAKunD,EAAcjxC,WAAcixC,EAAca,OACpEnoD,EAAMqoD,EAAeroD,GAAKsnD,EAAcjxC,WAAcixC,EAAcc,OAIpEd,EAAcgB,YAEdz1C,EAAQE,aAAas1C,EAAeprD,EAAGorD,EAAehrD,EAAGgrD,EAAe5qD,EAAG4qD,EAAe7lD,EAAQ,EAALzC,EAAa,EAALC,GAIrG6S,EAAQE,aAAas1C,EAAeprD,EAAGorD,EAAehrD,EAAGgrD,EAAe5qD,EAAG4qD,EAAe7lD,EAAGzC,EAAIC,GAGrG6S,EAAQ0vB,UACJzQ,EAAQC,YAAY71B,OACpBmjB,EAAMnrB,EACNmrB,EAAMpkB,EACNokB,EAAMnhB,MACNmhB,EAAMlhB,OACJmc,EAAMxC,OAAQ,GAAMuH,EAAMnhB,MAAS,GAAO,EAC1Coc,EAAMxC,OAAQ,GAAMuH,EAAMlhB,OAAU,GAAO,EAC7CkhB,EAAMnhB,MACNmhB,EAAMlhB,aA6BtB/P,EAAOiwD,WAAa,SAAUr1C,EAAMpR,EAAKsG,EAAOC,EAAQoqD,QAEtClwD,IAAV6F,GAAiC,IAAVA,IAAeA,EAAQ,UACnC7F,IAAX8F,GAAmC,IAAXA,IAAgBA,EAAS,UACpC9F,IAAbkwD,IAA0BA,GAAW,GAKzCx6D,KAAKib,KAAOA,EAKZjb,KAAK6J,IAAMA,EAKX7J,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAMdpQ,KAAKisB,OAAS5rB,EAAO6rB,OAAO/K,OAAOnhB,KAAMmQ,EAAOC,EAAQ,KAAMoqD,GAM9Dx6D,KAAK8kB,QAAU9kB,KAAKisB,OAAO6V,WAAW,MAAQpjB,OAAO,IAKrD1e,KAAKy6D,IAAMz6D,KAAK8kB,QAKhB9kB,KAAK06D,eAAkBz/C,EAAK4J,aAAexkB,EAAOI,OAAUwa,EAAKud,SAAS+gC,cAAcmB,eAAiBr6D,EAAO6rB,OAAOyuC,mBAAmB36D,KAAK8kB,SAO/I9kB,KAAK46D,UAAY56D,KAAK8kB,QAAQ2vB,aAAa,EAAG,EAAGtkC,EAAOC,GAOxDpQ,KAAKkkC,KAAO,KAERlkC,KAAK46D,YAEL56D,KAAKkkC,KAAOlkC,KAAK46D,UAAU12B,MAM/BlkC,KAAK66D,OAAS,KAKV76D,KAAKkkC,OAEDlkC,KAAK46D,UAAU12B,KAAK42B,QAEpB96D,KAAK86D,OAAS96D,KAAK46D,UAAU12B,KAAK42B,OAClC96D,KAAK66D,OAAS,IAAI3yD,YAAYlI,KAAK86D,SAI/B7yD,OAAoB,aAEpBjI,KAAK86D,OAAS,IAAIC,YAAY/6D,KAAK46D,UAAU12B,KAAKn8B,QAClD/H,KAAK66D,OAAS,IAAI3yD,YAAYlI,KAAK86D,SAInC96D,KAAK66D,OAAS76D,KAAK46D,UAAU12B,MASzClkC,KAAKgkC,YAAc,IAAIj+B,KAAKi1D,YAAYh7D,KAAKisB,OAAQ,KAAMjsB,KAAKib,KAAKqN,YAMrEtoB,KAAK+jC,QAAU,IAAIh+B,KAAK+qD,QAAQ9wD,KAAKgkC,aAKrChkC,KAAK0wD,UAAY,IAAIrwD,EAAO46D,UAM5Bj7D,KAAKk7D,aAAel7D,KAAK0wD,UAAUyK,SAAS,IAAI96D,EAAO+6D,MAAM,EAAG,EAAG,EAAGjrD,EAAOC,EAAQ,eAErFpQ,KAAK+jC,QAAQzS,MAAQtxB,KAAKk7D,aAM1Bl7D,KAAKoI,KAAO/H,EAAO0B,WAKnB/B,KAAKq7D,sBAAuB,EAK5Br7D,KAAKkoB,OAAQ,EAGbloB,KAAKs7D,IAAMt7D,KAAK2e,MAMhB3e,KAAKu7D,OAAS,KAMdv7D,KAAKw7D,KAAO,IAAIn7D,EAAOoN,MAMvBzN,KAAKy7D,MAAQ,IAAIp7D,EAAOoN,MAMxBzN,KAAK07D,OAAS,IAAIr7D,EAAOoN,MAMzBzN,KAAK27D,QAAU,EAMf37D,KAAK47D,QAAWC,KAAM,EAAG1xD,QAAS,GAMlCnK,KAAK87D,QAAU,IAAIz7D,EAAOoN,MAM1BzN,KAAK+7D,OAAS,EAMd/7D,KAAKg8D,OAAS,EAMdh8D,KAAKi8D,OAAS,EAMdj8D,KAAKk8D,QAAU,IAAI77D,EAAO4M,OAM1BjN,KAAKm8D,iBAAc7xD,GAIvBjK,EAAOiwD,WAAW/pD,WAady8B,KAAM,SAAU78B,EAAG+G,EAAGoG,GAYlB,OAVU,IAANnN,GAEAnG,KAAKo8D,MAAMj2D,EAAGmN,GAGR,IAANpG,GAEAlN,KAAKq8D,MAAMnvD,EAAGoG,GAGXtT,MAcXo8D,MAAO,SAAU9tD,EAAUgF,QAEVhJ,IAATgJ,IAAsBA,GAAO,QAERhJ,IAArBtK,KAAKm8D,cAELn8D,KAAKm8D,YAAc97D,EAAOwhC,WAAW1gB,OAAOnhB,KAAMA,KAAKmQ,MAAOnQ,KAAKoQ,SAGvE,IACIqqD,EADIz6D,KAAKm8D,YACDr6B,WAAW,MACnB9jB,EAAIhe,KAAKoQ,OACTpE,EAAMhM,KAAKisB,OAIf,GAFAwuC,EAAIlmB,UAAU,EAAG,EAAGv0C,KAAKmQ,MAAOnQ,KAAKoQ,QAEjC9B,EAAW,EACf,CACIA,EAAWrI,KAAK2J,IAAItB,GAGhByP,EAAI/d,KAAKmQ,MAAQ7B,EAGjBgF,GAEAmnD,EAAIjmB,UAAUxoC,EAAK,EAAG,EAAGsC,EAAU0P,EAAGD,EAAG,EAAGzP,EAAU0P,GAI1Dy8C,EAAIjmB,UAAUxoC,EAAKsC,EAAU,EAAGyP,EAAGC,EAAG,EAAG,EAAGD,EAAGC,OAGnD,CAEI,IAAID,EAAI/d,KAAKmQ,MAAQ7B,EAGjBgF,GAEAmnD,EAAIjmB,UAAUxoC,EAAK+R,EAAG,EAAGzP,EAAU0P,EAAG,EAAG,EAAG1P,EAAU0P,GAI1Dy8C,EAAIjmB,UAAUxoC,EAAK,EAAG,EAAG+R,EAAGC,EAAG1P,EAAU,EAAGyP,EAAGC,GAKnD,OAFAhe,KAAK2e,QAEE3e,KAAKiM,KAAKjM,KAAKm8D,cAc1BE,MAAO,SAAU/tD,EAAUgF,QAEVhJ,IAATgJ,IAAsBA,GAAO,QAERhJ,IAArBtK,KAAKm8D,cAELn8D,KAAKm8D,YAAc97D,EAAOwhC,WAAW1gB,OAAOnhB,KAAMA,KAAKmQ,MAAOnQ,KAAKoQ,SAGvE,IACIqqD,EADIz6D,KAAKm8D,YACDr6B,WAAW,MACnB/jB,EAAI/d,KAAKmQ,MACTnE,EAAMhM,KAAKisB,OAIf,GAFAwuC,EAAIlmB,UAAU,EAAG,EAAGv0C,KAAKmQ,MAAOnQ,KAAKoQ,QAEjC9B,EAAW,EACf,CACIA,EAAWrI,KAAK2J,IAAItB,GAGhB0P,EAAIhe,KAAKoQ,OAAS9B,EAGlBgF,GAEAmnD,EAAIjmB,UAAUxoC,EAAK,EAAG,EAAG+R,EAAGzP,EAAU,EAAG0P,EAAGD,EAAGzP,GAInDmsD,EAAIjmB,UAAUxoC,EAAK,EAAGsC,EAAUyP,EAAGC,EAAG,EAAG,EAAGD,EAAGC,OAGnD,CAEI,IAAIA,EAAIhe,KAAKoQ,OAAS9B,EAGlBgF,GAEAmnD,EAAIjmB,UAAUxoC,EAAK,EAAGgS,EAAGD,EAAGzP,EAAU,EAAG,EAAGyP,EAAGzP,GAInDmsD,EAAIjmB,UAAUxoC,EAAK,EAAG,EAAG+R,EAAGC,EAAG,EAAG1P,EAAUyP,EAAGC,GAKnD,OAFAhe,KAAK2e,QAEE3e,KAAKiM,KAAKjM,KAAKm8D,cAY1BjqD,IAAK,SAAUkkB,GAEX,GAAI1vB,MAAMa,QAAQ6uB,GAEd,IAAK,IAAIpuB,EAAI,EAAGA,EAAIouB,EAAOruB,OAAQC,IAE3BouB,EAAOpuB,GAAgB,aAEvBouB,EAAOpuB,GAAGguB,YAAYh2B,WAM9Bo2B,EAAOJ,YAAYh2B,MAGvB,OAAOA,MAcXygB,KAAM,SAAUtS,GAOZ,GALsB,iBAAXA,IAEPA,EAASnO,KAAKib,KAAKsF,MAAM0wC,SAAS9iD,IAGlCA,EAcJ,OAZInO,KAAKwZ,OAAOrL,EAAOgC,MAAOhC,EAAOiC,QACjCpQ,KAAKs7D,MAOTt7D,KAAKs8D,KAAKnuD,GAEVnO,KAAKgf,SAEEhf,MA0BX2e,MAAO,SAAUxY,EAAG+G,EAAGiD,EAAOC,GAW1B,YATU9F,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQnQ,KAAKmQ,YACzB7F,IAAX8F,IAAwBA,EAASpQ,KAAKoQ,QAE1CpQ,KAAK8kB,QAAQyvB,UAAUpuC,EAAG+G,EAAGiD,EAAOC,GAEpCpQ,KAAKkoB,OAAQ,EAENloB,MAcXmkC,KAAM,SAAUx2B,EAAG8d,EAAGnc,EAAGJ,GAQrB,YANU5E,IAAN4E,IAAmBA,EAAI,GAE3BlP,KAAK8kB,QAAQy3C,UAAY,QAAU5uD,EAAI,IAAM8d,EAAI,IAAMnc,EAAI,IAAMJ,EAAI,IACrElP,KAAK8kB,QAAQ03C,SAAS,EAAG,EAAGx8D,KAAKmQ,MAAOnQ,KAAKoQ,QAC7CpQ,KAAKkoB,OAAQ,EAENloB,MA0CXy8D,gBAAiB,SAAU5yD,EAAKwqB,EAAU7Q,GAEtC,IAAIjD,EAAQvgB,KAAKib,KAAKsF,MAClBsJ,EAAQ,IAAImpC,MAgBhB,GAdI3+B,IAEAxK,EAAM6yC,OAAS,WACX,IAAIjzD,EAAM8W,EAAMo8C,SAAS9yD,EAAK,GAAIggB,GAC9Bka,EAAU,IAAIh+B,KAAK+qD,QAAQrnD,EAAIynD,MAEnC78B,EAASrtB,KAAKwc,GAAmB,KAAMugB,GAEvCla,EAAM6yC,OAAS,OAIvB7yC,EAAM7d,IAAMhM,KAAKisB,OAAO2wC,UAAU,cAE7BvoC,EACL,CACI,IAAI5qB,EAAM8W,EAAMo8C,SAAS9yD,EAAK,GAAIggB,GAElC,OAAO,IAAI9jB,KAAK+qD,QAAQrnD,EAAIynD,MAGhC,OAAO,MAYX13C,OAAQ,SAAUrJ,EAAOC,GAgCrB,OA9BID,IAAUnQ,KAAKmQ,OAASC,IAAWpQ,KAAKoQ,SAExCpQ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEdpQ,KAAKisB,OAAO9b,MAAQA,EACpBnQ,KAAKisB,OAAO7b,OAASA,OAEI9F,IAArBtK,KAAKm8D,cAELn8D,KAAKm8D,YAAYhsD,MAAQA,EACzBnQ,KAAKm8D,YAAY/rD,OAASA,GAG9BpQ,KAAKgkC,YAAY7zB,MAAQA,EACzBnQ,KAAKgkC,YAAY5zB,OAASA,EAE1BpQ,KAAKk7D,aAAa/qD,MAAQA,EAC1BnQ,KAAKk7D,aAAa9qD,OAASA,EAE3BpQ,KAAK+jC,QAAQ5zB,MAAQA,EACrBnQ,KAAK+jC,QAAQ3zB,OAASA,EAEtBpQ,KAAK+jC,QAAQqQ,KAAKjkC,MAAQA,EAC1BnQ,KAAK+jC,QAAQqQ,KAAKhkC,OAASA,EAE3BpQ,KAAKgf,SACLhf,KAAKkoB,OAAQ,GAGVloB,MAkBXgf,OAAQ,SAAU7Y,EAAG+G,EAAGiD,EAAOC,GA4B3B,YA1BU9F,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQlK,KAAKyM,IAAI,EAAG1S,KAAKmQ,aACrC7F,IAAX8F,IAAwBA,EAASnK,KAAKyM,IAAI,EAAG1S,KAAKoQ,SAEtDpQ,KAAK46D,UAAY56D,KAAK8kB,QAAQ2vB,aAAatuC,EAAG+G,EAAGiD,EAAOC,GACxDpQ,KAAKkkC,KAAOlkC,KAAK46D,UAAU12B,KAEvBlkC,KAAK46D,UAAU12B,KAAK42B,QAEpB96D,KAAK86D,OAAS96D,KAAK46D,UAAU12B,KAAK42B,OAClC96D,KAAK66D,OAAS,IAAI3yD,YAAYlI,KAAK86D,SAI/B7yD,OAAoB,aAEpBjI,KAAK86D,OAAS,IAAIC,YAAY/6D,KAAK46D,UAAU12B,KAAKn8B,QAClD/H,KAAK66D,OAAS,IAAI3yD,YAAYlI,KAAK86D,SAInC96D,KAAK66D,OAAS76D,KAAK46D,UAAU12B,KAI9BlkC,MAuBX68D,gBAAiB,SAAUxoC,EAAU7Q,EAAiBrd,EAAG+G,EAAGiD,EAAOC,QAErD9F,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQnQ,KAAKmQ,YACzB7F,IAAX8F,IAAwBA,EAASpQ,KAAKoQ,QAQ1C,IAAK,IAND2N,EAAI5X,EAAIgK,EACR6N,EAAI9Q,EAAIkD,EACR0sD,EAAQz8D,EAAO2tB,MAAM+uC,cACrBprD,GAAWhE,EAAG,EAAG8d,EAAG,EAAGnc,EAAG,EAAGJ,EAAG,GAChCgZ,GAAQ,EAEHjW,EAAK/E,EAAG+E,EAAK+L,EAAG/L,IAErB,IAAK,IAAID,EAAK7L,EAAG6L,EAAK+L,EAAG/L,IAErB3R,EAAO2tB,MAAMgvC,YAAYh9D,KAAKi9D,WAAWjrD,EAAIC,GAAK6qD,IAInC,KAFfnrD,EAAS0iB,EAASrtB,KAAKwc,EAAiBs5C,EAAO9qD,EAAIC,KAEhB,OAAXN,QAA8BrH,IAAXqH,IAEvC3R,KAAKk9D,WAAWlrD,EAAIC,EAAIN,EAAOhE,EAAGgE,EAAO8Z,EAAG9Z,EAAOrC,EAAGqC,EAAOzC,GAAG,GAChEgZ,GAAQ,GAWpB,OANIA,IAEAloB,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,GAGVloB,MAoBXo9D,aAAc,SAAU/oC,EAAU7Q,EAAiBrd,EAAG+G,EAAGiD,EAAOC,QAElD9F,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQnQ,KAAKmQ,YACzB7F,IAAX8F,IAAwBA,EAASpQ,KAAKoQ,QAQ1C,IAAK,IAND2N,EAAI5X,EAAIgK,EACR6N,EAAI9Q,EAAIkD,EACR0sD,EAAQ,EACRnrD,EAAS,EACTuW,GAAQ,EAEHjW,EAAK/E,EAAG+E,EAAK+L,EAAG/L,IAErB,IAAK,IAAID,EAAK7L,EAAG6L,EAAK+L,EAAG/L,IAErB8qD,EAAQ98D,KAAKi9D,WAAWjrD,EAAIC,IAC5BN,EAAS0iB,EAASrtB,KAAKwc,EAAiBs5C,EAAO9qD,EAAIC,MAEpC6qD,IAEX98D,KAAK66D,OAAO5oD,EAAKjS,KAAKmQ,MAAQ6B,GAAML,EACpCuW,GAAQ,GAWpB,OANIA,IAEAloB,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,GAGVloB,MAoBXq9D,WAAY,SAAUC,EAAIC,EAAI9pD,EAAIF,EAAIiqD,EAAIC,EAAI/pD,EAAIF,EAAIkqD,GAElD,IAAI1qD,EAAK,EACLC,EAAK,EACL8K,EAAI/d,KAAKmQ,MACT6N,EAAIhe,KAAKoQ,OACTjC,EAAS9N,EAAO2tB,MAAM2vC,UAAUL,EAAIC,EAAI9pD,EAAIF,QAEjCjJ,IAAXozD,GAAwBA,aAAkBr9D,EAAO2N,YAEjDgF,EAAK0qD,EAAOv3D,EACZ8M,EAAKyqD,EAAOxwD,EACZ6Q,EAAI2/C,EAAOvtD,MACX6N,EAAI0/C,EAAOttD,QAGf,IAAK,IAAIlD,EAAI,EAAGA,EAAI8Q,EAAG9Q,IAEnB,IAAK,IAAI/G,EAAI,EAAGA,EAAI4X,EAAG5X,IAEfnG,KAAKi9D,WAAWjqD,EAAK7M,EAAG8M,EAAK/F,KAAOiB,GAEpCnO,KAAKk9D,WAAWlqD,EAAK7M,EAAG8M,EAAK/F,EAAGswD,EAAIC,EAAI/pD,EAAIF,GAAI,GAQ5D,OAHAxT,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,EAENloB,MAcX49D,OAAQ,SAAU5/C,EAAG5G,EAAGlN,EAAGwzD,GAEvB,IAAIG,EAAS7/C,GAAW,IAANA,EACd8/C,EAAS1mD,GAAW,IAANA,EACd2mD,EAAS7zD,GAAW,IAANA,EAElB,GAAK2zD,GAAWC,GAAWC,EAA3B,MAKezzD,IAAXozD,IAEAA,EAAS,IAAIr9D,EAAO2N,UAAU,EAAG,EAAGhO,KAAKmQ,MAAOnQ,KAAKoQ,SAKzD,IAAK,IAFD0sD,EAAQz8D,EAAO2tB,MAAM+uC,cAEhB7vD,EAAIwwD,EAAOxwD,EAAGA,EAAIwwD,EAAOtuD,OAAQlC,IAEtC,IAAK,IAAI/G,EAAIu3D,EAAOv3D,EAAGA,EAAIu3D,EAAOlyD,MAAOrF,IAErC9F,EAAO2tB,MAAMgvC,YAAYh9D,KAAKi9D,WAAW92D,EAAG+G,GAAI4vD,GAAO,GAEnDe,IAEAf,EAAM9+C,EAAIA,GAGV8/C,IAEAhB,EAAM1lD,EAAIA,GAGV2mD,IAEAjB,EAAM5yD,EAAIA,GAGd7J,EAAO2tB,MAAMgwC,SAASlB,EAAM9+C,EAAG8+C,EAAM1lD,EAAG0lD,EAAM5yD,EAAG4yD,GACjD98D,KAAKk9D,WAAW/2D,EAAG+G,EAAG4vD,EAAMnvD,EAAGmvD,EAAMrxC,EAAGqxC,EAAMxtD,EAAGwtD,EAAM5tD,GAAG,GAOlE,OAHAlP,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,EAENloB,OAgBXi+D,SAAU,SAAUjgD,EAAG5G,EAAGlN,EAAGwzD,GAMzB,QAJUpzD,IAAN0T,GAAyB,OAANA,IAAcA,GAAI,QAC/B1T,IAAN8M,GAAyB,OAANA,IAAcA,GAAI,QAC/B9M,IAANJ,GAAyB,OAANA,IAAcA,GAAI,GAEpC8T,GAAM5G,GAAMlN,EAAjB,MAKeI,IAAXozD,IAEAA,EAAS,IAAIr9D,EAAO2N,UAAU,EAAG,EAAGhO,KAAKmQ,MAAOnQ,KAAKoQ,SAKzD,IAAK,IAFD0sD,EAAQz8D,EAAO2tB,MAAM+uC,cAEhB7vD,EAAIwwD,EAAOxwD,EAAGA,EAAIwwD,EAAOtuD,OAAQlC,IAEtC,IAAK,IAAI/G,EAAIu3D,EAAOv3D,EAAGA,EAAIu3D,EAAOlyD,MAAOrF,IAErC9F,EAAO2tB,MAAMgvC,YAAYh9D,KAAKi9D,WAAW92D,EAAG+G,GAAI4vD,GAAO,GAEnD9+C,IAEA8+C,EAAM9+C,EAAIhe,KAAKib,KAAK0E,KAAKrM,KAAKwpD,EAAM9+C,EAAIA,EAAG,EAAG,IAG9C5G,IAEA0lD,EAAM1lD,EAAIpX,KAAKib,KAAK0E,KAAKzJ,MAAM4mD,EAAM1lD,EAAIA,EAAG,EAAG,IAG/ClN,IAEA4yD,EAAM5yD,EAAIlK,KAAKib,KAAK0E,KAAKzJ,MAAM4mD,EAAM5yD,EAAIA,EAAG,EAAG,IAGnD7J,EAAO2tB,MAAMgwC,SAASlB,EAAM9+C,EAAG8+C,EAAM1lD,EAAG0lD,EAAM5yD,EAAG4yD,GACjD98D,KAAKk9D,WAAW/2D,EAAG+G,EAAG4vD,EAAMnvD,EAAGmvD,EAAMrxC,EAAGqxC,EAAMxtD,EAAGwtD,EAAM5tD,GAAG,GAOlE,OAHAlP,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,EAENloB,OAiBXk9D,WAAY,SAAU/2D,EAAG+G,EAAGgxD,EAAKC,EAAOC,EAAM1/C,EAAO2/C,GAsBjD,YApBkB/zD,IAAd+zD,IAA2BA,GAAY,GAEvCl4D,GAAK,GAAKA,GAAKnG,KAAKmQ,OAASjD,GAAK,GAAKA,GAAKlN,KAAKoQ,SAE7C/P,EAAO44B,OAAOqlC,cAEdt+D,KAAK66D,OAAO3tD,EAAIlN,KAAKmQ,MAAQhK,GAAMuY,GAAS,GAAO0/C,GAAQ,GAAOD,GAAS,EAAKD,EAIhFl+D,KAAK66D,OAAO3tD,EAAIlN,KAAKmQ,MAAQhK,GAAM+3D,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAK1/C,EAG9E2/C,IAEAr+D,KAAK8kB,QAAQq4C,aAAan9D,KAAK46D,UAAW,EAAG,GAC7C56D,KAAKkoB,OAAQ,IAIdloB,MAgBXu+D,SAAU,SAAUp4D,EAAG+G,EAAGgxD,EAAKC,EAAOC,EAAMC,GAExC,OAAOr+D,KAAKk9D,WAAW/2D,EAAG+G,EAAGgxD,EAAKC,EAAOC,EAAM,IAAKC,IAexDG,SAAU,SAAUr4D,EAAG+G,EAAGM,GAEjBA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,eAGvB,IAAIh0D,KAAW5C,EAAK+G,EAAIlN,KAAKmQ,OAS7B,OAPApH,GAAS,EAETyE,EAAIG,EAAI3N,KAAKkkC,KAAKn7B,GAClByE,EAAIie,EAAIzrB,KAAKkkC,OAAOn7B,GACpByE,EAAI8B,EAAItP,KAAKkkC,OAAOn7B,GACpByE,EAAI0B,EAAIlP,KAAKkkC,OAAOn7B,GAEbyE,GAeXyvD,WAAY,SAAU92D,EAAG+G,GAErB,GAAI/G,GAAK,GAAKA,GAAKnG,KAAKmQ,OAASjD,GAAK,GAAKA,GAAKlN,KAAKoQ,OAEjD,OAAOpQ,KAAK66D,OAAO3tD,EAAIlN,KAAKmQ,MAAQhK,IAkB5Cs4D,YAAa,SAAUt4D,EAAG+G,EAAGM,EAAKkxD,EAAKC,GAEnC,OAAOt+D,EAAO2tB,MAAMgvC,YAAYh9D,KAAKi9D,WAAW92D,EAAG+G,GAAIM,EAAKkxD,EAAKC,IAWrEC,UAAW,SAAU3qD,GAEjB,OAAOjU,KAAK8kB,QAAQ2vB,aAAaxgC,EAAK9N,EAAG8N,EAAK/G,EAAG+G,EAAK9D,MAAO8D,EAAK7D,SAmBtEyuD,cAAe,SAAUtgD,QAEHjU,IAAdiU,IAA2BA,EAAY,GAE3C,IAAIu+C,EAAQz8D,EAAO2tB,MAAM+uC,cAErB52D,EAAI,EACJ+G,EAAI,EACJwuB,EAAI,EACJojC,GAAO,EAEO,IAAdvgD,GAEAmd,GAAK,EACLxuB,EAAIlN,KAAKoQ,QAEU,IAAdmO,IAELmd,GAAK,EACLv1B,EAAInG,KAAKmQ,OAGb,GAEI9P,EAAO2tB,MAAMgvC,YAAYh9D,KAAKi9D,WAAW92D,EAAG+G,GAAI4vD,GAE9B,IAAdv+C,GAAiC,IAAdA,IAGnBpY,IAEUnG,KAAKmQ,QAEXhK,EAAI,IACJ+G,GAAKwuB,IAEI17B,KAAKoQ,QAAUlD,GAAK,KAEzB4xD,GAAO,IAII,IAAdvgD,GAAiC,IAAdA,KAGxBrR,IAEUlN,KAAKoQ,SAEXlD,EAAI,IACJ/G,GAAKu1B,IAEI17B,KAAKmQ,OAAShK,GAAK,KAExB24D,GAAO,UAKJ,IAAZhC,EAAM5tD,IAAY4vD,GAKzB,OAHAhC,EAAM32D,EAAIA,EACV22D,EAAM5vD,EAAIA,EAEH4vD,GAYX/uD,UAAW,SAAUkG,GAOjB,YALa3J,IAAT2J,IAAsBA,EAAO,IAAI5T,EAAO2N,WAE5CiG,EAAK9N,EAAInG,KAAK6+D,cAAc,GAAG14D,EAG3B8N,EAAK9N,IAAMnG,KAAKmQ,MAET8D,EAAKhG,MAAM,EAAG,EAAG,EAAG,IAG/BgG,EAAK/G,EAAIlN,KAAK6+D,cAAc,GAAG3xD,EAC/B+G,EAAK9D,MAASnQ,KAAK6+D,cAAc,GAAG14D,EAAI8N,EAAK9N,EAAK,EAClD8N,EAAK7D,OAAUpQ,KAAK6+D,cAAc,GAAG3xD,EAAI+G,EAAK/G,EAAK,EAE5C+G,IAgBXyV,WAAY,SAAUvjB,EAAG+G,EAAGyc,EAASC,EAASm1C,EAAQC,GAElDD,EAASA,GAAU,EACnBC,EAASA,GAAU,EAEnB,IAAIn1C,EAAQ7pB,KAAKib,KAAK/I,IAAI2X,MAAM1jB,EAAG+G,EAAGlN,MAKtC,OAHA6pB,EAAME,OAAOpd,IAAIgd,EAASC,GAC1BC,EAAMxU,MAAM1I,IAAIoyD,EAAQC,GAEjBn1C,GAuCX5d,KAAM,SAAUkC,EAAQhI,EAAG+G,EAAGiD,EAAOC,EAAQ4B,EAAIC,EAAIgtD,EAAUC,EAAW3tD,EAAQoY,EAASC,EAASm1C,EAAQC,EAAQtgD,EAAOygD,EAAW5jD,GAWlI,QATejR,IAAX6D,GAAmC,OAAXA,IAAmBA,EAASnO,MAEpDmO,aAAkB9N,EAAO+vD,gBAEzBjiD,EAASA,EAAOixD,aAGpBp/D,KAAKu7D,OAASptD,EAEVA,aAAkB9N,EAAO2uB,QAAU7gB,aAAkB9N,EAAO2yD,OAAS7kD,aAAkB9N,EAAOyzD,MAAQ3lD,aAAkBpI,KAAKipB,OAG7HhvB,KAAKw7D,KAAK7uD,IAAIwB,EAAO41B,QAAQqQ,KAAKjuC,EAAGgI,EAAO41B,QAAQqQ,KAAKlnC,GACzDlN,KAAKy7D,MAAM9uD,IAAIwB,EAAO41B,QAAQqQ,KAAKjkC,MAAOhC,EAAO41B,QAAQqQ,KAAKhkC,QAC9DpQ,KAAK07D,OAAO/uD,IAAIwB,EAAOkH,MAAMlP,EAAGgI,EAAOkH,MAAMnI,GAC7ClN,KAAK87D,QAAQnvD,IAAIwB,EAAO4b,OAAO5jB,EAAGgI,EAAO4b,OAAO7c,GAChDlN,KAAK27D,QAAUxtD,EAAOypB,SACtB53B,KAAK47D,OAAOzxD,QAAUgE,EAAOuQ,MAEzBvQ,EAAO41B,mBAAmB1jC,EAAO+vD,cAEjCpwD,KAAKu7D,OAASptD,EAAO41B,QAAQq7B,YAI7Bp/D,KAAKu7D,OAASptD,EAAO41B,QAAQC,YAAY71B,YAGlC7D,IAAP0H,GAA2B,OAAPA,IAAeA,EAAK7D,EAAOhI,QACxCmE,IAAP2H,GAA2B,OAAPA,IAAeA,EAAK9D,EAAOjB,GAE/CiB,EAAO41B,QAAQoQ,OAGfniC,GAAM7D,EAAO41B,QAAQoQ,KAAKhuC,EAAIgI,EAAO4b,OAAO5jB,EAAIgI,EAAO41B,QAAQoQ,KAAKhkC,MACpE8B,GAAM9D,EAAO41B,QAAQoQ,KAAKjnC,EAAIiB,EAAO4b,OAAO7c,EAAIiB,EAAO41B,QAAQoQ,KAAK/jC,QAGpD,WAAhBjC,EAAOm9C,OAEHn9C,EAAOkxD,aAAelxD,EAAOm9C,OAE7Bn9C,EAAOkxD,WAAalxD,EAAOm9C,KAC3Bn9C,EAAOmxD,cAAgBv5D,KAAKw5D,aAAaC,iBAAiBrxD,EAAQA,EAAOm9C,OAG7EtrD,KAAKu7D,OAASptD,EAAOmxD,cACrBt/D,KAAKw7D,KAAK7uD,IAAI,QAItB,CAQI,GANA3M,KAAKw7D,KAAK7uD,IAAI,GACd3M,KAAK07D,OAAO/uD,IAAI,GAChB3M,KAAK87D,QAAQnvD,IAAI,GACjB3M,KAAK27D,QAAU,EACf37D,KAAK47D,OAAOzxD,QAAU,EAElBgE,aAAkB9N,EAAOiwD,WAEzBtwD,KAAKu7D,OAASptD,EAAO8d,YAEpB,GAAsB,iBAAX9d,EAChB,CAGI,GAAe,QAFfA,EAASnO,KAAKib,KAAKsF,MAAM0wC,SAAS9iD,IAI9B,OAIAnO,KAAKu7D,OAASptD,EAItBnO,KAAKy7D,MAAM9uD,IAAI3M,KAAKu7D,OAAOprD,MAAOnQ,KAAKu7D,OAAOnrD,QA6DlD,QAzDU9F,IAANnE,GAAyB,OAANA,IAAcA,EAAI,QAC/BmE,IAAN4C,GAAyB,OAANA,IAAcA,EAAI,GAGrCiD,IAEAnQ,KAAKy7D,MAAMt1D,EAAIgK,GAGfC,IAEApQ,KAAKy7D,MAAMvuD,EAAIkD,QAIR9F,IAAP0H,GAA2B,OAAPA,IAAeA,EAAK7L,QACjCmE,IAAP2H,GAA2B,OAAPA,IAAeA,EAAK/E,QAC3B5C,IAAb20D,GAAuC,OAAbA,IAAqBA,EAAWj/D,KAAKy7D,MAAMt1D,QACvDmE,IAAd40D,GAAyC,OAAdA,IAAsBA,EAAYl/D,KAAKy7D,MAAMvuD,GAGtD,iBAAXqE,IAEPvR,KAAK27D,QAAUpqD,GAII,iBAAZoY,IAEP3pB,KAAK87D,QAAQ31D,EAAIwjB,GAGE,iBAAZC,IAEP5pB,KAAK87D,QAAQ5uD,EAAI0c,GAIC,iBAAXm1C,IAEP/+D,KAAK07D,OAAOv1D,EAAI44D,GAGE,iBAAXC,IAEPh/D,KAAK07D,OAAOxuD,EAAI8xD,GAIC,iBAAVtgD,IAEP1e,KAAK47D,OAAOzxD,QAAUuU,QAGRpU,IAAd60D,IAA2BA,EAAY,WAC3B70D,IAAZiR,IAAyBA,GAAU,KAEnCvb,KAAK47D,OAAOzxD,SAAW,GAAuB,IAAlBnK,KAAK07D,OAAOv1D,GAA6B,IAAlBnG,KAAK07D,OAAOxuD,GAA4B,IAAjBlN,KAAKy7D,MAAMt1D,GAA4B,IAAjBnG,KAAKy7D,MAAMvuD,GAA/G,CAMA,IAAIutD,EAAMz6D,KAAK8kB,QAoCf,OAlCA9kB,KAAK47D,OAAOC,KAAOpB,EAAIT,YAEvBS,EAAI11C,OAEJ01C,EAAIT,YAAch6D,KAAK47D,OAAOzxD,QAE1Bg1D,IAEAn/D,KAAKy/D,GAAKN,GAGV5jD,IAEAvJ,GAAM,EACNC,GAAM,GAIVwoD,EAAIrlD,UAAUpD,EAAIC,GAElBwoD,EAAIplD,MAAMrV,KAAK07D,OAAOv1D,EAAGnG,KAAK07D,OAAOxuD,GAErCutD,EAAIlpD,OAAOvR,KAAK27D,SAEhBlB,EAAIjmB,UAAUx0C,KAAKu7D,OAAQv7D,KAAKw7D,KAAKr1D,EAAIA,EAAGnG,KAAKw7D,KAAKtuD,EAAIA,EAAGlN,KAAKy7D,MAAMt1D,EAAGnG,KAAKy7D,MAAMvuD,GAAI+xD,EAAWj/D,KAAK87D,QAAQ31D,GAAI+4D,EAAYl/D,KAAK87D,QAAQ5uD,EAAG+xD,EAAUC,GAI5JzE,EAAIx1C,UAEJw1C,EAAIT,YAAch6D,KAAK47D,OAAOC,KAE9B77D,KAAKkoB,OAAQ,EAENloB,OAiBX0/D,cAAe,SAAUvxD,EAAQgxD,EAAW5jD,GAKxC,QAHkBjR,IAAd60D,IAA2BA,EAAY,WAC3B70D,IAAZiR,IAAyBA,GAAU,IAElCpN,EAAOrF,eAAe,oBAAsBqF,EAAOw1B,cAAsC,IAAtBx1B,EAAOse,WAE3E,OAAOzsB,KAGX,IAAIwjC,EAAKr1B,EAAOid,eAKhB,GAHAprB,KAAKw7D,KAAK7uD,IAAIwB,EAAO41B,QAAQqQ,KAAKjuC,EAAGgI,EAAO41B,QAAQqQ,KAAKlnC,GACzDlN,KAAKy7D,MAAM9uD,IAAIwB,EAAO41B,QAAQqQ,KAAKjkC,MAAOhC,EAAO41B,QAAQqQ,KAAKhkC,QAEjD,IAATozB,EAAGt0B,GAAoB,IAATs0B,EAAG/uB,GAA4B,IAAjBzU,KAAKy7D,MAAMt1D,GAA4B,IAAjBnG,KAAKy7D,MAAMvuD,EAG7D,OAAOlN,KAGPmO,EAAO41B,mBAAmB1jC,EAAO+vD,cAEjCpwD,KAAKu7D,OAASptD,EAAO41B,QAAQq7B,YAI7Bp/D,KAAKu7D,OAASptD,EAAO41B,QAAQC,YAAY71B,OAG7C,IAAI6D,EAAKwxB,EAAGxxB,GACRC,EAAKuxB,EAAGvxB,GAER9D,EAAO41B,QAAQoQ,OAGfniC,GAAM7D,EAAO41B,QAAQoQ,KAAKhuC,EAAIgI,EAAO4b,OAAO5jB,EAAIgI,EAAO41B,QAAQoQ,KAAKhkC,MACpE8B,GAAM9D,EAAO41B,QAAQoQ,KAAKjnC,EAAIiB,EAAO4b,OAAO7c,EAAIiB,EAAO41B,QAAQoQ,KAAK/jC,QAGpD,WAAhBjC,EAAOm9C,OAEHn9C,EAAOkxD,aAAelxD,EAAOm9C,OAE7Bn9C,EAAOkxD,WAAalxD,EAAOm9C,KAC3Bn9C,EAAOmxD,cAAgBv5D,KAAKw5D,aAAaC,iBAAiBrxD,EAAQA,EAAOm9C,OAG7EtrD,KAAKu7D,OAASptD,EAAOmxD,cACrBt/D,KAAKw7D,KAAK7uD,IAAI,IAGd4O,IAEAvJ,GAAM,EACNC,GAAM,GAGV,IAAIwoD,EAAMz6D,KAAK8kB,QAiCf,OA/BA9kB,KAAK47D,OAAOC,KAAOpB,EAAIT,YAEvBS,EAAI11C,OAEJ01C,EAAIT,YAAch6D,KAAK47D,OAAOzxD,QAE1Bg1D,IAEAn/D,KAAKy/D,GAAKN,GAGd1E,EAAIz6D,KAAK06D,gBAAmBvsD,EAAO41B,QAAQC,YAAYmsB,YAAcpqD,KAAKJ,WAAWE,OAErF40D,EAAIz1C,aAAawe,EAAGt0B,EAAGs0B,EAAGl0B,EAAGk0B,EAAG9zB,EAAG8zB,EAAG/uB,EAAGzC,EAAIC,GAE7CwoD,EAAIjmB,UAAUx0C,KAAKu7D,OACfv7D,KAAKw7D,KAAKr1D,EACVnG,KAAKw7D,KAAKtuD,EACVlN,KAAKy7D,MAAMt1D,EACXnG,KAAKy7D,MAAMvuD,GACVlN,KAAKy7D,MAAMt1D,EAAIgI,EAAO4b,OAAO5jB,GAC7BnG,KAAKy7D,MAAMvuD,EAAIiB,EAAO4b,OAAO7c,EAC9BlN,KAAKy7D,MAAMt1D,EACXnG,KAAKy7D,MAAMvuD,GAEfutD,EAAIx1C,UAEJw1C,EAAIT,YAAch6D,KAAK47D,OAAOC,KAE9B77D,KAAKkoB,OAAQ,EAENloB,MAiBX2/D,SAAU,SAAUxxD,EAAQ+J,EAAM/R,EAAG+G,EAAGwR,EAAOygD,EAAW5jD,GAEtD,OAAOvb,KAAKiM,KAAKkC,EAAQ+J,EAAK/R,EAAG+R,EAAKhL,EAAGgL,EAAK/H,MAAO+H,EAAK9H,OAAQjK,EAAG+G,EAAGgL,EAAK/H,MAAO+H,EAAK9H,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGsO,EAAOygD,EAAW5jD,IAyBtI+gD,KAAM,SAAUnuD,EAAQhI,EAAG+G,EAAGiD,EAAOC,EAAQ+uD,EAAW5jD,GAGpD,OAAOvb,KAAKiM,KAAKkC,EAAQ,KAAM,KAAM,KAAM,KAAMhI,EAAG+G,EAAGiD,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM+uD,EAAW5jD,IAwBzHqkD,UAAW,SAAUvoC,EAAO8nC,EAAW5jD,GAOnC,OALI8b,EAAM1B,MAAQ,GAEd0B,EAAMrC,cAAch1B,KAAK6/D,eAAgB7/D,KAAMm/D,EAAW5jD,GAGvDvb,MAaX6/D,eAAgB,SAAUtzC,EAAO4yC,EAAW5jD,GAOxC,GALIgR,EAAMzjB,eAAe,YAErB9I,KAAK0/D,cAAcnzC,EAAO4yC,EAAW5jD,GAGrCgR,EAAMnkB,OAAS/H,EAAOoB,OAAS8qB,EAAMpB,OAErCnrB,KAAK4/D,UAAUrzC,EAAO4yC,EAAW5jD,QAIjC,GAAIgR,EAAMzjB,eAAe,aAAeyjB,EAAMD,SAASvkB,OAAS,EAE5D,IAAK,IAAIC,EAAI,EAAGA,EAAIukB,EAAMD,SAASvkB,OAAQC,IAEnCukB,EAAMD,SAAStkB,GAAGmjB,QAElBnrB,KAAK0/D,cAAcnzC,EAAMD,SAAStkB,GAAIm3D,EAAW5jD,IA+BrEukD,SAAU,SAAU31C,EAAQg1C,EAAW5jD,GAEnC,IAA4B,IAAxB4O,EAAOwZ,cAAgD,IAAtBxZ,EAAOsC,YAAqBtC,EAAOrhB,eAAe,YAA+B,IAAlBqhB,EAAOgB,OAEvG,OAAOnrB,KAGX,GAAImqB,EAAO/hB,OAAS/H,EAAOoB,OAAS0oB,EAAO/hB,OAAS/H,EAAOwB,SAAWsoB,EAAO/hB,OAAS/H,EAAOmB,WAEzF,GAAI2oB,EAAO/hB,OAAS/H,EAAOgB,SAC3B,CACI,IAAI+Z,EAAS+O,EAAOpc,YACpB/N,KAAKy6D,IAAI11C,OACT/kB,KAAKy6D,IAAIrlD,UAAUgG,EAAOjV,EAAGiV,EAAOlO,GACpCnH,KAAKg6D,eAAeC,eAAe71C,EAAQnqB,KAAKy6D,KAChDz6D,KAAKy6D,IAAIx1C,eAITjlB,KAAKiM,KAAKke,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOzK,cAAcvZ,EAAGgkB,EAAOzK,cAAcxS,EAAG,KAAM,KAAMid,EAAO81C,cAAe,KAAM,KAAM91C,EAAO8pB,WAAW9tC,EAAGgkB,EAAO8pB,WAAW/mC,EAAGid,EAAOsC,WAAY0yC,EAAW5jD,GAIxN,GAAI4O,EAAOmC,SAEP,IAAK,IAAItkB,EAAI,EAAGA,EAAImiB,EAAOmC,SAASvkB,OAAQC,IAExChI,KAAK8/D,SAAS31C,EAAOmC,SAAStkB,GAAIm3D,EAAW5jD,GAIrD,OAAOvb,MAgBXkgE,OAAQ,SAAUzhD,EAAO0hD,EAAMh6D,EAAG+G,GAE9B,IAAIutD,EAAMz6D,KAAK8kB,QAcf,YAZcxa,IAAVmU,GAAiC,OAAVA,EAEvBg8C,EAAI2F,YAAc,iBAIlB3F,EAAI2F,YAAc3hD,EAClBg8C,EAAI4F,WAAaF,GAAQ,EACzB1F,EAAI6F,cAAgBn6D,GAAK,GACzBs0D,EAAI8F,cAAgBrzD,GAAK,IAGtBlN,MAcXwgE,UAAW,SAAUryD,EAAQ89C,EAAMwU,EAAYC,GAoB3C,YAlBiBp2D,IAAbo2D,GAAuC,OAAbA,EAE1B1gE,KAAKs8D,KAAKrQ,GAAM0U,kBAIhB3gE,KAAKs8D,KAAKrQ,EAAMyU,EAASv6D,EAAGu6D,EAASxzD,EAAGwzD,EAASvwD,MAAOuwD,EAAStwD,QAAQuwD,uBAG1Dr2D,IAAfm2D,GAA2C,OAAfA,EAE5BzgE,KAAKs8D,KAAKnuD,GAAQyyD,aAIlB5gE,KAAKs8D,KAAKnuD,EAAQsyD,EAAWt6D,EAAGs6D,EAAWvzD,EAAGuzD,EAAWtwD,MAAOswD,EAAWrwD,QAAQwwD,aAGhF5gE,MA0BX6gE,QAAS,SAAUC,EAAanzD,EAAG8d,EAAGnc,EAAGJ,EAAGsK,EAAQgkD,EAAIC,EAAI/pD,GA2BxD,YAzBUpJ,IAAN4E,IAAmBA,EAAI,UACZ5E,IAAXkP,IAAwBA,GAAS,QAC1BlP,IAAPkzD,IAAoBA,EAAK7vD,QAClBrD,IAAPmzD,IAAoBA,EAAKhyC,QAClBnhB,IAAPoJ,IAAoBA,EAAKpE,GAEzBkK,GAEAsnD,EAAYtnD,OAAOxZ,KAAKmQ,MAAOnQ,KAAKoQ,QAGxCpQ,KAAK68D,gBACD,SAAUC,EAAO32D,EAAG+G,GAMhB,OAJI4vD,EAAMnvD,IAAMA,GAAKmvD,EAAMrxC,IAAMA,GAAKqxC,EAAMxtD,IAAMA,GAE9CwxD,EAAY5D,WAAW/2D,EAAG+G,EAAGswD,EAAIC,EAAI/pD,EAAIxE,GAAG,IAEzC,GAEXlP,MAEJ8gE,EAAYh8C,QAAQq4C,aAAa2D,EAAYlG,UAAW,EAAG,GAC3DkG,EAAY54C,OAAQ,EAEb44C,GAeX7sD,KAAM,SAAU9N,EAAG+G,EAAGiD,EAAOC,EAAQmsD,GASjC,YAPyB,IAAdA,IAEPv8D,KAAK8kB,QAAQy3C,UAAYA,GAG7Bv8D,KAAK8kB,QAAQ03C,SAASr2D,EAAG+G,EAAGiD,EAAOC,GAE5BpQ,MAkBX6zD,KAAM,SAAUA,EAAM1tD,EAAG+G,EAAGwnD,EAAMj2C,EAAOyhD,QAE3B51D,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACd5C,IAAToqD,IAAsBA,EAAO,qBACnBpqD,IAAVmU,IAAuBA,EAAQ,yBACpBnU,IAAX41D,IAAwBA,GAAS,GAErC,IAAIzF,EAAMz6D,KAAK8kB,QACXi8C,EAAWtG,EAAI/F,KAenB,OAbA+F,EAAI/F,KAAOA,EAEPwL,IAEAzF,EAAI8B,UAAY,aAChB9B,EAAIuG,SAASnN,EAAM1tD,EAAI,EAAG+G,EAAI,IAGlCutD,EAAI8B,UAAY99C,EAChBg8C,EAAIuG,SAASnN,EAAM1tD,EAAG+G,GAEtButD,EAAI/F,KAAOqM,EAEJ/gE,MAcXy+B,OAAQ,SAAUt4B,EAAG+G,EAAGY,EAAQyuD,GAE5B,IAAI9B,EAAMz6D,KAAK8kB,QAaf,YAXkBxa,IAAdiyD,IAEA9B,EAAI8B,UAAYA,GAGpB9B,EAAIwG,YACJxG,EAAIyG,IAAI/6D,EAAG+G,EAAGY,EAAQ,EAAa,EAAV7H,KAAKsH,IAAQ,GACtCktD,EAAI0G,YAEJ1G,EAAIt2B,OAEGnkC,MAgBXyR,KAAM,SAAUf,EAAIC,EAAIC,EAAIC,EAAI4N,EAAOtO,QAErB7F,IAAVmU,IAAuBA,EAAQ,aACrBnU,IAAV6F,IAAuBA,EAAQ,GAEnC,IAAIsqD,EAAMz6D,KAAK8kB,QAaf,OAXA21C,EAAIwG,YAEJxG,EAAI2G,OAAO1wD,EAAIC,GACf8pD,EAAI4G,OAAOzwD,EAAIC,GAEf4pD,EAAI6G,UAAYnxD,EAChBsqD,EAAI8G,YAAc9iD,EAClBg8C,EAAI+G,SAEJ/G,EAAI0G,YAEGnhE,MAaXyhE,YAAa,SAAUhwD,EAAMoY,EAAOX,GAIhC,QAFe5e,IAAX4e,IAAwBA,EAAS,YAEhB,iBAAVW,IAEPA,EAAQ7pB,KAAKib,KAAKsF,MAAM0wC,SAASpnC,IAFrC,CAUA,IAAI1Z,EAAQsB,EAAK1J,OAEF,cAAXmhB,GAA0B/Y,EAAQ0Z,EAAM1Z,QAExCA,EAAQ0Z,EAAM1Z,OAGlB,IAAIsqD,EAAMz6D,KAAK8kB,QAgBf,OAdA21C,EAAI8B,UAAY9B,EAAIiH,cAAc73C,EAAOX,GAEzClpB,KAAKk8D,QAAU,IAAI77D,EAAO4M,OAAOwE,EAAKX,MAAM3K,EAAGsL,EAAKX,MAAM5D,EAAG2c,EAAMzZ,QAEnEpQ,KAAKk8D,QAAQxtD,mBAAmB+C,EAAK9C,MAAQ,oBAAoB,EAAO3O,KAAKw7D,MAE7Ef,EAAI11C,OACJ01C,EAAIrlD,UAAUpV,KAAKw7D,KAAKr1D,EAAGnG,KAAKw7D,KAAKtuD,GACrCutD,EAAIlpD,OAAOE,EAAK9C,OAChB8rD,EAAI+B,SAAS,EAAG,EAAGrsD,EAAO0Z,EAAMzZ,QAChCqqD,EAAIx1C,UAEJjlB,KAAKkoB,OAAQ,EAENloB,OAYXqhB,OAAQ,WAQJ,OANKrhB,KAAKq7D,sBAAwBr7D,KAAKkoB,QAEnCloB,KAAKgkC,YAAY9b,QACjBloB,KAAKkoB,OAAQ,GAGVloB,MASXukB,QAAS,WAELvkB,KAAK0wD,UAAUnsC,UAEfvkB,KAAK+jC,QAAQxf,SAAQ,GAErBlkB,EAAOwhC,WAAWte,OAAOvjB,OAU7B4gE,WAAY,WAGR,OADA5gE,KAAKy/D,GAAK,cACHz/D,MAUX2hE,gBAAiB,WAGb,OADA3hE,KAAKy/D,GAAK,cACHz/D,MAUX4hE,cAAe,WAGX,OADA5hE,KAAKy/D,GAAK,YACHz/D,MAUX6hE,eAAgB,WAGZ,OADA7hE,KAAKy/D,GAAK,aACHz/D,MAUX2gE,gBAAiB,WAGb,OADA3gE,KAAKy/D,GAAK,cACHz/D,MAUX8hE,qBAAsB,WAGlB,OADA9hE,KAAKy/D,GAAK,mBACHz/D,MAUX+hE,mBAAoB,WAGhB,OADA/hE,KAAKy/D,GAAK,iBACHz/D,MAUXgiE,oBAAqB,WAGjB,OADAhiE,KAAKy/D,GAAK,kBACHz/D,MAUXiiE,qBAAsB,WAGlB,OADAjiE,KAAKy/D,GAAK,mBACHz/D,MAUXkiE,SAAU,WAGN,OADAliE,KAAKy/D,GAAK,MACHz/D,MAUXmiE,SAAU,WAGN,OADAniE,KAAKy/D,GAAK,UACHz/D,MAUXoiE,cAAe,WAGX,OADApiE,KAAKy/D,GAAK,WACHz/D,MAUXqiE,YAAa,WAGT,OADAriE,KAAKy/D,GAAK,SACHz/D,MAUXsiE,aAAc,WAGV,OADAtiE,KAAKy/D,GAAK,UACHz/D,MAUXuiE,YAAa,WAGT,OADAviE,KAAKy/D,GAAK,SACHz/D,MAUXwiE,aAAc,WAGV,OADAxiE,KAAKy/D,GAAK,UACHz/D,MAUXyiE,gBAAiB,WAGb,OADAziE,KAAKy/D,GAAK,cACHz/D,MAUX0iE,eAAgB,WAGZ,OADA1iE,KAAKy/D,GAAK,aACHz/D,MAUX2iE,eAAgB,WAGZ,OADA3iE,KAAKy/D,GAAK,aACHz/D,MAUX4iE,eAAgB,WAGZ,OADA5iE,KAAKy/D,GAAK,aACHz/D,MAUX6iE,gBAAiB,WAGb,OADA7iE,KAAKy/D,GAAK,aACHz/D,MAUX8iE,eAAgB,WAGZ,OADA9iE,KAAKy/D,GAAK,YACHz/D,MAUX+iE,SAAU,WAGN,OADA/iE,KAAKy/D,GAAK,MACHz/D,MAUXgjE,gBAAiB,WAGb,OADAhjE,KAAKy/D,GAAK,aACHz/D,MAUXijE,WAAY,WAGR,OADAjjE,KAAKy/D,GAAK,QACHz/D,MAUXkjE,gBAAiB,WAGb,OADAljE,KAAKy/D,GAAK,aACHz/D,MAgBXmjE,eAAgB,SAASh1D,EAAQhI,EAAG+G,GAEhCiB,EAAO6Q,SACP,IAAK,IAAWokD,EAAPp7D,EAAI,EAAiBA,EAAImG,EAAOiC,OAAQpI,IAAK,CAClDo7D,GAAgBl2D,EAAIlF,GAAKhI,KAAKmQ,MAAQhK,EACtC,IAAK,IAAIsS,EAAI,EAAGA,EAAItK,EAAOgC,MAAOsI,IAC9BzY,KAAK66D,OAAOuI,EAAe3qD,GAAKtK,EAAO0sD,OAAO7yD,EAAImG,EAAOgC,MAAQsI,GAGzE,OAAOzY,OAUfyH,OAAOmF,eAAevM,EAAOiwD,WAAW/pD,UAAW,YAE/CmG,IAAK,WAEDrM,EAAO6rB,OAAOm3C,oBAAoBrjE,KAAK8kB,UAI3CnY,IAAK,SAAU5C,GAEX1J,EAAO6rB,OAAOo3C,oBAAoBtjE,KAAK8kB,QAAS/a,MAUxDtC,OAAOmF,eAAevM,EAAOiwD,WAAW/pD,UAAW,MAE/CmG,IAAK,WAED,OAAO1M,KAAK8kB,QAAQy+C,0BAIxB52D,IAAK,SAAU5C,GAEX/J,KAAK8kB,QAAQy+C,yBAA2Bx5D,KAkBhD1J,EAAOiwD,WAAWkT,aAAe,SAAUC,EAAYC,EAAY3E,EAAQC,EAAQ2E,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAX3E,IAAuBA,EAAS,GACrB,iBAAXC,IAAuBA,EAAS,GACtB,iBAAV2E,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhC5wD,GAAI+rD,EAAQ9rD,GAAI+rD,EAAQD,OAAQA,EAAQC,OAAQA,EAAQ2E,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAY1xD,GAAIyxD,EAAYxxD,GAAIyxD,IAIrKrjE,EAAOiwD,WAAW/pD,UAAU8B,YAAchI,EAAOiwD,WAuBjDjwD,EAAOwjE,UAEPxjE,EAAOwjE,OAAOC,YAAc,SAAU5/B,EAAM6/B,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAYh8D,OACtCm8D,EAAWD,EAAWF,EAAY,GAAKC,EAAM9/B,EAAKn8B,OAClDo8D,EAAY9jE,EAAOwjE,OAAOO,WAAWlgC,EAAM,EAAGggC,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAW,OAAOE,EAEvB,IAAI/R,EAAMC,EAAMC,EAAMC,EAAMtsD,EAAG+G,EAAGtC,EAKlC,GAHIq5D,IAAUE,EAAY9jE,EAAOwjE,OAAOS,eAAepgC,EAAM6/B,EAAaI,EAAWH,IAGjF9/B,EAAKn8B,OAAS,GAAKi8D,EAAK,CACxB1R,EAAOE,EAAOtuB,EAAK,GACnBquB,EAAOE,EAAOvuB,EAAK,GAEnB,IAAK,IAAIl8B,EAAIg8D,EAAKh8D,EAAIk8D,EAAUl8D,GAAKg8D,EACjC79D,EAAI+9B,EAAKl8B,GACTkF,EAAIg3B,EAAKl8B,EAAI,GACT7B,EAAImsD,IAAMA,EAAOnsD,GACjB+G,EAAIqlD,IAAMA,EAAOrlD,GACjB/G,EAAIqsD,IAAMA,EAAOrsD,GACjB+G,EAAIulD,IAAMA,EAAOvlD,GAIzBtC,EAAO3E,KAAKyM,IAAI8/C,EAAOF,EAAMG,EAAOF,GAKxC,OAFAlyD,EAAOwjE,OAAOU,aAAaJ,EAAWE,EAAWL,EAAK1R,EAAMC,EAAM3nD,GAE3Dy5D,GAKXhkE,EAAOwjE,OAAOO,WAAa,SAAUlgC,EAAMpzB,EAAOC,EAAKizD,EAAKQ,GACxD,IACIx8D,EAAGyQ,EAAGzO,EADNy6D,EAAM,EAIV,IAAKz8D,EAAI8I,EAAO2H,EAAI1H,EAAMizD,EAAKh8D,EAAI+I,EAAK/I,GAAKg8D,EACzCS,IAAQvgC,EAAKzrB,GAAKyrB,EAAKl8B,KAAOk8B,EAAKl8B,EAAI,GAAKk8B,EAAKzrB,EAAI,IACrDA,EAAIzQ,EAIR,GAAIw8D,IAAeC,EAAM,EACrB,IAAKz8D,EAAI8I,EAAO9I,EAAI+I,EAAK/I,GAAKg8D,EAAKh6D,EAAO3J,EAAOwjE,OAAOa,WAAW18D,EAAGk8B,EAAKl8B,GAAIk8B,EAAKl8B,EAAI,GAAIgC,QAE5F,IAAKhC,EAAI+I,EAAMizD,EAAKh8D,GAAK8I,EAAO9I,GAAKg8D,EAAKh6D,EAAO3J,EAAOwjE,OAAOa,WAAW18D,EAAGk8B,EAAKl8B,GAAIk8B,EAAKl8B,EAAI,GAAIgC,GAGvG,OAAOA,GAKX3J,EAAOwjE,OAAOc,aAAe,SAAU7zD,EAAOC,GAC1C,IAAKD,EAAO,OAAOA,EACdC,IAAKA,EAAMD,GAEhB,IACI8zD,EADAv0D,EAAIS,EAER,GAGI,GAFA8zD,GAAQ,EAEHv0D,EAAEw0D,UAAYxkE,EAAOwjE,OAAOx0D,OAAOgB,EAAGA,EAAE2hB,OAAmD,IAA1C3xB,EAAOwjE,OAAO3rD,KAAK7H,EAAEwrD,KAAMxrD,EAAGA,EAAE2hB,MAOlF3hB,EAAIA,EAAE2hB,SAP0F,CAGhG,GAFA3xB,EAAOwjE,OAAOiB,WAAWz0D,IACzBA,EAAIU,EAAMV,EAAEwrD,QACFxrD,EAAE2hB,KAAM,OAAO,KACzB4yC,GAAQ,SAKPA,GAASv0D,IAAMU,GAExB,OAAOA,GAKX1Q,EAAOwjE,OAAOU,aAAe,SAAUQ,EAAKV,EAAWL,EAAK1R,EAAMC,EAAM3nD,EAAMo6D,GAC1E,GAAKD,EAAL,EAGKC,GAAQp6D,GAAMvK,EAAOwjE,OAAOoB,WAAWF,EAAKzS,EAAMC,EAAM3nD,GAM7D,IAJA,IACIixD,EAAM7pC,EADNuL,EAAOwnC,EAIJA,EAAIlJ,OAASkJ,EAAI/yC,MAIpB,GAHA6pC,EAAOkJ,EAAIlJ,KACX7pC,EAAO+yC,EAAI/yC,KAEPpnB,EAAOvK,EAAOwjE,OAAOqB,YAAYH,EAAKzS,EAAMC,EAAM3nD,GAAQvK,EAAOwjE,OAAOsB,MAAMJ,GAE9EV,EAAUlxD,KAAK0oD,EAAK7zD,EAAIg8D,GACxBK,EAAUlxD,KAAK4xD,EAAI/8D,EAAIg8D,GACvBK,EAAUlxD,KAAK6e,EAAKhqB,EAAIg8D,GAExB3jE,EAAOwjE,OAAOiB,WAAWC,GAGzBA,EAAM/yC,EAAKA,KACXuL,EAAOvL,EAAKA,UAQhB,IAHA+yC,EAAM/yC,KAGMuL,EAAM,CAETynC,EAIe,IAATA,GACPD,EAAM1kE,EAAOwjE,OAAOuB,uBAAuBL,EAAKV,EAAWL,GAC3D3jE,EAAOwjE,OAAOU,aAAaQ,EAAKV,EAAWL,EAAK1R,EAAMC,EAAM3nD,EAAM,IAGlD,IAATo6D,GACP3kE,EAAOwjE,OAAOwB,YAAYN,EAAKV,EAAWL,EAAK1R,EAAMC,EAAM3nD,GAT3DvK,EAAOwjE,OAAOU,aAAalkE,EAAOwjE,OAAOc,aAAaI,GAAMV,EAAWL,EAAK1R,EAAMC,EAAM3nD,EAAM,GAYlG,SAOZvK,EAAOwjE,OAAOsB,MAAQ,SAAUJ,GAC5B,IAAI71D,EAAI61D,EAAIlJ,KACRvsD,EAAIy1D,EACJr1D,EAAIq1D,EAAI/yC,KAEZ,GAAI3xB,EAAOwjE,OAAO3rD,KAAKhJ,EAAGI,EAAGI,IAAM,EAAG,OAAO,EAK7C,IAFA,IAAIW,EAAI00D,EAAI/yC,KAAKA,KAEV3hB,IAAM00D,EAAIlJ,MAAM,CACnB,GAAIx7D,EAAOwjE,OAAOyB,gBAAgBp2D,EAAE/I,EAAG+I,EAAEhC,EAAGoC,EAAEnJ,EAAGmJ,EAAEpC,EAAGwC,EAAEvJ,EAAGuJ,EAAExC,EAAGmD,EAAElK,EAAGkK,EAAEnD,IACnE7M,EAAOwjE,OAAO3rD,KAAK7H,EAAEwrD,KAAMxrD,EAAGA,EAAE2hB,OAAS,EAAG,OAAO,EACvD3hB,EAAIA,EAAE2hB,KAGV,OAAO,GAGX3xB,EAAOwjE,OAAOqB,YAAc,SAAUH,EAAKzS,EAAMC,EAAM3nD,GACnD,IAAIsE,EAAI61D,EAAIlJ,KACRvsD,EAAIy1D,EACJr1D,EAAIq1D,EAAI/yC,KAEZ,GAAI3xB,EAAOwjE,OAAO3rD,KAAKhJ,EAAGI,EAAGI,IAAM,EAAG,OAAO,EAe7C,IAZA,IAAI61D,EAAQr2D,EAAE/I,EAAImJ,EAAEnJ,EAAK+I,EAAE/I,EAAIuJ,EAAEvJ,EAAI+I,EAAE/I,EAAIuJ,EAAEvJ,EAAMmJ,EAAEnJ,EAAIuJ,EAAEvJ,EAAImJ,EAAEnJ,EAAIuJ,EAAEvJ,EACnEq/D,EAAQt2D,EAAEhC,EAAIoC,EAAEpC,EAAKgC,EAAEhC,EAAIwC,EAAExC,EAAIgC,EAAEhC,EAAIwC,EAAExC,EAAMoC,EAAEpC,EAAIwC,EAAExC,EAAIoC,EAAEpC,EAAIwC,EAAExC,EACnEu4D,EAAQv2D,EAAE/I,EAAImJ,EAAEnJ,EAAK+I,EAAE/I,EAAIuJ,EAAEvJ,EAAI+I,EAAE/I,EAAIuJ,EAAEvJ,EAAMmJ,EAAEnJ,EAAIuJ,EAAEvJ,EAAImJ,EAAEnJ,EAAIuJ,EAAEvJ,EACnEu/D,EAAQx2D,EAAEhC,EAAIoC,EAAEpC,EAAKgC,EAAEhC,EAAIwC,EAAExC,EAAIgC,EAAEhC,EAAIwC,EAAExC,EAAMoC,EAAEpC,EAAIwC,EAAExC,EAAIoC,EAAEpC,EAAIwC,EAAExC,EAGnEy4D,EAAOtlE,EAAOwjE,OAAO+B,OAAOL,EAAOC,EAAOlT,EAAMC,EAAM3nD,GACtDi7D,EAAOxlE,EAAOwjE,OAAO+B,OAAOH,EAAOC,EAAOpT,EAAMC,EAAM3nD,GAGtDyF,EAAI00D,EAAIe,MAELz1D,GAAKA,EAAEqe,GAAKm3C,GAAM,CACrB,GAAIx1D,IAAM00D,EAAIlJ,MAAQxrD,IAAM00D,EAAI/yC,MAC5B3xB,EAAOwjE,OAAOyB,gBAAgBp2D,EAAE/I,EAAG+I,EAAEhC,EAAGoC,EAAEnJ,EAAGmJ,EAAEpC,EAAGwC,EAAEvJ,EAAGuJ,EAAExC,EAAGmD,EAAElK,EAAGkK,EAAEnD,IACnE7M,EAAOwjE,OAAO3rD,KAAK7H,EAAEwrD,KAAMxrD,EAAGA,EAAE2hB,OAAS,EAAG,OAAO,EACvD3hB,EAAIA,EAAEy1D,MAMV,IAFAz1D,EAAI00D,EAAIgB,MAED11D,GAAKA,EAAEqe,GAAKi3C,GAAM,CACrB,GAAIt1D,IAAM00D,EAAIlJ,MAAQxrD,IAAM00D,EAAI/yC,MAC5B3xB,EAAOwjE,OAAOyB,gBAAgBp2D,EAAE/I,EAAG+I,EAAEhC,EAAGoC,EAAEnJ,EAAGmJ,EAAEpC,EAAGwC,EAAEvJ,EAAGuJ,EAAExC,EAAGmD,EAAElK,EAAGkK,EAAEnD,IACnE7M,EAAOwjE,OAAO3rD,KAAK7H,EAAEwrD,KAAMxrD,EAAGA,EAAE2hB,OAAS,EAAG,OAAO,EACvD3hB,EAAIA,EAAE01D,MAGV,OAAO,GAKX1lE,EAAOwjE,OAAOuB,uBAAyB,SAAUt0D,EAAOuzD,EAAWL,GAC/D,IAAI3zD,EAAIS,EACR,EAAG,CACC,IAAI5B,EAAImB,EAAEwrD,KACNvsD,EAAIe,EAAE2hB,KAAKA,KAGX3xB,EAAOwjE,OAAOt0D,WAAWL,EAAGmB,EAAGA,EAAE2hB,KAAM1iB,IAAMjP,EAAOwjE,OAAOmC,cAAc92D,EAAGI,IAAMjP,EAAOwjE,OAAOmC,cAAc12D,EAAGJ,KAEjHm1D,EAAUlxD,KAAKjE,EAAElH,EAAIg8D,GACrBK,EAAUlxD,KAAK9C,EAAErI,EAAIg8D,GACrBK,EAAUlxD,KAAK7D,EAAEtH,EAAIg8D,GAGrB3jE,EAAOwjE,OAAOiB,WAAWz0D,GACzBhQ,EAAOwjE,OAAOiB,WAAWz0D,EAAE2hB,MAE3B3hB,EAAIS,EAAQxB,GAEhBe,EAAIA,EAAE2hB,WACD3hB,IAAMS,GAEf,OAAOT,GAKXhQ,EAAOwjE,OAAOwB,YAAc,SAAUv0D,EAAOuzD,EAAWL,EAAK1R,EAAMC,EAAM3nD,GAErE,IAAIsE,EAAI4B,EACR,EAAG,CAEC,IADA,IAAIxB,EAAIJ,EAAE8iB,KAAKA,KACR1iB,IAAMJ,EAAE2sD,MAAM,CACjB,GAAI3sD,EAAElH,IAAMsH,EAAEtH,GAAK3H,EAAOwjE,OAAOoC,gBAAgB/2D,EAAGI,GAAI,CAEpD,IAAII,EAAIrP,EAAOwjE,OAAOqC,aAAah3D,EAAGI,GAStC,OANAJ,EAAI7O,EAAOwjE,OAAOc,aAAaz1D,EAAGA,EAAE8iB,MACpCtiB,EAAIrP,EAAOwjE,OAAOc,aAAaj1D,EAAGA,EAAEsiB,MAGpC3xB,EAAOwjE,OAAOU,aAAar1D,EAAGm1D,EAAWL,EAAK1R,EAAMC,EAAM3nD,QAC1DvK,EAAOwjE,OAAOU,aAAa70D,EAAG20D,EAAWL,EAAK1R,EAAMC,EAAM3nD,GAG9D0E,EAAIA,EAAE0iB,KAEV9iB,EAAIA,EAAE8iB,WACD9iB,IAAM4B,IAKnBzQ,EAAOwjE,OAAOS,eAAiB,SAAUpgC,EAAM6/B,EAAaI,EAAWH,GACnE,IACIh8D,EAAGF,EAAKgJ,EAAOC,EAAKgmB,EADpBovC,KAGJ,IAAKn+D,EAAI,EAAGF,EAAMi8D,EAAYh8D,OAAQC,EAAIF,EAAKE,IAC3C8I,EAAQizD,EAAY/7D,GAAKg8D,EACzBjzD,EAAM/I,EAAIF,EAAM,EAAIi8D,EAAY/7D,EAAI,GAAKg8D,EAAM9/B,EAAKn8B,QACpDgvB,EAAO12B,EAAOwjE,OAAOO,WAAWlgC,EAAMpzB,EAAOC,EAAKizD,GAAK,MAC1CjtC,EAAK/E,OAAM+E,EAAK8tC,SAAU,GACvCsB,EAAMhzD,KAAK9S,EAAOwjE,OAAOuC,YAAYrvC,IAMzC,IAHAovC,EAAM/wC,KAAKixC,UAGNr+D,EAAI,EAAGA,EAAIm+D,EAAMp+D,OAAQC,IAC1B3H,EAAOwjE,OAAOyC,cAAcH,EAAMn+D,GAAIm8D,GACtCA,EAAY9jE,EAAOwjE,OAAOc,aAAaR,EAAWA,EAAUnyC,MAGhE,OAAOmyC,GAGX9jE,EAAOwjE,OAAOwC,SAAW,SAAUn3D,EAAGI,GAClC,OAAOJ,EAAE/I,EAAImJ,EAAEnJ,GAKnB9F,EAAOwjE,OAAOyC,cAAgB,SAAUC,EAAMpC,GAE1C,GADAA,EAAY9jE,EAAOwjE,OAAO2C,eAAeD,EAAMpC,GAChC,CACX,IAAI70D,EAAIjP,EAAOwjE,OAAOqC,aAAa/B,EAAWoC,GAC9ClmE,EAAOwjE,OAAOc,aAAar1D,EAAGA,EAAE0iB,QAMxC3xB,EAAOwjE,OAAO2C,eAAiB,SAAUD,EAAMpC,GAC3C,IAIIxtD,EAJAtG,EAAI8zD,EACJsC,EAAKF,EAAKpgE,EACVugE,EAAKH,EAAKr5D,EACVy5D,GAAMC,EAAAA,EAKV,EAAG,CACC,GAAIF,GAAMr2D,EAAEnD,GAAKw5D,GAAMr2D,EAAE2hB,KAAK9kB,EAAG,CAC7B,IAAI/G,EAAIkK,EAAElK,GAAKugE,EAAKr2D,EAAEnD,IAAMmD,EAAE2hB,KAAK7rB,EAAIkK,EAAElK,IAAMkK,EAAE2hB,KAAK9kB,EAAImD,EAAEnD,GACxD/G,GAAKsgE,GAAMtgE,EAAIwgE,IACfA,EAAKxgE,EACLwQ,EAAItG,EAAElK,EAAIkK,EAAE2hB,KAAK7rB,EAAIkK,EAAIA,EAAE2hB,MAGnC3hB,EAAIA,EAAE2hB,WACD3hB,IAAM8zD,GAEf,IAAKxtD,EAAG,OAAO,KAEf,GAAI4vD,EAAKpgE,IAAMwQ,EAAExQ,EAAG,OAAOwQ,EAAEklD,KAM7B,IAEIgL,EAFAtpC,EAAO5mB,EACPmwD,EAASF,EAAAA,EAKb,IAFAv2D,EAAIsG,EAAEqb,KAEC3hB,IAAMktB,GACLkpC,GAAMp2D,EAAElK,GAAKkK,EAAElK,GAAKwQ,EAAExQ,GACtB9F,EAAOwjE,OAAOyB,gBAAgBoB,EAAK/vD,EAAEzJ,EAAIu5D,EAAKE,EAAID,EAAI/vD,EAAExQ,EAAGwQ,EAAEzJ,EAAGw5D,EAAK/vD,EAAEzJ,EAAIy5D,EAAKF,EAAIC,EAAIr2D,EAAElK,EAAGkK,EAAEnD,MAE/F25D,EAAM5gE,KAAK2J,IAAI82D,EAAKr2D,EAAEnD,IAAMu5D,EAAKp2D,EAAElK,IAExB2gE,GAAWD,IAAQC,GAAUz2D,EAAElK,EAAIwQ,EAAExQ,IAAO9F,EAAOwjE,OAAOmC,cAAc31D,EAAGk2D,KAClF5vD,EAAItG,EACJy2D,EAASD,GAIjBx2D,EAAIA,EAAE2hB,KAGV,OAAOrb,GAKXtW,EAAOwjE,OAAOoB,WAAa,SAAUn0D,EAAOwhD,EAAMC,EAAM3nD,GACpD,IAAIyF,EAAIS,EACR,GACgB,OAART,EAAEqe,IAAYre,EAAEqe,EAAIruB,EAAOwjE,OAAO+B,OAAOv1D,EAAElK,EAAGkK,EAAEnD,EAAGolD,EAAMC,EAAM3nD,IACnEyF,EAAE01D,MAAQ11D,EAAEwrD,KACZxrD,EAAEy1D,MAAQz1D,EAAE2hB,KACZ3hB,EAAIA,EAAE2hB,WACD3hB,IAAMS,GAEfT,EAAE01D,MAAMD,MAAQ,KAChBz1D,EAAE01D,MAAQ,KAEV1lE,EAAOwjE,OAAOkD,WAAW12D,IAM7BhQ,EAAOwjE,OAAOkD,WAAa,SAAUhwC,GACjC,IAAI/uB,EAAGqI,EAAG22D,EAAGp7D,EAAGq7D,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EAAG,CAMC,IALAh3D,EAAI0mB,EACJA,EAAO,KACPkwC,EAAO,KACPC,EAAY,EAEL72D,GAAG,CAIN,IAHA62D,IACAF,EAAI32D,EACJ82D,EAAQ,EACHn/D,EAAI,EAAGA,EAAIq/D,IACZF,IACAH,EAAIA,EAAElB,OAFc99D,KAQxB,IAFAo/D,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GACAv7D,EAAIo7D,EACJA,EAAIA,EAAElB,MACNsB,KACiB,IAAVA,GAAgBJ,EAIhB32D,EAAEqe,GAAKs4C,EAAEt4C,GAChB9iB,EAAIyE,EACJA,EAAIA,EAAEy1D,MACNqB,MAEAv7D,EAAIo7D,EACJA,EAAIA,EAAElB,MACNsB,MAVAx7D,EAAIyE,EACJA,EAAIA,EAAEy1D,MACNqB,KAWAF,EAAMA,EAAKnB,MAAQl6D,EAClBmrB,EAAOnrB,EAEZA,EAAEm6D,MAAQkB,EACVA,EAAOr7D,EAGXyE,EAAI22D,EAGRC,EAAKnB,MAAQ,KACbuB,GAAU,QAELH,EAAY,GAErB,OAAOnwC,GAKX12B,EAAOwjE,OAAO+B,OAAS,SAAUz/D,EAAG+G,EAAGolD,EAAMC,EAAM3nD,GAe/C,OAbAzE,EAAI,OAASA,EAAImsD,GAAQ1nD,EACzBsC,EAAI,OAASA,EAAIqlD,GAAQ3nD,EAEzBzE,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEf+G,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAER/G,EAAK+G,GAAK,GAKrB7M,EAAOwjE,OAAOuC,YAAc,SAAUt1D,GAClC,IAAIT,EAAIS,EACJw2D,EAAWx2D,EACf,GACQT,EAAElK,EAAImhE,EAASnhE,IAAGmhE,EAAWj3D,GACjCA,EAAIA,EAAE2hB,WACD3hB,IAAMS,GAEf,OAAOw2D,GAKXjnE,EAAOwjE,OAAOyB,gBAAkB,SAAUiC,EAAIC,EAAIC,EAAIC,EAAI/3D,EAAIG,EAAI/E,EAAIwqC,GAClE,OAAQ5lC,EAAK5E,IAAOy8D,EAAKjyB,IAAOgyB,EAAKx8D,IAAO+E,EAAKylC,IAAO,IACnDgyB,EAAKx8D,IAAO28D,EAAKnyB,IAAOkyB,EAAK18D,IAAOy8D,EAAKjyB,IAAO,IAChDkyB,EAAK18D,IAAO+E,EAAKylC,IAAO5lC,EAAK5E,IAAO28D,EAAKnyB,IAAO,GAKzDl1C,EAAOwjE,OAAOoC,gBAAkB,SAAU/2D,EAAGI,GACzC,OAAOjP,EAAOwjE,OAAOx0D,OAAOH,EAAGI,IAAMJ,EAAE8iB,KAAKhqB,IAAMsH,EAAEtH,GAAKkH,EAAE2sD,KAAK7zD,IAAMsH,EAAEtH,IAAM3H,EAAOwjE,OAAO8D,kBAAkBz4D,EAAGI,IAC7GjP,EAAOwjE,OAAOmC,cAAc92D,EAAGI,IAAMjP,EAAOwjE,OAAOmC,cAAc12D,EAAGJ,IAAM7O,EAAOwjE,OAAO+D,aAAa14D,EAAGI,IAKhHjP,EAAOwjE,OAAO3rD,KAAO,SAAU7H,EAAG22D,EAAGr5D,GACjC,OAAQq5D,EAAE95D,EAAImD,EAAEnD,IAAMS,EAAExH,EAAI6gE,EAAE7gE,IAAM6gE,EAAE7gE,EAAIkK,EAAElK,IAAMwH,EAAET,EAAI85D,EAAE95D,IAK9D7M,EAAOwjE,OAAOx0D,OAAS,SAAU6J,EAAIC,GACjC,OAAOD,EAAG/S,IAAMgT,EAAGhT,GAAK+S,EAAGhM,IAAMiM,EAAGjM,GAKxC7M,EAAOwjE,OAAOt0D,WAAa,SAAU2J,EAAI2uD,EAAI1uD,EAAI2uD,GAC7C,OAAOznE,EAAOwjE,OAAO3rD,KAAKgB,EAAI2uD,EAAI1uD,GAAM,GAAM9Y,EAAOwjE,OAAO3rD,KAAKgB,EAAI2uD,EAAIC,GAAM,GAC3EznE,EAAOwjE,OAAO3rD,KAAKiB,EAAI2uD,EAAI5uD,GAAM,GAAM7Y,EAAOwjE,OAAO3rD,KAAKiB,EAAI2uD,EAAID,GAAM,GAKhFxnE,EAAOwjE,OAAO8D,kBAAoB,SAAUz4D,EAAGI,GAC3C,IAAIe,EAAInB,EACR,EAAG,CACC,GAAImB,EAAErI,IAAMkH,EAAElH,GAAKqI,EAAE2hB,KAAKhqB,IAAMkH,EAAElH,GAAKqI,EAAErI,IAAMsH,EAAEtH,GAAKqI,EAAE2hB,KAAKhqB,IAAMsH,EAAEtH,GACjE3H,EAAOwjE,OAAOt0D,WAAWc,EAAGA,EAAE2hB,KAAM9iB,EAAGI,GAAI,OAAO,EACtDe,EAAIA,EAAE2hB,WACD3hB,IAAMnB,GAEf,OAAO,GAKX7O,EAAOwjE,OAAOmC,cAAgB,SAAU92D,EAAGI,GACvC,OAAOjP,EAAOwjE,OAAO3rD,KAAKhJ,EAAE2sD,KAAM3sD,EAAGA,EAAE8iB,MAAQ,EAC3C3xB,EAAOwjE,OAAO3rD,KAAKhJ,EAAGI,EAAGJ,EAAE8iB,OAAS,GAAK3xB,EAAOwjE,OAAO3rD,KAAKhJ,EAAGA,EAAE2sD,KAAMvsD,IAAM,EAC7EjP,EAAOwjE,OAAO3rD,KAAKhJ,EAAGI,EAAGJ,EAAE2sD,MAAQ,GAAKx7D,EAAOwjE,OAAO3rD,KAAKhJ,EAAGA,EAAE8iB,KAAM1iB,GAAK,GAKnFjP,EAAOwjE,OAAO+D,aAAe,SAAU14D,EAAGI,GACtC,IAAIe,EAAInB,EACJsJ,GAAS,EACTzN,GAAMmE,EAAE/I,EAAImJ,EAAEnJ,GAAK,EACnBovC,GAAMrmC,EAAEhC,EAAIoC,EAAEpC,GAAK,EACvB,GACUmD,EAAEnD,EAAIqoC,GAASllC,EAAE2hB,KAAK9kB,EAAIqoC,GAASxqC,GAAMsF,EAAE2hB,KAAK7rB,EAAIkK,EAAElK,IAAMovC,EAAKllC,EAAEnD,IAAMmD,EAAE2hB,KAAK9kB,EAAImD,EAAEnD,GAAKmD,EAAElK,IAC/FqS,GAAUA,GACdnI,EAAIA,EAAE2hB,WACD3hB,IAAMnB,GAEf,OAAOsJ,GAMXnY,EAAOwjE,OAAOqC,aAAe,SAAUh3D,EAAGI,GACtC,IAAIkE,EAAK,IAAInT,EAAOwjE,OAAOkE,KAAK74D,EAAElH,EAAGkH,EAAE/I,EAAG+I,EAAEhC,GACxCwG,EAAK,IAAIrT,EAAOwjE,OAAOkE,KAAKz4D,EAAEtH,EAAGsH,EAAEnJ,EAAGmJ,EAAEpC,GACxC86D,EAAK94D,EAAE8iB,KACPi2C,EAAK34D,EAAEusD,KAcX,OAZA3sD,EAAE8iB,KAAO1iB,EACTA,EAAEusD,KAAO3sD,EAETsE,EAAGwe,KAAOg2C,EACVA,EAAGnM,KAAOroD,EAEVE,EAAGse,KAAOxe,EACVA,EAAGqoD,KAAOnoD,EAEVu0D,EAAGj2C,KAAOte,EACVA,EAAGmoD,KAAOoM,EAEHv0D,GAKXrT,EAAOwjE,OAAOa,WAAa,SAAU18D,EAAG7B,EAAG+G,EAAGlD,GAC1C,IAAIqG,EAAI,IAAIhQ,EAAOwjE,OAAOkE,KAAK//D,EAAG7B,EAAG+G,GAYrC,OAVKlD,GAKDqG,EAAE2hB,KAAOhoB,EAAKgoB,KACd3hB,EAAEwrD,KAAO7xD,EACTA,EAAKgoB,KAAK6pC,KAAOxrD,EACjBrG,EAAKgoB,KAAO3hB,IAPZA,EAAEwrD,KAAOxrD,EACTA,EAAE2hB,KAAO3hB,GAQNA,GAGXhQ,EAAOwjE,OAAOiB,WAAa,SAAUz0D,GACjCA,EAAE2hB,KAAK6pC,KAAOxrD,EAAEwrD,KAChBxrD,EAAEwrD,KAAK7pC,KAAO3hB,EAAE2hB,KAEZ3hB,EAAE01D,QAAO11D,EAAE01D,MAAMD,MAAQz1D,EAAEy1D,OAC3Bz1D,EAAEy1D,QAAOz1D,EAAEy1D,MAAMC,MAAQ11D,EAAE01D,QAGnC1lE,EAAOwjE,OAAOkE,KAAO,SAAU//D,EAAG7B,EAAG+G,GAEjClN,KAAKgI,EAAIA,EAGThI,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,EAGTlN,KAAK67D,KAAO,KACZ77D,KAAKgyB,KAAO,KAGZhyB,KAAK0uB,EAAI,KAGT1uB,KAAK+lE,MAAQ,KACb/lE,KAAK8lE,MAAQ,KAGb9lE,KAAK6kE,SAAU,GAgBnB9+D,KAAKmiE,cAAgB,aASrBniE,KAAKmiE,cAAcC,mBAAqB,EAWxCpiE,KAAKmiE,cAAclI,eAAiB,SAAS5L,EAAUmF,GAEnD,IAII6O,EAJA3O,EAAKF,EAAcE,GACnB4O,EAAa9O,EAAc8O,WAC3Bx5D,EAAS0qD,EAAc1qD,OACvBy5D,EAAS/O,EAAcI,cAAc4O,gBAGtCnU,EAASlsC,OAERniB,KAAKmiE,cAAcM,eAAepU,EAAUqF,GAGhD,IAAI59B,EAAQu4B,EAASqU,OAAOhP,EAAGtkD,IAG/B,GAAI0mB,EAOJ,IAAK,IAAI7zB,EAAI,EAAGA,EAAI6zB,EAAMqI,KAAKn8B,OAAQC,IAET,IAAvB6zB,EAAMqI,KAAKl8B,GAAG0gE,MAEbN,EAAYvsC,EAAMqI,KAAKl8B,GAEvBuxD,EAAcoP,eAAeC,YAAYxU,EAAUgU,EAAW7O,GAG9DE,EAAGoP,aAAapP,EAAGqP,aAAc,EAAGrP,EAAGsP,eAAmD,GAAjCX,EAAUY,QAAQjhE,OAAS,IAEpFwxD,EAAcoP,eAAeM,WAAW7U,EAAUgU,EAAW7O,KAI7D6O,EAAYvsC,EAAMqI,KAAKl8B,GAGvBuxD,EAAcI,cAAcC,UAAW0O,GACvCA,EAAS/O,EAAcI,cAAc4O,gBACrC9O,EAAGyP,iBAAiBZ,EAAOa,mBAAmB,EAAO/U,EAAShpC,eAAevW,SAAQ,IAErF4kD,EAAG2P,UAAUd,EAAOe,MAAO,GAE3B5P,EAAG6P,UAAUhB,EAAOiB,iBAAkBlB,EAAWliE,GAAIkiE,EAAWn7D,GAChEusD,EAAG6P,UAAUhB,EAAOkB,cAAe36D,EAAO1I,GAAI0I,EAAO3B,GAErDusD,EAAGgQ,WAAWnB,EAAOoB,UAAWrpE,EAAO2tB,MAAM27C,cAAcvV,EAAS9I,OAEpEmO,EAAG2P,UAAUd,EAAO5pD,MAAO01C,EAAS3nC,YAGpCgtC,EAAGmQ,WAAWnQ,EAAGoQ,aAAczB,EAAUtN,QAEzCrB,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,GAAO,GAC1EvQ,EAAGqQ,oBAAoBxB,EAAO2B,eAAgB,EAAGxQ,EAAGuQ,OAAO,EAAM,GAAO,GAGxEvQ,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsB9B,EAAU+B,aACjD1Q,EAAGoP,aAAapP,EAAG2Q,eAAiBhC,EAAUY,QAAQjhE,OAAQ0xD,EAAGsP,eAAgB,KAc7FhjE,KAAKmiE,cAAcM,eAAiB,SAASpU,EAAUqF,GAGnD,IAAI59B,EAAQu4B,EAASqU,OAAOhP,EAAGtkD,IAE3B0mB,IAAMA,EAAQu4B,EAASqU,OAAOhP,EAAGtkD,KAAOk1D,UAAU,EAAGnmC,QAASu1B,GAAGA,IAGrErF,EAASlsC,OAAQ,EAEjB,IAAIlgB,EAGJ,GAAGosD,EAASkW,WACZ,CAII,IAHAlW,EAASkW,YAAa,EAGjBtiE,EAAI,EAAGA,EAAI6zB,EAAMqI,KAAKn8B,OAAQC,IACnC,CACI,IAAIi8B,EAAepI,EAAMqI,KAAKl8B,GAC9Bi8B,EAAa9jB,QACbpa,KAAKmiE,cAAcqC,iBAAiBp3D,KAAM8wB,GAI9CpI,EAAMqI,QACNrI,EAAMwuC,UAAY,EAGtB,IAAIjC,EAKJ,IAAKpgE,EAAI6zB,EAAMwuC,UAAWriE,EAAIosD,EAASnwB,aAAal8B,OAAQC,IAC5D,CACI,IAAIk8B,EAAOkwB,EAASnwB,aAAaj8B,GAE7Bk8B,EAAK97B,OAAS/H,EAAOyB,SAGrBoiC,EAAKxsB,OAASwsB,EAAKE,MAAM1sB,OAAOjR,QAC7By9B,EAAKE,MAAMhsB,SAGP8rB,EAAKxsB,OAAO,KAAOwsB,EAAKxsB,OAAOwsB,EAAKxsB,OAAO3P,OAAO,IAAMm8B,EAAKxsB,OAAO,KAAOwsB,EAAKxsB,OAAOwsB,EAAKxsB,OAAO3P,OAAO,IAEzGm8B,EAAKxsB,OAAOvE,KAAK+wB,EAAKxsB,OAAO,GAAIwsB,EAAKxsB,OAAO,KAKlDwsB,EAAKC,MAEDD,EAAKxsB,OAAO3P,QAAUhC,KAAKmiE,cAAcC,qBAErCjkC,EAAKxsB,OAAO3P,OAAiD,EAAxChC,KAAKmiE,cAAcC,oBAEvCC,EAAYriE,KAAKmiE,cAAcsC,WAAW3uC,EAAO,GAExB91B,KAAKmiE,cAAcuC,UAAUvmC,EAAMkkC,KAMxDA,EAAYriE,KAAKmiE,cAAcsC,WAAW3uC,EAAO,GACjD91B,KAAKmiE,cAAcwC,iBAAiBxmC,EAAMkkC,MAM9CA,EAAYriE,KAAKmiE,cAAcsC,WAAW3uC,EAAO,GACjD91B,KAAKmiE,cAAcwC,iBAAiBxmC,EAAMkkC,KAKnDlkC,EAAKo9B,UAAY,IAEhB8G,EAAYriE,KAAKmiE,cAAcsC,WAAW3uC,EAAO,GACjD91B,KAAKmiE,cAAcyC,UAAUzmC,EAAMkkC,MAMvCA,EAAYriE,KAAKmiE,cAAcsC,WAAW3uC,EAAO,GAE7CqI,EAAK97B,OAAS/H,EAAOmC,UAErBuD,KAAKmiE,cAAc0C,eAAe1mC,EAAMkkC,GAEnClkC,EAAK97B,OAAS/H,EAAOkC,QAAU2hC,EAAK97B,OAAS/H,EAAO6B,QAEzD6D,KAAKmiE,cAAc2C,YAAY3mC,EAAMkkC,GAEhClkC,EAAK97B,OAAS/H,EAAOuC,kBAE1BmD,KAAKmiE,cAAc4C,sBAAsB5mC,EAAMkkC,IAIvDvsC,EAAMwuC,YAIV,IAAKriE,EAAI,EAAGA,EAAI6zB,EAAMqI,KAAKn8B,OAAQC,KAE/BogE,EAAYvsC,EAAMqI,KAAKl8B,IACVkgB,OAAMkgD,EAAU2C,UAWrChlE,KAAKmiE,cAAcsC,WAAa,SAAS3uC,EAAOzzB,GAE5C,IAAIggE,EAsBJ,OApBIvsC,EAAMqI,KAAKn8B,QAQXqgE,EAAYvsC,EAAMqI,KAAKrI,EAAMqI,KAAKn8B,OAAO,IAE5B2gE,OAAStgE,GAAiB,IAATA,KAE1BggE,EAAYriE,KAAKmiE,cAAcqC,iBAAiBtgE,OAAS,IAAIlE,KAAKilE,kBAAkBnvC,EAAM49B,KAChFiP,KAAOtgE,EACjByzB,EAAMqI,KAAK/wB,KAAKi1D,MAZpBA,EAAYriE,KAAKmiE,cAAcqC,iBAAiBtgE,OAAS,IAAIlE,KAAKilE,kBAAkBnvC,EAAM49B,KAChFiP,KAAOtgE,EACjByzB,EAAMqI,KAAK/wB,KAAKi1D,IAcpBA,EAAUlgD,OAAQ,EAEXkgD,GAYXriE,KAAKmiE,cAAc0C,eAAiB,SAAS3mC,EAAcmkC,GAKvD,IAAI6C,EAAWhnC,EAAaG,MACxBj+B,EAAI8kE,EAAS9kE,EACb+G,EAAI+9D,EAAS/9D,EACbiD,EAAQ86D,EAAS96D,MACjBC,EAAS66D,EAAS76D,OAEtB,GAAG6zB,EAAaE,KAChB,CACI,IAAI1lB,EAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAainC,WAChDxsD,EAAQulB,EAAaknC,UAErBx9D,EAAI8Q,EAAM,GAAKC,EACf+M,EAAIhN,EAAM,GAAKC,EACfpP,EAAImP,EAAM,GAAKC,EAEf0sD,EAAQhD,EAAU1wD,OAClBsxD,EAAUZ,EAAUY,QAEpBqC,EAAUD,EAAMrjE,OAAS,EAG7BqjE,EAAMj4D,KAAKhN,EAAG+G,GACdk+D,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKhN,EAAIgK,EAAOjD,GACtBk+D,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKhN,EAAI+G,EAAIkD,GACnBg7D,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKhN,EAAIgK,EAAOjD,EAAIkD,GAC1Bg7D,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAGpBsqD,EAAQ71D,KAAKk4D,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAIpnC,EAAaq9B,UACjB,CACI,IAAIgK,EAAarnC,EAAavsB,OAE9BusB,EAAavsB,QAAUvR,EAAG+G,EAChB/G,EAAIgK,EAAOjD,EACX/G,EAAIgK,EAAOjD,EAAIkD,EACfjK,EAAG+G,EAAIkD,EACPjK,EAAG+G,GAGbnH,KAAKmiE,cAAcyC,UAAU1mC,EAAcmkC,GAE3CnkC,EAAavsB,OAAS4zD,IAa9BvlE,KAAKmiE,cAAc4C,sBAAwB,SAAS7mC,EAAcmkC,GAE9D,IAAImD,EAAYtnC,EAAaG,MACzBj+B,EAAIolE,EAAUplE,EACd+G,EAAIq+D,EAAUr+D,EACdiD,EAAQo7D,EAAUp7D,MAClBC,EAASm7D,EAAUn7D,OAEnBtC,EAASy9D,EAAUz9D,OAEnB09D,KAOJ,GANAA,EAAUr4D,KAAKhN,EAAG+G,EAAIY,GACtB09D,EAAYA,EAAUzkE,OAAOhB,KAAKmiE,cAAcuD,qBAAqBtlE,EAAG+G,EAAIkD,EAAStC,EAAQ3H,EAAG+G,EAAIkD,EAAQjK,EAAI2H,EAAQZ,EAAIkD,IAC5Ho7D,EAAYA,EAAUzkE,OAAOhB,KAAKmiE,cAAcuD,qBAAqBtlE,EAAIgK,EAAQrC,EAAQZ,EAAIkD,EAAQjK,EAAIgK,EAAOjD,EAAIkD,EAAQjK,EAAIgK,EAAOjD,EAAIkD,EAAStC,IACpJ09D,EAAYA,EAAUzkE,OAAOhB,KAAKmiE,cAAcuD,qBAAqBtlE,EAAIgK,EAAOjD,EAAIY,EAAQ3H,EAAIgK,EAAOjD,EAAG/G,EAAIgK,EAAQrC,EAAQZ,IAC9Hs+D,EAAYA,EAAUzkE,OAAOhB,KAAKmiE,cAAcuD,qBAAqBtlE,EAAI2H,EAAQZ,EAAG/G,EAAG+G,EAAG/G,EAAG+G,EAAIY,IAE7Fm2B,EAAaE,KAAM,CACnB,IAAI1lB,EAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAainC,WAChDxsD,EAAQulB,EAAaknC,UAErBx9D,EAAI8Q,EAAM,GAAKC,EACf+M,EAAIhN,EAAM,GAAKC,EACfpP,EAAImP,EAAM,GAAKC,EAEf0sD,EAAQhD,EAAU1wD,OAClBsxD,EAAUZ,EAAUY,QAEpB0C,EAASN,EAAMrjE,OAAS,EAExBs8D,EAAYhkE,EAAOwjE,OAAOC,YAAY0H,EAAW,KAAM,GAEvDxjE,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIq8D,EAAUt8D,OAAQC,GAAG,EAEjCghE,EAAQ71D,KAAKkxD,EAAUr8D,GAAK0jE,GAC5B1C,EAAQ71D,KAAKkxD,EAAUr8D,GAAK0jE,GAC5B1C,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAK0jE,GAC9B1C,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAK0jE,GAC9B1C,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAK0jE,GAIlC,IAAK1jE,EAAI,EAAGA,EAAIwjE,EAAUzjE,OAAQC,IAE9BojE,EAAMj4D,KAAKq4D,EAAUxjE,GAAIwjE,IAAYxjE,GAAI2F,EAAG8d,EAAGnc,EAAGoP,GAI1D,GAAIulB,EAAaq9B,UAAW,CACxB,IAAIgK,EAAarnC,EAAavsB,OAE9BusB,EAAavsB,OAAS8zD,EAEtBzlE,KAAKmiE,cAAcyC,UAAU1mC,EAAcmkC,GAE3CnkC,EAAavsB,OAAS4zD,IAmB9BvlE,KAAKmiE,cAAcuD,qBAAuB,SAASE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW5E,SAASC,EAAMC,EAAKC,EAAIC,GAGpB,OAAOF,GAFIC,EAAKD,GAEKE,EAIzB,IAAK,IAhBDC,EACAC,EACAC,EACAC,EACArmE,EACA+G,EAEAwK,KAQAe,EAAI,EACCzQ,EAAI,EAAGA,GAVR,GAUgBA,IAKpBqkE,EAAKJ,EAAON,EAAQE,EAHpBpzD,EAAIzQ,EAZA,IAgBJskE,EAAKL,EAAOL,EAAQE,EAAMrzD,GAC1B8zD,EAAKN,EAAOJ,EAAME,EAAMtzD,GACxB+zD,EAAKP,EAAOH,EAAME,EAAMvzD,GAGxBtS,EAAI8lE,EAAOI,EAAKE,EAAK9zD,GACrBvL,EAAI++D,EAAOK,EAAKE,EAAK/zD,GAErBf,EAAOvE,KAAKhN,EAAG+G,GAEnB,OAAOwK,GAYX3R,KAAKmiE,cAAc2C,YAAc,SAAS5mC,EAAcmkC,GAGpD,IAGIj4D,EACAC,EAJAq8D,EAAaxoC,EAAaG,MAC1Bj+B,EAAIsmE,EAAWtmE,EACf+G,EAAIu/D,EAAWv/D,EAKf+2B,EAAa77B,OAAS/H,EAAOkC,QAE7B4N,EAAQs8D,EAAW3+D,OACnBsC,EAASq8D,EAAW3+D,SAIpBqC,EAAQs8D,EAAWt8D,MACnBC,EAASq8D,EAAWr8D,QAGxB,IACIs8D,EAAiB,EAAVzmE,KAAKsH,GADA,GAGZvF,EAAI,EAER,GAAGi8B,EAAaE,KAChB,CACI,IAAI1lB,EAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAainC,WAChDxsD,EAAQulB,EAAaknC,UAErBx9D,EAAI8Q,EAAM,GAAKC,EACf+M,EAAIhN,EAAM,GAAKC,EACfpP,EAAImP,EAAM,GAAKC,EAEf0sD,EAAQhD,EAAU1wD,OAClBsxD,EAAUZ,EAAUY,QAEpB0C,EAASN,EAAMrjE,OAAS,EAI5B,IAFAihE,EAAQ71D,KAAKu4D,GAER1jE,EAAI,EAAGA,EAAI2kE,GAAgB3kE,IAE5BojE,EAAMj4D,KAAKhN,EAAE+G,EAAGS,EAAG8d,EAAGnc,EAAGoP,GAEzB0sD,EAAMj4D,KAAKhN,EAAIF,KAAK4H,IAAI6+D,EAAM1kE,GAAKmI,EACxBjD,EAAIjH,KAAK2H,IAAI8+D,EAAM1kE,GAAKoI,EACxBzC,EAAG8d,EAAGnc,EAAGoP,GAEpBsqD,EAAQ71D,KAAKu4D,IAAUA,KAG3B1C,EAAQ71D,KAAKu4D,EAAO,GAGxB,GAAGznC,EAAaq9B,UAChB,CACI,IAAIgK,EAAarnC,EAAavsB,OAI9B,IAFAusB,EAAavsB,UAER1P,EAAI,EAAGA,EAAI2kE,GAAe3kE,IAE3Bi8B,EAAavsB,OAAOvE,KAAKhN,EAAIF,KAAK4H,IAAI6+D,EAAM1kE,GAAKmI,EACxBjD,EAAIjH,KAAK2H,IAAI8+D,EAAM1kE,GAAKoI,GAGrDrK,KAAKmiE,cAAcyC,UAAU1mC,EAAcmkC,GAE3CnkC,EAAavsB,OAAS4zD,IAa9BvlE,KAAKmiE,cAAcyC,UAAY,SAAS1mC,EAAcmkC,GAGlD,IAAIpgE,EAAI,EACJ0P,EAASusB,EAAavsB,OAC1B,GAAqB,IAAlBA,EAAO3P,OAAV,CAGA,GAAGk8B,EAAaq9B,UAAU,EAEtB,IAAKt5D,EAAI,EAAGA,EAAI0P,EAAO3P,OAAQC,IAC3B0P,EAAO1P,IAAM,GAKrB,IAAI4kE,EAAa,IAAI7mE,KAAK0H,MAAOiK,EAAO,GAAIA,EAAO,IAC/Cm1D,EAAY,IAAI9mE,KAAK0H,MAAOiK,EAAOA,EAAO3P,OAAS,GAAI2P,EAAOA,EAAO3P,OAAS,IAGlF,GAAG6kE,EAAWzmE,IAAM0mE,EAAU1mE,GAAKymE,EAAW1/D,IAAM2/D,EAAU3/D,EAC9D,EAEIwK,EAASA,EAAOjR,SAETwD,MACPyN,EAAOzN,MAIP,IAAI6iE,GAFJD,EAAY,IAAI9mE,KAAK0H,MAAOiK,EAAOA,EAAO3P,OAAS,GAAI2P,EAAOA,EAAO3P,OAAS,KAEpD5B,EAAkC,IAA7BymE,EAAWzmE,EAAI0mE,EAAU1mE,GACpD4mE,EAAYF,EAAU3/D,EAAkC,IAA7B0/D,EAAW1/D,EAAI2/D,EAAU3/D,GAExDwK,EAAOs1D,QAAQF,EAAWC,GAC1Br1D,EAAOvE,KAAK25D,EAAWC,GAG3B,IAgBIhiE,EAAIwqC,EAAI03B,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtCr6D,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAcg6D,EAnBdzC,EAAQhD,EAAU1wD,OAClBsxD,EAAUZ,EAAUY,QACpBjhE,EAAS2P,EAAO3P,OAAS,EACzB+lE,EAAap2D,EAAO3P,OACpBgmE,EAAa3C,EAAMrjE,OAAO,EAG1BoI,EAAQ8zB,EAAaq9B,UAAY,EAGjC7iD,EAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAa+pC,WAChDtvD,EAAQulB,EAAagqC,UACrBtgE,EAAI8Q,EAAM,GAAKC,EACf+M,EAAIhN,EAAM,GAAKC,EACfpP,EAAImP,EAAM,GAAKC,EA8BnB,IAvBAuuD,EAAMv1D,EAAO,GACbw1D,EAAMx1D,EAAO,GAEby1D,EAAMz1D,EAAO,GAGb61D,IAAUL,GAFVE,EAAM11D,EAAO,KAGb81D,EAASP,EAAME,EAIfI,GAFAM,EAAO5nE,KAAKqK,KAAKi9D,EAAMA,EAAQC,EAAMA,GAGrCA,GAASK,EACTN,GAASp9D,EACTq9D,GAASr9D,EAGTi7D,EAAMj4D,KAAK85D,EAAMM,EAAQL,EAAMM,EACnB7/D,EAAG8d,EAAGnc,EAAGoP,GAErB0sD,EAAMj4D,KAAK85D,EAAMM,EAAQL,EAAMM,EACnB7/D,EAAG8d,EAAGnc,EAAGoP,GAEhB1W,EAAI,EAAGA,EAAID,EAAO,EAAGC,IAEtBilE,EAAMv1D,EAAa,GAAL1P,EAAE,IAChBklE,EAAMx1D,EAAa,GAAL1P,EAAE,GAAO,GAEvBmlE,EAAMz1D,EAAW,EAAJ,GACb01D,EAAM11D,EAAW,EAAJ,EAAQ,GAErB21D,EAAM31D,EAAa,GAAL1P,EAAE,IAChBslE,EAAM51D,EAAa,GAAL1P,EAAE,GAAO,GAEvBulE,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAO5nE,KAAKqK,KAAKi9D,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAASp9D,EACTq9D,GAASr9D,EAETs9D,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAO5nE,KAAKqK,KAAKm9D,EAAOA,EAASC,EAAOA,GAExCA,GAAUG,EAMVl6D,IAAO45D,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlEt5D,KARA65D,GAAUt9D,GAQMk9D,MAPhBK,GAAUv9D,GAOwBi9D,KAASK,EAASN,KAASO,EAASJ,GAEtEz5D,GAPAN,GAAOi6D,EAAQN,IAASM,EAAQJ,KAIhC15D,GAAO+5D,EAASN,IAASM,EAASJ,KADlC75D,GAAOk6D,EAASJ,IAASI,EAASN,KAFlC35D,GAAO85D,EAAQJ,IAASI,EAAQN,IAQ7BhnE,KAAK2J,IAAIiE,GAAS,IAGjBA,GAAO,KACPu3D,EAAMj4D,KAAKg6D,EAAMI,EAAQH,EAAMI,EAC3B7/D,EAAG8d,EAAGnc,EAAGoP,GAEb0sD,EAAMj4D,KAAKg6D,EAAMI,EAAQH,EAAMI,EAC3B7/D,EAAG8d,EAAGnc,EAAGoP,MAKjB3T,GAAM0I,EAAGG,EAAKF,EAAGC,GAAIE,GAIRs5D,IAAQpiE,EAAIoiE,KAHzB53B,GAAM/hC,EAAGG,EAAKJ,EAAGK,GAAIC,GAGgBu5D,IAAQ73B,EAAI63B,GAGtC,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAO5nE,KAAKqK,KAAKq9D,EAAOA,EAASC,EAAOA,GAExCA,GAAUC,EACVF,GAAUx9D,EACVy9D,GAAUz9D,EAEVi7D,EAAMj4D,KAAKg6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKg6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKg6D,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpBovD,MAKA1C,EAAMj4D,KAAKpI,EAAKwqC,GAChB61B,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKg6D,GAAOpiE,EAAGoiE,GAAMC,GAAO73B,EAAK63B,IACvChC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,IA2B5B,IAvBAuuD,EAAMv1D,EAAkB,GAAV3P,EAAO,IACrBmlE,EAAMx1D,EAAkB,GAAV3P,EAAO,GAAO,GAE5BolE,EAAMz1D,EAAkB,GAAV3P,EAAO,IAGrBwlE,IAAUL,GAFVE,EAAM11D,EAAkB,GAAV3P,EAAO,GAAO,KAG5BylE,EAAQP,EAAME,EAGdI,GADAM,EAAO5nE,KAAKqK,KAAKi9D,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAASp9D,EACTq9D,GAASr9D,EAETi7D,EAAMj4D,KAAKg6D,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpB0sD,EAAMj4D,KAAKg6D,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAMj4D,KAAKxF,EAAG8d,EAAGnc,EAAGoP,GAEpBsqD,EAAQ71D,KAAK46D,GAER/lE,EAAI,EAAGA,EAAI8lE,EAAY9lE,IAExBghE,EAAQ71D,KAAK46D,KAGjB/E,EAAQ71D,KAAK46D,EAAW,KAY5BhoE,KAAKmiE,cAAcwC,iBAAmB,SAASzmC,EAAcmkC,GAGzD,IAAI1wD,EAASusB,EAAavsB,OAAOjR,QACjC,KAAGiR,EAAO3P,OAAS,GAAnB,CAGA,IAAIihE,EAAUZ,EAAUY,QACxBZ,EAAU1wD,OAASA,EACnB0wD,EAAU1pD,MAAQulB,EAAaknC,UAC/B/C,EAAU3pD,MAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAainC,WAc1D,IAAK,IAHD/kE,EAAE+G,EANFolD,EAAOsU,EAAAA,EACPpU,GAAQoU,EAAAA,EAERrU,EAAOqU,EAAAA,EACPnU,GAAQmU,EAAAA,EAKH5+D,EAAI,EAAGA,EAAI0P,EAAO3P,OAAQC,GAAG,EAElC7B,EAAIuR,EAAO1P,GACXkF,EAAIwK,EAAO1P,EAAE,GAEbsqD,EAAOnsD,EAAImsD,EAAOnsD,EAAImsD,EACtBE,EAAOrsD,EAAIqsD,EAAOrsD,EAAIqsD,EAEtBD,EAAOrlD,EAAIqlD,EAAOrlD,EAAIqlD,EACtBE,EAAOvlD,EAAIulD,EAAOvlD,EAAIulD,EAI1B/6C,EAAOvE,KAAKm/C,EAAMC,EACNC,EAAMD,EACNC,EAAMC,EACNH,EAAMG,GAKlB,IAAI1qD,EAAS2P,EAAO3P,OAAS,EAC7B,IAAKC,EAAI,EAAGA,EAAID,EAAQC,IAEpBghE,EAAQ71D,KAAMnL,KActBjC,KAAKmiE,cAAcuC,UAAY,SAASxmC,EAAcmkC,GAElD,IAAI1wD,EAASusB,EAAavsB,OAE1B,KAAGA,EAAO3P,OAAS,GAAnB,CAEA,IAAIqjE,EAAQhD,EAAU1wD,OAClBsxD,EAAUZ,EAAUY,QAEpBjhE,EAAS2P,EAAO3P,OAAS,EAGzB0W,EAAQpe,EAAO2tB,MAAM27C,cAAc1lC,EAAainC,WAChDxsD,EAAQulB,EAAaknC,UACrBx9D,EAAI8Q,EAAM,GAAKC,EACf+M,EAAIhN,EAAM,GAAKC,EACfpP,EAAImP,EAAM,GAAKC,EAEf2lD,EAAYhkE,EAAOwjE,OAAOC,YAAYpsD,EAAQ,KAAM,GAExD,IAAI2sD,EAAU,OAAO,EAErB,IAAIgH,EAAUD,EAAMrjE,OAAS,EAEzBC,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIq8D,EAAUt8D,OAAQC,GAAG,EAEjCghE,EAAQ71D,KAAKkxD,EAAUr8D,GAAKqjE,GAC5BrC,EAAQ71D,KAAKkxD,EAAUr8D,GAAKqjE,GAC5BrC,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAKqjE,GAC9BrC,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAIqjE,GAC7BrC,EAAQ71D,KAAKkxD,EAAUr8D,EAAE,GAAKqjE,GAGlC,IAAKrjE,EAAI,EAAGA,EAAID,EAAQC,IAEpBojE,EAAMj4D,KAAKuE,EAAW,EAAJ1P,GAAQ0P,EAAW,EAAJ1P,EAAQ,GAC9B2F,EAAG8d,EAAGnc,EAAGoP,GAGxB,OAAO,IAGX3Y,KAAKmiE,cAAcqC,oBAOnBxkE,KAAKilE,kBAAoB,SAASvR,GAE9Bz5D,KAAKy5D,GAAKA,EAGVz5D,KAAKye,OAAS,EAAE,EAAE,GAClBze,KAAK0X,UACL1X,KAAKgpE,WACLhpE,KAAK86D,OAASrB,EAAGyU,eACjBluE,KAAKmqE,YAAc1Q,EAAGyU,eACtBluE,KAAK0oE,KAAO,EACZ1oE,KAAK0e,MAAQ,EACb1e,KAAKkoB,OAAQ,GAMjBniB,KAAKilE,kBAAkBzkE,UAAU4Z,MAAQ,WAErCngB,KAAK0X,UACL1X,KAAKgpE,YAMTjjE,KAAKilE,kBAAkBzkE,UAAUwkE,OAAS,WAEtC,IAAItR,EAAKz5D,KAAKy5D,GAGdz5D,KAAKmuE,SAAW,IAAIp5D,aAAa/U,KAAK0X,QAEtC+hD,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAK86D,QACpCrB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAKmuE,SAAU1U,EAAG4U,aAEjDruE,KAAKsuE,WAAa,IAAIC,YAAYvuE,KAAKgpE,SAEvCvP,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKmqE,aAC5C1Q,EAAG2U,WAAW3U,EAAGyQ,qBAAsBlqE,KAAKsuE,WAAY7U,EAAG4U,aAE3DruE,KAAKkoB,OAAQ,GAcjBniB,KAAKg6D,eAAiB,aAYtBh6D,KAAKg6D,eAAeC,eAAiB,SAAS5L,EAAUtvC,GAEpD,IAAI2H,EAAa2nC,EAAS3nC,WAEtB2nC,EAASlsC,QAETloB,KAAKwuE,mBAAmBpa,GACxBA,EAASlsC,OAAQ,GAGrB,IAAK,IAAIlgB,EAAI,EAAGA,EAAIosD,EAASnwB,aAAal8B,OAAQC,IAClD,CACI,IAAIk8B,EAAOkwB,EAASnwB,aAAaj8B,GAC7Bo8B,EAAQF,EAAKE,MAEb8mC,EAAYhnC,EAAKuqC,UACjBT,EAAY9pC,EAAKwqC,UAIrB,GAFA5pD,EAAQw8C,UAAYp9B,EAAKo9B,UAErBp9B,EAAK97B,OAAS/H,EAAOyB,QACzB,CACIgjB,EAAQm8C,YAER,IAAIvpD,EAAS0sB,EAAM1sB,OAEnBoN,EAAQs8C,OAAO1pD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIe,EAAE,EAAGA,EAAIf,EAAO3P,OAAO,EAAG0Q,IAE/BqM,EAAQu8C,OAAO3pD,EAAW,EAAJe,GAAQf,EAAW,EAAJe,EAAQ,IAG7C2rB,EAAMhsB,QAEN0M,EAAQu8C,OAAO3pD,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAO3P,OAAO,IAAM2P,EAAO,KAAOA,EAAOA,EAAO3P,OAAO,IAE5E+c,EAAQq8C,YAGRj9B,EAAKC,OAELrf,EAAQk1C,YAAc91B,EAAKinC,UAAY1+C,EACvC3H,EAAQy3C,UAAY,KAAO,SAAwB,EAAZ2O,GAAexjE,SAAS,KAAKsD,QAAQ,GAC5E8Z,EAAQqf,QAGRD,EAAKo9B,YAELx8C,EAAQk1C,YAAc91B,EAAK+pC,UAAYxhD,EACvC3H,EAAQy8C,YAAc,KAAO,SAAwB,EAAZyM,GAAetmE,SAAS,KAAKsD,QAAQ,GAC9E8Z,EAAQ08C,eAGX,GAAIt9B,EAAK97B,OAAS/H,EAAOmC,WAEtB0hC,EAAKgnC,WAAgC,IAAnBhnC,EAAKgnC,aAEvBpmD,EAAQk1C,YAAc91B,EAAKinC,UAAY1+C,EACvC3H,EAAQy3C,UAAY,KAAO,SAAwB,EAAZ2O,GAAexjE,SAAS,KAAKsD,QAAQ,GAC5E8Z,EAAQ03C,SAASp4B,EAAMj+B,EAAGi+B,EAAMl3B,EAAGk3B,EAAMj0B,MAAOi0B,EAAMh0B,SAGtD8zB,EAAKo9B,YAELx8C,EAAQk1C,YAAc91B,EAAK+pC,UAAYxhD,EACvC3H,EAAQy8C,YAAc,KAAO,SAAwB,EAAZyM,GAAetmE,SAAS,KAAKsD,QAAQ,GAC9E8Z,EAAQ6pD,WAAWvqC,EAAMj+B,EAAGi+B,EAAMl3B,EAAGk3B,EAAMj0B,MAAOi0B,EAAMh0B,cAG3D,GAAI8zB,EAAK97B,OAAS/H,EAAOkC,OAG1BuiB,EAAQm8C,YACRn8C,EAAQo8C,IAAI98B,EAAMj+B,EAAGi+B,EAAMl3B,EAAGk3B,EAAMt2B,OAAO,EAAE,EAAE7H,KAAKsH,IACpDuX,EAAQq8C,YAEJj9B,EAAKC,OAELrf,EAAQk1C,YAAc91B,EAAKinC,UAAY1+C,EACvC3H,EAAQy3C,UAAY,KAAO,SAAwB,EAAZ2O,GAAexjE,SAAS,KAAKsD,QAAQ,GAC5E8Z,EAAQqf,QAGRD,EAAKo9B,YAELx8C,EAAQk1C,YAAc91B,EAAK+pC,UAAYxhD,EACvC3H,EAAQy8C,YAAc,KAAO,SAAwB,EAAZyM,GAAetmE,SAAS,KAAKsD,QAAQ,GAC9E8Z,EAAQ08C,eAGX,GAAIt9B,EAAK97B,OAAS/H,EAAO6B,QAC9B,CAGI,IAAI6b,EAAkB,EAAdqmB,EAAMj0B,MACV6N,EAAmB,EAAfomB,EAAMh0B,OAEVjK,EAAIi+B,EAAMj+B,EAAI4X,EAAE,EAChB7Q,EAAIk3B,EAAMl3B,EAAI8Q,EAAE,EAEpB8G,EAAQm8C,YAER,IACI2N,EAAM7wD,EAAI,EADF,SAER8wD,EAAM7wD,EAAI,EAFF,SAGR8wD,EAAK3oE,EAAI4X,EACTgxD,EAAK7hE,EAAI8Q,EACTgxD,EAAK7oE,EAAI4X,EAAI,EACbkxD,EAAK/hE,EAAI8Q,EAAI,EAEjB8G,EAAQs8C,OAAOj7D,EAAG8oE,GAClBnqD,EAAQoqD,cAAc/oE,EAAG8oE,EAAKJ,EAAIG,EAAKJ,EAAI1hE,EAAG8hE,EAAI9hE,GAClD4X,EAAQoqD,cAAcF,EAAKJ,EAAI1hE,EAAG4hE,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDnqD,EAAQoqD,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDjqD,EAAQoqD,cAAcF,EAAKJ,EAAIG,EAAI5oE,EAAG8oE,EAAKJ,EAAI1oE,EAAG8oE,GAElDnqD,EAAQq8C,YAEJj9B,EAAKC,OAELrf,EAAQk1C,YAAc91B,EAAKinC,UAAY1+C,EACvC3H,EAAQy3C,UAAY,KAAO,SAAwB,EAAZ2O,GAAexjE,SAAS,KAAKsD,QAAQ,GAC5E8Z,EAAQqf,QAGRD,EAAKo9B,YAELx8C,EAAQk1C,YAAc91B,EAAK+pC,UAAYxhD,EACvC3H,EAAQy8C,YAAc,KAAO,SAAwB,EAAZyM,GAAetmE,SAAS,KAAKsD,QAAQ,GAC9E8Z,EAAQ08C,eAGX,GAAIt9B,EAAK97B,OAAS/H,EAAOuC,iBAC9B,CACI,IAAIwX,EAAKgqB,EAAMj+B,EACXkU,EAAK+pB,EAAMl3B,EACXiD,EAAQi0B,EAAMj0B,MACdC,EAASg0B,EAAMh0B,OACftC,EAASs2B,EAAMt2B,OAEfqhE,EAAYlpE,KAAKuM,IAAIrC,EAAOC,GAAU,EAAI,EAC9CtC,EAASA,EAASqhE,EAAYA,EAAYrhE,EAE1CgX,EAAQm8C,YACRn8C,EAAQs8C,OAAOhnD,EAAIC,EAAKvM,GACxBgX,EAAQu8C,OAAOjnD,EAAIC,EAAKjK,EAAStC,GACjCgX,EAAQsqD,iBAAiBh1D,EAAIC,EAAKjK,EAAQgK,EAAKtM,EAAQuM,EAAKjK,GAC5D0U,EAAQu8C,OAAOjnD,EAAKjK,EAAQrC,EAAQuM,EAAKjK,GACzC0U,EAAQsqD,iBAAiBh1D,EAAKjK,EAAOkK,EAAKjK,EAAQgK,EAAKjK,EAAOkK,EAAKjK,EAAStC,GAC5EgX,EAAQu8C,OAAOjnD,EAAKjK,EAAOkK,EAAKvM,GAChCgX,EAAQsqD,iBAAiBh1D,EAAKjK,EAAOkK,EAAID,EAAKjK,EAAQrC,EAAQuM,GAC9DyK,EAAQu8C,OAAOjnD,EAAKtM,EAAQuM,GAC5ByK,EAAQsqD,iBAAiBh1D,EAAIC,EAAID,EAAIC,EAAKvM,GAC1CgX,EAAQq8C,aAEJj9B,EAAKgnC,WAAgC,IAAnBhnC,EAAKgnC,aAEvBpmD,EAAQk1C,YAAc91B,EAAKinC,UAAY1+C,EACvC3H,EAAQy3C,UAAY,KAAO,SAAwB,EAAZ2O,GAAexjE,SAAS,KAAKsD,QAAQ,GAC5E8Z,EAAQqf,QAGRD,EAAKo9B,YAELx8C,EAAQk1C,YAAc91B,EAAK+pC,UAAYxhD,EACvC3H,EAAQy8C,YAAc,KAAO,SAAwB,EAAZyM,GAAetmE,SAAS,KAAKsD,QAAQ,GAC9E8Z,EAAQ08C,aAgBxBz7D,KAAKg6D,eAAesP,mBAAqB,SAASjb,EAAUtvC,GAExD,IAAIhd,EAAMssD,EAASnwB,aAAal8B,OAEhC,GAAY,IAARD,EAAJ,CAKAgd,EAAQm8C,YAER,IAAK,IAAIj5D,EAAI,EAAGA,EAAIF,EAAKE,IACzB,CACI,IAAIk8B,EAAOkwB,EAASnwB,aAAaj8B,GAC7Bo8B,EAAQF,EAAKE,MAEjB,GAAIF,EAAK97B,OAAS/H,EAAOyB,QACzB,CAEI,IAAI4V,EAAS0sB,EAAM1sB,OAEnBoN,EAAQs8C,OAAO1pD,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAIe,EAAE,EAAGA,EAAIf,EAAO3P,OAAO,EAAG0Q,IAE/BqM,EAAQu8C,OAAO3pD,EAAW,EAAJe,GAAQf,EAAW,EAAJe,EAAQ,IAI7Cf,EAAO,KAAOA,EAAOA,EAAO3P,OAAO,IAAM2P,EAAO,KAAOA,EAAOA,EAAO3P,OAAO,IAE5E+c,EAAQq8C,iBAIX,GAAIj9B,EAAK97B,OAAS/H,EAAOmC,UAE1BsiB,EAAQ7Q,KAAKmwB,EAAMj+B,EAAGi+B,EAAMl3B,EAAGk3B,EAAMj0B,MAAOi0B,EAAMh0B,QAClD0U,EAAQq8C,iBAEP,GAAIj9B,EAAK97B,OAAS/H,EAAOkC,OAG1BuiB,EAAQo8C,IAAI98B,EAAMj+B,EAAGi+B,EAAMl3B,EAAGk3B,EAAMt2B,OAAQ,EAAG,EAAI7H,KAAKsH,IACxDuX,EAAQq8C,iBAEP,GAAIj9B,EAAK97B,OAAS/H,EAAO6B,QAC9B,CAII,IAAI6b,EAAkB,EAAdqmB,EAAMj0B,MACV6N,EAAmB,EAAfomB,EAAMh0B,OAEVjK,EAAIi+B,EAAMj+B,EAAI4X,EAAE,EAChB7Q,EAAIk3B,EAAMl3B,EAAI8Q,EAAE,EAGhB4wD,EAAM7wD,EAAI,EADF,SAER8wD,EAAM7wD,EAAI,EAFF,SAGR8wD,EAAK3oE,EAAI4X,EACTgxD,EAAK7hE,EAAI8Q,EACTgxD,EAAK7oE,EAAI4X,EAAI,EACbkxD,EAAK/hE,EAAI8Q,EAAI,EAEjB8G,EAAQs8C,OAAOj7D,EAAG8oE,GAClBnqD,EAAQoqD,cAAc/oE,EAAG8oE,EAAKJ,EAAIG,EAAKJ,EAAI1hE,EAAG8hE,EAAI9hE,GAClD4X,EAAQoqD,cAAcF,EAAKJ,EAAI1hE,EAAG4hE,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDnqD,EAAQoqD,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDjqD,EAAQoqD,cAAcF,EAAKJ,EAAIG,EAAI5oE,EAAG8oE,EAAKJ,EAAI1oE,EAAG8oE,GAClDnqD,EAAQq8C,iBAEP,GAAIj9B,EAAK97B,OAAS/H,EAAOuC,iBAC9B,CAEI,IAAIwX,EAAKgqB,EAAMj+B,EACXkU,EAAK+pB,EAAMl3B,EACXiD,EAAQi0B,EAAMj0B,MACdC,EAASg0B,EAAMh0B,OACftC,EAASs2B,EAAMt2B,OAEfqhE,EAAYlpE,KAAKuM,IAAIrC,EAAOC,GAAU,EAAI,EAC9CtC,EAASA,EAASqhE,EAAYA,EAAYrhE,EAE1CgX,EAAQs8C,OAAOhnD,EAAIC,EAAKvM,GACxBgX,EAAQu8C,OAAOjnD,EAAIC,EAAKjK,EAAStC,GACjCgX,EAAQsqD,iBAAiBh1D,EAAIC,EAAKjK,EAAQgK,EAAKtM,EAAQuM,EAAKjK,GAC5D0U,EAAQu8C,OAAOjnD,EAAKjK,EAAQrC,EAAQuM,EAAKjK,GACzC0U,EAAQsqD,iBAAiBh1D,EAAKjK,EAAOkK,EAAKjK,EAAQgK,EAAKjK,EAAOkK,EAAKjK,EAAStC,GAC5EgX,EAAQu8C,OAAOjnD,EAAKjK,EAAOkK,EAAKvM,GAChCgX,EAAQsqD,iBAAiBh1D,EAAKjK,EAAOkK,EAAID,EAAKjK,EAAQrC,EAAQuM,GAC9DyK,EAAQu8C,OAAOjnD,EAAKtM,EAAQuM,GAC5ByK,EAAQsqD,iBAAiBh1D,EAAIC,EAAID,EAAIC,EAAKvM,GAC1CgX,EAAQq8C,gBAKpBp7D,KAAKg6D,eAAeyO,mBAAqB,SAASpa,GAE9C,GAAsB,WAAlBA,EAAS9I,KASb,IAAK,IAJDgkB,GAASlb,EAAS9I,MAAQ,GAAK,KAAQ,IACvCikB,GAASnb,EAAS9I,MAAQ,EAAI,KAAQ,IACtCkkB,GAAyB,IAAhBpb,EAAS9I,MAAc,IAE3BtjD,EAAI,EAAGA,EAAIosD,EAASnwB,aAAal8B,OAAQC,IAClD,CACI,IAAIk8B,EAAOkwB,EAASnwB,aAAaj8B,GAE7BkjE,EAA6B,EAAjBhnC,EAAKgnC,UACjB8C,EAA6B,EAAjB9pC,EAAK8pC,UAErB9pC,EAAKuqC,YAAevD,GAAa,GAAK,KAAQ,IAAMoE,EAAM,KAAO,MAAQpE,GAAa,EAAI,KAAQ,IAAMqE,EAAM,KAAO,IAAmB,IAAZrE,GAAoB,IAAMsE,EAAM,IAC5JtrC,EAAKwqC,YAAeV,GAAa,GAAK,KAAQ,IAAMsB,EAAM,KAAO,MAAQtB,GAAa,EAAI,KAAQ,IAAMuB,EAAM,KAAO,IAAmB,IAAZvB,GAAoB,IAAMwB,EAAM,MAoBpKnvE,EAAOovE,aAAe,SAAUnO,EAAW0M,EAAWC,EAAW/C,EAAWC,EAAWhnC,EAAMC,GAKzFpkC,KAAKshE,UAAYA,EAKjBthE,KAAKguE,UAAYA,EAKjBhuE,KAAKiuE,UAAYA,EAKjBjuE,KAAK0uE,UAAYV,EAKjBhuE,KAAKkrE,UAAYA,EAKjBlrE,KAAKmrE,UAAYA,EAKjBnrE,KAAKyuE,UAAYvD,EAKjBlrE,KAAKmkC,KAAOA,EAKZnkC,KAAKokC,MAAQA,EAKbpkC,KAAKoI,KAAOg8B,EAAMh8B,MAItB/H,EAAOovE,aAAalpE,UAAU8B,YAAchI,EAAOovE,aAOnDpvE,EAAOovE,aAAalpE,UAAU4F,MAAQ,WAElC,OAAO,IAAI9L,EAAOovE,aACdzvE,KAAKshE,UACLthE,KAAKguE,UACLhuE,KAAKiuE,UACLjuE,KAAKkrE,UACLlrE,KAAKmrE,UACLnrE,KAAKmkC,KACLnkC,KAAKokC,QAsDb/jC,EAAOid,SAAW,SAAUrC,EAAM9U,EAAG+G,QAEvB5C,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,GAM3BlN,KAAKoI,KAAO/H,EAAOgB,SAMnBrB,KAAK2uB,YAActuB,EAAOa,OAM1BlB,KAAK+pB,OAAS,IAAI1pB,EAAOoN,MAEzB1H,KAAKklB,uBAAuBjkB,KAAKhH,MAEjCA,KAAKksD,YAAa,EAQlBlsD,KAAKmrE,UAAY,EAQjBnrE,KAAKshE,UAAY,EASjBthE,KAAKguE,UAAY,EASjBhuE,KAAKikC,gBASLjkC,KAAKsrD,KAAO,SASZtrD,KAAKm/D,UAAYp5D,KAAKtB,WAAWC,OASjC1E,KAAK0vE,YAAc,KASnB1vE,KAAKyoE,UAQLzoE,KAAK2vE,QAAS,EAQd3vE,KAAK4vE,cAAgB,EAErB5vE,KAAK6vE,aAAe,IAAIxvE,EAAO2N,UAAU,EAAG,EAAG,EAAG,GASlDhO,KAAKkoB,OAAQ,EAUbloB,KAAK8vE,cAAe,EASpB9vE,KAAK+vE,YAAa,EASlB/vE,KAAKgwE,mBAAoB,EAEzB3vE,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAG,GAAI,OAI1D7M,EAAOid,SAAS/W,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WACtElG,EAAOid,SAAS/W,UAAU8B,YAAchI,EAAOid,SAE/Cjd,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAOid,SAAS/W,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJlG,EAAOid,SAAS/W,UAAU0vD,iBAAmB51D,EAAOioD,UAAUwB,YAAYrsC,UAC1Epd,EAAOid,SAAS/W,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UACxEpd,EAAOid,SAAS/W,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACtEpd,EAAOid,SAAS/W,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAOhEpd,EAAOid,SAAS/W,UAAUkX,UAAY,WAElC,SAAKzd,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAShB/1D,EAAOid,SAAS/W,UAAUwkB,WAAa,WAEnC1qB,EAAOioD,UAAUwB,YAAY/+B,WAAW/jB,KAAKhH,MAC7CK,EAAOioD,UAAU2B,cAAcl/B,WAAW/jB,KAAKhH,MAE3CA,KAAK8vE,eAEL9vE,KAAKiwE,oBACLjwE,KAAK8vE,cAAe,GAGxB,IAAK,IAAI9nE,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+iB,cAWzB1qB,EAAOid,SAAS/W,UAAUge,QAAU,SAAUmT,GAE1C13B,KAAK2e,QAELte,EAAOioD,UAAUmD,QAAQllD,UAAUge,QAAQvd,KAAKhH,KAAM03B,IAW1Dr3B,EAAOid,SAAS/W,UAAU2pE,aAAe,SAAUx4D,EAAQy4D,QAE1C7lE,IAAT6lE,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAI/vE,EAAO4X,QAAQP,GAElC,GAAIy4D,EACJ,CACI,IAAIE,EAAe,IAAIhwE,EAAOoN,MAAMzN,KAAKib,KAAKoC,OAAOlX,EAAIuR,EAAO,GAAGvR,EAAGnG,KAAKib,KAAKoC,OAAOnQ,EAAIwK,EAAO,GAAGxK,GACjGojE,EAAK,IAAIjwE,EAAOoN,MAAMiK,EAAO,GAAGvR,EAAIuR,EAAO,GAAGvR,EAAGuR,EAAO,GAAGxK,EAAIwK,EAAO,GAAGxK,GAEzEqjE,EADK,IAAIlwE,EAAOoN,MAAMiK,EAAO,GAAGvR,EAAIuR,EAAO,GAAGvR,EAAGuR,EAAO,GAAGxK,EAAIwK,EAAO,GAAGxK,GACzD4J,MAAMw5D,GAEtBD,EAAax5D,IAAI05D,GAAc,GAE/BvwE,KAAKwwE,YAAYJ,QAKrBpwE,KAAKwwE,YAAYJ,IAazB/vE,EAAOid,SAAS/W,UAAUkqE,cAAgB,SAAUC,EAAU1H,EAASmH,QAEtD7lE,IAAT6lE,IAAsBA,GAAO,GAEjC,IAIInoE,EAJA2oE,EAAS,IAAItwE,EAAOoN,MACpBmjE,EAAS,IAAIvwE,EAAOoN,MACpBojE,EAAS,IAAIxwE,EAAOoN,MACpBiK,KAGJ,GAAKsxD,EAyBD,GAAI0H,EAAS,aAAcrwE,EAAOoN,MAE9B,IAAKzF,EAAI,EAAGA,EAAIghE,EAAQjhE,OAAQ,EAAGC,IAE/B0P,EAAOvE,KAAKu9D,EAAS1H,EAAY,EAAJhhE,KAC7B0P,EAAOvE,KAAKu9D,EAAS1H,EAAY,EAAJhhE,EAAQ,KACrC0P,EAAOvE,KAAKu9D,EAAS1H,EAAY,EAAJhhE,EAAQ,KAEf,IAAlB0P,EAAO3P,SAEP/H,KAAKkwE,aAAax4D,EAAQy4D,GAC1Bz4D,WAMR,IAAK1P,EAAI,EAAGA,EAAIghE,EAAQjhE,OAAQC,IAE5B2oE,EAAOxqE,EAAIuqE,EAAsB,EAAb1H,EAAQhhE,IAC5B2oE,EAAOzjE,EAAIwjE,EAAsB,EAAb1H,EAAQhhE,GAAS,GACrC0P,EAAOvE,KAAKw9D,EAAOviE,YAEG,IAAlBsJ,EAAO3P,SAEP/H,KAAKkwE,aAAax4D,EAAQy4D,GAC1Bz4D,WAjDZ,GAAIg5D,EAAS,aAAcrwE,EAAOoN,MAE9B,IAAKzF,EAAI,EAAGA,EAAI0oE,EAAS3oE,OAAS,EAAGC,IAEjChI,KAAKkwE,cAAcQ,EAAa,EAAJ1oE,GAAQ0oE,EAAa,EAAJ1oE,EAAQ,GAAI0oE,EAAa,EAAJ1oE,EAAQ,IAAKmoE,QAKnF,IAAKnoE,EAAI,EAAGA,EAAI0oE,EAAS3oE,OAAS,EAAGC,IAEjC2oE,EAAOxqE,EAAIuqE,EAAa,EAAJ1oE,EAAQ,GAC5B2oE,EAAOzjE,EAAIwjE,EAAa,EAAJ1oE,EAAQ,GAC5B4oE,EAAOzqE,EAAIuqE,EAAa,EAAJ1oE,EAAQ,GAC5B4oE,EAAO1jE,EAAIwjE,EAAa,EAAJ1oE,EAAQ,GAC5B6oE,EAAO1qE,EAAIuqE,EAAa,EAAJ1oE,EAAQ,GAC5B6oE,EAAO3jE,EAAIwjE,EAAa,EAAJ1oE,EAAQ,GAC5BhI,KAAKkwE,cAAcS,EAAQC,EAAQC,GAASV,IAgD5D9vE,EAAOid,SAAS/W,UAAUuqE,UAAY,SAAUxP,EAAW7iD,EAAOC,GAsB9D,OApBA1e,KAAKshE,UAAYA,GAAa,EAC9BthE,KAAKguE,UAAYvvD,GAAS,EAC1Bze,KAAKiuE,eAAuB3jE,IAAVoU,EAAuB,EAAIA,EAEzC1e,KAAK0vE,cAED1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,OAG9B/H,KAAK+wE,UAAU,IAAI1wE,EAAO4X,QAAQjY,KAAK0vE,YAAYtrC,MAAM1sB,OAAOjR,OAAO,MAKvEzG,KAAK0vE,YAAYpO,UAAYthE,KAAKshE,UAClCthE,KAAK0vE,YAAY1B,UAAYhuE,KAAKguE,UAClChuE,KAAK0vE,YAAYzB,UAAYjuE,KAAKiuE,YAInCjuE,MAYXK,EAAOid,SAAS/W,UAAU66D,OAAS,SAAUj7D,EAAG+G,GAI5C,OAFAlN,KAAK+wE,UAAU,IAAI1wE,EAAO4X,SAAU9R,EAAG+G,KAEhClN,MAaXK,EAAOid,SAAS/W,UAAU86D,OAAS,SAAUl7D,EAAG+G,GAW5C,OATKlN,KAAK0vE,aAEN1vE,KAAKohE,OAAO,EAAG,GAGnBphE,KAAK0vE,YAAYtrC,MAAM1sB,OAAOvE,KAAKhN,EAAG+G,GACtClN,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb9vE,MAeXK,EAAOid,SAAS/W,UAAU6oE,iBAAmB,SAAUvD,EAAKC,EAAKC,EAAKC,GAE9DhsE,KAAK0vE,YAEwC,IAAzC1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,SAE9B/H,KAAK0vE,YAAYtrC,MAAM1sB,QAAW,EAAG,IAKzC1X,KAAKohE,OAAO,EAAE,GAGlB,IAAIiL,EACAC,EAEA50D,EAAS1X,KAAK0vE,YAAYtrC,MAAM1sB,OAEd,IAAlBA,EAAO3P,QAEP/H,KAAKohE,OAAO,EAAG,GAMnB,IAAK,IAHDuK,EAAQj0D,EAAOA,EAAO3P,OAAS,GAC/B6jE,EAAQl0D,EAAOA,EAAO3P,OAAS,GAC/B0Q,EAAI,EACCzQ,EAAI,EAAGA,GAXR,KAWkBA,EAItBqkE,EAAKV,GAAUE,EAAMF,IAFrBlzD,EAAIzQ,EAbA,IAgBJskE,EAAKV,GAAUE,EAAMF,GAASnzD,EAE9Bf,EAAOvE,KAAMk5D,GAASR,GAASE,EAAMF,GAAOpzD,EAAO4zD,GAAM5zD,EAC5C6zD,GAASR,GAASE,EAAMF,GAAOrzD,EAAO6zD,GAAM7zD,GAM7D,OAHAzY,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb9vE,MAgBXK,EAAOid,SAAS/W,UAAU2oE,cAAgB,SAAUrD,EAAKC,EAAKkF,EAAMC,EAAMlF,EAAKC,GAEvEhsE,KAAK0vE,YAEwC,IAAzC1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,SAE9B/H,KAAK0vE,YAAYtrC,MAAM1sB,QAAU,EAAG,IAKxC1X,KAAKohE,OAAO,EAAE,GAelB,IAAK,IAXD8P,EACAC,EACAC,EACAC,EACAC,EACA55D,EAAS1X,KAAK0vE,YAAYtrC,MAAM1sB,OAEhCi0D,EAAQj0D,EAAOA,EAAO3P,OAAO,GAC7B6jE,EAAQl0D,EAAOA,EAAO3P,OAAO,GAC7B0Q,EAAI,EAECzQ,EAAI,EAAGA,GAZR,KAYkBA,EAMtBopE,GADAD,GADAD,EAAM,GAFNz4D,EAAIzQ,EAdA,KAiBOkpE,GACCA,EAGZI,GADAD,EAAK54D,EAAIA,GACCA,EAEVf,EAAOvE,KAAMi+D,EAAMzF,EAAQ,EAAIwF,EAAM14D,EAAIozD,EAAM,EAAIqF,EAAKG,EAAKL,EAAOM,EAAKvF,EAC5DqF,EAAMxF,EAAQ,EAAIuF,EAAM14D,EAAIqzD,EAAM,EAAIoF,EAAKG,EAAKJ,EAAOK,EAAKtF,GAM7E,OAHAhsE,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb9vE,MAiBXK,EAAOid,SAAS/W,UAAUgrE,MAAQ,SAAU7gE,EAAIC,EAAIC,EAAIC,EAAI/C,GAEpD9N,KAAK0vE,YAEwC,IAAzC1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,QAE9B/H,KAAK0vE,YAAYtrC,MAAM1sB,OAAOvE,KAAKzC,EAAIC,GAK3C3Q,KAAKohE,OAAO1wD,EAAIC,GAGpB,IAAI+G,EAAS1X,KAAK0vE,YAAYtrC,MAAM1sB,OAChCi0D,EAAQj0D,EAAOA,EAAO3P,OAAO,GAE7BwL,EADQmE,EAAOA,EAAO3P,OAAO,GAChB4I,EACb8C,EAAKk4D,EAAQj7D,EACb8C,EAAK3C,EAAOF,EACZ+C,EAAK9C,EAAOF,EACZ8gE,EAAKvrE,KAAK2J,IAAI2D,EAAKG,EAAKD,EAAKD,GAEjC,GAAIg+D,EAAK,MAAqB,IAAX1jE,EAEX4J,EAAOA,EAAO3P,OAAO,KAAO2I,GAAMgH,EAAOA,EAAO3P,OAAO,KAAO4I,GAE9D+G,EAAOvE,KAAKzC,EAAIC,OAIxB,CACI,IAAI8gE,EAAKl+D,EAAKA,EAAKE,EAAKA,EACpBi+D,EAAKl+D,EAAKA,EAAKE,EAAKA,EACpBi+D,EAAKp+D,EAAKC,EAAKC,EAAKC,EACpBk+D,EAAK9jE,EAAS7H,KAAKqK,KAAKmhE,GAAMD,EAC9BK,EAAK/jE,EAAS7H,KAAKqK,KAAKohE,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACf/hE,EAAKiiE,EAAKl+D,EAAKm+D,EAAKp+D,EACpB3D,EAAK8hE,EAAKp+D,EAAKq+D,EAAKt+D,EACpBxI,EAAK0I,GAAMo+D,EAAKC,GAChBv8B,EAAKhiC,GAAMs+D,EAAKC,GAChBnL,EAAKjzD,GAAMk+D,EAAKG,GAChBC,EAAKx+D,GAAMo+D,EAAKG,GAChBE,EAAahsE,KAAKoN,MAAMkiC,EAAKzlC,EAAI/E,EAAK4E,GACtCuiE,EAAajsE,KAAKoN,MAAM2+D,EAAKliE,EAAI62D,EAAKh3D,GAE1C3P,KAAKkhE,IAAIvxD,EAAKe,EAAIZ,EAAKa,EAAI7C,EAAQmkE,EAAYC,EAAUz+D,EAAKD,EAAKE,EAAKH,GAM5E,OAHAvT,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb9vE,MAiBXK,EAAOid,SAAS/W,UAAU26D,IAAM,SAAUvxD,EAAIG,EAAIhC,EAAQmkE,EAAYC,EAAUC,EAAeC,GAG3F,GAAIH,IAAeC,EAEf,OAAOlyE,UAGWsK,IAAlB6nE,IAA+BA,GAAgB,QAClC7nE,IAAb8nE,IAA0BA,EAAW,KAEpCD,GAAiBD,GAAYD,EAE9BC,GAAsB,EAAVjsE,KAAKsH,GAEZ4kE,GAAiBF,GAAcC,IAEpCD,GAAwB,EAAVhsE,KAAKsH,IAGvB,IAAI8kE,EAAQF,GAA2C,GAA1BF,EAAaC,GAAkBA,EAAWD,EACnEK,EAAQrsE,KAAKG,KAAKH,KAAK2J,IAAIyiE,IAAoB,EAAVpsE,KAAKsH,KAAW6kE,EAGzD,GAAc,IAAVC,EAEA,OAAOryE,KAGX,IAAIuyE,EAAS5iE,EAAK1J,KAAK2H,IAAIqkE,GAAcnkE,EACrC0kE,EAAS1iE,EAAK7J,KAAK4H,IAAIokE,GAAcnkE,EAErCqkE,GAAiBnyE,KAAKyyE,QAEtBzyE,KAAKohE,OAAOzxD,EAAIG,GAIhB9P,KAAKohE,OAAOmR,EAAQC,GAgBxB,IAAK,IAZD96D,EAAS1X,KAAK0vE,YAAYtrC,MAAM1sB,OAEhCg7D,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAAS3sE,KAAK2H,IAAI8kE,GAClBG,EAAS5sE,KAAK4H,IAAI6kE,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExB9qE,EAAI,EAAGA,GAAK8qE,EAAU9qE,IAC/B,CACI,IAEI2G,EAAS,EAAUsjE,EAAcU,GAF1B3qE,EAAI+qE,EAAY/qE,GAIvB0H,EAAIzJ,KAAK2H,IAAIe,GACbyI,GAAKnR,KAAK4H,IAAIc,GAElB+I,EAAOvE,MAAQy/D,EAAUljE,EAAMmjE,EAASz7D,GAAOtJ,EAAS6B,GACzCijE,GAAUx7D,EAAMy7D,EAASnjE,GAAO5B,EAASgC,GAM5D,OAHA9P,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb9vE,MAaXK,EAAOid,SAAS/W,UAAUqY,UAAY,SAAUH,EAAOC,GAgBnD,OAdA1e,KAAKyyE,SAAU,EACfzyE,KAAKkrE,UAAYzsD,GAAS,EAC1Bze,KAAKmrE,eAAuB7gE,IAAVoU,EAAuB,EAAIA,EAEzC1e,KAAK0vE,aAED1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,QAAU,IAExC/H,KAAK0vE,YAAYvrC,KAAOnkC,KAAKyyE,QAC7BzyE,KAAK0vE,YAAYxE,UAAYlrE,KAAKkrE,UAClClrE,KAAK0vE,YAAYvE,UAAYnrE,KAAKmrE,WAInCnrE,MAUXK,EAAOid,SAAS/W,UAAUuY,QAAU,WAMhC,OAJA9e,KAAKyyE,SAAU,EACfzyE,KAAKkrE,UAAY,KACjBlrE,KAAKmrE,UAAY,EAEVnrE,MAaXK,EAAOid,SAAS/W,UAAUsY,SAAW,SAAU1Y,EAAG+G,EAAGiD,EAAOC,GAIxD,OAFApQ,KAAK+wE,UAAU,IAAI1wE,EAAO2N,UAAU7H,EAAG+G,EAAGiD,EAAOC,IAE1CpQ,MAYXK,EAAOid,SAAS/W,UAAUysE,gBAAkB,SAAU7sE,EAAG+G,EAAGiD,EAAOC,EAAQtC,GAIvE,OAFA9N,KAAK+wE,UAAU,IAAI1wE,EAAO0a,iBAAiB5U,EAAG+G,EAAGiD,EAAOC,EAAQtC,IAEzD9N,MAaXK,EAAOid,SAAS/W,UAAU0sE,WAAa,SAAU9sE,EAAG+G,EAAGC,GAInD,OAFAnN,KAAK+wE,UAAU,IAAI1wE,EAAO4M,OAAO9G,EAAG+G,EAAGC,IAEhCnN,MAcXK,EAAOid,SAAS/W,UAAU2sE,YAAc,SAAU/sE,EAAG+G,EAAGiD,EAAOC,GAI3D,OAFApQ,KAAK+wE,UAAU,IAAI1wE,EAAO6P,QAAQ/J,EAAG+G,EAAGiD,EAAOC,IAExCpQ,MAWXK,EAAOid,SAAS/W,UAAUiqE,YAAc,SAAU2C,GAE1CA,aAAgB9yE,EAAO4X,UAEvBk7D,EAAOA,EAAKz7D,QAKhB,IAAIA,EAASy7D,EAEb,IAAKzsE,MAAMa,QAAQmQ,GACnB,CAGIA,EAAS,IAAIhR,MAAMO,UAAUc,QAE7B,IAAK,IAAIC,EAAI,EAAGA,EAAI0P,EAAO3P,SAAUC,EAEjC0P,EAAO1P,GAAKf,UAAUe,GAM9B,OAFAhI,KAAK+wE,UAAU,IAAI1wE,EAAO4X,QAAQP,IAE3B1X,MAUXK,EAAOid,SAAS/W,UAAUoY,MAAQ,WAY9B,OAVA3e,KAAKshE,UAAY,EACjBthE,KAAKyyE,SAAU,EAEfzyE,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EACpB9vE,KAAKsqE,YAAa,EAClBtqE,KAAKikC,gBAELjkC,KAAKiwE,oBAEEjwE,MAgBXK,EAAOid,SAAS/W,UAAUk2D,gBAAkB,SAAUn0C,EAAY6nC,EAAWhoC,QAEtD7d,IAAfge,IAA4BA,EAAa,QAC3Bhe,IAAd6lD,IAA2BA,EAAYpqD,KAAKJ,WAAWC,cAC3C0E,IAAZ6d,IAAyBA,EAAU,GAEvC,IAAI/M,EAASpb,KAAK+N,YAElBqN,EAAOjL,OAASgY,EAChB/M,EAAOhL,QAAU+X,EAEjB,IAAIirD,EAAe,IAAIrtE,KAAKstE,aAAaj4D,EAAOjL,MAAQmY,EAAYlN,EAAOhL,OAASkY,GAEhFyb,EAAUh+B,KAAK+qD,QAAQC,WAAWqiB,EAAannD,OAAQkkC,GAU3D,OARApsB,EAAQC,YAAY1b,WAAaA,EAEjC8qD,EAAatuD,QAAQzP,MAAMiT,EAAYA,GAEvC8qD,EAAatuD,QAAQ1P,WAAWgG,EAAOjV,GAAIiV,EAAOlO,GAElDnH,KAAKg6D,eAAeC,eAAehgE,KAAMozE,EAAatuD,SAE/Cif,GAWX1jC,EAAOid,SAAS/W,UAAU+yD,aAAe,SAAUC,GAG/C,IAAqB,IAAjBv5D,KAAKsb,SAAoC,IAAftb,KAAK0e,QAA+B,IAAhB1e,KAAK2vE,OAAvD,CAKA,GAAI3vE,KAAKszE,eAiBL,OAfItzE,KAAKkoB,OAASloB,KAAKgwE,qBAEnBhwE,KAAKuzE,wBAGLvzE,KAAKwzE,4BAELxzE,KAAKgwE,mBAAoB,EACzBhwE,KAAKkoB,OAAQ,GAGjBloB,KAAKyzE,cAAchnD,WAAazsB,KAAKysB,gBAErC1mB,KAAKipB,OAAOzoB,UAAU+yD,aAAatyD,KAAKhH,KAAKyzE,cAAela,GAoB5D,GAdAA,EAAclG,YAAY91B,OAC1Bg8B,EAAcma,iBAAiBC,aAAa3zE,KAAKm/D,WAE7Cn/D,KAAKssD,OAELiN,EAAcqa,YAAYC,SAAS7zE,KAAKssD,MAAOiN,GAG/Cv5D,KAAK8zE,UAELva,EAAcwa,cAAcC,WAAWh0E,KAAKi0E,cAI5Cj0E,KAAKm/D,YAAc5F,EAAclG,YAAY6gB,iBACjD,CACI3a,EAAclG,YAAY6gB,iBAAmBl0E,KAAKm/D,UAClD,IAAIgV,EAAiBpuE,KAAKquE,gBAAgB7a,EAAclG,YAAY6gB,kBACpE3a,EAAclG,YAAYoG,GAAG4a,UAAUF,EAAe,GAAIA,EAAe,IAa7E,GATIn0E,KAAK+vE,aAEL/vE,KAAKkoB,OAAQ,EACbloB,KAAK+vE,YAAa,GAGtBhqE,KAAKmiE,cAAclI,eAAehgE,KAAMu5D,GAGpCv5D,KAAKssB,SAASvkB,OAClB,CACIwxD,EAAclG,YAAYviD,QAG1B,IAAK,IAAI9I,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAGsxD,aAAaC,GAGlCA,EAAclG,YAAY91B,OAG1Bv9B,KAAK8zE,UAELva,EAAcwa,cAAcO,YAG5Bt0E,KAAKssD,OAELiN,EAAcqa,YAAYW,QAAQv0E,KAAKisD,KAAMsN,GAGjDA,EAAcib,YAEdjb,EAAclG,YAAYviD,UAYlCzQ,EAAOid,SAAS/W,UAAUwzD,cAAgB,SAAUR,GAGhD,IAAqB,IAAjBv5D,KAAKsb,SAAoC,IAAftb,KAAK0e,QAA+B,IAAhB1e,KAAK2vE,OAAvD,CAYA,GANI3vE,KAAKy0E,YAAcz0E,KAAKsrD,OAExBtrD,KAAKkoB,OAAQ,EACbloB,KAAKy0E,UAAYz0E,KAAKsrD,MAGtBtrD,KAAKszE,eAiBL,OAfItzE,KAAKkoB,OAASloB,KAAKgwE,qBAEnBhwE,KAAKuzE,wBAGLvzE,KAAKwzE,4BAELxzE,KAAKgwE,mBAAoB,EACzBhwE,KAAKkoB,OAAQ,GAGjBloB,KAAKyzE,cAAc/0D,MAAQ1e,KAAK0e,WAEhC3Y,KAAKipB,OAAOzoB,UAAUwzD,cAAc/yD,KAAKhH,KAAKyzE,cAAela,GAM7D,IAAIz0C,EAAUy0C,EAAcz0C,QACxBo1C,EAAYl6D,KAAKorB,eAEjBprB,KAAKm/D,YAAc5F,EAAc2a,mBAEjC3a,EAAc2a,iBAAmBl0E,KAAKm/D,UACtCr6C,EAAQy+C,yBAA2Bx9D,KAAK2uE,iBAAiBnb,EAAc2a,mBAGvEl0E,KAAKssD,OAELiN,EAAcqa,YAAYC,SAAS7zE,KAAKssD,MAAOiN,GAGnD,IAAIjxC,EAAaixC,EAAcjxC,WAC3BtW,EAAMkoD,EAAUloD,GAAKunD,EAAcjxC,WAAcixC,EAAca,OAC/DnoD,EAAMioD,EAAUjoD,GAAKsnD,EAAcjxC,WAAcixC,EAAcc,OAEnEv1C,EAAQE,aAAak1C,EAAUhrD,EAAIoZ,EACd4xC,EAAU5qD,EAAIgZ,EACd4xC,EAAUxqD,EAAI4Y,EACd4xC,EAAUzlD,EAAI6T,EACdtW,EACAC,GAErBlM,KAAKg6D,eAAeC,eAAehgE,KAAM8kB,GAGzC,IAAK,IAAI9c,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+xD,cAAcR,GAG/Bv5D,KAAKssD,OAELiN,EAAcqa,YAAYW,QAAQhb,KAY9Cl5D,EAAOid,SAAS/W,UAAUwH,UAAY,SAAU6G,GAE5C,GAAI5U,KAAKq4B,eAEL,OAAOr4B,KAAKq4B,eAIhB,IAAKr4B,KAAKksD,WAEN,OAAO7rD,EAAOya,eAGd9a,KAAKkoB,QAELloB,KAAKiwE,oBACLjwE,KAAK+vE,YAAa,EAClB/vE,KAAKgwE,mBAAoB,EACzBhwE,KAAKkoB,OAAQ,GAGjB,IAAI9M,EAASpb,KAAK6vE,aAEd8E,EAAKv5D,EAAOjV,EACZyuE,EAAKx5D,EAAOjL,MAAQiL,EAAOjV,EAE3B0uE,EAAKz5D,EAAOlO,EACZ4nE,EAAK15D,EAAOhL,OAASgL,EAAOlO,EAE5Bke,EAAiBxW,GAAU5U,KAAKorB,eAEhClc,EAAIkc,EAAelc,EACnBI,EAAI8b,EAAe9b,EACnBI,EAAI0b,EAAe1b,EACnB+E,EAAI2W,EAAe3W,EACnBzC,EAAKoZ,EAAepZ,GACpBC,EAAKmZ,EAAenZ,GAEpBvB,EAAKxB,EAAI0lE,EAAKllE,EAAIolE,EAAK9iE,EACvBrB,EAAK8D,EAAIqgE,EAAKxlE,EAAIslE,EAAK3iE,EAEvBrB,EAAK1B,EAAIylE,EAAKjlE,EAAIolE,EAAK9iE,EACvBnB,EAAK4D,EAAIqgE,EAAKxlE,EAAIqlE,EAAK1iE,EAEvB8iE,EAAK7lE,EAAIylE,EAAKjlE,EAAImlE,EAAK7iE,EACvBgjE,EAAKvgE,EAAIogE,EAAKvlE,EAAIqlE,EAAK1iE,EAEvBgjE,EAAM/lE,EAAI0lE,EAAKllE,EAAImlE,EAAK7iE,EACxBkjE,EAAMzgE,EAAIogE,EAAKvlE,EAAIslE,EAAK3iE,EAExBugD,EAAO9hD,EACP+hD,EAAO9hD,EAEP2hD,EAAO5hD,EACP6hD,EAAO5hD,EA0BX,OAxBA2hD,EAAO1hD,EAAK0hD,EAAO1hD,EAAK0hD,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EACxBA,EAAO2iB,EAAK3iB,EAAO2iB,EAAK3iB,EAExBC,EAAO1hD,EAAK0hD,EAAO1hD,EAAK0hD,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EACxBA,EAAO2iB,EAAK3iB,EAAO2iB,EAAK3iB,EAExBC,EAAO5hD,EAAK4hD,EAAO5hD,EAAK4hD,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EAExBC,EAAO5hD,EAAK4hD,EAAO5hD,EAAK4hD,EACxBA,EAAOuiB,EAAKviB,EAAOuiB,EAAKviB,EACxBA,EAAOyiB,EAAKziB,EAAOyiB,EAAKziB,EAExBzyD,KAAKmpD,QAAQhjD,EAAImsD,EACjBtyD,KAAKmpD,QAAQh5C,MAAQqiD,EAAOF,EAE5BtyD,KAAKmpD,QAAQj8C,EAAIqlD,EACjBvyD,KAAKmpD,QAAQ/4C,OAASqiD,EAAOF,EAE7BvyD,KAAKq4B,eAAiBr4B,KAAKmpD,QAEpBnpD,KAAKq4B,gBAUhBh4B,EAAOid,SAAS/W,UAAU4uE,eAAiB,WAEvC,IAAIC,EAAcp1E,KAAKorB,eAEvBprB,KAAKorB,eAAiB/qB,EAAOqV,eAE7B,IAAK,IAAI1N,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAGwkB,kBAGrB,IAAIpR,EAASpb,KAAK+N,YAIlB,IAFA/N,KAAKorB,eAAiBgqD,EAEjBptE,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAElChI,KAAKssB,SAAStkB,GAAGwkB,kBAGrB,OAAOpR,GAUX/a,EAAOid,SAAS/W,UAAUiU,cAAgB,SAAUvL,EAAOomE,QAErC/qE,IAAd+qE,IAA2BA,EAAY,IAAIh1E,EAAOoN,OAEtDzN,KAAKorB,eAAelW,aAAajG,EAAOomE,GAIxC,IAAK,IAFDpxC,EAAejkC,KAAKikC,aAEfj8B,EAAI,EAAGA,EAAIi8B,EAAal8B,OAAQC,IACzC,CACI,IAAIk8B,EAAOD,EAAaj8B,GAExB,GAAKk8B,EAAKC,OAMND,EAAKE,OAEDF,EAAKE,MAAM31B,SAAS4mE,EAAUlvE,EAAGkvE,EAAUnoE,IAE3C,OAAO,EAKnB,OAAO,GASX7M,EAAOid,SAAS/W,UAAU0pE,kBAAoB,WAE1C,IAAI3d,EAAOsU,EAAAA,EACPpU,GAAQoU,EAAAA,EAERrU,EAAOqU,EAAAA,EACPnU,GAAQmU,EAAAA,EAEZ,GAAI5mE,KAAKikC,aAAal8B,OAIlB,IAAK,IAFDq8B,EAAO1sB,EAAQvR,EAAG+G,EAAG6Q,EAAGC,EAEnBhW,EAAI,EAAGA,EAAIhI,KAAKikC,aAAal8B,OAAQC,IAC9C,CACI,IAAIk8B,EAAOlkC,KAAKikC,aAAaj8B,GACzBI,EAAO87B,EAAK97B,KACZk5D,EAAYp9B,EAAKo9B,UAGrB,GAFAl9B,EAAQF,EAAKE,MAETh8B,IAAS/H,EAAOmC,WAAa4F,IAAS/H,EAAOuC,iBAE7CuD,EAAIi+B,EAAMj+B,EAAIm7D,EAAY,EAC1Bp0D,EAAIk3B,EAAMl3B,EAAIo0D,EAAY,EAC1BvjD,EAAIqmB,EAAMj0B,MAAQmxD,EAClBtjD,EAAIomB,EAAMh0B,OAASkxD,EAEnBhP,EAAOnsD,EAAImsD,EAAOnsD,EAAImsD,EACtBE,EAAOrsD,EAAI4X,EAAIy0C,EAAOrsD,EAAI4X,EAAIy0C,EAE9BD,EAAOrlD,EAAIqlD,EAAOrlD,EAAIqlD,EACtBE,EAAOvlD,EAAI8Q,EAAIy0C,EAAOvlD,EAAI8Q,EAAIy0C,OAE7B,GAAIrqD,IAAS/H,EAAOkC,OAErB4D,EAAIi+B,EAAMj+B,EACV+G,EAAIk3B,EAAMl3B,EACV6Q,EAAIqmB,EAAMt2B,OAASwzD,EAAY,EAC/BtjD,EAAIomB,EAAMt2B,OAASwzD,EAAY,EAE/BhP,EAAOnsD,EAAI4X,EAAIu0C,EAAOnsD,EAAI4X,EAAIu0C,EAC9BE,EAAOrsD,EAAI4X,EAAIy0C,EAAOrsD,EAAI4X,EAAIy0C,EAE9BD,EAAOrlD,EAAI8Q,EAAIu0C,EAAOrlD,EAAI8Q,EAAIu0C,EAC9BE,EAAOvlD,EAAI8Q,EAAIy0C,EAAOvlD,EAAI8Q,EAAIy0C,OAE7B,GAAIrqD,IAAS/H,EAAO6B,QAErBiE,EAAIi+B,EAAMj+B,EACV+G,EAAIk3B,EAAMl3B,EACV6Q,EAAIqmB,EAAMj0B,MAAQmxD,EAAY,EAC9BtjD,EAAIomB,EAAMh0B,OAASkxD,EAAY,EAE/BhP,EAAOnsD,EAAI4X,EAAIu0C,EAAOnsD,EAAI4X,EAAIu0C,EAC9BE,EAAOrsD,EAAI4X,EAAIy0C,EAAOrsD,EAAI4X,EAAIy0C,EAE9BD,EAAOrlD,EAAI8Q,EAAIu0C,EAAOrlD,EAAI8Q,EAAIu0C,EAC9BE,EAAOvlD,EAAI8Q,EAAIy0C,EAAOvlD,EAAI8Q,EAAIy0C,MAGlC,CAEI/6C,EAAS0sB,EAAM1sB,OAEf,IAAK,IAAIe,EAAI,EAAGA,EAAIf,EAAO3P,OAAQ0Q,IAE3Bf,EAAOe,aAAcpY,EAAOoN,OAE5BtH,EAAIuR,EAAOe,GAAGtS,EACd+G,EAAIwK,EAAOe,GAAGvL,IAId/G,EAAIuR,EAAOe,GACXvL,EAAIwK,EAAOe,EAAI,GAEXA,EAAIf,EAAO3P,OAAS,GAEpB0Q,KAIR65C,EAAOnsD,EAAIm7D,EAAYhP,EAAOnsD,EAAIm7D,EAAYhP,EAC9CE,EAAOrsD,EAAIm7D,EAAY9O,EAAOrsD,EAAIm7D,EAAY9O,EAE9CD,EAAOrlD,EAAIo0D,EAAY/O,EAAOrlD,EAAIo0D,EAAY/O,EAC9CE,EAAOvlD,EAAIo0D,EAAY7O,EAAOvlD,EAAIo0D,EAAY7O,QAO1DH,EAAO,EACPE,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAItqC,EAAUnoB,KAAK4vE,cAEnB5vE,KAAK6vE,aAAa1pE,EAAImsD,EAAOnqC,EAC7BnoB,KAAK6vE,aAAa1/D,MAASqiD,EAAOF,EAAkB,EAAVnqC,EAE1CnoB,KAAK6vE,aAAa3iE,EAAIqlD,EAAOpqC,EAC7BnoB,KAAK6vE,aAAaz/D,OAAUqiD,EAAOF,EAAkB,EAAVpqC,GAU/C9nB,EAAOid,SAAS/W,UAAUgtE,sBAAwB,WAE9C,IAAIn4D,EAASpb,KAAKm1E,iBAElB,GAAKn1E,KAAKyzE,cAYNzzE,KAAKyzE,cAAc3Y,OAAOthD,OAAO4B,EAAOjL,MAAOiL,EAAOhL,YAX1D,CACI,IAAIgjE,EAAe,IAAIrtE,KAAKstE,aAAaj4D,EAAOjL,MAAOiL,EAAOhL,QAC1D2zB,EAAUh+B,KAAK+qD,QAAQC,WAAWqiB,EAAannD,QAEnDjsB,KAAKyzE,cAAgB,IAAI1tE,KAAKipB,OAAO+U,GACrC/jC,KAAKyzE,cAAc3Y,OAASsY,EAE5BpzE,KAAKyzE,cAAcroD,eAAiBprB,KAAKorB,eAQ7CprB,KAAKyzE,cAAc1pD,OAAO5jB,GAAMiV,EAAOjV,EAAIiV,EAAOjL,MAClDnQ,KAAKyzE,cAAc1pD,OAAO7c,GAAMkO,EAAOlO,EAAIkO,EAAOhL,OAGlDpQ,KAAKyzE,cAAc3Y,OAAOh2C,QAAQ1P,WAAWgG,EAAOjV,GAAIiV,EAAOlO,GAG/DlN,KAAKysB,WAAa,EAGlB1mB,KAAKg6D,eAAeC,eAAehgE,KAAMA,KAAKyzE,cAAc3Y,OAAOh2C,SACnE9kB,KAAKyzE,cAAc/0D,MAAQ1e,KAAK0e,OAUpCre,EAAOid,SAAS/W,UAAUitE,0BAA4B,WAElD,IAAI8B,EAAet1E,KAAKyzE,cACpB1vC,EAAUuxC,EAAavxC,QACvB9X,EAASqpD,EAAaxa,OAAO7uC,OAEjC8X,EAAQC,YAAY7zB,MAAQ8b,EAAO9b,MACnC4zB,EAAQC,YAAY5zB,OAAS6b,EAAO7b,OACpC2zB,EAAQqQ,KAAKjkC,MAAQ4zB,EAAQzS,MAAMnhB,MAAQ8b,EAAO9b,MAClD4zB,EAAQqQ,KAAKhkC,OAAS2zB,EAAQzS,MAAMlhB,OAAS6b,EAAO7b,OAEpDklE,EAAav9C,OAAS9L,EAAO9b,MAC7BmlE,EAAat9C,QAAU/L,EAAO7b,OAG9B2zB,EAAQC,YAAY9b,SASxB7nB,EAAOid,SAAS/W,UAAUgvE,oBAAsB,WAE5Cv1E,KAAKyzE,cAAc1vC,QAAQxf,SAAQ,GACnCvkB,KAAKyzE,cAAgB,MAWzBpzE,EAAOid,SAAS/W,UAAUwqE,UAAY,SAAU3sC,GAExCpkC,KAAK0vE,aAGD1vE,KAAK0vE,YAAYtrC,MAAM1sB,OAAO3P,QAAU,GAExC/H,KAAKikC,aAAah6B,MAI1BjK,KAAK0vE,YAAc,KAGftrC,aAAiB/jC,EAAO4X,UAExBmsB,EAAQA,EAAMj4B,SACRoM,UAGV,IAAI2rB,EAAO,IAAI7jC,EAAOovE,aAAazvE,KAAKshE,UAAWthE,KAAKguE,UAAWhuE,KAAKiuE,UAAWjuE,KAAKkrE,UAAWlrE,KAAKmrE,UAAWnrE,KAAKyyE,QAASruC,GAajI,OAXApkC,KAAKikC,aAAa9wB,KAAK+wB,GAEnBA,EAAK97B,OAAS/H,EAAOyB,UAErBoiC,EAAKE,MAAMhsB,OAASpY,KAAKyyE,QACzBzyE,KAAK0vE,YAAcxrC,GAGvBlkC,KAAKkoB,OAAQ,EACbloB,KAAK8vE,cAAe,EAEb5rC,GAeXz8B,OAAOmF,eAAevM,EAAOid,SAAS/W,UAAW,iBAE7CmG,IAAK,WAED,OAAQ1M,KAAKszE,gBAIjB3mE,IAAK,SAAU5C,GAEX/J,KAAKszE,eAAiBvpE,EAElB/J,KAAKszE,eAELtzE,KAAKuzE,wBAILvzE,KAAKu1E,sBAGTv1E,KAAKkoB,OAAQ,EACbloB,KAAK+vE,YAAa,KAyB1B1vE,EAAO+vD,cAAgB,SAAUn1C,EAAM9K,EAAOC,EAAQvG,EAAKsmD,EAAW7nC,EAAYkQ,EAAUg9C,GAiExF,QA/DclrE,IAAV6F,IAAuBA,EAAQ,UACpB7F,IAAX8F,IAAwBA,EAAS,UACzB9F,IAART,IAAqBA,EAAM,SACbS,IAAd6lD,IAA2BA,EAAY9vD,EAAOsF,WAAWC,cAC1C0E,IAAfge,IAA4BA,EAAa,QAC5Bhe,IAAbkuB,IAA0BA,EAAWzyB,KAAK03B,sBAC1BnzB,IAAhBkrE,IAA6BA,EAAc,GAK/Cx1E,KAAKib,KAAOA,EAKZjb,KAAK6J,IAAMA,EAKX7J,KAAKoI,KAAO/H,EAAOqB,cAMnB1B,KAAKy1E,YAAc,IAAIp1E,EAAOmU,OAE9BxU,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EACdpQ,KAAKsoB,WAAaA,EAElBtoB,KAAKsxB,MAAQ,IAAIjxB,EAAO2N,UAAU,EAAG,EAAGhO,KAAKmQ,MAAQnQ,KAAKsoB,WAAYtoB,KAAKoQ,OAASpQ,KAAKsoB,YAEzFtoB,KAAKo0C,KAAOp0C,KAAKsxB,MAAMnlB,QAQvBnM,KAAKgkC,YAAc,IAAIj+B,KAAKi1D,YAC5Bh7D,KAAKgkC,YAAY7zB,MAAQnQ,KAAKmQ,MAAQnQ,KAAKsoB,WAC3CtoB,KAAKgkC,YAAY5zB,OAASpQ,KAAKoQ,OAASpQ,KAAKsoB,WAC7CtoB,KAAKgkC,YAAY0xC,eACjB11E,KAAKgkC,YAAY1b,WAAatoB,KAAKsoB,WAEnCtoB,KAAKgkC,YAAYmsB,UAAYA,EAE7BnwD,KAAKgkC,YAAY2xC,WAAY,EAE7B5vE,KAAK+qD,QAAQ9pD,KAAKhH,KAAMA,KAAKgkC,YAAahkC,KAAKsxB,MAAMnlB,SAQrDnM,KAAKw4B,SAAWA,EAEZx4B,KAAKw4B,SAASpwB,OAAS/H,EAAOK,MAClC,CACI,IAAI+4D,EAAKz5D,KAAKw4B,SAASihC,GACvBz5D,KAAKgkC,YAAY4xC,aAAeJ,EAChCx1E,KAAKgkC,YAAY6xC,OAAOpc,EAAGtkD,KAAM,EAEjCnV,KAAK81E,cAAgB,IAAI/vE,KAAKgwE,cAActc,EAAIz5D,KAAKmQ,MAAOnQ,KAAKoQ,OAAQpQ,KAAKgkC,YAAYmsB,UAAWqlB,GACrGx1E,KAAKgkC,YAAY0xC,YAAYjc,EAAGtkD,IAAMnV,KAAK81E,cAAc/xC,QAEzD/jC,KAAKqoE,WAAa,IAAIhoE,EAAOoN,MAAmB,GAAbzN,KAAKmQ,MAA4B,IAAdnQ,KAAKoQ,aAI3DpQ,KAAK81E,cAAgB,IAAI/vE,KAAKstE,aAAarzE,KAAKmQ,MAAQnQ,KAAKsoB,WAAYtoB,KAAKoQ,OAASpQ,KAAKsoB,YAC5FtoB,KAAKgkC,YAAY71B,OAASnO,KAAK81E,cAAc7pD,OAOjDjsB,KAAK2wD,OAAQ,EAEb3wD,KAAKg2E,WAAa,IAAI31E,EAAOmU,OAE7BxU,KAAKqrD,cAIThrD,EAAO+vD,cAAc7pD,UAAYkB,OAAO0Z,OAAOpb,KAAK+qD,QAAQvqD,WAC5DlG,EAAO+vD,cAAc7pD,UAAU8B,YAAchI,EAAO+vD,cAepD/vD,EAAO+vD,cAAc7pD,UAAU0vE,SAAW,SAAUx6D,EAAetV,EAAG+G,EAAGyR,GAErElD,EAAc+Q,kBAEdxsB,KAAKy1E,YAAYvnE,SAASuN,EAAc2P,gBACxCprB,KAAKy1E,YAAYzjE,GAAK7L,EACtBnG,KAAKy1E,YAAYxjE,GAAK/E,EAElBlN,KAAKw4B,SAASpwB,OAAS/H,EAAOK,MAE9BV,KAAKs5D,aAAa79C,EAAezb,KAAKy1E,YAAa92D,GAInD3e,KAAK+5D,cAAct+C,EAAezb,KAAKy1E,YAAa92D,IAkB5Dte,EAAO+vD,cAAc7pD,UAAU2vE,YAAc,SAAUz6D,EAAetV,EAAG+G,EAAGyR,GAExE3e,KAAKy1E,YAAYhgE,WAAWL,UAAUjP,EAAG+G,GAErClN,KAAKw4B,SAASpwB,OAAS/H,EAAOK,MAE9BV,KAAKs5D,aAAa79C,EAAezb,KAAKy1E,YAAa92D,GAInD3e,KAAK+5D,cAAct+C,EAAezb,KAAKy1E,YAAa92D,IAoB5Dte,EAAO+vD,cAAc7pD,UAAU8a,OAAS,SAAU5F,EAAe7G,EAAQ+J,QAEtDrU,IAAXsK,GAAmC,OAAXA,EAExB5U,KAAKy1E,YAAYvnE,SAASuN,EAAc2P,gBAIxCprB,KAAKy1E,YAAYvnE,SAAS0G,GAG1B5U,KAAKw4B,SAASpwB,OAAS/H,EAAOK,MAE9BV,KAAKs5D,aAAa79C,EAAezb,KAAKy1E,YAAa92D,GAInD3e,KAAK+5D,cAAct+C,EAAezb,KAAKy1E,YAAa92D,IAa5Dte,EAAO+vD,cAAc7pD,UAAUiT,OAAS,SAAUrJ,EAAOC,EAAQ+lE,GAEzDhmE,IAAUnQ,KAAKmQ,OAASC,IAAWpQ,KAAKoQ,SAK5CpQ,KAAK2wD,MAASxgD,EAAQ,GAAKC,EAAS,EAEpCpQ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EACdpQ,KAAKsxB,MAAMnhB,MAAQnQ,KAAKo0C,KAAKjkC,MAAQA,EAAQnQ,KAAKsoB,WAClDtoB,KAAKsxB,MAAMlhB,OAASpQ,KAAKo0C,KAAKhkC,OAASA,EAASpQ,KAAKsoB,WAEjD6tD,IAEAn2E,KAAKgkC,YAAY7zB,MAAQnQ,KAAKmQ,MAAQnQ,KAAKsoB,WAC3CtoB,KAAKgkC,YAAY5zB,OAASpQ,KAAKoQ,OAASpQ,KAAKsoB,YAG7CtoB,KAAKw4B,SAASpwB,OAAS/H,EAAOK,QAE9BV,KAAKqoE,WAAWliE,EAAInG,KAAKmQ,MAAQ,EACjCnQ,KAAKqoE,WAAWn7D,GAAKlN,KAAKoQ,OAAS,GAGlCpQ,KAAK2wD,OAKV3wD,KAAK81E,cAAct8D,OAAOxZ,KAAKmQ,MAAOnQ,KAAKoQ,UAS/C/P,EAAO+vD,cAAc7pD,UAAUoY,MAAQ,WAE9B3e,KAAK2wD,QAKN3wD,KAAKw4B,SAASpwB,OAAS/H,EAAOK,OAE9BV,KAAKw4B,SAASihC,GAAG2c,gBAAgBp2E,KAAKw4B,SAASihC,GAAG4c,YAAar2E,KAAK81E,cAAcQ,aAGtFt2E,KAAK81E,cAAcn3D,UAcvBte,EAAO+vD,cAAc7pD,UAAU+yD,aAAe,SAAU79C,EAAe7G,EAAQ+J,GAE3E,GAAK3e,KAAK2wD,OAAiC,IAAxBl1C,EAAciD,MAAjC,CAOA,IAAI8kB,EAAK/nB,EAAc2P,eACvBoY,EAAG/tB,WACH+tB,EAAGpuB,UAAU,EAAuB,EAApBpV,KAAKqoE,WAAWn7D,GAE5B0H,GAEA4uB,EAAGjuB,OAAOX,GAGd4uB,EAAGnuB,MAAM,GAAI,GAGb,IAAK,IAAIrN,EAAI,EAAGA,EAAIyT,EAAc6Q,SAASvkB,OAAQC,IAE/CyT,EAAc6Q,SAAStkB,GAAGwkB,kBAI9B,IAAIitC,EAAKz5D,KAAKw4B,SAASihC,GAEvBA,EAAG8c,SAAS,EAAG,EAAGv2E,KAAKmQ,MAAQnQ,KAAKsoB,WAAYtoB,KAAKoQ,OAASpQ,KAAKsoB,YAEnEmxC,EAAG2c,gBAAgB3c,EAAG4c,YAAar2E,KAAK81E,cAAcQ,aAElD33D,GAEA3e,KAAK81E,cAAcn3D,QAGvB3e,KAAKw4B,SAAS66B,YAAYnrC,OAAQ,EAElCloB,KAAKw4B,SAASg+C,oBAAoB/6D,EAAezb,KAAKqoE,WAAYroE,KAAK81E,cAAcQ,YAAa1hE,GAElG5U,KAAKw4B,SAAS66B,YAAYnrC,OAAQ,EAElCuxC,EAAG2c,gBAAgB3c,EAAG4c,YAAa,QAavCh2E,EAAO+vD,cAAc7pD,UAAUwzD,cAAgB,SAAUt+C,EAAe7G,EAAQ+J,GAE5E,GAAK3e,KAAK2wD,OAAiC,IAAxBl1C,EAAciD,MAAjC,CAOA,IAAI8kB,EAAK/nB,EAAc2P,eACvBoY,EAAG/tB,WAECb,GAEA4uB,EAAGjuB,OAAOX,GAId,IAAK,IAAI5M,EAAI,EAAGA,EAAIyT,EAAc6Q,SAASvkB,OAAQC,IAE/CyT,EAAc6Q,SAAStkB,GAAGwkB,kBAG1B7N,GAEA3e,KAAK81E,cAAcn3D,QAGvB,IAAI83D,EAAiBz2E,KAAKw4B,SAASlQ,WAEnCtoB,KAAKw4B,SAASlQ,WAAatoB,KAAKsoB,WAEhCtoB,KAAKw4B,SAASg+C,oBAAoB/6D,EAAezb,KAAK81E,cAAchxD,QAASlQ,GAE7E5U,KAAKw4B,SAASlQ,WAAamuD,IAU/Bp2E,EAAO+vD,cAAc7pD,UAAU0qD,SAAW,WAEtC,IAAIpnC,EAAQ,IAAImpC,MAGhB,OAFAnpC,EAAM7d,IAAMhM,KAAK02E,YAEV7sD,GAUXxpB,EAAO+vD,cAAc7pD,UAAUmwE,UAAY,WAEvC,OAAO12E,KAAKo/D,YAAYxC,aAU5Bv8D,EAAO+vD,cAAc7pD,UAAU64D,UAAY,WAEvC,GAAIp/D,KAAKw4B,SAASpwB,OAAS/H,EAAOK,MAClC,CACI,IAAI+4D,EAAKz5D,KAAKw4B,SAASihC,GACnBtpD,EAAQnQ,KAAK81E,cAAc3lE,MAC3BC,EAASpQ,KAAK81E,cAAc1lE,OAE5BumE,EAAc,IAAIC,WAAW,EAAIzmE,EAAQC,GAE7CqpD,EAAG2c,gBAAgB3c,EAAG4c,YAAar2E,KAAK81E,cAAcQ,aACtD7c,EAAGod,WAAW,EAAG,EAAG1mE,EAAOC,EAAQqpD,EAAGqd,KAAMrd,EAAGsd,cAAeJ,GAC9Dld,EAAG2c,gBAAgB3c,EAAG4c,YAAa,MAEnC,IAAIW,EAAa,IAAIjxE,KAAKstE,aAAaljE,EAAOC,GAC1C6mE,EAAaD,EAAWlyD,QAAQ2vB,aAAa,EAAG,EAAGtkC,EAAOC,GAK9D,OAJA6mE,EAAW/yC,KAAKv3B,IAAIgqE,GAEpBK,EAAWlyD,QAAQq4C,aAAa8Z,EAAY,EAAG,GAExCD,EAAW/qD,OAIlB,OAAOjsB,KAAK81E,cAAc7pD,QA4ClC5rB,EAAOyzD,KAAO,SAAU74C,EAAM9U,EAAG+G,EAAG2mD,EAAMl2C,GAEtCxX,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EAIL2mD,OAFSvpD,IAATupD,GAA+B,OAATA,EAEf,GAIAA,EAAKnsD,WAGhBiW,EAAQtd,EAAO6I,MAAM2C,UAAW8R,GAMhC3d,KAAKoI,KAAO/H,EAAOiB,KAMnBtB,KAAK2uB,YAActuB,EAAOa,OAO1BlB,KAAKmoB,QAAU,IAAI9nB,EAAOoN,MAQ1BzN,KAAKk3E,WAAa,KAKlBl3E,KAAKisB,OAAS5rB,EAAOwhC,WAAW1gB,OAAOnhB,MAKvCA,KAAK8kB,QAAU9kB,KAAKisB,OAAO6V,WAAW,MAKtC9hC,KAAKm3E,UAKLn3E,KAAKo3E,gBAKLp3E,KAAKq3E,cAKLr3E,KAAKs3E,eAQLt3E,KAAKu3E,WAAY,EAajBv3E,KAAKw3E,iBAAkB,EAQvBx3E,KAAKy3E,YAAc,iBAMnBz3E,KAAK03E,oBAAsB,EAM3B13E,KAAK23E,qBAAuB,GAM5B33E,KAAK43E,KAAO38D,EAAKud,SAASlQ,WAM1BtoB,KAAK63E,MAAQhkB,EAMb7zD,KAAK83E,gBAAkB,KAMvB93E,KAAK+3E,aAAe,EAMpB/3E,KAAKg4E,WAAa,EAMlBh4E,KAAK+3B,OAAS,EAMd/3B,KAAKg4B,QAAU,EAEf33B,EAAO2uB,OAAOhoB,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGnH,KAAK+qD,QAAQC,WAAW/wD,KAAKisB,SAElEjsB,KAAKi4E,SAASt6D,GAED,KAATk2C,GAEA7zD,KAAKk4E,cAKb73E,EAAOyzD,KAAKvtD,UAAYkB,OAAO0Z,OAAO9gB,EAAO2uB,OAAOzoB,WACpDlG,EAAOyzD,KAAKvtD,UAAU8B,YAAchI,EAAOyzD,KAQ3CzzD,EAAOyzD,KAAKvtD,UAAUkX,UAAY,WAE9B,SAAKzd,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAUhB/1D,EAAOyzD,KAAKvtD,UAAUyY,OAAS,aAU/B3e,EAAOyzD,KAAKvtD,UAAUge,QAAU,SAAUmT,GAEtC13B,KAAK+jC,QAAQxf,SAAQ,GAErBlkB,EAAOioD,UAAUmD,QAAQllD,UAAUge,QAAQvd,KAAKhH,KAAM03B,IAmB1Dr3B,EAAOyzD,KAAKvtD,UAAU4xE,UAAY,SAAUhyE,EAAG+G,EAAGuR,EAAO0hD,EAAMiY,EAAcC,GAiBzE,YAfU/tE,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAVmU,IAAuBA,EAAQ,yBACtBnU,IAAT61D,IAAsBA,EAAO,QACZ71D,IAAjB8tE,IAA8BA,GAAe,QAC9B9tE,IAAf+tE,IAA4BA,GAAa,GAE7Cr4E,KAAK2d,MAAM2iD,cAAgBn6D,EAC3BnG,KAAK2d,MAAM4iD,cAAgBrzD,EAC3BlN,KAAK2d,MAAMyiD,YAAc3hD,EACzBze,KAAK2d,MAAM0iD,WAAaF,EACxBngE,KAAK2d,MAAMy6D,aAAeA,EAC1Bp4E,KAAK2d,MAAM06D,WAAaA,EACxBr4E,KAAKkoB,OAAQ,EAENloB,MA4BXK,EAAOyzD,KAAKvtD,UAAU0xE,SAAW,SAAUt6D,EAAOqB,QAE/B1U,IAAX0U,IAAwBA,GAAS,GAErC,IAAIs5D,EAAW7wE,OAAOiB,UAAWiV,GACjC26D,EAAS5jB,KAAO/2C,EAAM+2C,MAAQ,kBAC9B4jB,EAASC,gBAAkB56D,EAAM46D,iBAAmB,KACpDD,EAASn0C,KAAOxmB,EAAMwmB,MAAQ,QAC9Bm0C,EAAS3mD,OAAShU,EAAMgU,OAAS,QAAQ+a,cACzC4rC,EAASE,cAAgB76D,EAAM66D,cAAgB,QAAQ9rC,cACvD4rC,EAASG,cAAgB96D,EAAM86D,cAAgB,OAAO/rC,cACtD4rC,EAAS9W,OAAS7jD,EAAM6jD,QAAU,QAClC8W,EAASI,gBAAkB3/D,OAAO4E,EAAM+6D,kBAAoB,EAC5DJ,EAASK,SAAWh7D,EAAMg7D,WAAY,EACtCL,EAASM,cAAgBj7D,EAAMi7D,eAAiB,IAChDN,EAASO,SAAWl7D,EAAMk7D,UAAY,EACtCP,EAAShY,cAAgB3iD,EAAM2iD,eAAiB,EAChDgY,EAAS/X,cAAgB5iD,EAAM4iD,eAAiB,EAChD+X,EAASlY,YAAcziD,EAAMyiD,aAAe,gBAC5CkY,EAASjY,WAAa1iD,EAAM0iD,YAAc,EAC1CiY,EAASQ,KAAOn7D,EAAMm7D,MAAQ,EAE9B,IAAInvB,EAAa3pD,KAAK+4E,iBAAiBT,EAAS5jB,MAuChD,OArCI4jB,EAASU,YAETrvB,EAAWqvB,UAAYV,EAASU,WAGhCV,EAASW,cAETtvB,EAAWsvB,YAAcX,EAASW,aAGlCX,EAASY,aAETvvB,EAAWuvB,WAAaZ,EAASY,YAGjCZ,EAASa,WAEwB,iBAAtBb,EAASa,WAEhBb,EAASa,SAAWb,EAASa,SAAW,MAG5CxvB,EAAWwvB,SAAWb,EAASa,UAGnCn5E,KAAK83E,gBAAkBnuB,EAEvB2uB,EAAS5jB,KAAO10D,KAAKo5E,iBAAiBp5E,KAAK83E,iBAE3C93E,KAAK2d,MAAQ26D,EACbt4E,KAAKkoB,OAAQ,EAETlJ,GAEAhf,KAAKk4E,aAGFl4E,MAUXK,EAAOyzD,KAAKvtD,UAAU2xE,WAAa,WAE/Bl4E,KAAK+jC,QAAQC,YAAY1b,WAAatoB,KAAK43E,KAE3C53E,KAAK8kB,QAAQ4vC,KAAO10D,KAAK2d,MAAM+2C,KAE/B,IAAI2kB,EAAar5E,KAAK6zD,KAElB7zD,KAAK03E,oBAAsB,GAAK13E,KAAK03E,mBAAqB2B,EAAWtxE,SACrEsxE,EAAar5E,KAAK6zD,KAAKylB,UAAU,EAAGt5E,KAAK03E,oBAAsB13E,KAAK23E,sBAGpE33E,KAAK2d,MAAMg7D,WAEXU,EAAar5E,KAAKu5E,YAAYv5E,KAAK6zD,OAIvC,IAAI2lB,EAAQH,EAAWhwE,MAAMrJ,KAAKy3E,aAG9BqB,EAAO94E,KAAK2d,MAAMm7D,KAClBW,KACAC,EAAe,EACfC,EAAiB35E,KAAK45E,wBAAwB55E,KAAK2d,MAAM+2C,MAEzDmlB,EAAaL,EAAMzxE,OAEnB/H,KAAK2d,MAAMk7D,SAAW,GAAK74E,KAAK2d,MAAMk7D,SAAWW,EAAMzxE,SAEvD8xE,EAAa75E,KAAK2d,MAAMk7D,UAG5B74E,KAAKg4E,WAAa,EAElB,IAAK,IAAIhwE,EAAI,EAAGA,EAAI6xE,EAAY7xE,IAChC,CACI,GAAa,IAAT8wE,EACJ,CAEQxX,EAAathE,KAAK2d,MAAM+6D,gBAAkB14E,KAAKmoB,QAAQhiB,EAEvDnG,KAAKm3E,OAAOpvE,OAAS,GAAK/H,KAAKo3E,aAAarvE,OAAS,GAAK/H,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAElHu5D,GAAathE,KAAK85E,YAAYN,EAAMxxE,IAIpCs5D,GAAathE,KAAK8kB,QAAQi1D,YAAYP,EAAMxxE,IAAImI,MAIhDnQ,KAAK2d,MAAMg7D,WAEXrX,GAAathE,KAAK8kB,QAAQi1D,YAAY,KAAK5pE,WAInD,CAEI,IAAIsB,EAAO+nE,EAAMxxE,GAAGqB,MAAM,UACtBi4D,EAAYthE,KAAKmoB,QAAQhiB,EAAInG,KAAK2d,MAAM+6D,gBAE5C,GAAIhyE,MAAMa,QAAQuxE,GAId,IAAK,IAFDkB,EAAM,EAEDtqE,EAAI,EAAGA,EAAI+B,EAAK1J,OAAQ2H,IACjC,CACI,IAAIuqE,EAAU,EAIVA,EAFAj6E,KAAKm3E,OAAOpvE,OAAS,GAAK/H,KAAKo3E,aAAarvE,OAAS,GAAK/H,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAExG/H,KAAK85E,YAAYroE,EAAK/B,IAItBzJ,KAAKG,KAAKpG,KAAK8kB,QAAQi1D,YAAYtoE,EAAK/B,IAAIS,OAGtDT,EAAI,IAEJsqE,GAAOlB,EAAKppE,EAAI,IAGpB4xD,EAAY0Y,EAAMC,OAKtB,IAASvqE,EAAI,EAAGA,EAAI+B,EAAK1J,OAAQ2H,IAGzB1P,KAAKm3E,OAAOpvE,OAAS,GAAK/H,KAAKo3E,aAAarvE,OAAS,GAAK/H,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAElHu5D,GAAathE,KAAK85E,YAAYroE,EAAK/B,IAInC4xD,GAAar7D,KAAKG,KAAKpG,KAAK8kB,QAAQi1D,YAAYtoE,EAAK/B,IAAIS,OAK7DmxD,GAFWthE,KAAKib,KAAK0E,KAAKu6D,WAAW5Y,EAAWwX,GAAQxX,EAOpEmY,EAAWzxE,GAAK/B,KAAKG,KAAKk7D,GAC1BoY,EAAezzE,KAAKyM,IAAIgnE,EAAcD,EAAWzxE,IAGrDhI,KAAKisB,OAAO9b,MAAQupE,EAAe15E,KAAK43E,KAGxC,IAAIuC,EAAaR,EAAeR,SAAWn5E,KAAK2d,MAAM+6D,gBAAkB14E,KAAKmoB,QAAQjb,EACjFkD,EAAS+pE,EAAaN,EACtBO,EAAcp6E,KAAK+3E,aAEnBqC,EAAc,GAAKn0E,KAAK2J,IAAIwqE,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEAhqE,GAAWgqE,EAAc,EAAKA,EAAcZ,EAAMzxE,OAASqyE,GAAeZ,EAAMzxE,OAAS,IAG7F/H,KAAKisB,OAAO7b,OAASA,EAASpQ,KAAK43E,KAEnC53E,KAAK8kB,QAAQzP,MAAMrV,KAAK43E,KAAM53E,KAAK43E,MAE/BlgC,UAAU2iC,YAEVr6E,KAAK8kB,QAAQyvB,UAAU,EAAG,EAAGv0C,KAAKisB,OAAO9b,MAAOnQ,KAAKisB,OAAO7b,QAG5DpQ,KAAK2d,MAAM46D,kBAEXv4E,KAAK8kB,QAAQy3C,UAAYv8D,KAAK2d,MAAM46D,gBACpCv4E,KAAK8kB,QAAQ03C,SAAS,EAAG,EAAGx8D,KAAKisB,OAAO9b,MAAOnQ,KAAKisB,OAAO7b,SAG/DpQ,KAAK8kB,QAAQy3C,UAAYv8D,KAAK2d,MAAMwmB,KACpCnkC,KAAK8kB,QAAQ4vC,KAAO10D,KAAK2d,MAAM+2C,KAC/B10D,KAAK8kB,QAAQy8C,YAAcvhE,KAAK2d,MAAM6jD,OACtCxhE,KAAK8kB,QAAQw1D,aAAe,aAE5Bt6E,KAAK8kB,QAAQw8C,UAAYthE,KAAK2d,MAAM+6D,gBACpC14E,KAAK8kB,QAAQy1D,QAAU,QACvBv6E,KAAK8kB,QAAQ01D,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHA16E,KAAKg4E,WAAa,EAGbhwE,EAAI,EAAGA,EAAI6xE,EAAY7xE,IAIxByyE,EAAgBz6E,KAAK2d,MAAM+6D,gBAAkB,EAC7CgC,EAAiB16E,KAAK2d,MAAM+6D,gBAAkB,EAAI1wE,EAAImyE,EAAcR,EAAegB,OAE/E3yE,EAAI,IAEJ0yE,GAAkBN,EAAcpyE,GAGX,UAArBhI,KAAK2d,MAAMgU,MAEX8oD,GAAiBf,EAAeD,EAAWzxE,GAEjB,WAArBhI,KAAK2d,MAAMgU,QAEhB8oD,IAAkBf,EAAeD,EAAWzxE,IAAM,GAGlDhI,KAAKu3E,YAELkD,EAAgBx0E,KAAKsI,MAAMksE,GAC3BC,EAAgBz0E,KAAKsI,MAAMmsE,IAG3B16E,KAAKm3E,OAAOpvE,OAAS,GAAK/H,KAAKo3E,aAAarvE,OAAS,GAAK/H,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAElH/H,KAAK46E,WAAWpB,EAAMxxE,GAAIyyE,EAAeC,IAIrC16E,KAAK2d,MAAM6jD,QAAUxhE,KAAK2d,MAAM+6D,kBAEhC14E,KAAK66E,aAAa76E,KAAK2d,MAAMy6D,cAEhB,IAATU,EAEA94E,KAAK8kB,QAAQg2D,WAAWtB,EAAMxxE,GAAIyyE,EAAeC,GAIjD16E,KAAK+6E,cAAcvB,EAAMxxE,GAAIyyE,EAAeC,GAAe,IAI/D16E,KAAK2d,MAAMwmB,OAEXnkC,KAAK66E,aAAa76E,KAAK2d,MAAM06D,YAEhB,IAATS,EAEA94E,KAAK8kB,QAAQk8C,SAASwY,EAAMxxE,GAAIyyE,EAAeC,GAI/C16E,KAAK+6E,cAAcvB,EAAMxxE,GAAIyyE,EAAeC,GAAe,KAM3E16E,KAAKg7E,gBAELh7E,KAAKkoB,OAAQ,GAejB7nB,EAAOyzD,KAAKvtD,UAAUw0E,cAAgB,SAAUtpE,EAAMtL,EAAG+G,EAAGi3B,GAExD,IAAI0vB,EAAOpiD,EAAKpI,MAAM,UAClByvE,EAAO94E,KAAK2d,MAAMm7D,KAClBmC,EAAO,EAEX,GAAIv0E,MAAMa,QAAQuxE,GAId,IAAK,IAFDkB,EAAM,EAEDtqE,EAAI,EAAGA,EAAImkD,EAAK9rD,OAAQ2H,IAEzBA,EAAI,IAEJsqE,GAAOlB,EAAKppE,EAAI,IAGpBurE,EAAO90E,EAAI6zE,EAEP71C,EAEAnkC,KAAK8kB,QAAQk8C,SAASnN,EAAKnkD,GAAIurE,EAAM/tE,GAIrClN,KAAK8kB,QAAQg2D,WAAWjnB,EAAKnkD,GAAIurE,EAAM/tE,QAM/C,IAASwC,EAAI,EAAGA,EAAImkD,EAAK9rD,OAAQ2H,IACjC,CACI,IAAIuqE,EAAUh0E,KAAKG,KAAKpG,KAAK8kB,QAAQi1D,YAAYlmB,EAAKnkD,IAAIS,OAG1D8qE,EAAOj7E,KAAKib,KAAK0E,KAAKu6D,WAAW/zE,EAAG2yE,GAEhC30C,EAEAnkC,KAAK8kB,QAAQk8C,SAASnN,EAAKnkD,GAAIurE,EAAM/tE,GAIrClN,KAAK8kB,QAAQg2D,WAAWjnB,EAAKnkD,GAAIurE,EAAM/tE,GAG3C/G,EAAI80E,EAAOhB,IAavB55E,EAAOyzD,KAAKvtD,UAAUs0E,aAAe,SAAUl6D,GAEvCA,GAEA3gB,KAAK8kB,QAAQw7C,cAAgBtgE,KAAK2d,MAAM2iD,cACxCtgE,KAAK8kB,QAAQy7C,cAAgBvgE,KAAK2d,MAAM4iD,cACxCvgE,KAAK8kB,QAAQs7C,YAAcpgE,KAAK2d,MAAMyiD,YACtCpgE,KAAK8kB,QAAQu7C,WAAargE,KAAK2d,MAAM0iD,aAIrCrgE,KAAK8kB,QAAQw7C,cAAgB,EAC7BtgE,KAAK8kB,QAAQy7C,cAAgB,EAC7BvgE,KAAK8kB,QAAQs7C,YAAc,EAC3BpgE,KAAK8kB,QAAQu7C,WAAa,IAalChgE,EAAOyzD,KAAKvtD,UAAUuzE,YAAc,SAAUroE,GAI1C,IAAK,IAFDypE,EAAa,EAERlzE,EAAI,EAAGA,EAAIyJ,EAAK1J,OAAQC,IACjC,CACI,IAAImzE,EAAS1pE,EAAKzJ,GAElB,GAAIhI,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAC5D,CACI,IAAI4hD,EAAa3pD,KAAK+4E,iBAAiB/4E,KAAK8kB,QAAQ4vC,MAEhD10D,KAAKq3E,WAAWr3E,KAAKg4E,cAErBruB,EAAWqvB,UAAYh5E,KAAKq3E,WAAWr3E,KAAKg4E,aAG5Ch4E,KAAKs3E,YAAYt3E,KAAKg4E,cAEtBruB,EAAWuvB,WAAal5E,KAAKs3E,YAAYt3E,KAAKg4E,aAGlDh4E,KAAK8kB,QAAQ4vC,KAAO10D,KAAKo5E,iBAAiBzvB,GAG1C3pD,KAAK2d,MAAM6jD,QAAUxhE,KAAK2d,MAAM+6D,kBAE5B14E,KAAKo3E,aAAap3E,KAAKg4E,cAEvBh4E,KAAK8kB,QAAQy8C,YAAcvhE,KAAKo3E,aAAap3E,KAAKg4E,aAGtDh4E,KAAK66E,aAAa76E,KAAK2d,MAAMy6D,eAG7Bp4E,KAAK2d,MAAMwmB,OAEPnkC,KAAKm3E,OAAOn3E,KAAKg4E,cAEjBh4E,KAAK8kB,QAAQy3C,UAAYv8D,KAAKm3E,OAAOn3E,KAAKg4E,aAG9Ch4E,KAAK66E,aAAa76E,KAAK2d,MAAM06D,aAGjC6C,GAAcl7E,KAAK8kB,QAAQi1D,YAAYoB,GAAQhrE,MAE/CnQ,KAAKg4E,aAGT,OAAO/xE,KAAKG,KAAK80E,IASrB76E,EAAOyzD,KAAKvtD,UAAUq0E,WAAa,SAAUnpE,EAAMtL,EAAG+G,GAElD,IAAK,IAAIlF,EAAI,EAAGA,EAAIyJ,EAAK1J,OAAQC,IACjC,CACI,IAAImzE,EAAS1pE,EAAKzJ,GAElB,GAAIhI,KAAKs3E,YAAYvvE,OAAS,GAAK/H,KAAKq3E,WAAWtvE,OAAS,EAC5D,CACI,IAAI4hD,EAAa3pD,KAAK+4E,iBAAiB/4E,KAAK8kB,QAAQ4vC,MAEhD10D,KAAKq3E,WAAWr3E,KAAKg4E,cAErBruB,EAAWqvB,UAAYh5E,KAAKq3E,WAAWr3E,KAAKg4E,aAG5Ch4E,KAAKs3E,YAAYt3E,KAAKg4E,cAEtBruB,EAAWuvB,WAAal5E,KAAKs3E,YAAYt3E,KAAKg4E,aAGlDh4E,KAAK8kB,QAAQ4vC,KAAO10D,KAAKo5E,iBAAiBzvB,GAG1C3pD,KAAK2d,MAAM6jD,QAAUxhE,KAAK2d,MAAM+6D,kBAE5B14E,KAAKo3E,aAAap3E,KAAKg4E,cAEvBh4E,KAAK8kB,QAAQy8C,YAAcvhE,KAAKo3E,aAAap3E,KAAKg4E,aAGtDh4E,KAAK66E,aAAa76E,KAAK2d,MAAMy6D,cAC7Bp4E,KAAK8kB,QAAQg2D,WAAWK,EAAQh1E,EAAG+G,IAGnClN,KAAK2d,MAAMwmB,OAEPnkC,KAAKm3E,OAAOn3E,KAAKg4E,cAEjBh4E,KAAK8kB,QAAQy3C,UAAYv8D,KAAKm3E,OAAOn3E,KAAKg4E,aAG9Ch4E,KAAK66E,aAAa76E,KAAK2d,MAAM06D,YAC7Br4E,KAAK8kB,QAAQk8C,SAASma,EAAQh1E,EAAG+G,IAGrC/G,GAAKnG,KAAK8kB,QAAQi1D,YAAYoB,GAAQhrE,MAEtCnQ,KAAKg4E,eAWb33E,EAAOyzD,KAAKvtD,UAAU60E,YAAc,WAMhC,OAJAp7E,KAAKm3E,UACLn3E,KAAKo3E,gBACLp3E,KAAKkoB,OAAQ,EAENloB,MAUXK,EAAOyzD,KAAKvtD,UAAU80E,gBAAkB,WAMpC,OAJAr7E,KAAKq3E,cACLr3E,KAAKs3E,eACLt3E,KAAKkoB,OAAQ,EAENloB,MAmBXK,EAAOyzD,KAAKvtD,UAAU+0E,SAAW,SAAU78D,EAAOxE,GAK9C,OAHAja,KAAKm3E,OAAOl9D,GAAYwE,EACxBze,KAAKkoB,OAAQ,EAENloB,MAqBXK,EAAOyzD,KAAKvtD,UAAUg1E,eAAiB,SAAU98D,EAAOxE,GAKpD,OAHAja,KAAKo3E,aAAan9D,GAAYwE,EAC9Bze,KAAKkoB,OAAQ,EAENloB,MAmBXK,EAAOyzD,KAAKvtD,UAAUi1E,aAAe,SAAU79D,EAAO1D,GAKlD,OAHAja,KAAKq3E,WAAWp9D,GAAY0D,EAC5B3d,KAAKkoB,OAAQ,EAENloB,MAmBXK,EAAOyzD,KAAKvtD,UAAUk1E,cAAgB,SAAUC,EAAQzhE,GAKpD,OAHAja,KAAKs3E,YAAYr9D,GAAYyhE,EAC7B17E,KAAKkoB,OAAQ,EAENloB,MAeXK,EAAOyzD,KAAKvtD,UAAUo1E,qBAAuB,SAAU9nB,GAOnD,OALA7zD,KAAK+jC,QAAQC,YAAY1b,WAAatoB,KAAK43E,KAC3C53E,KAAK8kB,QAAQ4vC,KAAO10D,KAAK2d,MAAM+2C,KAEZ10D,KAAKu5E,YAAY1lB,GAEhBxqD,MAAM,mBAW9BhJ,EAAOyzD,KAAKvtD,UAAUgzE,YAAc,SAAU1lB,GAE1C,OAAI7zD,KAAKw3E,gBAEEx3E,KAAK47E,iBAAiB/nB,GAItB7zD,KAAK67E,cAAchoB,IAelCxzD,EAAOyzD,KAAKvtD,UAAUq1E,iBAAmB,SAAU/nB,GAe/C,IAAK,IAbD/uC,EAAU9kB,KAAK8kB,QACf8zD,EAAgB54E,KAAK2d,MAAMi7D,cAE3BpqE,EAAS,GAITgrE,EAAQ3lB,EACPtnD,QAAQ,OAAQ,KAChBlD,MAAM,WAEPyyE,EAAatC,EAAMzxE,OAEdC,EAAI,EAAGA,EAAI8zE,EAAY9zE,IAChC,CACI,IAAIyJ,EAAO+nE,EAAMxxE,GACbwF,EAAM,GASV,GANAiE,EAAOA,EAAKlF,QAAQ,aAAc,IAIlBuY,EAAQi1D,YAAYtoE,GAAMtB,MAE1ByoE,EAEZpqE,GAAUiD,EAAO,SAFrB,CAYA,IAAK,IALDsqE,EAAmBnD,EAGnBoD,EAAQvqE,EAAKpI,MAAM,KAEdoP,EAAI,EAAGA,EAAIujE,EAAMj0E,OAAQ0Q,IAClC,CACI,IAAIwjE,EAAOD,EAAMvjE,GACbyjE,EAAgBD,EAAO,IACvBE,EAAYr3D,EAAQi1D,YAAYmC,GAAe/rE,MAEnD,GAAIgsE,EAAYJ,EAChB,CAEI,GAAU,IAANtjE,EACJ,CAII,IAFA,IAAI2jE,EAAUF,EAEPE,EAAQr0E,SAEXq0E,EAAUA,EAAQ31E,MAAM,GAAI,MAC5B01E,EAAYr3D,EAAQi1D,YAAYqC,GAASjsE,QAExB4rE,MAQrB,IAAKK,EAAQr0E,OAET,MAAM,IAAI4P,MAAM,sEAIpB,IAAI0kE,EAAaJ,EAAKjxE,OAAOoxE,EAAQr0E,QAErCi0E,EAAMvjE,GAAK4jE,EAGX7uE,GAAO4uE,EAIX,IAAIvtE,EAAUmtE,EAAMvjE,GAAS,OAAIA,EAAIA,EAAI,EAGrCs6D,EAAYiJ,EAAMv1E,MAAMoI,GAAQtF,KAAK,KAExCgD,QAAQ,YAAa,IAGtBitE,EAAMxxE,EAAI,GAAK+qE,EAAY,KAAOyG,EAAMxxE,EAAI,IAAM,IAClD8zE,EAAatC,EAAMzxE,OAEnB,MAMAyF,GAAO0uE,EACPH,GAAoBI,EAK5B3tE,GAAUhB,EAAIjB,QAAQ,YAAa,IAAM,MAM7C,OAFAiC,EAASA,EAAOjC,QAAQ,cAAe,KAa3ClM,EAAOyzD,KAAKvtD,UAAUs1E,cAAgB,SAAUhoB,GAK5C,IAAK,IAHDliD,EAAS,GACT6nE,EAAQ3lB,EAAKxqD,MAAM,MAEdrB,EAAI,EAAGA,EAAIwxE,EAAMzxE,OAAQC,IAClC,CAII,IAAK,IAHDs0E,EAAYt8E,KAAK2d,MAAMi7D,cACvBoD,EAAQxC,EAAMxxE,GAAGqB,MAAM,KAElBoP,EAAI,EAAGA,EAAIujE,EAAMj0E,OAAQ0Q,IAClC,CACI,IAAI0jE,EAAYn8E,KAAK8kB,QAAQi1D,YAAYiC,EAAMvjE,IAAItI,MAC/CosE,EAAqBJ,EAAYn8E,KAAK8kB,QAAQi1D,YAAY,KAAK5pE,MAE/DosE,EAAqBD,GAGjB7jE,EAAI,IAEJ9G,GAAU,MAEdA,GAAUqqE,EAAMvjE,GAAK,IACrB6jE,EAAYt8E,KAAK2d,MAAMi7D,cAAgBuD,IAIvCG,GAAaC,EACb5qE,GAAUqqE,EAAMvjE,GAAK,KAIzBzQ,EAAIwxE,EAAMzxE,OAAO,IAEjB4J,GAAU,MAIlB,OAAOA,GAWXtR,EAAOyzD,KAAKvtD,UAAUi2E,WAAa,SAAU7yB,GAEzC,IAAI+K,EAAO10D,KAAKo5E,iBAAiBzvB,GAE7B3pD,KAAK2d,MAAM+2C,OAASA,IAEpB10D,KAAK2d,MAAM+2C,KAAOA,EAClB10D,KAAKkoB,OAAQ,EAETloB,KAAKmqB,QAELnqB,KAAKwsB,oBAajBnsB,EAAOyzD,KAAKvtD,UAAUwyE,iBAAmB,SAAUrkB,GAU/C,IAAI/9C,EAAI+9C,EAAKrM,MAAM,wSAEnB,GAAI1xC,EACJ,CACI,IAAI8lE,EAAS9lE,EAAE,GAAGw9B,OAQlB,MALK,2DAA2DuoC,KAAKD,IAAY,QAAQC,KAAKD,KAE1FA,EAAS,IAAMA,EAAS,MAIxB/nB,KAAMA,EACNskB,UAAWriE,EAAE,IAAM,SACnBsiE,YAAatiE,EAAE,IAAM,SACrBuiE,WAAYviE,EAAE,IAAM,SACpBwiE,SAAUxiE,EAAE,IAAM,SAClBgmE,WAAYF,GAOhB,OAFAn0E,QAAQG,KAAK,sCAAwCisD,IAGjDA,KAAMA,IAalBr0D,EAAOyzD,KAAKvtD,UAAU6yE,iBAAmB,SAAUzvB,GAE/C,IACIjuB,EADA/xB,KAwBJ,OArBA+xB,EAAIiuB,EAAWqvB,YACA,WAANt9C,GAAkB/xB,EAAMwJ,KAAKuoB,IAEtCA,EAAIiuB,EAAWsvB,cACA,WAANv9C,GAAkB/xB,EAAMwJ,KAAKuoB,IAEtCA,EAAIiuB,EAAWuvB,aACA,WAANx9C,GAAkB/xB,EAAMwJ,KAAKuoB,IAEtCA,EAAIiuB,EAAWwvB,WACA,WAANz9C,GAAkB/xB,EAAMwJ,KAAKuoB,IAEtCA,EAAIiuB,EAAWgzB,aACNhzE,EAAMwJ,KAAKuoB,GAEf/xB,EAAM5B,QAGP4B,EAAMwJ,KAAKw2C,EAAW+K,MAGnB/qD,EAAMJ,KAAK,MAmBtBlJ,EAAOyzD,KAAKvtD,UAAUq2E,QAAU,SAAU/oB,EAAMwK,GAe5C,YAbkB/zD,IAAd+zD,IAA2BA,GAAY,GAE3Cr+D,KAAK6zD,KAAOA,EAAKnsD,YAAc,GAE3B22D,EAEAr+D,KAAKk4E,aAILl4E,KAAKkoB,OAAQ,EAGVloB,MAyBXK,EAAOyzD,KAAKvtD,UAAUs2E,UAAY,SAAU9lD,GAExC,IAAKrwB,MAAMa,QAAQwvB,GAEf,OAAO/2B,KAMP,IAAK,IAFDoX,EAAI,GAECpP,EAAI,EAAGA,EAAI+uB,EAAKhvB,OAAQC,IAEzBtB,MAAMa,QAAQwvB,EAAK/uB,KAEnBoP,GAAK2f,EAAK/uB,GAAGuB,KAAK,MAEdvB,EAAI+uB,EAAKhvB,OAAS,IAElBqP,GAAK,QAKTA,GAAK2f,EAAK/uB,GAENA,EAAI+uB,EAAKhvB,OAAS,IAElBqP,GAAK,OASrB,OAHApX,KAAK6zD,KAAOz8C,EACZpX,KAAKkoB,OAAQ,EAENloB,MAmCXK,EAAOyzD,KAAKvtD,UAAUu2E,cAAgB,SAAU32E,EAAG+G,EAAGiD,EAAOC,GAyBzD,YAvBU9F,IAANnE,EAEAnG,KAAKk3E,WAAa,MAIbl3E,KAAKk3E,WAMNl3E,KAAKk3E,WAAWjpE,MAAM9H,EAAG+G,EAAGiD,EAAOC,GAJnCpQ,KAAKk3E,WAAa,IAAI72E,EAAO2N,UAAU7H,EAAG+G,EAAGiD,EAAOC,GAOpDpQ,KAAK2d,MAAMi7D,cAAgBzoE,IAE3BnQ,KAAK2d,MAAMi7D,cAAgBzoE,IAInCnQ,KAAKg7E,gBAEEh7E,MAUXK,EAAOyzD,KAAKvtD,UAAUy0E,cAAgB,WAElC,IAAI9pB,EAAOlxD,KAAK+jC,QAAQC,YACpBoQ,EAAOp0C,KAAK+jC,QAAQqQ,KACpB9iB,EAAQtxB,KAAK+jC,QAAQzS,MAErBvT,EAAI/d,KAAKisB,OAAO9b,MAChB6N,EAAIhe,KAAKisB,OAAO7b,OAiBpB,GAfA8gD,EAAK/gD,MAAQ4N,EACbmzC,EAAK9gD,OAAS4N,EAEdo2B,EAAKjkC,MAAQ4N,EACbq2B,EAAKhkC,OAAS4N,EAEdsT,EAAMnhB,MAAQ4N,EACduT,EAAMlhB,OAAS4N,EAEfhe,KAAK+jC,QAAQ5zB,MAAQ4N,EACrB/d,KAAK+jC,QAAQ3zB,OAAS4N,EAEtBhe,KAAK+3B,OAASha,EACd/d,KAAKg4B,QAAUha,EAEXhe,KAAKk3E,WACT,CACI,IAAI/wE,EAAInG,KAAKk3E,WAAW/wE,EACpB+G,EAAIlN,KAAKk3E,WAAWhqE,EAGQ,UAA5BlN,KAAK2d,MAAM66D,aAEXryE,GAAKnG,KAAKk3E,WAAW/mE,MAAQnQ,KAAKisB,OAAO9b,MAAQnQ,KAAKsoB,WAErB,WAA5BtoB,KAAK2d,MAAM66D,eAEhBryE,GAAKnG,KAAKk3E,WAAWrnE,UAAa7P,KAAKisB,OAAO9b,MAAQnQ,KAAKsoB,WAAa,GAG5C,WAA5BtoB,KAAK2d,MAAM86D,aAEXvrE,GAAKlN,KAAKk3E,WAAW9mE,OAASpQ,KAAKisB,OAAO7b,OAASpQ,KAAKsoB,WAEvB,WAA5BtoB,KAAK2d,MAAM86D,eAEhBvrE,GAAKlN,KAAKk3E,WAAWnnE,WAAc/P,KAAKisB,OAAO7b,OAASpQ,KAAKsoB,WAAa,GAG9EtoB,KAAK+8E,MAAM52E,GAAKA,EAChBnG,KAAK+8E,MAAM7vE,GAAKA,EAIpBlN,KAAKksD,WAAoB,IAANnuC,GAAiB,IAANC,EAE9Bhe,KAAK+jC,QAAQwnB,gBAAiB,EAE9BvrD,KAAK+jC,QAAQC,YAAY9b,SAW7B7nB,EAAOyzD,KAAKvtD,UAAU+yD,aAAe,SAAUC,GAEvCv5D,KAAKkoB,QAELloB,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,GAGjBniB,KAAKipB,OAAOzoB,UAAU+yD,aAAatyD,KAAKhH,KAAMu5D,IAWlDl5D,EAAOyzD,KAAKvtD,UAAUwzD,cAAgB,SAAUR,GAExCv5D,KAAKkoB,QAELloB,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,GAGjBniB,KAAKipB,OAAOzoB,UAAUwzD,cAAc/yD,KAAKhH,KAAMu5D,IAWnDl5D,EAAOyzD,KAAKvtD,UAAUqzE,wBAA0B,SAAUZ,GAEtD,IAAIgE,EAAa38E,EAAOyzD,KAAKmpB,oBAAoBjE,GAEjD,IAAKgE,EACL,CACIA,KAEA,IAAI/wD,EAAS5rB,EAAOyzD,KAAKopB,qBACrBp4D,EAAUzkB,EAAOyzD,KAAKqpB,sBAE1Br4D,EAAQ4vC,KAAOskB,EAEf,IAAI7oE,EAAQlK,KAAKG,KAAK0e,EAAQi1D,YAAY,QAAQ5pE,OAC9CitE,EAAWn3E,KAAKG,KAAK0e,EAAQi1D,YAAY,QAAQ5pE,OACjDC,EAAS,EAAIgtE,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5BnxD,EAAO9b,MAAQA,EACf8b,EAAO7b,OAASA,EAEhB0U,EAAQy3C,UAAY,OACpBz3C,EAAQ03C,SAAS,EAAG,EAAGrsD,EAAOC,GAE9B0U,EAAQ4vC,KAAOskB,EAEfl0D,EAAQw1D,aAAe,aACvBx1D,EAAQy3C,UAAY,OACpBz3C,EAAQk8C,SAAS,OAAQ,EAAGoc,IAEvBt4D,EAAQ2vB,aAAa,EAAG,EAAGtkC,EAAOC,GAQnC,OANA4sE,EAAWrC,OAASyC,EACpBJ,EAAWK,QAAUD,EAAW,EAChCJ,EAAW7D,SAAW6D,EAAWrC,OAASqC,EAAWK,QAErDh9E,EAAOyzD,KAAKmpB,oBAAoBjE,GAAagE,EAEtCA,EAGX,IAIIh1E,EAAGyQ,EAJH6kE,EAAYx4D,EAAQ2vB,aAAa,EAAG,EAAGtkC,EAAOC,GAAQ8zB,KACtD22B,EAASyiB,EAAUv1E,OACnB0J,EAAe,EAARtB,EAIPotE,EAAM,EACNhgD,GAAO,EAGX,IAAKv1B,EAAI,EAAGA,EAAIo1E,EAAUp1E,IAC1B,CACI,IAAKyQ,EAAI,EAAGA,EAAIhH,EAAMgH,GAAK,EAEvB,GAA2B,MAAvB6kE,EAAUC,EAAM9kE,GACpB,CACI8kB,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAggD,GAAO9rE,EAcf,IANAurE,EAAWrC,OAASyC,EAAWp1E,EAE/Bu1E,EAAM1iB,EAASppD,EACf8rB,GAAO,EAGFv1B,EAAIoI,EAAQpI,EAAIo1E,EAAUp1E,IAC/B,CACI,IAAKyQ,EAAI,EAAGA,EAAIhH,EAAMgH,GAAK,EAEvB,GAA2B,MAAvB6kE,EAAUC,EAAM9kE,GACpB,CACI8kB,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAggD,GAAO9rE,EAQfurE,EAAWK,QAAUr1E,EAAIo1E,EAEzBJ,EAAWK,SAAW,EACtBL,EAAW7D,SAAW6D,EAAWrC,OAASqC,EAAWK,QAErDh9E,EAAOyzD,KAAKmpB,oBAAoBjE,GAAagE,EAGjD,OAAOA,GAYX38E,EAAOyzD,KAAKvtD,UAAUwH,UAAY,SAAU6G,GAQxC,OANI5U,KAAKkoB,QAELloB,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,GAGVniB,KAAKipB,OAAOzoB,UAAUwH,UAAU/G,KAAKhH,KAAM4U,IAYtDvU,EAAOyzD,KAAKvtD,UAAUi3E,kBAAoB,SAAUC,EAAgBC,GAEhE19E,KAAK23E,0BAAmCrtE,IAAXozE,EAAwB,GAAKA,EAC1D19E,KAAK03E,mBAAqB+F,EAE1Bz9E,KAAKk4E,cAWTzwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK63E,OAGhBlrE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK63E,QAEf73E,KAAK63E,MAAQ9tE,EAAMrC,YAAc,GACjC1H,KAAKkoB,OAAQ,EAETloB,KAAKmqB,QAELnqB,KAAKwsB,sBAmBrB/kB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,WAEzCmG,IAAK,WACD,OAAO1M,KAAKo5E,iBAAiBp5E,KAAK83E,kBAGtCnrE,IAAK,SAAU5C,GAEXA,EAAQA,GAAS,kBACjB/J,KAAK83E,gBAAkB93E,KAAK+4E,iBAAiBhvE,GAC7C/J,KAAKw8E,WAAWx8E,KAAK83E,oBAgB7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK83E,gBAAgB6E,YAGhChwE,IAAK,SAAS5C,GAGVA,GADAA,EAAQA,GAAS,SACHoqC,OAGT,2DAA2DuoC,KAAK3yE,IAAW,QAAQ2yE,KAAK3yE,KAEzFA,EAAQ,IAAMA,EAAQ,KAG1B/J,KAAK83E,gBAAgB6E,WAAa5yE,EAClC/J,KAAKw8E,WAAWx8E,KAAK83E,oBAe7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,YAEzCmG,IAAK,WAED,IAAI9B,EAAO5K,KAAK83E,gBAAgBqB,SAEhC,OAAIvuE,GAAQ,cAAc8xE,KAAK9xE,GAEpBK,SAASL,EAAM,IAIfA,GAKf+B,IAAK,SAAS5C,GAIW,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpB/J,KAAK83E,gBAAgBqB,SAAWpvE,EAChC/J,KAAKw8E,WAAWx8E,KAAK83E,oBAW7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK83E,gBAAgBoB,YAAc,UAG9CvsE,IAAK,SAAS5C,GAEVA,EAAQA,GAAS,SACjB/J,KAAK83E,gBAAgBoB,WAAanvE,EAClC/J,KAAKw8E,WAAWx8E,KAAK83E,oBAW7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,aAEzCmG,IAAK,WACD,OAAO1M,KAAK83E,gBAAgBkB,WAAa,UAG7CrsE,IAAK,SAAS5C,GAEVA,EAAQA,GAAS,SACjB/J,KAAK83E,gBAAgBkB,UAAYjvE,EACjC/J,KAAKw8E,WAAWx8E,KAAK83E,oBAW7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAK83E,gBAAgBmB,aAAe,UAG/CtsE,IAAK,SAAS5C,GAEVA,EAAQA,GAAS,SACjB/J,KAAK83E,gBAAgBmB,YAAclvE,EACnC/J,KAAKw8E,WAAWx8E,KAAK83E,oBAU7BrwE,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMwmB,MAGtBx3B,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMwmB,OAErBnkC,KAAK2d,MAAMwmB,KAAOp6B,EAClB/J,KAAKkoB,OAAQ,MAczBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,SAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMgU,OAGtBhlB,IAAK,SAAS5C,IAEVA,EAAQA,EAAM2iC,iBACA1sC,KAAK2d,MAAMgU,QAErB3xB,KAAK2d,MAAMgU,MAAQ5nB,EACnB/J,KAAKkoB,OAAQ,MAazBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK43E,MAGhBjrE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK43E,OAEf53E,KAAK43E,KAAO7tE,EACZ/J,KAAKkoB,OAAQ,MAgBzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMm7D,MAGtBnsE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMm7D,OAErB94E,KAAK2d,MAAMm7D,KAAO/uE,EAClB/J,KAAKkoB,OAAQ,MAYzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM66D,cAGtB7rE,IAAK,SAAS5C,IAEVA,EAAQA,EAAM2iC,iBACA1sC,KAAK2d,MAAM66D,eAErBx4E,KAAK2d,MAAM66D,aAAezuE,EAC1B/J,KAAKkoB,OAAQ,MAYzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM86D,cAGtB9rE,IAAK,SAAS5C,IAEVA,EAAQA,EAAM2iC,iBACA1sC,KAAK2d,MAAM86D,eAErBz4E,KAAK2d,MAAM86D,aAAe1uE,EAC1B/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM6jD,QAGtB70D,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM6jD,SAErBxhE,KAAK2d,MAAM6jD,OAASz3D,EACpB/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,mBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM+6D,iBAGtB/rE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM+6D,kBAErB14E,KAAK2d,MAAM+6D,gBAAkB3/D,OAAOhP,GACpC/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,YAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMg7D,UAGtBhsE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMg7D,WAErB34E,KAAK2d,MAAMg7D,SAAW5uE,EACtB/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMi7D,eAGtBjsE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMi7D,gBAErB54E,KAAK2d,MAAMi7D,cAAgB7uE,EAC3B/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAK+3E,cAGhBprE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK+3E,eAEf/3E,KAAK+3E,aAAe4F,WAAW5zE,GAC/B/J,KAAKkoB,OAAQ,EAETloB,KAAKmqB,QAELnqB,KAAKwsB,sBAYrB/kB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM2iD,eAGtB3zD,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM2iD,gBAErBtgE,KAAK2d,MAAM2iD,cAAgBv2D,EAC3B/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,iBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM4iD,eAGtB5zD,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM4iD,gBAErBvgE,KAAK2d,MAAM4iD,cAAgBx2D,EAC3B/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,eAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMyiD,aAGtBzzD,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMyiD,cAErBpgE,KAAK2d,MAAMyiD,YAAcr2D,EACzB/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM0iD,YAGtB1zD,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM0iD,aAErBrgE,KAAK2d,MAAM0iD,WAAat2D,EACxB/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,gBAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAMy6D,cAGtBzrE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAMy6D,eAErBp4E,KAAK2d,MAAMy6D,aAAeruE,EAC1B/J,KAAKkoB,OAAQ,MAWzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,cAEzCmG,IAAK,WACD,OAAO1M,KAAK2d,MAAM06D,YAGtB1rE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK2d,MAAM06D,aAErBr4E,KAAK2d,MAAM06D,WAAatuE,EACxB/J,KAAKkoB,OAAQ,MAYzBzgB,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,SAEzCmG,IAAK,WAQD,OANI1M,KAAKkoB,QAELloB,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,GAGVloB,KAAKqV,MAAMlP,GAAKnG,KAAK+jC,QAAQzS,MAAMnhB,MAAQnQ,KAAKsoB,aAG3D3b,IAAK,SAAS5C,GAEV/J,KAAKqV,MAAMlP,EAAI4D,EAAQ/J,KAAK+jC,QAAQzS,MAAMnhB,MAC1CnQ,KAAK+3B,OAAShuB,KAUtBtC,OAAOmF,eAAevM,EAAOyzD,KAAKvtD,UAAW,UAEzCmG,IAAK,WAQD,OANI1M,KAAKkoB,QAELloB,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,GAGVloB,KAAKqV,MAAMnI,GAAKlN,KAAK+jC,QAAQzS,MAAMlhB,OAASpQ,KAAKsoB,aAG5D3b,IAAK,SAAS5C,GAEV/J,KAAKqV,MAAMnI,EAAInD,EAAQ/J,KAAK+jC,QAAQzS,MAAMlhB,OAC1CpQ,KAAKg4B,QAAUjuB,KAKvB1J,EAAOyzD,KAAKmpB,uBAEZ58E,EAAOyzD,KAAKopB,qBAAuBxwD,SAASkxD,cAAc,UAC1Dv9E,EAAOyzD,KAAKqpB,sBAAwB98E,EAAOyzD,KAAKopB,qBAAqBp7C,WAAW,MAuDhFzhC,EAAO0rD,WAAa,SAAU9wC,EAAM9U,EAAG+G,EAAGwnD,EAAMb,EAAMjpD,EAAM+mB,GAExDxrB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTwnD,EAAOA,GAAQ,GACfb,EAAOA,GAAQ,GACfjpD,EAAOA,GAAQ,GACf+mB,EAAQA,GAAS,OAEjB5rB,KAAKklB,uBAAuBjkB,KAAKhH,MAMjCA,KAAKoI,KAAO/H,EAAOmB,WAMnBxB,KAAK2uB,YAActuB,EAAOa,OAM1BlB,KAAK69E,UAAY,EAMjB79E,KAAK89E,WAAa,EAKlB99E,KAAK+pB,OAAS,IAAI1pB,EAAOoN,MAMzBzN,KAAK+9E,YAAc,IAAI19E,EAAOoN,MAM9BzN,KAAKgsD,WAMLhsD,KAAKg+E,UAAY,EAMjBh+E,KAAK63E,MAAQhkB,EAAKnsD,YAAc,GAMhC1H,KAAKi+E,MAAQhjE,EAAKsF,MAAM29D,cAAcxpB,GAMtC10D,KAAKm+E,MAAQzpB,EAMb10D,KAAKo+E,UAAYxzE,EAMjB5K,KAAKq+E,OAAS1sD,EAMd3xB,KAAKs+E,MAAQ,SAEbt+E,KAAKk4E,aAKLl4E,KAAKkoB,OAAQ,EAEb7nB,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAG,GAAI,OAI1D7M,EAAO0rD,WAAWxlD,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WACxElG,EAAO0rD,WAAWxlD,UAAU8B,YAAchI,EAAO0rD,WAEjD1rD,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAO0rD,WAAWxlD,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJlG,EAAO0rD,WAAWxlD,UAAU0vD,iBAAmB51D,EAAOioD,UAAUwB,YAAYrsC,UAC5Epd,EAAO0rD,WAAWxlD,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UAC1Epd,EAAO0rD,WAAWxlD,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACxEpd,EAAO0rD,WAAWxlD,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UASlEpd,EAAO0rD,WAAWxlD,UAAUkX,UAAY,WAEpC,SAAKzd,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAQhB/1D,EAAO0rD,WAAWxlD,UAAUwkB,WAAa,WAErC1qB,EAAOioD,UAAUwB,YAAY/+B,WAAW/jB,KAAKhH,MAC7CK,EAAOioD,UAAU2B,cAAcl/B,WAAW/jB,KAAKhH,MAE3CA,KAAKuwB,MAAQvwB,KAAKuwB,KAAKnoB,OAAS/H,EAAOmuB,QAAQC,SAE1CzuB,KAAK69E,YAAc79E,KAAKuwB,KAAKguD,aAAiBv+E,KAAK89E,aAAe99E,KAAKuwB,KAAKiuD,cAE7Ex+E,KAAKuwB,KAAKrQ,QAAQlgB,KAAK69E,UAAW79E,KAAK89E,cAcnDz9E,EAAO0rD,WAAWxlD,UAAUq2E,QAAU,SAAU/oB,GAE5C7zD,KAAK6zD,KAAOA,GAehBxzD,EAAO0rD,WAAWxlD,UAAUk4E,SAAW,SAAUv6C,EAAM7uB,EAAOw+C,GAW1D,IAAK,IATD1tD,EAAI,EACJ4X,EAAI,EACJ2gE,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAY7+E,KAAKg+E,UAAY,EAAKh+E,KAAKg+E,UAAY,KACnDnpB,KAGK7sD,EAAI,EAAGA,EAAI6rD,EAAK9rD,OAAQC,IACjC,CACI,IAAI+I,EAAO/I,IAAM6rD,EAAK9rD,OAAS,EAE/B,GAAI,iBAAiB+2E,KAAKjrB,EAAKkrB,OAAO/2E,IAElC,OAASmI,MAAO4N,EAAG81C,KAAMA,EAAK7oD,OAAO,EAAGhD,GAAI+I,IAAKA,EAAK8jD,MAAOA,GAI7D,IAAI3S,EAAW2R,EAAKzR,WAAWp6C,GAC3Bg3E,EAAW96C,EAAK2wB,MAAM3S,GAEtBxyC,EAAI,OAISpF,IAAb00E,IAEA98B,EAAW,GACX88B,EAAW96C,EAAK2wB,MAAM3S,IAI1B,IAAI+8B,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAAOE,KAAKjrB,EAAKkrB,OAAO/2E,MAExB02E,EAAY12E,EACZ22E,EAAe5gE,GAInBrO,GAAKuvE,EAAUD,EAASj7C,QAAQ5zB,MAAQ6uE,EAAS/pB,SAAW5/C,EAGxDwpE,GAAc9gE,EAAIrO,GAAMmvE,GAAaH,GAAa,EAGlD,OAASvuE,MAAOwuE,GAAgB5gE,EAAG81C,KAAMA,EAAK7oD,OAAO,EAAGhD,GAAKA,EAAI02E,IAAa3tE,IAAKA,EAAK8jD,MAAOA,GAI/F92C,IAAMihE,EAASE,SAAWD,GAAW5pE,EAErCw/C,EAAM1hD,KAAKhN,GAAK64E,EAAS/pB,QAAUgqB,GAAW5pE,GAE9ClP,IAAM64E,EAASE,SAAWD,GAAW5pE,EAErCupE,EAAe18B,EAK3B,OAAS/xC,MAAO4N,EAAG81C,KAAMA,EAAM9iD,IAAKA,EAAK8jD,MAAOA,IAepDx0D,EAAO0rD,WAAWxlD,UAAU44E,UAAY,SAAUtrB,EAAMtnD,QAEpCjC,IAAZiC,IAEAA,EAAU,IAGd,IAAI23B,EAAOlkC,KAAKi+E,MAAMvpB,KAEtB,IAAKxwB,EAED,MAAO,GAMX,IAAK,IAHDk7C,EAAK,mBACL5F,EAAQ3lB,EAAKtnD,QAAQ6yE,EAAI,MAAM/1E,MAAM,MAEhCrB,EAAI,EAAGA,EAAIwxE,EAAMzxE,OAAQC,IAClC,CAII,IAAK,IAHDwG,EAAS,GACTiD,EAAO+nE,EAAMxxE,GAER0H,EAAI,EAAGA,EAAI+B,EAAK1J,OAAQ2H,IAIzBlB,EAFA01B,EAAK2wB,MAAMpjD,EAAK2wC,WAAW1yC,IAElBlB,EAAOzH,OAAO0K,EAAK/B,IAInBlB,EAAOzH,OAAOwF,GAI/BitE,EAAMxxE,GAAKwG,EAGf,OAAOgrE,EAAMjwE,KAAK,OAUtBlJ,EAAO0rD,WAAWxlD,UAAU2xE,WAAa,WAErC,IAAIh0C,EAAOlkC,KAAKi+E,MAAMvpB,KAEtB,GAAKxwB,EAAL,CAKA,IAAI2vB,EAAO7zD,KAAK6zD,KACZx+C,EAAQrV,KAAKo+E,UAAYl6C,EAAKt5B,KAC9B4uE,KAEAtsE,EAAI,EAERlN,KAAK69E,UAAY,EAEjB,IAEQpsE,EAAOzR,KAAKy+E,SAASv6C,EAAM7uB,EAAOw+C,IAEjC3mD,EAAIA,EAETssE,EAAMrmE,KAAK1B,GAEPA,EAAKtB,MAAQnQ,KAAK69E,YAElB79E,KAAK69E,UAAYpsE,EAAKtB,OAG1BjD,GAAMg3B,EAAKi2C,WAAa9kE,EAExBw+C,EAAOA,EAAK7oD,OAAOyG,EAAKoiD,KAAK9rD,OAAS,UAEpB,IAAb0J,EAAKV,KAEd/Q,KAAK89E,WAAa5wE,EAOlB,IAAK,IALDrF,EAAI,EACJ8pB,EAAQ,EACR41C,EAAKvnE,KAAK69E,UAAY79E,KAAK+pB,OAAO5jB,EAClCqhE,EAAKxnE,KAAK89E,WAAa99E,KAAK+pB,OAAO7c,EAE9BlF,EAAI,EAAGA,EAAIwxE,EAAMzxE,OAAQC,IAClC,CACI,IAAIyJ,EAAO+nE,EAAMxxE,GAEG,UAAhBhI,KAAKq+E,OAEL1sD,EAAQ3xB,KAAK69E,UAAYpsE,EAAKtB,MAET,WAAhBnQ,KAAKq+E,SAEV1sD,GAAS3xB,KAAK69E,UAAYpsE,EAAKtB,OAAS,GAG5C,IAAK,IAAIT,EAAI,EAAGA,EAAI+B,EAAKoiD,KAAK9rD,OAAQ2H,IACtC,CACI,IAAIwyC,EAAWzwC,EAAKoiD,KAAKzR,WAAW1yC,GAChCsvE,EAAW96C,EAAK2wB,MAAM3S,QAET53C,IAAb00E,IAEA98B,EAAW,GACX88B,EAAW96C,EAAK2wB,MAAM3S,IAG1B,IAAIz2B,EAAIzrB,KAAKgsD,QAAQnkD,GAEjB4jB,EAGAA,EAAEsY,QAAUi7C,EAASj7C,UAKrBtY,EAAI,IAAI1lB,KAAKipB,OAAOgwD,EAASj7C,UAC3Bh4B,KAAO0F,EAAKoiD,KAAKnkD,GACnB1P,KAAKgsD,QAAQ74C,KAAKsY,IAGtBA,EAAExR,SAAS9T,EAAKsL,EAAKojD,MAAMnlD,GAAKiiB,EAAS41C,EACzC97C,EAAExR,SAAS/M,EAAKuE,EAAKvE,EAAK8xE,EAAS9pB,QAAU7/C,EAAUmyD,EAEvD/7C,EAAEpW,MAAM1I,IAAI0I,GACZoW,EAAE6/B,KAAOtrD,KAAKsrD,KACd7/B,EAAEsY,QAAQwnB,gBAAiB,EAC3B9/B,EAAE4zC,WAAa,SAEV5zC,EAAEtB,QAEHnqB,KAAKwd,SAASiO,GAGlB5jB,KAMR,IAAKG,EAAIH,EAAGG,EAAIhI,KAAKgsD,QAAQjkD,OAAQC,IAEjChI,KAAK+yB,YAAY/yB,KAAKgsD,QAAQhkD,MAkBtC3H,EAAO0rD,WAAWxlD,UAAU84E,YAAc,WAKtC,IAAK,IAHDv3E,EAAM9H,KAAKgsD,QAAQjkD,OACnBu3E,KAEKt3E,EAAI,EAAGA,EAAIhI,KAAKgsD,QAAQjkD,OAAQC,IAEjChI,KAAKgsD,QAAQhkD,GAAGmiB,SAAWnqB,KAE3BA,KAAKgsD,QAAQhkD,GAAGuc,UAIhB+6D,EAAKnsE,KAAKnT,KAAKgsD,QAAQhkD,IAS/B,OALAhI,KAAKgsD,WACLhsD,KAAKgsD,QAAUszB,EAEft/E,KAAKk4E,aAEEpwE,EAAMw3E,EAAKv3E,QAUtB1H,EAAO0rD,WAAWxlD,UAAUimB,gBAAkB,YAEtCxsB,KAAKkoB,OAAUloB,KAAK+pB,OAAO1a,OAAOrP,KAAK+9E,eAEvC/9E,KAAKk4E,aACLl4E,KAAKkoB,OAAQ,EACbloB,KAAK+9E,YAAY7vE,SAASlO,KAAK+pB,SAGnChkB,KAAKklB,uBAAuB1kB,UAAUimB,gBAAgBxlB,KAAKhH,OAQ/DyH,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,SAE/CmG,IAAK,WACD,OAAO1M,KAAKq+E,QAGhB1xE,IAAK,SAAS5C,GAENA,IAAU/J,KAAKq+E,QAAqB,SAAVt0E,GAA8B,WAAVA,GAAgC,UAAVA,IAEpE/J,KAAKq+E,OAASt0E,EACd/J,KAAKk4E,iBAWjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAKs+E,OAGhB3xE,IAAK,SAAS5C,GAENA,IAAU/J,KAAKs+E,QAEft+E,KAAKs+E,MAAQv0E,EACb/J,KAAKk4E,iBAWjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAKm+E,OAGhBxxE,IAAK,SAAS5C,GAENA,IAAU/J,KAAKm+E,QAEfn+E,KAAKm+E,MAAQp0E,EAAMoqC,OACnBn0C,KAAKi+E,MAAQj+E,KAAKib,KAAKsF,MAAM29D,cAAcl+E,KAAKm+E,OAChDn+E,KAAKk4E,iBAWjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,YAE/CmG,IAAK,WACD,OAAO1M,KAAKo+E,WAGhBzxE,IAAK,SAAS5C,IAEVA,EAAQkB,SAASlB,EAAO,OAEV/J,KAAKo+E,WAAar0E,EAAQ,IAEpC/J,KAAKo+E,UAAYr0E,EACjB/J,KAAKk4E,iBAWjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,QAE/CmG,IAAK,WACD,OAAO1M,KAAK63E,OAGhBlrE,IAAK,SAAS5C,GAENA,IAAU/J,KAAK63E,QAEf73E,KAAK63E,MAAQ9tE,EAAMrC,YAAc,GACjC1H,KAAKk4E,iBAoBjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,YAE/CmG,IAAK,WAED,OAAO1M,KAAKg+E,WAIhBrxE,IAAK,SAAS5C,GAENA,IAAU/J,KAAKg+E,YAEfh+E,KAAKg+E,UAAYj0E,EACjB/J,KAAKk4E,iBAiBjBzwE,OAAOmF,eAAevM,EAAO0rD,WAAWxlD,UAAW,YAE/CmG,IAAK,WAED,OAAQ1M,KAAKi+E,MAAM/sB,KAAKf,WAI5BxjD,IAAK,SAAS5C,GAIN/J,KAAKi+E,MAAM/sB,KAAKf,UAFhBpmD,EAE4B,EAIA,KA+BxC1J,EAAO80D,UAAY,SAAUl6C,EAAMpR,EAAK8qD,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAKj6C,EAAKsF,MAAMg/D,cAAc11E,GAE1B,OAAO,OAGSS,IAAhBwqD,GAA6C,OAAhBA,IAE7BA,EAAc75C,EAAKsF,MAAM0wC,SAASpnD,GAAKsG,MAAQwkD,GAMnD30D,KAAK20D,eAAiBA,EAKtB30D,KAAK40D,gBAAkBA,EAKvB50D,KAAKw/E,kBAAoBzqB,GAAY,EAKrC/0D,KAAKy/E,kBAAoBzqB,GAAY,EAKrCh1D,KAAK0/E,gBAAkB5qB,EAMvB90D,KAAKo3C,QAAU6d,GAAW,EAM1Bj1D,KAAKq3C,QAAU6d,GAAW,EAK1Bl1D,KAAK2xB,MAAQ,OAMb3xB,KAAK2/E,WAAY,EAMjB3/E,KAAK4/E,eAAgB,EAMrB5/E,KAAK6/E,eAAiB,EAMtB7/E,KAAK8/E,eAAiB,EAOtB9/E,KAAK+/E,WAAa,EAKlB//E,KAAKggF,QAAU/kE,EAAKsF,MAAM0wC,SAASpnD,GAMnC7J,KAAK63E,MAAQ,GAMb73E,KAAKigF,YAKLjgF,KAAK0wD,UAAY,IAAIrwD,EAAO46D,UAO5B,IAAK,IAJDilB,EAAWlgF,KAAKo3C,QAChB+oC,EAAWngF,KAAKq3C,QAChB1pC,EAAI,EAEC+B,EAAI,EAAGA,EAAImlD,EAAM9sD,OAAQ2H,IAClC,CACI,IAAI4hB,EAAQtxB,KAAK0wD,UAAUyK,SAAS,IAAI96D,EAAO+6D,MAAM1rD,EAAGwwE,EAAUC,EAAUngF,KAAK20D,eAAgB30D,KAAK40D,kBAEtG50D,KAAKigF,SAASprB,EAAMzS,WAAW1yC,IAAM4hB,EAAMvoB,QAE3C4E,IAEU3N,KAAK0/E,iBAEX/xE,EAAI,EACJuyE,EAAWlgF,KAAKo3C,QAChB+oC,GAAYngF,KAAK40D,gBAAkB50D,KAAKy/E,mBAIxCS,GAAYlgF,KAAK20D,eAAiB30D,KAAKw/E,kBAI/CvkE,EAAKsF,MAAM6/D,gBAAgBv2E,EAAK7J,KAAK0wD,WAMrC1wD,KAAKqgF,MAAQ,IAAIhgF,EAAO2yD,MAAM/3C,EAAM,EAAG,EAAGpR,EAAK,GAE/CxJ,EAAO+vD,cAAcppD,KAAKhH,KAAMib,EAAM,IAAK,IAAK,GAAI5a,EAAOsF,WAAWG,SAKtE9F,KAAKoI,KAAO/H,EAAO+B,WAIvB/B,EAAO80D,UAAU5uD,UAAYkB,OAAO0Z,OAAO9gB,EAAO+vD,cAAc7pD,WAChElG,EAAO80D,UAAU5uD,UAAU8B,YAAchI,EAAO80D,UAOhD90D,EAAO80D,UAAUmrB,WAAa,OAO9BjgF,EAAO80D,UAAUorB,YAAc,QAO/BlgF,EAAO80D,UAAUqrB,aAAe,SAOhCngF,EAAO80D,UAAUsrB,UAAY,oGAO7BpgF,EAAO80D,UAAUurB,UAAY,+DAO7BrgF,EAAO80D,UAAUwrB,UAAY,wCAO7BtgF,EAAO80D,UAAUyrB,UAAY,wCAO7BvgF,EAAO80D,UAAU0rB,UAAY,mDAO7BxgF,EAAO80D,UAAU2rB,UAAY,oDAO7BzgF,EAAO80D,UAAU4rB,UAAY,oDAO7B1gF,EAAO80D,UAAU6rB,UAAY,yCAO7B3gF,EAAO80D,UAAU8rB,UAAY,kDAO7B5gF,EAAO80D,UAAU+rB,WAAa,6BAO9B7gF,EAAO80D,UAAUgsB,WAAa,oDAW9B9gF,EAAO80D,UAAU5uD,UAAU66E,cAAgB,SAAUjxE,EAAOkxE,QAElC/2E,IAAlB+2E,IAA+BA,EAAgB,QAEnDrhF,KAAK+/E,WAAa5vE,EAClBnQ,KAAK2xB,MAAQ0vD,GAgBjBhhF,EAAO80D,UAAU5uD,UAAUq2E,QAAU,SAAU0E,EAAS3B,EAAW4B,EAAkBnH,EAAaiH,EAAeG,GAE7GxhF,KAAK2/E,UAAYA,IAAa,EAC9B3/E,KAAK6/E,eAAiB0B,GAAoB,EAC1CvhF,KAAK8/E,eAAiB1F,GAAe,EACrCp6E,KAAK2xB,MAAQ0vD,GAAiB,OAI1BrhF,KAAK4/E,eAFL4B,EASAF,EAAQv5E,OAAS,IAEjB/H,KAAK6zD,KAAOytB,IAWpBjhF,EAAO80D,UAAU5uD,UAAUk7E,mBAAqB,WAE5C,IAAI9xE,EAAK,EACLG,EAAK,EAKT,GAFA9P,KAAK2e,QAED3e,KAAK2/E,UACT,CACI,IAAInG,EAAQx5E,KAAK63E,MAAMxuE,MAAM,MAEzBrJ,KAAK+/E,WAAa,EAElB//E,KAAKwZ,OAAOxZ,KAAK+/E,WAAavG,EAAMzxE,QAAU/H,KAAK40D,gBAAkB50D,KAAK8/E,gBAAmB9/E,KAAK8/E,gBAAgB,GAIlH9/E,KAAKwZ,OAAOxZ,KAAK0hF,kBAAoB1hF,KAAK20D,eAAiB30D,KAAK6/E,gBAAkBrG,EAAMzxE,QAAU/H,KAAK40D,gBAAkB50D,KAAK8/E,gBAAmB9/E,KAAK8/E,gBAAgB,GAI1K,IAAK,IAAI93E,EAAI,EAAGA,EAAIwxE,EAAMzxE,OAAQC,IAG9B2H,EAAK,EAGD3P,KAAK2xB,QAAUtxB,EAAO80D,UAAUorB,YAEhC5wE,EAAK3P,KAAKmQ,MAASqpE,EAAMxxE,GAAGD,QAAU/H,KAAK20D,eAAiB30D,KAAK6/E,gBAE5D7/E,KAAK2xB,QAAUtxB,EAAO80D,UAAUqrB,eAErC7wE,EAAM3P,KAAKmQ,MAAQ,EAAOqpE,EAAMxxE,GAAGD,QAAU/H,KAAK20D,eAAiB30D,KAAK6/E,gBAAmB,EAC3FlwE,GAAM3P,KAAK6/E,eAAiB,GAI5BlwE,EAAK,IAELA,EAAK,GAGT3P,KAAK2hF,UAAUnI,EAAMxxE,GAAI2H,EAAIG,EAAI9P,KAAK6/E,gBAEtC/vE,GAAM9P,KAAK40D,gBAAkB50D,KAAK8/E,oBAKlC9/E,KAAK+/E,WAAa,EAElB//E,KAAKwZ,OAAOxZ,KAAK+/E,WAAY//E,KAAK40D,iBAAiB,GAInD50D,KAAKwZ,OAAOxZ,KAAK63E,MAAM9vE,QAAU/H,KAAK20D,eAAiB30D,KAAK6/E,gBAAiB7/E,KAAK40D,iBAAiB,GAIvGjlD,EAAK,EAED3P,KAAK2xB,QAAUtxB,EAAO80D,UAAUorB,YAEhC5wE,EAAK3P,KAAKmQ,MAASnQ,KAAK63E,MAAM9vE,QAAU/H,KAAK20D,eAAiB30D,KAAK6/E,gBAE9D7/E,KAAK2xB,QAAUtxB,EAAO80D,UAAUqrB,eAErC7wE,EAAM3P,KAAKmQ,MAAQ,EAAOnQ,KAAK63E,MAAM9vE,QAAU/H,KAAK20D,eAAiB30D,KAAK6/E,gBAAmB,EAC7FlwE,GAAM3P,KAAK6/E,eAAiB,GAI5BlwE,EAAK,IAELA,EAAK,GAGT3P,KAAK2hF,UAAU3hF,KAAK63E,MAAOloE,EAAI,EAAG3P,KAAK6/E,gBAG3C7/E,KAAKurD,gBAAiB,GAe1BlrD,EAAO80D,UAAU5uD,UAAUo7E,UAAY,SAAUlwE,EAAMtL,EAAG+G,EAAG2yE,GAEzD,IAAK,IAAInwE,EAAI,EAAGA,EAAI+B,EAAK1J,OAAQ2H,IAG7B,GAAuB,MAAnB+B,EAAKstE,OAAOrvE,GAEZvJ,GAAKnG,KAAK20D,eAAiBkrB,OAK3B,GAAI7/E,KAAKigF,SAASxuE,EAAK2wC,WAAW1yC,KAAO,IAErC1P,KAAKqgF,MAAM/uD,MAAQtxB,KAAKigF,SAASxuE,EAAK2wC,WAAW1yC,IACjD1P,KAAKi2E,SAASj2E,KAAKqgF,MAAOl6E,EAAG+G,GAAG,IAEhC/G,GAAKnG,KAAK20D,eAAiBkrB,GAEnB7/E,KAAKmQ,OAET,OAcpB9P,EAAO80D,UAAU5uD,UAAUm7E,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAI5hF,KAAK63E,MAAM9vE,OAAS,EAIpB,IAAK,IAFDyxE,EAAQx5E,KAAK63E,MAAMxuE,MAAM,MAEpBrB,EAAI,EAAGA,EAAIwxE,EAAMzxE,OAAQC,IAE1BwxE,EAAMxxE,GAAGD,OAAS65E,IAElBA,EAAcpI,EAAMxxE,GAAGD,QAKnC,OAAO65E,GAYXvhF,EAAO80D,UAAU5uD,UAAUs7E,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEPryE,EAAI,EAAGA,EAAI1P,KAAK63E,MAAM9vE,OAAQ2H,IACvC,CACI,IAAIsyE,EAAQhiF,KAAK63E,MAAMnoE,GACnBuyE,EAAOD,EAAM5/B,WAAW,IAExBpiD,KAAKigF,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAUh7E,OAAOi7E,IAIrC,OAAOD,GAcX1hF,EAAO80D,UAAU5uD,UAAU27E,aAAe,SAAU/7E,EAAG+G,GAEnD,GAAIlN,KAAKo3C,UAAYjxC,GAAKnG,KAAKq3C,UAAYnqC,EAA3C,CAWA,IANA,IAAIi1E,EAAQh8E,EAAInG,KAAKo3C,QACjBgrC,EAAQl1E,EAAIlN,KAAKq3C,QAEjBgrC,EAASriF,KAAKib,KAAKsF,MAAMkwC,aAAazwD,KAAKqgF,MAAMx2E,KAAKy4E,YACtDt6E,EAAIq6E,EAAOt6E,OAERC,KAEHq6E,EAAOr6E,GAAG7B,GAAKg8E,EACfE,EAAOr6E,GAAGkF,GAAKk1E,EAGnBpiF,KAAKyhF,uBAQTh6E,OAAOmF,eAAevM,EAAO80D,UAAU5uD,UAAW,QAE9CmG,IAAK,WAED,OAAO1M,KAAK63E,OAIhBlrE,IAAK,SAAU5C,GAEX,IAAIw4E,GAIAA,EAFAviF,KAAK4/E,cAEK71E,EAAMy4E,cAINz4E,KAGE/J,KAAK63E,QAEjB73E,KAAK63E,MAAQ0K,EAEbviF,KAAK6hF,4BAA4B7hF,KAAK2/E,WAEtC3/E,KAAKyhF,yBAWjBh6E,OAAOmF,eAAevM,EAAO80D,UAAU5uD,UAAW,YAE9CmG,IAAK,WAED,OAAO1M,KAAKqgF,MAAMhkD,UAItB1vB,IAAK,SAAU5C,GAEX/J,KAAKqgF,MAAMhkD,SAAWtyB,EACtB/J,KAAKyhF,wBAiDbphF,EAAOuzD,KAAO,SAAU34C,EAAM9U,EAAG+G,EAAGrD,EAAKynB,EAAO5Z,GAE5C1X,KAAK0X,UACL1X,KAAK0X,OAASA,EACd1X,KAAKyiF,qBAAsB,EAC3BziF,KAAK0iF,yBAA2B,KAChCv8E,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTrD,EAAMA,GAAO,KACbynB,EAAQA,GAAS,KAMjBtxB,KAAKoI,KAAO/H,EAAOiC,KAEnBtC,KAAK0X,OAASA,EAEd3R,KAAKklB,uBAAuBjkB,KAAKhH,MAEjCA,KAAK+jC,QAAU1jC,EAAOypB,MAAMlkB,QAG5B5F,KAAK2iF,IAAM,IAAI5tE,cAAc,EAAG,EACE,EAAG,EACH,EAAG,EACH,EAAG,IAErC/U,KAAK0wE,SAAW,IAAI37D,cAAc,EAAG,EACG,IAAK,EACL,IAAK,IACL,EAAG,MAE3C/U,KAAKm3E,OAAS,IAAIpiE,cAAc,EAAG,EAAG,EAAG,IAEzC/U,KAAKgpE,QAAU,IAAIuF,aAAa,EAAG,EAAG,EAAG,IAErC72D,IAEA1X,KAAK0wE,SAAW,IAAI37D,aAA6B,EAAhB2C,EAAO3P,QACxC/H,KAAK2iF,IAAM,IAAI5tE,aAA6B,EAAhB2C,EAAO3P,QACnC/H,KAAKm3E,OAAS,IAAIpiE,aAA6B,EAAhB2C,EAAO3P,QACtC/H,KAAKgpE,QAAU,IAAIuF,YAA4B,EAAhB72D,EAAO3P,SAS1C/H,KAAKkoB,OAAQ,EAQbloB,KAAK4iF,cAAgB,EAErB5iF,KAAK6iF,SAAWxiF,EAAOuzD,KAAKwW,eAE5B/pE,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEvDtxB,KAAKk9B,WAIT78B,EAAOuzD,KAAKrtD,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WAClElG,EAAOuzD,KAAKrtD,UAAU8B,YAAchI,EAAOuzD,KAE3CvzD,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAOuzD,KAAKrtD,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJlG,EAAOuzD,KAAKrtD,UAAU0vD,iBAAmB51D,EAAOioD,UAAUwB,YAAYrsC,UACtEpd,EAAOuzD,KAAKrtD,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UACpEpd,EAAOuzD,KAAKrtD,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UAClEpd,EAAOuzD,KAAKrtD,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAE5Dpd,EAAOuzD,KAAKwW,eAAiB,EAC7B/pE,EAAOuzD,KAAKkvB,UAAY,EAQxBziF,EAAOuzD,KAAKrtD,UAAUkX,UAAY,WAE9B,SAAKzd,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAUhB/1D,EAAOuzD,KAAKrtD,UAAUyY,OAAS,WAEvBhf,KAAKyiF,qBAELziF,KAAK+iF,gBAAgB/7E,KAAKhH,OAgBlCK,EAAOuzD,KAAKrtD,UAAU4Z,MAAQ,SAAUha,EAAG+G,GAIvC,OAFA7M,EAAOioD,UAAU0J,MAAMzrD,UAAU4Z,MAAMnZ,KAAKhH,KAAMmG,EAAG+G,GAE9ClN,MAUXK,EAAOuzD,KAAKrtD,UAAU22B,QAAU,WAE5B,IAAIxlB,EAAS1X,KAAK0X,OAElB,KAAIA,EAAO3P,OAAS,GAApB,CAKA,IAAI46E,EAAM3iF,KAAK2iF,IAEX3Z,EAAUhpE,KAAKgpE,QACfmO,EAASn3E,KAAKm3E,OAElBn3E,KAAKi9B,OAAS,GAEd0lD,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EAETxL,EAAO,GAAK,EACZA,EAAO,GAAK,EAEZnO,EAAQ,GAAK,EACbA,EAAQ,GAAK,EAMb,IAAK,IAHDjgE,EACA4qB,EAFAgC,EAAQje,EAAO3P,OAIVC,EAAI,EAAGA,EAAI2tB,EAAO3tB,IAKvB2rB,EAAS3rB,GAAK2tB,EAAQ,GAIlBgtD,EAPJ55E,EAAY,EAAJf,GAOS2rB,EACbgvD,EAAI55E,EAAQ,GAAK,EAEjB45E,EAAI55E,EAAQ,GAAK4qB,EACjBgvD,EAAI55E,EAAQ,GAAK,EAYrBouE,EADApuE,EAAY,EAAJf,GACQ,EAChBmvE,EAAOpuE,EAAQ,GAAK,EAGpBigE,EADAjgE,EAAY,EAAJf,GACSe,EACjBigE,EAAQjgE,EAAQ,GAAKA,EAAQ,IAWrC1I,EAAOuzD,KAAKrtD,UAAUimB,gBAAkB,WAEpC,IAAI9U,EAAS1X,KAAK0X,OAElB,KAAIA,EAAO3P,OAAS,GAApB,CAKA,IACIi7E,EADAnW,EAAYn1D,EAAO,GAEnBX,GAAS5Q,EAAE,EAAG+G,EAAE,GAEpBlN,KAAKi9B,OAAS,GAUd,IAAK,IANDhuB,EACAlG,EAEAk6E,EACAC,EANAxS,EAAW1wE,KAAK0wE,SAChB/6C,EAAQje,EAAO3P,OAOVC,EAAI,EAAGA,EAAI2tB,EAAO3tB,IAEvBiH,EAAQyI,EAAO1P,GACfe,EAAY,EAAJf,EAIJg7E,EAFDh7E,EAAI0P,EAAO3P,OAAS,EAEP2P,EAAO1P,EAAI,GAIXiH,EAGhB8H,EAAK7J,IAAM81E,EAAU78E,EAAI0mE,EAAU1mE,GACnC4Q,EAAK5Q,EAAI68E,EAAU91E,EAAI2/D,EAAU3/D,EAEC,IAAzB,EAAKlF,GAAK2tB,EAAQ,IAEf,GAEA,EAGZstD,EAAah9E,KAAKqK,KAAMyG,EAAK5Q,EAAI4Q,EAAK5Q,EAAM4Q,EAAK7J,EAAI6J,EAAK7J,GAC1Dg2E,EAAMljF,KAAK+jC,QAAQ3zB,OAAS,EAC5B2G,EAAK5Q,GAAK88E,EACVlsE,EAAK7J,GAAK+1E,EAEVlsE,EAAK5Q,GAAK+8E,EACVnsE,EAAK7J,GAAKg2E,EAEVxS,EAAS3nE,GAASkG,EAAM9I,EAAI4Q,EAAK5Q,EACjCuqE,EAAS3nE,EAAQ,GAAKkG,EAAM/B,EAAI6J,EAAK7J,EACrCwjE,EAAS3nE,EAAQ,GAAKkG,EAAM9I,EAAI4Q,EAAK5Q,EACrCuqE,EAAS3nE,EAAQ,GAAKkG,EAAM/B,EAAI6J,EAAK7J,EAErC2/D,EAAY59D,EAGhBlJ,KAAKklB,uBAAuB1kB,UAAUimB,gBAAgBxlB,KAAKhH,QAW/DK,EAAOuzD,KAAKrtD,UAAU8pD,WAAa,SAAUtsB,GAEzC/jC,KAAK+jC,QAAUA,GAWnB1jC,EAAOuzD,KAAKrtD,UAAU+yD,aAAe,SAAUC,IAEtCv5D,KAAKsb,SAAWtb,KAAK0e,OAAS,IAKnC66C,EAAclG,YAAY91B,OAErBv9B,KAAKmjF,eAENnjF,KAAKojF,WAAW7pB,GAGpBA,EAAcI,cAAcC,UAAUL,EAAcI,cAAc0pB,aAElErjF,KAAKsjF,aAAa/pB,GAElBA,EAAclG,YAAYviD,UAW9BzQ,EAAOuzD,KAAKrtD,UAAU68E,WAAa,SAAU7pB,GAGzC,IAAIE,EAAKF,EAAcE,GAEvBz5D,KAAKmjF,cAAgB1pB,EAAGyU,eACxBluE,KAAKujF,aAAe9pB,EAAGyU,eACvBluE,KAAKwjF,UAAY/pB,EAAGyU,eACpBluE,KAAKyjF,aAAehqB,EAAGyU,eAEvBzU,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK0wE,SAAUjX,EAAGiqB,cAEjDjqB,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK2iF,IAAKlpB,EAAG4U,aAE5C5U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKyjF,cACpChqB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAKm3E,OAAQ1d,EAAG4U,aAE/C5U,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,cAC5C9pB,EAAG2U,WAAW3U,EAAGyQ,qBAAsBlqE,KAAKgpE,QAASvP,EAAG4U,cAW5DhuE,EAAOuzD,KAAKrtD,UAAU+8E,aAAe,SAAU/pB,GAE3C,IAAIE,EAAKF,EAAcE,GACnB4O,EAAa9O,EAAc8O,WAC3Bx5D,EAAS0qD,EAAc1qD,OACvBy5D,EAAS/O,EAAcI,cAAc0pB,YAErCR,EAAY7iF,KAAK6iF,WAAaxiF,EAAOuzD,KAAKwW,eAAkB3Q,EAAG2Q,eAAiB3Q,EAAGqpB,UAEvFvpB,EAAcma,iBAAiBC,aAAa3zE,KAAKm/D,WAGjD1F,EAAGyP,iBAAiBZ,EAAOa,mBAAmB,EAAOnpE,KAAKorB,eAAevW,SAAQ,IACjF4kD,EAAG6P,UAAUhB,EAAOiB,iBAAkBlB,EAAWliE,GAAIkiE,EAAWn7D,GAChEusD,EAAG6P,UAAUhB,EAAOkB,cAAe36D,EAAO1I,GAAI0I,EAAO3B,GACrDusD,EAAG2P,UAAUd,EAAO5pD,MAAO1e,KAAKysB,YAE3BzsB,KAAKkoB,OA2BNloB,KAAKkoB,OAAQ,EAEbuxC,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK0wE,SAAUjX,EAAG4U,aACjD5U,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK2iF,IAAKlpB,EAAG4U,aAC5C5U,EAAGqQ,oBAAoBxB,EAAOqb,cAAe,EAAGlqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGmqB,cAAcnqB,EAAGoqB,UAGhB7jF,KAAK+jC,QAAQC,YAAY6xC,OAAOpc,EAAGtkD,IAEnCokD,EAAc/gC,SAASwiD,cAAch7E,KAAK+jC,QAAQC,aAIlDy1B,EAAGqqB,YAAYrqB,EAAGsqB,WAAY/jF,KAAK+jC,QAAQC,YAAY0xC,YAAYjc,EAAGtkD,KAG1EskD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,cAC5C9pB,EAAG2U,WAAW3U,EAAGyQ,qBAAsBlqE,KAAKgpE,QAASvP,EAAG4U,eAjDxD5U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAGuqB,cAAcvqB,EAAGoQ,aAAc,EAAG7pE,KAAK0wE,UAC1CjX,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAGqQ,oBAAoBxB,EAAOqb,cAAe,EAAGlqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGmqB,cAAcnqB,EAAGoqB,UAGhB7jF,KAAK+jC,QAAQC,YAAY6xC,OAAOpc,EAAGtkD,IAEnCokD,EAAc/gC,SAASwiD,cAAch7E,KAAK+jC,QAAQC,aAKlDy1B,EAAGqqB,YAAYrqB,EAAGsqB,WAAY/jF,KAAK+jC,QAAQC,YAAY0xC,YAAYjc,EAAGtkD,KAG1EskD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,eA+BhD9pB,EAAGoP,aAAaga,EAAU7iF,KAAKgpE,QAAQjhE,OAAQ0xD,EAAGsP,eAAgB,IAWtE1oE,EAAOuzD,KAAKrtD,UAAUwzD,cAAgB,SAAUR,GAE5C,IAAIz0C,EAAUy0C,EAAcz0C,QAExBo1C,EAAYl6D,KAAKorB,eAEjBpZ,EAAMkoD,EAAUloD,GAAKunD,EAAcjxC,WAAcixC,EAAca,OAC/DnoD,EAAMioD,EAAUjoD,GAAKsnD,EAAcjxC,WAAcixC,EAAcc,OAE/Dd,EAAcgB,YAEdz1C,EAAQE,aAAak1C,EAAUhrD,EAAGgrD,EAAU5qD,EAAG4qD,EAAUxqD,EAAGwqD,EAAUzlD,EAAQ,EAALzC,EAAa,EAALC,GAIjF6S,EAAQE,aAAak1C,EAAUhrD,EAAGgrD,EAAU5qD,EAAG4qD,EAAUxqD,EAAGwqD,EAAUzlD,EAAGzC,EAAIC,GAG7EjS,KAAK6iF,WAAaxiF,EAAOuzD,KAAKwW,eAE9BpqE,KAAKikF,2BAA2Bn/D,GAIhC9kB,KAAKkkF,uBAAuBp/D,IAYpCzkB,EAAOuzD,KAAKrtD,UAAU09E,2BAA6B,SAAUn/D,GAGzD,IAAI4rD,EAAW1wE,KAAK0wE,SAChBiS,EAAM3iF,KAAK2iF,IAEX56E,EAAS2oE,EAAS3oE,OAAS,EAE/B/H,KAAKi9B,QAEL,IAAK,IAAIj1B,EAAI,EAAGA,EAAID,EAAS,EAAGC,IAChC,CACI,IAAIe,EAAY,EAAJf,EACZhI,KAAKmkF,0BAA0Br/D,EAAS4rD,EAAUiS,EAAK55E,EAAQA,EAAQ,EAAKA,EAAQ,KAY5F1I,EAAOuzD,KAAKrtD,UAAU29E,uBAAyB,SAAUp/D,GAErD,IAAI4rD,EAAW1wE,KAAK0wE,SAChBiS,EAAM3iF,KAAK2iF,IACX3Z,EAAUhpE,KAAKgpE,QAEfjhE,EAASihE,EAAQjhE,OAErB/H,KAAKi9B,QAEL,IAAK,IAAIj1B,EAAI,EAAGA,EAAID,EAAQC,GAAK,EACjC,CACI,IAAIo8E,EAAsB,EAAbpb,EAAQhhE,GACjBq8E,EAA0B,EAAjBrb,EAAQhhE,EAAI,GACrBs8E,EAA0B,EAAjBtb,EAAQhhE,EAAI,GAEzBhI,KAAKmkF,0BAA0Br/D,EAAS4rD,EAAUiS,EAAKyB,EAAQC,EAAQC,KAY/EjkF,EAAOuzD,KAAKrtD,UAAU49E,0BAA4B,SAAUr/D,EAAS4rD,EAAUiS,EAAKyB,EAAQC,EAAQC,GAEhG,IAAIC,EAAgBvkF,KAAK+jC,QAAQC,YAAY71B,OACzCq2E,EAAexkF,KAAK+jC,QAAQ5zB,MAC5Bs0E,EAAgBzkF,KAAK+jC,QAAQ3zB,OAE7Bs0E,EAAKhU,EAAS0T,GACd1zE,EAAKggE,EAAS2T,GACdzzE,EAAK8/D,EAAS4T,GACdxrE,EAAK43D,EAAS0T,EAAS,GACvBzzE,EAAK+/D,EAAS2T,EAAS,GACvBxzE,EAAK6/D,EAAS4T,EAAS,GAEvBK,EAAKhC,EAAIyB,GAAUI,EACnBI,EAAKjC,EAAI0B,GAAUG,EACnBK,EAAKlC,EAAI2B,GAAUE,EACnBM,EAAKnC,EAAIyB,EAAS,GAAKK,EACvBM,EAAKpC,EAAI0B,EAAS,GAAKI,EACvBO,EAAKrC,EAAI2B,EAAS,GAAKG,EAE3B,GAAIzkF,KAAK4iF,cAAgB,EACzB,CACI,IAAIqC,EAAWjlF,KAAK4iF,cAAgB5iF,KAAKorB,eAAelc,EACpDg2E,EAAWllF,KAAK4iF,cAAgB5iF,KAAKorB,eAAe3W,EACpDrD,GAAWszE,EAAKh0E,EAAKE,GAAM,EAC3BS,GAAWyH,EAAKnI,EAAKE,GAAM,EAE3Bs0E,EAAQT,EAAKtzE,EACbg0E,EAAQtsE,EAAKzH,EAEbw8D,EAAO5nE,KAAKqK,KAAM60E,EAAQA,EAAUC,EAAQA,GAChDV,EAAKtzE,EAAW+zE,EAAQtX,GAASA,EAAOoX,GACxCnsE,EAAKzH,EAAW+zE,EAAQvX,GAASA,EAAOqX,GAGxCE,EAAQz0E,EAAKU,EAGbX,EAAKU,GAJL+zE,EAAQz0E,EAAKU,IAGby8D,EAAO5nE,KAAKqK,KAAM60E,EAAQA,EAAUC,EAAQA,KACXvX,EAAOoX,GACxCt0E,EAAKU,EAAW+zE,EAAQvX,GAASA,EAAOqX,GAGxCE,EAAQv0E,EAAKQ,EAGbT,EAAKQ,GAJL+zE,EAAQv0E,EAAKQ,IAGby8D,EAAO5nE,KAAKqK,KAAM60E,EAAQA,EAAUC,EAAQA,KACXvX,EAAOoX,GACxCp0E,EAAKQ,EAAW+zE,EAAQvX,GAASA,EAAOqX,GAG5CpgE,EAAQC,OACRD,EAAQm8C,YAERn8C,EAAQs8C,OAAOsjB,EAAI5rE,GACnBgM,EAAQu8C,OAAO3wD,EAAIC,GACnBmU,EAAQu8C,OAAOzwD,EAAIC,GAEnBiU,EAAQq8C,YAERr8C,EAAQugE,OAGR,IAAIC,EAAUX,EAAKI,EAAYD,EAAKD,EAAYD,EAAKI,EAAYD,EAAKF,EAAYC,EAAKF,EAAYD,EAAKK,EACpGO,EAAUb,EAAKK,EAAYD,EAAKl0E,EAAYF,EAAKs0E,EAAYD,EAAKn0E,EAAYk0E,EAAKp0E,EAAYg0E,EAAKM,EACpGQ,EAAUb,EAAKj0E,EAAYg0E,EAAKG,EAAYD,EAAKh0E,EAAYF,EAAKm0E,EAAYH,EAAKE,EAAYD,EAAK/zE,EACpG60E,EAAUd,EAAKI,EAAKn0E,EAAOk0E,EAAKp0E,EAAKm0E,EAAOH,EAAKE,EAAKI,EAAON,EAAKK,EAAKF,EAAOC,EAAKF,EAAKh0E,EAAO+zE,EAAKj0E,EAAKs0E,EACzGU,EAAU5sE,EAAKisE,EAAYD,EAAKj0E,EAAYF,EAAKq0E,EAAYD,EAAKl0E,EAAYi0E,EAAKn0E,EAAYmI,EAAKksE,EACpGW,EAAUhB,EAAKh0E,EAAYmI,EAAK+rE,EAAYD,EAAK/zE,EAAYF,EAAKk0E,EAAY/rE,EAAK8rE,EAAYD,EAAK9zE,EACpG+0E,EAAUjB,EAAKI,EAAKl0E,EAAOi0E,EAAKn0E,EAAKk0E,EAAO/rE,EAAK8rE,EAAKI,EAAOlsE,EAAKisE,EAAKF,EAAOC,EAAKF,EAAK/zE,EAAO8zE,EAAKh0E,EAAKq0E,EAE7GlgE,EAAQo1C,UACJqrB,EAASD,EACTI,EAASJ,EACTE,EAASF,EACTK,EAASL,EACTG,EAASH,EACTM,EAASN,GAEbxgE,EAAQ0vB,UAAU+vC,EAAe,EAAG,GACpCz/D,EAAQG,WAUZ5kB,EAAOuzD,KAAKrtD,UAAUs/E,gBAAkB,SAAUC,GAE9C,IAAIhhE,EAAU9kB,KAAK8kB,QACf4rD,EAAWoV,EAAMpV,SAEjB3oE,EAAS2oE,EAAS3oE,OAAS,EAE/B/H,KAAKi9B,QAELnY,EAAQm8C,YAER,IAAK,IAAIj5D,EAAI,EAAGA,EAAID,EAAS,EAAGC,IAChC,CAEI,IAAIe,EAAY,EAAJf,EAER08E,EAAKhU,EAAS3nE,GACd2H,EAAKggE,EAAS3nE,EAAQ,GACtB6H,EAAK8/D,EAAS3nE,EAAQ,GACtB+P,EAAK43D,EAAS3nE,EAAQ,GACtB4H,EAAK+/D,EAAS3nE,EAAQ,GACtB8H,EAAK6/D,EAAS3nE,EAAQ,GAE1B+b,EAAQs8C,OAAOsjB,EAAI5rE,GACnBgM,EAAQu8C,OAAO3wD,EAAIC,GACnBmU,EAAQu8C,OAAOzwD,EAAIC,GAGvBiU,EAAQy3C,UAAY,UACpBz3C,EAAQqf,OACRrf,EAAQq8C,aAYZ9gE,EAAOuzD,KAAKrtD,UAAUwH,UAAY,SAAU6G,GAmBxC,IAAK,IAjBDwW,EAAiBxW,GAAU5U,KAAKorB,eAEhClc,EAAIkc,EAAelc,EACnBI,EAAI8b,EAAe9b,EACnBI,EAAI0b,EAAe1b,EACnB+E,EAAI2W,EAAe3W,EACnBzC,EAAKoZ,EAAepZ,GACpBC,EAAKmZ,EAAenZ,GAEpBugD,GAAQoU,EAAAA,EACRnU,GAAQmU,EAAAA,EAERtU,EAAOsU,EAAAA,EACPrU,EAAOqU,EAAAA,EAEP8J,EAAW1wE,KAAK0wE,SAEX1oE,EAAI,EAAGA,EAAI0oE,EAAS3oE,OAAQC,GAAK,EAC1C,CACI,IAAI+9E,EAAOrV,EAAS1oE,GAChBg+E,EAAOtV,EAAS1oE,EAAI,GACpB7B,EAAK+I,EAAI62E,EAASr2E,EAAIs2E,EAAQh0E,EAC9B9E,EAAKuH,EAAIuxE,EAAS12E,EAAIy2E,EAAQ9zE,EAElCqgD,EAAOnsD,EAAImsD,EAAOnsD,EAAImsD,EACtBC,EAAOrlD,EAAIqlD,EAAOrlD,EAAIqlD,EAEtBC,EAAOrsD,EAAIqsD,EAAOrsD,EAAIqsD,EACtBC,EAAOvlD,EAAIulD,EAAOvlD,EAAIulD,EAG1B,GAAIH,KAAUsU,EAAAA,GAAYnU,IAASmU,EAAAA,EAE/B,OAAO7gE,KAAK+U,eAGhB,IAAIM,EAASpb,KAAKmpD,QAWlB,OATA/tC,EAAOjV,EAAImsD,EACXl3C,EAAOjL,MAAQqiD,EAAOF,EAEtBl3C,EAAOlO,EAAIqlD,EACXn3C,EAAOhL,OAASqiD,EAAOF,EAGvBvyD,KAAKq4B,eAAiBjd,EAEfA,GAUX3T,OAAOmF,eAAevM,EAAOuzD,KAAKrtD,UAAW,mBAEzCmG,IAAK,WAED,OAAO1M,KAAKimF,kBAIhBt5E,IAAK,SAAU5C,GAEPA,GAA0B,mBAAVA,GAEhB/J,KAAKyiF,qBAAsB,EAC3BziF,KAAKimF,iBAAmBl8E,IAIxB/J,KAAKyiF,qBAAsB,EAC3BziF,KAAKimF,iBAAmB,SAapCx+E,OAAOmF,eAAevM,EAAOuzD,KAAKrtD,UAAW,YAEzCmG,IAAK,WAKD,IAAK,IAFD3D,EAAO2H,EAAIC,EAAIC,EAAIC,EAAIV,EAAOC,EAAQ6D,EADtCm+D,KAGKpqE,EAAI,EAAGA,EAAIhI,KAAK0X,OAAO3P,OAAQC,IAEpCe,EAAY,EAAJf,EAER0I,EAAK1Q,KAAK0wE,SAAS3nE,GAAS/I,KAAKqV,MAAMlP,EACvCwK,EAAK3Q,KAAK0wE,SAAS3nE,EAAQ,GAAK/I,KAAKqV,MAAMnI,EAC3C0D,EAAK5Q,KAAK0wE,SAAS3nE,EAAQ,GAAK/I,KAAKqV,MAAMlP,EAC3C0K,EAAK7Q,KAAK0wE,SAAS3nE,EAAQ,GAAK/I,KAAKqV,MAAMnI,EAE3CiD,EAAQ9P,EAAO4F,KAAKigF,WAAWx1E,EAAIE,GACnCR,EAAS/P,EAAO4F,KAAKigF,WAAWv1E,EAAIE,GAEpCH,GAAM1Q,KAAKkb,MAAM/U,EACjBwK,GAAM3Q,KAAKkb,MAAMhO,EACjB+G,EAAO,IAAI5T,EAAO2N,UAAU0C,EAAIC,EAAIR,EAAOC,GAC3CgiE,EAASj/D,KAAKc,GAGlB,OAAOm+D,KA+Df/xE,EAAOyjC,WAAa,SAAU7oB,EAAM9U,EAAG+G,EAAGiD,EAAOC,EAAQvG,EAAKynB,GAE1DnrB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,EACTiD,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnBvG,EAAMA,GAAO,KACbynB,EAAQA,GAAS,KAEjBvrB,KAAKipB,OAAOhoB,KAAKhH,KAAM,IAAI+F,KAAK+qD,QAAQzwD,EAAOypB,MAAMlkB,QAAQo+B,aAAc7zB,EAAOC,GAMlFpQ,KAAKoI,KAAO/H,EAAOkB,WAMnBvB,KAAK2uB,YAActuB,EAAOa,OAM1BlB,KAAKmmF,QAAU,IAAI9lF,EAAOoN,MAK1BzN,KAAKomF,UAAY,IAAI/lF,EAAOoN,MAAM,EAAG,GAKrCzN,KAAKqmF,gBAAkB,IAAIhmF,EAAOoN,MAAM,EAAG,GAK3CzN,KAAKsmF,aAAe,IAAIjmF,EAAOoN,MAQ/BzN,KAAKumF,cAAe,EAOpBvmF,KAAKozE,aAAe,KAOpBpzE,KAAK0xD,cAAgB,KAOrB1xD,KAAKwmF,YAAc,KAQnBxmF,KAAK2xD,gBAAiB,EAEtB3xD,KAAKymF,WAAa,EAClBzmF,KAAK0mF,YAAc,EAEnB1mF,KAAK+3B,OAAS5nB,EACdnQ,KAAKg4B,QAAU5nB,EAEf/P,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,IAI3DjxB,EAAOyjC,WAAWv9B,UAAYkB,OAAO0Z,OAAOpb,KAAKipB,OAAOzoB,WACxDlG,EAAOyjC,WAAWv9B,UAAU8B,YAAchI,EAAOyjC,WAEjDzjC,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAOyjC,WAAWv9B,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJlG,EAAOyjC,WAAWv9B,UAAU0vD,iBAAmB51D,EAAOioD,UAAUwB,YAAYrsC,UAC5Epd,EAAOyjC,WAAWv9B,UAAU2vD,kBAAoB71D,EAAOioD,UAAUqH,SAASlyC,UAC1Epd,EAAOyjC,WAAWv9B,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACxEpd,EAAOyjC,WAAWv9B,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UASlEpd,EAAOyjC,WAAWv9B,UAAUkX,UAAY,WAYpC,OAVuB,IAAnBzd,KAAKmmF,QAAQhgF,IAEbnG,KAAKsmF,aAAangF,GAAKnG,KAAKmmF,QAAQhgF,EAAInG,KAAKib,KAAKmE,KAAKunE,gBAGpC,IAAnB3mF,KAAKmmF,QAAQj5E,IAEblN,KAAKsmF,aAAap5E,GAAKlN,KAAKmmF,QAAQj5E,EAAIlN,KAAKib,KAAKmE,KAAKunE,mBAGtD3mF,KAAKi2D,oBAAuBj2D,KAAKk2D,qBAAwBl2D,KAAKm2D,qBAK5Dn2D,KAAKo2D,iBAgBhB/1D,EAAOyjC,WAAWv9B,UAAUqgF,WAAa,SAAUzgF,EAAG+G,GAIlD,OAFAlN,KAAKmmF,QAAQx5E,IAAIxG,EAAG+G,GAEblN,MAWXK,EAAOyjC,WAAWv9B,UAAUsgF,WAAa,WAIrC,OAFA7mF,KAAKmmF,QAAQx5E,IAAI,EAAG,GAEb3M,MAYXK,EAAOyjC,WAAWv9B,UAAUge,QAAU,SAAUmT,GAE5Cr3B,EAAOioD,UAAUmD,QAAQllD,UAAUge,QAAQvd,KAAKhH,KAAM03B,GAEtD3xB,KAAKipB,OAAOzoB,UAAUge,QAAQvd,KAAKhH,MAE/BA,KAAKozE,eAELpzE,KAAKozE,aAAa7uD,UAClBvkB,KAAKozE,aAAe,MAGxBpzE,KAAKomF,UAAY,KACjBpmF,KAAKqmF,gBAAkB,KACvBrmF,KAAKsmF,aAAe,KAEhBtmF,KAAK0xD,gBAEL1xD,KAAK0xD,cAAcntC,SAAQ,GAC3BvkB,KAAK0xD,cAAgB,OAgB7BrxD,EAAOyjC,WAAWv9B,UAAU4Z,MAAQ,SAAUha,EAAG+G,GAO7C,OALA7M,EAAOioD,UAAU0J,MAAMzrD,UAAU4Z,MAAMnZ,KAAKhH,KAAMmG,EAAG+G,GAErDlN,KAAKsmF,aAAangF,EAAI,EACtBnG,KAAKsmF,aAAap5E,EAAI,EAEflN,MAaXK,EAAOyjC,WAAWv9B,UAAU8pD,WAAa,SAAUtsB,GAS/C,OAPI/jC,KAAK+jC,UAAYA,IAEjB/jC,KAAK+jC,QAAUA,EACf/jC,KAAK2xD,gBAAiB,EACtB3xD,KAAKq/D,WAAa,UAGfr/D,MAYXK,EAAOyjC,WAAWv9B,UAAU+yD,aAAe,SAAUC,GAEjD,GAAKv5D,KAAKsb,SAAYtb,KAAKksD,YAA6B,IAAflsD,KAAK0e,MAA9C,CAkBA,GAbI1e,KAAKssD,QAELiN,EAAclG,YAAY91B,OAC1Bg8B,EAAcqa,YAAYC,SAAS7zE,KAAKisD,KAAMsN,GAC9CA,EAAclG,YAAYviD,SAG1B9Q,KAAK8zE,WAELva,EAAclG,YAAYyzB,QAC1BvtB,EAAcwa,cAAcC,WAAWh0E,KAAKi0E,eAG5Cj0E,KAAK2xD,eACT,CAGI,GAFA3xD,KAAK+mF,uBAAsB,EAAMxtB,IAE7Bv5D,KAAK0xD,cAWL,OATI1xD,KAAK0xD,cAAcs1B,cAEnBhnF,KAAK0xD,cAAc1tB,YAAY4xC,aAAe51E,KAAK+jC,QAAQC,YAAY4xC,aACvErc,EAAc/gC,SAASwiD,cAAch7E,KAAK0xD,cAAc1tB,aACxDhkC,KAAK0xD,cAAcs1B,aAAc,GAS7CztB,EAAclG,YAAY4zB,mBAAmBjnF,MAE7C,IAAK,IAAIgI,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAGsxD,aAAaC,GAGlC,IAAI2tB,GAAe,EAEflnF,KAAK8zE,WAELoT,GAAe,EACf3tB,EAAclG,YAAY91B,OAC1Bg8B,EAAcwa,cAAcO,aAG5Bt0E,KAAKssD,QAEA46B,GAED3tB,EAAclG,YAAY91B,OAG9Bg8B,EAAcqa,YAAYW,QAAQv0E,KAAKssD,MAAOiN,IAG9C2tB,GAEA3tB,EAAclG,YAAYviD,UAalCzQ,EAAOyjC,WAAWv9B,UAAUwzD,cAAgB,SAAUR,GAElD,GAAKv5D,KAAKsb,SAAYtb,KAAKksD,YAA6B,IAAflsD,KAAK0e,MAA9C,CAKA,IAAIoG,EAAUy0C,EAAcz0C,QAExB9kB,KAAKssD,OAELiN,EAAcqa,YAAYC,SAAS7zE,KAAKssD,MAAOiN,GAGnDz0C,EAAQk1C,YAAch6D,KAAKysB,WAE3B,IAAI+W,EAAKxjC,KAAKorB,eACV9C,EAAaixC,EAAcjxC,WAC3BtW,EAAMwxB,EAAGxxB,GAAKsW,EAAcixC,EAAca,OAC1CnoD,EAAMuxB,EAAGvxB,GAAKqW,EAAcixC,EAAcc,OAa9C,GAXAv1C,EAAQE,aAAawe,EAAGt0B,EAAIoZ,EAAYkb,EAAGl0B,EAAIgZ,EAAYkb,EAAG9zB,EAAI4Y,EAAYkb,EAAG/uB,EAAI6T,EAAYtW,EAAIC,GAEnF,WAAdjS,KAAKsrD,OAAsBtrD,KAAK+jC,QAAQwnB,gBAAkBvrD,KAAKq/D,aAAer/D,KAAKsrD,OAEnFtrD,KAAKs/D,cAAgBv5D,KAAKw5D,aAAaC,iBAAiBx/D,KAAMA,KAAKsrD,MAEnEtrD,KAAKq/D,WAAar/D,KAAKsrD,KACvBtrD,KAAK+jC,QAAQwnB,gBAAiB,EAC9BvrD,KAAK2xD,gBAAiB,GAGtB3xD,KAAK2xD,eACT,CAGI,GAFA3xD,KAAK+mF,uBAAsB,EAAOxtB,IAE9Bv5D,KAAK0xD,cAML,OAJA1xD,KAAKwmF,YAAc1hE,EAAQ48C,cAAc1hE,KAAK0xD,cAAc1tB,YAAY71B,OAAQ,UAQxF,IAAIg5E,EAAmB5tB,EAAc2a,iBAGjCl0E,KAAKm/D,YAAc5F,EAAc2a,mBAEjC3a,EAAc2a,iBAAmBl0E,KAAKm/D,UACtCr6C,EAAQy+C,yBAA2Bx9D,KAAK2uE,iBAAiBnb,EAAc2a,mBAG3E,IAAIoS,EAAetmF,KAAKsmF,aACpBF,EAAYpmF,KAAKomF,UAErBE,EAAangF,GAAKnG,KAAK0xD,cAAc1tB,YAAY7zB,MACjDm2E,EAAap5E,GAAKlN,KAAK0xD,cAAc1tB,YAAY5zB,OAGjD0U,EAAQzP,MAAM+wE,EAAUjgF,EAAGigF,EAAUl5E,GACrC4X,EAAQ1P,UAAUkxE,EAAangF,EAAKnG,KAAK+pB,OAAO5jB,GAAKnG,KAAK+3B,OAASuuD,EAAap5E,EAAKlN,KAAK+pB,OAAO7c,GAAKlN,KAAKg4B,SAE3GlT,EAAQy3C,UAAYv8D,KAAKwmF,YAEzBx0E,GAAMs0E,EAAangF,EACnB8L,GAAMq0E,EAAap5E,EAEnB,IAAIk6E,EAAKpnF,KAAK+3B,OAASquD,EAAUjgF,EAC7BkhF,EAAKrnF,KAAKg4B,QAAUouD,EAAUl5E,EAG9BqsD,EAAcgB,cAEdvoD,GAAM,EACNC,GAAM,EACNm1E,GAAM,EACNC,GAAM,GAGVviE,EAAQ03C,SAASxqD,EAAIC,EAAIm1E,EAAIC,GAG7BviE,EAAQzP,MAAM,EAAI+wE,EAAUjgF,EAAG,EAAIigF,EAAUl5E,GAC7C4X,EAAQ1P,WAAWkxE,EAAangF,EAAKnG,KAAK+pB,OAAO5jB,EAAInG,KAAK+3B,QAAUuuD,EAAap5E,EAAKlN,KAAK+pB,OAAO7c,EAAIlN,KAAKg4B,SAEvGh4B,KAAKssD,OAELiN,EAAcqa,YAAYW,QAAQhb,GAGtC,IAAK,IAAIvxD,EAAI,EAAGA,EAAIhI,KAAKssB,SAASvkB,OAAQC,IAEtChI,KAAKssB,SAAStkB,GAAG+xD,cAAcR,GAI/B4tB,IAAqBnnF,KAAKm/D,YAE1B5F,EAAc2a,iBAAmBiT,EACjCriE,EAAQy+C,yBAA2Bx9D,KAAK2uE,iBAAiByS,MAYjE9mF,EAAOyjC,WAAWv9B,UAAU+gF,gBAAkB,aAa9CjnF,EAAOyjC,WAAWv9B,UAAUwgF,sBAAwB,SAAUQ,GAE1D,GAAKvnF,KAAK+jC,QAAQC,YAAY2xC,UAA9B,CAKA,IAAI5xC,EAAU/jC,KAAK+jC,QACfzS,EAAQyS,EAAQzS,MAEhBk2D,EAAcxnF,KAAKkrD,OAAOqG,aAAevxD,KAAKkrD,OAAO/6C,MACrDs3E,EAAeznF,KAAKkrD,OAAOsG,aAAexxD,KAAKkrD,OAAO96C,OAEtDtB,EAAK,EACLC,EAAK,EAEL/O,KAAKkrD,OAAOkG,UAEZtiD,EAAK9O,KAAKkrD,OAAOmG,kBACjBtiD,EAAK/O,KAAKkrD,OAAOoG,mBAGjBi2B,IAEAC,EAAcnnF,EAAO4F,KAAKyhF,kBAAkBF,GAC5CC,EAAepnF,EAAO4F,KAAKyhF,kBAAkBD,IAG7CznF,KAAKozE,cAELpzE,KAAKozE,aAAa55D,OAAOguE,EAAaC,GACtCznF,KAAK0xD,cAAc1tB,YAAY7zB,MAAQq3E,EACvCxnF,KAAK0xD,cAAc1tB,YAAY5zB,OAASq3E,EACxCznF,KAAK0xD,cAAcs1B,aAAc,IAIjChnF,KAAKozE,aAAe,IAAIrtE,KAAKstE,aAAamU,EAAaC,GACvDznF,KAAK0xD,cAAgB3rD,KAAK+qD,QAAQC,WAAW/wD,KAAKozE,aAAannD,QAC/DjsB,KAAK0xD,cAAci2B,UAAW,EAC9B3nF,KAAK0xD,cAAcs1B,aAAc,GAGjChnF,KAAKumF,eAELvmF,KAAKozE,aAAatuD,QAAQy8C,YAAc,UACxCvhE,KAAKozE,aAAatuD,QAAQ6pD,WAAW,EAAG,EAAG6Y,EAAaC,IAI5D,IAAI1pE,EAAIgmB,EAAQqQ,KAAKjkC,MACjB6N,EAAI+lB,EAAQqQ,KAAKhkC,OAEjB2N,IAAMypE,GAAexpE,IAAMypE,IAE3B1pE,EAAIypE,EACJxpE,EAAIypE,GAGR,IAAIG,EAAgB5nF,KAAKs/D,cAAgBt/D,KAAKs/D,cAAgBv7B,EAAQC,YAAY71B,OAElFnO,KAAKozE,aAAatuD,QAAQ0vB,UACtBozC,EACA7jD,EAAQqQ,KAAKjuC,EACb49B,EAAQqQ,KAAKlnC,EACb62B,EAAQqQ,KAAKjkC,MACb4zB,EAAQqQ,KAAKhkC,OACbtB,EACAC,EACAgP,EACAC,GAGJhe,KAAKqmF,gBAAgBlgF,EAAImrB,EAAMnhB,MAAQq3E,EACvCxnF,KAAKqmF,gBAAgBn5E,EAAIokB,EAAMlhB,OAASq3E,EAExCznF,KAAK2xD,gBAAiB,EAEtB3xD,KAAK0xD,cAAc1tB,YAAY6jD,WAAY,IAW/CxnF,EAAOyjC,WAAWv9B,UAAUwH,UAAY,WAEpC,IAAIoC,EAAQnQ,KAAK+3B,OACb3nB,EAASpQ,KAAKg4B,QAEd28C,EAAKxkE,GAAS,EAAInQ,KAAK+pB,OAAO5jB,GAC9ByuE,EAAKzkE,GAASnQ,KAAK+pB,OAAO5jB,EAE1B0uE,EAAKzkE,GAAU,EAAIpQ,KAAK+pB,OAAO7c,GAC/B4nE,EAAK1kE,GAAUpQ,KAAK+pB,OAAO7c,EAE3Bke,EAAiBprB,KAAKorB,eAEtBlc,EAAIkc,EAAelc,EACnBI,EAAI8b,EAAe9b,EACnBI,EAAI0b,EAAe1b,EACnB+E,EAAI2W,EAAe3W,EACnBzC,EAAKoZ,EAAepZ,GACpBC,EAAKmZ,EAAenZ,GAEpBvB,EAAMxB,EAAI0lE,EAAOllE,EAAIolE,EAAM9iE,EAC3BrB,EAAM8D,EAAIqgE,EAAOxlE,EAAIslE,EAAM3iE,EAE3BrB,EAAM1B,EAAIylE,EAAOjlE,EAAIolE,EAAM9iE,EAC3BnB,EAAM4D,EAAIqgE,EAAOxlE,EAAIqlE,EAAM1iE,EAE3B8iE,EAAM7lE,EAAIylE,EAAOjlE,EAAImlE,EAAM7iE,EAC3BgjE,EAAMvgE,EAAIogE,EAAOvlE,EAAIqlE,EAAM1iE,EAE3BgjE,EAAM/lE,EAAI0lE,EAAKllE,EAAImlE,EAAK7iE,EACxBkjE,EAAMzgE,EAAIogE,EAAKvlE,EAAIslE,EAAK3iE,EAExBugD,GAAQoU,EAAAA,EACRnU,GAAQmU,EAAAA,EAERtU,EAAOsU,EAAAA,EACPrU,EAAOqU,EAAAA,EAKXtU,EAAO2iB,GADP3iB,EAAOyiB,GADPziB,EAAO1hD,GADP0hD,EAAO5hD,EAAK4hD,EAAO5hD,EAAK4hD,GACL1hD,EAAK0hD,GACLyiB,EAAKziB,GACL2iB,EAAK3iB,EAKxBC,EAAO2iB,GADP3iB,EAAOyiB,GADPziB,EAAO1hD,GADP0hD,EAAO5hD,EAAK4hD,EAAO5hD,EAAK4hD,GACL1hD,EAAK0hD,GACLyiB,EAAKziB,GACL2iB,EAAK3iB,EAKxBC,EAAOyiB,GADPziB,EAAOuiB,GADPviB,EAAO5hD,GADP4hD,EAAO9hD,EAAK8hD,EAAO9hD,EAAK8hD,GACL5hD,EAAK4hD,GACLuiB,EAAKviB,GACLyiB,EAAKziB,EAKxBC,EAAOyiB,GADPziB,EAAOuiB,GADPviB,EAAO5hD,GADP4hD,EAAO9hD,EAAK8hD,EAAO9hD,EAAK8hD,GACL5hD,EAAK4hD,GACLuiB,EAAKviB,GACLyiB,EAAKziB,EAGxB,IAAIr3C,EAASpb,KAAKmpD,QAWlB,OATA/tC,EAAOjV,EAAImsD,EACXl3C,EAAOjL,MAAQqiD,EAAOF,EAEtBl3C,EAAOlO,EAAIqlD,EACXn3C,EAAOhL,OAASqiD,EAAOF,EAGvBvyD,KAAKq4B,eAAiBjd,EAEfA,GAUX3T,OAAOmF,eAAevM,EAAOyjC,WAAWv9B,UAAW,SAE/CmG,IAAK,WAED,OAAO1M,KAAK+3B,QAIhBprB,IAAK,SAAU5C,GAEX/J,KAAK+3B,OAAShuB,KAYtBtC,OAAOmF,eAAevM,EAAOyjC,WAAWv9B,UAAW,UAE/CmG,IAAK,WAED,OAAO1M,KAAKg4B,SAIhBrrB,IAAK,SAAU5C,GAEX/J,KAAKg4B,QAAUjuB,KAkBvB1J,EAAOwhC,YAYH1gB,OAAQ,SAAUgJ,EAAQha,EAAOC,GAE7B,IACI6b,EADAsxD,EAAMl9E,EAAOwhC,WAAWimD,WAG5B,IAAa,IAATvK,EACJ,CACI,IAAIl0B,GACAl/B,OAAQA,EACR8B,OAAQS,SAASkxD,cAAc,WAGnCv9E,EAAOwhC,WAAWkmD,KAAK50E,KAAKk2C,GAE5Bp9B,EAASo9B,EAAUp9B,YAInB5rB,EAAOwhC,WAAWkmD,KAAKxK,GAAKpzD,OAASA,EAErC8B,EAAS5rB,EAAOwhC,WAAWkmD,KAAKxK,GAAKtxD,OASzC,YANc3hB,IAAV6F,IAEA8b,EAAO9b,MAAQA,EACf8b,EAAO7b,OAASA,GAGb6b,GAWX67D,SAAU,WAIN,IAAK,IAFDC,EAAO1nF,EAAOwhC,WAAWkmD,KAEpB//E,EAAI,EAAGA,EAAI+/E,EAAKhgF,OAAQC,IAE7B,IAAK+/E,EAAK//E,GAAGmiB,OAET,OAAOniB,EAIf,OAAQ,GAYZub,OAAQ,SAAU4G,GAId,IAAK,IAFD49D,EAAO1nF,EAAOwhC,WAAWkmD,KAEpB//E,EAAI,EAAGA,EAAI+/E,EAAKhgF,OAAQC,IAEzB+/E,EAAK//E,GAAGmiB,SAAWA,IAEnB49D,EAAK//E,GAAGmiB,OAAS,KACjB49D,EAAK//E,GAAGikB,OAAO9b,MAAQ,EACvB43E,EAAK//E,GAAGikB,OAAO7b,OAAS,IAcpC43E,eAAgB,SAAU/7D,GAItB,IAAK,IAFD87D,EAAO1nF,EAAOwhC,WAAWkmD,KAEpB//E,EAAI,EAAGA,EAAI+/E,EAAKhgF,OAAQC,IAEzB+/E,EAAK//E,GAAGikB,SAAWA,IAEnB87D,EAAK//E,GAAGmiB,OAAS,KACjB49D,EAAK//E,GAAGikB,OAAO9b,MAAQ,EACvB43E,EAAK//E,GAAGikB,OAAO7b,OAAS,IAapC63E,SAAU,WAKN,IAAK,IAHDF,EAAO1nF,EAAOwhC,WAAWkmD,KACzBr4E,EAAI,EAEC1H,EAAI,EAAGA,EAAI+/E,EAAKhgF,OAAQC,IAEzB+/E,EAAK//E,GAAGmiB,QAERza,IAIR,OAAOA,GAWXw4E,QAAS,WAKL,IAAK,IAHDH,EAAO1nF,EAAOwhC,WAAWkmD,KACzBr4E,EAAI,EAEC1H,EAAI,EAAGA,EAAI+/E,EAAKhgF,OAAQC,IAExB+/E,EAAK//E,GAAGmiB,QAETza,IAIR,OAAOA,IAafrP,EAAOwhC,WAAWkmD,QA+BlB1nF,EAAO44B,OAAS,WAOZj5B,KAAKmoF,cAAgB,EAOrBnoF,KAAKooF,aAAc,EAQnBpoF,KAAKqoF,SAAU,EAMfroF,KAAK69B,KAAM,EAMX79B,KAAKsoF,WAAa,EAMlBtoF,KAAKm8B,UAAW,EAMhBn8B,KAAKutB,aAAc,EAMnBvtB,KAAK49B,SAAU,EAMf59B,KAAKuoF,MAAO,EAMZvoF,KAAKwoF,YAAa,EAMlBxoF,KAAKyoF,UAAW,EAMhBzoF,KAAK0oF,QAAS,EAMd1oF,KAAK2oF,WAAY,EAMjB3oF,KAAKgmC,SAAU,EAMfhmC,KAAK4oF,UAAW,EAMhB5oF,KAAK6oF,OAAQ,EAMb7oF,KAAK8oF,OAAQ,EAMb9oF,KAAK+oF,SAAU,EAMf/oF,KAAKgpF,cAAe,EAQpBhpF,KAAKisB,QAAS,EAMdjsB,KAAKipF,kBAAoB,KAOzBjpF,KAAKkpF,gBAAiB,EAUtBlpF,KAAKmpF,gBAAiB,EAMtBnpF,KAAK67B,OAAQ,EAMb77B,KAAKopF,MAAO,EAMZppF,KAAKqpF,YAAa,EAMlBrpF,KAAKspF,cAAe,EAMpBtpF,KAAKupF,QAAS,EAMdvpF,KAAKwpF,OAAQ,EAMbxpF,KAAKglC,aAAc,EAMnBhlC,KAAKypF,YAAa,EAMlBzpF,KAAK0pF,WAAY,EAMjB1pF,KAAK2pF,cAAe,EAMpB3pF,KAAK4pF,YAAa,EAQlB5pF,KAAKkgC,OAAQ,EAMblgC,KAAKmgC,WAAY,EAOjBngC,KAAK4mC,WAAa,KAQlB5mC,KAAK6pF,OAAQ,EAMb7pF,KAAKimC,QAAS,EAMdjmC,KAAK8pF,cAAgB,EAMrB9pF,KAAK+pF,UAAW,EAMhB/pF,KAAKgqF,SAAU,EAMfhqF,KAAKiqF,eAAiB,EAMtBjqF,KAAK47B,IAAK,EAMV57B,KAAKkqF,UAAY,EAMjBlqF,KAAKmqF,SAAU,EAMfnqF,KAAKoqF,eAAiB,EAMtBpqF,KAAKqqF,MAAO,EAMZrqF,KAAKsqF,cAAe,EAMpBtqF,KAAKuqF,QAAS,EAMdvqF,KAAKwqF,OAAQ,EAMbxqF,KAAKyqF,QAAS,EAMdzqF,KAAK0qF,cAAgB,EAMrB1qF,KAAK2qF,QAAS,EAMd3qF,KAAK4qF,MAAO,EAQZ5qF,KAAK6qF,WAAY,EAMjB7qF,KAAK27B,UAAW,EAMhB37B,KAAK8qF,KAAM,EAMX9qF,KAAK+qF,MAAO,EAMZ/qF,KAAKgrF,KAAM,EAMXhrF,KAAKirF,KAAM,EAOXjrF,KAAKkrF,KAAM,EAMXlrF,KAAKmrF,MAAO,EAMZnrF,KAAKorF,OAAQ,EAQbprF,KAAKqrF,UAAW,EAMhBrrF,KAAKsrF,WAAY,EAMjBtrF,KAAKurF,UAAW,EAMhBvrF,KAAKwrF,WAAY,EAMjBxrF,KAAKyrF,UAAW,EAMhBzrF,KAAK0rF,UAAW,EAQhB1rF,KAAK2rF,QAAS,EAMd3rF,KAAK4rF,SAAU,EAMf5rF,KAAK6rF,MAAO,EAQZ7rF,KAAK8rF,WAAa,EAMlB9rF,KAAK+rF,cAAe,EAMpB/rF,KAAKs+D,eAAgB,EAMrBt+D,KAAKgsF,cAAe,EAMpBhsF,KAAKisF,YAAa,EAMlBjsF,KAAKksF,kBAAoB,GAMzBlsF,KAAKmsF,iBAAmB,GAMxBnsF,KAAKosF,oBAAqB,GAM9B/rF,EAAO44B,OAAS,IAAI54B,EAAO44B,OAc3B54B,EAAO44B,OAAOozD,cAAgB,IAAIhsF,EAAOwb,OAgBzCxb,EAAO44B,OAAOoB,UAAY,SAAUhG,EAAUvP,EAASwnE,GAEnD,IAAIC,EAAavsF,KAAKwsF,YAEtB,GAAIxsF,KAAKmoF,gBAAkBoE,EAEvBl4D,EAASrtB,KAAK8d,EAAS9kB,WAEtB,GAAIusF,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOv5E,MAAMkhB,EAAUvP,QAGtC,CACIynE,EAAWE,SAAWF,EAAW/lF,KAAKxG,MACtCusF,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAOv5E,MAAMkhB,EAAUvP,IAElC,IAAI8Y,OAAoC,IAAnB31B,OAAO21B,QACxBzB,EAAWub,UAAsB,WAET,aAAxBhrB,SAASigE,YAAqD,gBAAxBjgE,SAASigE,WAG/C1kF,OAAO2kF,WAAWL,EAAWE,SAAU,GAElC7uD,IAAYzB,EAIjBzP,SAASO,iBAAiB,cAAes/D,EAAWE,UAAU,IAI9D//D,SAASO,iBAAiB,mBAAoBs/D,EAAWE,UAAU,GACnExkF,OAAOglB,iBAAiB,OAAQs/D,EAAWE,UAAU,MAajEpsF,EAAO44B,OAAOuzD,YAAc,WAExB,IAAID,EAAavsF,KAAKwsF,YAEtB,GAAK9/D,SAAS6D,MAIT,IAAKvwB,KAAKmoF,cACf,CACInoF,KAAKmoF,cAAgB9/D,KAAK+R,MAE1B1N,SAASyB,oBAAoB,cAAeo+D,EAAWE,UACvD//D,SAASyB,oBAAoB,mBAAoBo+D,EAAWE,UAC5DxkF,OAAOkmB,oBAAoB,OAAQo+D,EAAWE,UAE9CzsF,KAAK6sF,cACL7sF,KAAKooF,aAAc,EAEnBpoF,KAAKqsF,cAAc/sE,SAAStf,MAG5B,IADA,IAAI8sF,EACIA,EAAOP,EAAWG,OAAO5/C,SACjC,CACI,IAAIzY,EAAWy4D,EAAK,GAChBhoE,EAAUgoE,EAAK,GACnBz4D,EAASrtB,KAAK8d,EAAS9kB,MAI3BA,KAAKwsF,YAAc,KACnBxsF,KAAK6sF,YAAc,KACnB7sF,KAAKqsF,cAAgB,WA1BrBpkF,OAAO2kF,WAAWL,EAAWE,SAAU,KAsC/CpsF,EAAO44B,OAAO4zD,YAAc,WAyfxB,SAASE,IAEL,IAAI79E,EAAI,IAAI6rD,YAAY,GACpBzrD,EAAI,IAAIsnE,WAAW1nE,GACnBQ,EAAI,IAAIxH,YAAYgH,GAOxB,OALAI,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATI,EAAE,IAKO,aAATA,EAAE,IAOK,KAUf,SAASs9E,IAEL,QAA0B1iF,IAAtB2iF,kBAEA,OAAO,EAGX,IACIxyB,EADOp6D,EAAOwhC,WAAW1gB,OAAOnhB,KAAM,EAAG,GAC9B8hC,WAAW,MAE1B,IAAK24B,EAED,OAAO,EAGX,IAAI5wC,EAAQ4wC,EAAIyyB,gBAAgB,EAAG,GAInC,OAFA7sF,EAAOwhC,WAAWte,OAAOvjB,MAElB6pB,EAAMqa,gBAAgB+oD,kBA3iBjC,IAAI3/D,EAASttB,MAKb,WAEI,IAAI+T,EAAK2jC,UAAUG,UAEf,mBAAmBinC,KAAK/qE,GAExBuZ,EAAO6/D,MAAO,EAET,SAASrO,KAAK/qE,IAAO,kBAAkB+qE,KAAK/qE,IAAO,sBAAsB+qE,KAAK/qE,GAEnFuZ,EAAO8/D,QAAS,EAIX,UAAUtO,KAAK/qE,GAEpBuZ,EAAO0Y,SAAU,EAEZ,OAAO84C,KAAK/qE,GAEjBuZ,EAAOs7D,UAAW,EAEb,kBAAkB9J,KAAK/qE,IAE5BuZ,EAAOuQ,KAAM,EACZ6Z,UAAoB,WAAE2Q,MAAM,YAC7B/6B,EAAOg7D,WAAar9E,SAASoiF,OAAOC,GAAI,KAEnC,QAAQxO,KAAK/qE,GAElBuZ,EAAOu7D,OAAQ,EAEV,SAAS/J,KAAK/qE,GAEnBuZ,EAAOw7D,OAAQ,EAEV,UAAUhK,KAAK/qE,KAEpBuZ,EAAOy7D,SAAU,IAGjB,iBAAiBjK,KAAK/qE,IAAO,YAAY+qE,KAAK/qE,MAE9CuZ,EAAO0Y,SAAU,EACjB1Y,EAAOuQ,KAAM,EACbvQ,EAAOw7D,OAAQ,EACfx7D,EAAOy7D,SAAU,EACjBz7D,EAAO07D,cAAe,GAG1B,IAAI4B,EAAO,OAAO9L,KAAK/qE,IAEnBuZ,EAAOy7D,SAAWz7D,EAAOw7D,OAAUx7D,EAAOu7D,QAAU+B,GAASt9D,EAAOs7D,YAEpEt7D,EAAO+6D,SAAU,IAIjB/6D,EAAO07D,cAAkB,cAAclK,KAAK/qE,IAAS,SAAS+qE,KAAK/qE,MAEnEuZ,EAAO+6D,SAAU,GAmjBzBkF,GAxWA,WAEI,IAAIx5E,EAAK2jC,UAAUG,UA4FnB,GA1FI,QAAQinC,KAAK/qE,GAEbuZ,EAAOu8D,OAAQ,EAEV,YAAY/K,KAAK/qE,GAEtBuZ,EAAO+8D,MAAO,EAET,gBAAgBvL,KAAK/qE,KAAQuZ,EAAO07D,cAEzC17D,EAAO2Y,QAAS,EAChB3Y,EAAOw8D,cAAgB7+E,SAASoiF,OAAOC,GAAI,KAEtC,WAAWxO,KAAK/qE,GAErBuZ,EAAOy8D,UAAW,EAEb,kBAAkBjL,KAAK/qE,IAE5BuZ,EAAO08D,SAAU,EACjB18D,EAAO28D,eAAiBh/E,SAASoiF,OAAOC,GAAI,KAEvC,cAAcxO,KAAK/qE,IAAOuZ,EAAOuQ,IAEtCvQ,EAAOg9D,cAAe,EAEjB,mBAAmBxL,KAAK/qE,IAE7BuZ,EAAOsO,IAAK,EACZtO,EAAO48D,UAAYj/E,SAASoiF,OAAOC,GAAI,KAElC,SAASxO,KAAK/qE,GAEnBuZ,EAAOi9D,QAAS,EAEX,QAAQzL,KAAK/qE,GAElBuZ,EAAOk9D,OAAQ,EAEV,gBAAgB1L,KAAK/qE,KAAQuZ,EAAO07D,cAEzC17D,EAAOm9D,QAAS,EAEZ,mBAAmB3L,KAAK/qE,KAExBuZ,EAAOo9D,cAAgBz/E,SAASoiF,OAAOC,GAAI,MAG1C,uCAAuCxO,KAAK/qE,KAEjDuZ,EAAOsO,IAAK,EACZtO,EAAO68D,SAAU,EACjB78D,EAAO88D,eAAiBn/E,SAASoiF,OAAOC,GAAI,IAC5ChgE,EAAO48D,UAAYj/E,SAASoiF,OAAOG,GAAI,KAIvC,OAAO1O,KAAK/qE,KAEZuZ,EAAOs9D,MAAO,GAIdlzC,UAAsB,aAEtBpqB,EAAOq9D,QAAS,QAGU,IAAnB1iF,OAAO21B,UAEdtQ,EAAOsQ,SAAU,GAGE,oBAAZ6vD,SAA8C,oBAAZC,UAEzCpgE,EAAOi7D,MAAO,GAGdj7D,EAAOi7D,MAAoC,iBAArBkF,QAAQE,WAE9BrgE,EAAOk7D,aAAeiF,QAAQE,SAAS,eAEvCrgE,EAAOm7D,WAAagF,QAAQE,SAASlF,UAGrC/wC,UAAsB,aAEtBpqB,EAAO6O,UAAW,GAGlB7O,EAAO6O,SAEP,IACI7O,EAAOC,YAAmC,oBAAbC,SAEjC,MAAMogE,GAEFtgE,EAAOC,aAAc,OAIA,IAAlBtlB,OAAOygF,SAEdp7D,EAAOo7D,QAAS,GAGhB,YAAY5J,KAAK/qE,KAEjBuZ,EAAOq7D,WAAY,GAyP3BkF,GAxMA,WAEIvgE,EAAOu9D,YAAe5iF,OAAe,MACrCqlB,EAAOqO,YAAc1zB,OAAqB,eAAKA,OAA2B,oBAC1E,IAAI6lF,EAAephE,SAASkxD,cAAc,SAG1C,IACI,GAAekQ,EAAaC,cAEpBD,EAAaC,YAAY,8BAA8BxhF,QAAQ,OAAQ,MAEvE+gB,EAAOw9D,KAAM,IAGbgD,EAAaC,YAAY,4BAA4BxhF,QAAQ,OAAQ,KAAOuhF,EAAaC,YAAY,eAAexhF,QAAQ,OAAQ,OAEpI+gB,EAAOy9D,MAAO,GAGd+C,EAAaC,YAAY,eAAexhF,QAAQ,OAAQ,MAExD+gB,EAAO09D,KAAM,GAMb8C,EAAaC,YAAY,yBAAyBxhF,QAAQ,OAAQ,MAElE+gB,EAAO29D,KAAM,IAGb6C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAcxhF,QAAQ,OAAQ,OAEnG+gB,EAAO49D,KAAM,GAGb4C,EAAaC,YAAY,+BAA+BxhF,QAAQ,OAAQ,MAExE+gB,EAAO69D,MAAO,GAG0C,KAAxD2C,EAAaC,YAAY,4BAEzB,GAAIzgE,EAAO+8D,KAEP/8D,EAAO89D,OAAQ,OAEd,GAAI99D,EAAOm9D,QAAUn9D,EAAOo9D,eAAiB,GAE1C,uBAAuB5L,KAAKpnC,UAAUG,WAC1C,CACI,IAAIm2C,EAAQ/iF,SAASoiF,OAAOC,GAAI,IAC5BW,EAAQhjF,SAASoiF,OAAOa,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzC1gE,EAAO89D,OAAQ,IAMrC,MAAOx/E,KAyIbuiF,GAlPA,WAEI,IAAIC,EAAe1hE,SAASkxD,cAAc,SAG1C,MACmBwQ,EAAaL,cAEpBK,EAAaL,YAAY,8BAA8BxhF,QAAQ,OAAQ,MAEvE+gB,EAAO+9D,UAAW,GAGlB+C,EAAaL,YAAY,mCAAmCxhF,QAAQ,OAAQ,MAG5E+gB,EAAOg+D,WAAY,EACnBh+D,EAAOi+D,UAAW,GAGlB6C,EAAaL,YAAY,oCAAoCxhF,QAAQ,OAAQ,MAE7E+gB,EAAOk+D,WAAY,GAGnB4C,EAAaL,YAAY,4BAA4BxhF,QAAQ,OAAQ,MAErE+gB,EAAOm+D,UAAW,GAGlB2C,EAAaL,YAAY,+CAA+CxhF,QAAQ,OAAQ,MAExF+gB,EAAOo+D,UAAW,IAG5B,MAAO9/E,KAgNbyiF,GAjCA,WAEI,IACIC,EADAC,EAAK7hE,SAASkxD,cAAc,KAE5B4Q,GACAC,gBAAmB,oBACnBC,WAAc,eACdC,YAAe,gBACfC,aAAgB,iBAChB10B,UAAa,aAIjBxtC,SAAS6D,KAAKs+D,aAAaN,EAAI,MAE/B,IAAK,IAAI1mF,KAAK2mF,OAEUlkF,IAAhBikF,EAAG5wE,MAAM9V,KAET0mF,EAAG5wE,MAAM9V,GAAK,2BACdymF,EAAQrmF,OAAO6mF,iBAAiBP,GAAIQ,iBAAiBP,EAAW3mF,KAIxE6kB,SAAS6D,KAAKwC,YAAYw7D,GAC1BjhE,EAAOk8D,WAAmBl/E,IAAVgkF,GAAuBA,EAAMvmF,OAAS,GAAe,SAAVumF,EAS/DU,GApEI1hE,EAAOw+D,WAAa7jF,OAAyB,kBAAK,EAClDqlB,EAAOq+D,QAAkE,IAAzDj0C,UAAUG,UAAUnL,cAAczb,QAAQ,UAC1D3D,EAAOs+D,QAAiC,IAAtBt+D,EAAOw+D,YAAoBx+D,EAAOq+D,OACpDr+D,EAAOu+D,MAA8D,IAAvDn0C,UAAUG,UAAUnL,cAAczb,QAAQ,QAE/B,oBAAdg+D,UAEP3hE,EAAOm8D,YAAa,EAIpBn8D,EAAOm8D,YAAa,EAGG,oBAAhB1uB,aAAqD,oBAAf6b,YAAqD,oBAAhB1uE,cAElFolB,EAAOy+D,aAAegB,IACtBz/D,EAAOgxC,cAAgBhxC,EAAOy+D,cAGlCz+D,EAAO0+D,aAAuC,oBAAhBjxB,aAA4D,oBAAtBkyB,mBAA2D,oBAAfiC,YAAsD,OAAxB5hE,EAAOy+D,cAAyBiB,IAE9Kt1C,UAAUy3C,QAAUz3C,UAAUy3C,SAAWz3C,UAAU03C,eAAiB13C,UAAU23C,YAAc33C,UAAU43C,UAElG53C,UAAUy3C,UAEV7hE,EAAOo8D,WAAY,GAxd3B,WAEIp8D,EAAOrB,SAAWhkB,OAAiC,0BAAKqlB,EAAO6O,SAE/D,IACI7O,EAAOg8D,eAAiBA,aAAaiG,QACvC,MAAO3B,GACLtgE,EAAOg8D,cAAe,EAG1Bh8D,EAAO87D,QAASnhF,OAAa,MAAOA,OAAmB,YAAOA,OAAiB,UAAOA,OAAa,MACnGqlB,EAAO+7D,aAAephF,OAA0B,kBAEhDqlB,EAAOuO,MAAQ,WAAgB,IAAM,IAAI5P,EAASS,SAASkxD,cAAe,UAAyE,OAA7B3xD,EAAOmQ,cAAe,IAAiBn0B,OAAOunF,wBAA2BvjE,EAAO6V,WAAY,UAAa7V,EAAO6V,WAAY,uBAA4B,MAAOl2B,GAAM,OAAO,GAAnR,GACf0hB,EAAOuO,QAAUvO,EAAOuO,MAExBvO,EAAOi8D,SAAWthF,OAAe,OAEjCqlB,EAAO0X,YAAc,uBAAwBtY,UAAY,0BAA2BA,UAAY,6BAA8BA,SAE9HY,EAAOs8D,WAAsC,eAAxBl9D,SAAS+iE,WAE9B/3C,UAAUiyC,aAAejyC,UAAUiyC,cAAgBjyC,UAAUg4C,oBAAsBh4C,UAAUi4C,iBAAmBj4C,UAAUk4C,gBAAkBl4C,UAAUm4C,cAEtJ5nF,OAAO6nF,IAAM7nF,OAAO6nF,KAAO7nF,OAAO8nF,WAAa9nF,OAAO+nF,QAAU/nF,OAAOgoF,MAEvE3iE,EAAOq8D,aAAer8D,EAAOq8D,gBAAkBjyC,UAAUiyC,gBAAkB1hF,OAAO6nF,IAG9ExiE,EAAO08D,SAAW18D,EAAO28D,eAAiB,KAE1C38D,EAAOq8D,cAAe,IAOrBr8D,EAAOuQ,MAAQvQ,EAAOsO,IAAMtO,EAAO08D,SAAW18D,EAAO2Y,UAEtD3Y,EAAO27D,mBAAoB,IAI3B37D,EAAOm9D,QAAUn9D,EAAOg9D,gBAExBh9D,EAAO27D,mBAAoB,GAsdnCiH,GA/iBA,WAEI,IAAIjkE,EAAS5rB,EAAOwhC,WAAW1gB,OAAOnhB,KAAM,EAAG,GAC3C8kB,EAAUmH,EAAO6V,WAAW,MAEhChd,EAAQy3C,UAAY,wBAGpBz3C,EAAQ03C,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAI2zB,EAAKrrE,EAAQ2vB,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAI07C,EACJ,CAEIrrE,EAAQq4C,aAAagzB,EAAI,EAAG,GAG5B,IAAIC,EAAKtrE,EAAQ2vB,aAAa,EAAG,EAAG,EAAG,GAGvCnnB,EAAO47D,eACHkH,EAAGlsD,KAAK,KAAOisD,EAAGjsD,KAAK,IACvBksD,EAAGlsD,KAAK,KAAOisD,EAAGjsD,KAAK,IACvBksD,EAAGlsD,KAAK,KAAOisD,EAAGjsD,KAAK,IACvBksD,EAAGlsD,KAAK,KAAOisD,EAAGjsD,KAAK,GAK/Bpf,EAAQy+C,yBAA2B,WACnCj2C,EAAO67D,eAAuD,aAArCrkE,EAAQy+C,yBAEjCljE,EAAOwhC,WAAWmmD,eAAe/7D,GAEjClmB,KAAKw5D,aAAa8wB,WAAc/iE,EAAqB,eAAIvnB,KAAKw5D,aAAa+wB,iBAAmBvqF,KAAKw5D,aAAagxB,iBA4gBpHC,GA1aA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGArpD,EAAU1a,SAASkxD,cAAc,OAE5B51E,EAAI,EAAGA,EAAIyoF,EAAG1oF,OAAQC,IAE3B,GAAIo/B,EAAQqpD,EAAGzoF,IACf,CACIslB,EAAO2+D,YAAa,EACpB3+D,EAAO4+D,kBAAoBuE,EAAGzoF,GAC9B,MAIR,IAAI0oF,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIpjE,EAAO2+D,WAEP,IAASjkF,EAAI,EAAGA,EAAI0oF,EAAI3oF,OAAQC,IAE5B,GAAI0kB,SAASgkE,EAAI1oF,IACjB,CACIslB,EAAO6+D,iBAAmBuE,EAAI1oF,GAC9B,MAMRC,OAAgB,SAAK0oF,QAA8B,uBAEnDrjE,EAAO8+D,oBAAqB,GAwXpCwE,IA9cQ,iBAAkBlkE,SAASmkE,iBAAoB5oF,OAAOyvC,UAAUo5C,gBAAkB7oF,OAAOyvC,UAAUo5C,gBAAkB,KAErHxjE,EAAO4S,OAAQ,IAGfj4B,OAAO8oF,cAAgB9oF,OAAO+oF,gBAAkB/oF,OAAOyvC,UAAUu5C,kBAAoBhpF,OAAOyvC,UAAUw5C,kBAEtG5jE,EAAO6S,WAAY,GAGlB7S,EAAO6O,WAGJ,YAAal0B,QAAWqlB,EAAOsO,IAAM,eAAgB3zB,OAGrDqlB,EAAOsZ,WAAa,QAEf,iBAAkB3+B,OAGvBqlB,EAAOsZ,WAAa,aAEftZ,EAAO08D,SAAW,qBAAsB/hF,SAG7CqlB,EAAOsZ,WAAa,oBAicpCvmC,EAAO44B,OAAOk4D,aAAe,SAAU/oF,GAEnC,QAAa,QAATA,IAAkBpI,KAAKgrF,SAIT,QAAT5iF,IAAmBpI,KAAK8qF,MAAO9qF,KAAK+qF,UAI3B,QAAT3iF,IAAkBpI,KAAKkrF,SAId,SAAT9iF,IAAmBpI,KAAK+qF,UAIf,QAAT3iF,IAAkBpI,KAAKirF,SAId,SAAT7iF,IAAmBpI,KAAKmrF,SAIf,QAAT/iF,IAAkBpI,KAAKorF,aAiBpC/qF,EAAO44B,OAAOm4D,aAAe,SAAUhpF,GAEnC,QAAa,SAATA,IAAoBpI,KAAKwrF,YAAaxrF,KAAKyrF,cAI7B,QAATrjF,IAAmBpI,KAAKurF,WAAYvrF,KAAKsrF,eAI/B,QAATljF,GAA2B,QAATA,IAAmBpI,KAAKqrF,aAIlC,SAATjjF,IAAmBpI,KAAK0rF,aAgBrCrrF,EAAO44B,OAAOo4D,iBAAmB,WAC7B,UAAWrxF,KAAKm8B,WAAan8B,KAAK69B,KAAO79B,KAAKgmC,UAAa/9B,OAAOqpF,cAAgBrpF,OAAOqpF,aAAaC,mBAW1GlxF,EAAO44B,OAAOu4D,cAAgB,WAI1B,OAFAlpF,QAAQG,KAAK,mEAEN,GAgBXpI,EAAO44B,OAAOw4D,sBAAwB,WAElC,IAAIC,EAAUzpF,OAAOyvC,UAAUG,UAAUwQ,MAAM,kCAC/C,OAAOqpC,GAAWA,EAAQ,GAAK,KAiBnCrxF,EAAO6rB,QAaH/K,OAAQ,SAAUgJ,EAAQha,EAAOC,EAAQ+E,EAAIqlD,GAEzCrqD,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAI6b,EAAS,EAAaS,SAASkxD,cAAc,UAAYv9E,EAAOwhC,WAAW1gB,OAAOgJ,EAAQha,EAAOC,GAWrG,MATkB,iBAAP+E,GAA0B,KAAPA,IAE1B8W,EAAO9W,GAAKA,GAGhB8W,EAAO9b,MAAQA,EACf8b,EAAO7b,OAASA,EAChB6b,EAAOtO,MAAMg0E,QAAU,QAEhB1lE,GAYXH,mBAAoB,SAAUG,EAAQxN,GAMlC,OAJAA,EAAQA,GAAS,aAEjBwN,EAAOtO,MAAM46D,gBAAkB95D,EAExBwN,GAYXG,eAAgB,SAAUH,EAAQliB,GAQ9B,OANAA,EAAQA,GAAS,OAEjBkiB,EAAOtO,MAAMi0E,cAAgB7nF,EAC7BkiB,EAAOtO,MAAM,mBAAqB5T,EAClCkiB,EAAOtO,MAAM,gBAAkB5T,EAExBkiB,GAYXE,cAAe,SAAUF,EAAQliB,GAY7B,OAVAA,EAAQA,GAAS,OAEjBkiB,EAAOtO,MAAM,yBAA2B5T,EACxCkiB,EAAOtO,MAAM,uBAAyB5T,EACtCkiB,EAAOtO,MAAM,sBAAwB5T,EACrCkiB,EAAOtO,MAAM,oBAAsB5T,EACnCkiB,EAAOtO,MAAM,mBAAqB5T,EAClCkiB,EAAOtO,MAAM,eAAiB5T,EAC9BkiB,EAAOtO,MAAM,+BAAiC,mBAEvCsO,GAcXqQ,SAAU,SAAUrQ,EAAQ9B,EAAQ0nE,GAEhC,IAAI3qF,EA+BJ,YA7BuBoD,IAAnBunF,IAAgCA,GAAiB,GAEjD1nE,IAEsB,iBAAXA,EAGPjjB,EAASwlB,SAASolE,eAAe3nE,GAEV,iBAAXA,GAA2C,IAApBA,EAAOxe,WAG1CzE,EAASijB,IAKZjjB,IAEDA,EAASwlB,SAAS6D,MAGlBshE,GAAkB3qF,EAAOyW,QAEzBzW,EAAOyW,MAAMo0E,SAAW,UAG5B7qF,EAAO8qF,YAAY/lE,GAEZA,GAUXuR,cAAe,SAAUvR,GAEjBA,EAAOgmE,YAEPhmE,EAAOgmE,WAAWl/D,YAAY9G,IAkBtCjH,aAAc,SAAUF,EAAS2+C,EAAYC,EAAY3E,EAAQC,EAAQ2E,EAAOC,GAI5E,OAFA9+C,EAAQE,aAAa+5C,EAAQ4E,EAAOC,EAAO5E,EAAQyE,EAAYC,GAExD5+C,GAgBXw+C,oBAAqB,SAAUx+C,EAAS/a,GAEpC,IAAIqN,EAAI/W,EAAO6rB,OAAOyuC,mBAAmB71C,GAOzC,OALI1N,IAEA0N,EAAQ1N,GAAKrN,GAGV+a,GAWX61C,mBAAoB,SAAU71C,GAE1B,IAAIotE,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAI96E,EAAI86E,EAAOC,GAAU,uBAEzB,GAAI/6E,KAAK0N,EAEL,OAAO1N,EAIf,OAAO,MAWXisD,oBAAqB,SAAUv+C,GAE3B,IAAI1N,EAAI/W,EAAO6rB,OAAOyuC,mBAAmB71C,GAEzC,GAAI1N,EAEA,OAAO0N,EAAQ1N,IAavBg7E,uBAAwB,SAAUnmE,GAI9B,IAAK,IAFDomE,GAAU,gBAAiB,cAAe,mBAAoB,4BAA6B,oBAAqB,aAE3GrqF,EAAI,EAAGA,EAAIqqF,EAAMtqF,OAAQC,IAE9BikB,EAAOtO,MAAM,mBAAqB00E,EAAMrqF,GAK5C,OAFAikB,EAAOtO,MAAM20E,oBAAsB,mBAE5BrmE,GAYXsmE,yBAA0B,SAAUtmE,GAKhC,OAHAA,EAAOtO,MAAM,mBAAqB,OAClCsO,EAAOtO,MAAM20E,oBAAsB,UAE5BrmE,IAoBf5rB,EAAOi7B,sBAAwB,SAASrgB,EAAMu3E,QAElBloF,IAApBkoF,IAAiCA,GAAkB,GAKvDxyF,KAAKib,KAAOA,EAMZjb,KAAK84B,WAAY,EAKjB94B,KAAKwyF,gBAAkBA,EASvB,IAAK,IAPDC,GACA,KACA,MACA,SACA,KAGKtsF,EAAI,EAAGA,EAAIssF,EAAQ1qF,SAAWE,OAAOyqF,sBAAuBvsF,IAEjE8B,OAAOyqF,sBAAwBzqF,OAAOwqF,EAAQtsF,GAAK,yBACnD8B,OAAO0qF,qBAAuB1qF,OAAOwqF,EAAQtsF,GAAK,yBAA2B8B,OAAOwqF,EAAQtsF,GAAK,+BAOrGnG,KAAK4yF,eAAgB,EAMrB5yF,KAAK6yF,QAAU,KAMf7yF,KAAK8yF,WAAa,MAItBzyF,EAAOi7B,sBAAsB/0B,WAMzBuK,MAAO,WAEH9Q,KAAK84B,WAAY,EAEjB,IAAI5R,EAAQlnB,MAEPiI,OAAOyqF,uBAAyB1yF,KAAKwyF,iBAEtCxyF,KAAK4yF,eAAgB,EAErB5yF,KAAK6yF,QAAU,WACX,OAAO3rE,EAAM6rE,oBAGjB/yF,KAAK8yF,WAAa7qF,OAAO2kF,WAAW5sF,KAAK6yF,QAAS,KAIlD7yF,KAAK4yF,eAAgB,EAErB5yF,KAAK6yF,QAAU,SAAUzzE,GACrB,OAAO8H,EAAM8rE,UAAU5zE,IAG3Bpf,KAAK8yF,WAAa7qF,OAAOyqF,sBAAsB1yF,KAAK6yF,WAS5DG,UAAW,SAAUC,GAEbjzF,KAAK84B,YAGL94B,KAAKib,KAAK+D,OAAO/Y,KAAKI,MAAM4sF,IAE5BjzF,KAAK8yF,WAAa7qF,OAAOyqF,sBAAsB1yF,KAAK6yF,WAS5DE,iBAAkB,WAEV/yF,KAAK84B,YAEL94B,KAAKib,KAAK+D,OAAOqJ,KAAK+R,OAEtBp6B,KAAK8yF,WAAa7qF,OAAO2kF,WAAW5sF,KAAK6yF,QAAS7yF,KAAKib,KAAKmE,KAAK8zE,cASzE31D,KAAM,WAEEv9B,KAAK4yF,cAELO,aAAanzF,KAAK8yF,YAIlB7qF,OAAO0qF,qBAAqB3yF,KAAK8yF,YAGrC9yF,KAAK84B,WAAY,GASrBs6D,aAAc,WACV,OAAOpzF,KAAK4yF,eAQhBS,MAAO,WACH,OAA+B,IAAvBrzF,KAAK4yF,gBAKrBvyF,EAAOi7B,sBAAsB/0B,UAAU8B,YAAchI,EAAOi7B,sBAkB5Dj7B,EAAO4F,MAOHqtF,IAAe,EAAVrtF,KAAKsH,GAOVgmF,QAAmB,GAAVttF,KAAKsH,GAMdimF,WAAYvtF,KAAKsH,GAAK,IAMtBkmF,WAAY,IAAMxtF,KAAKsH,GASvBiC,SAAU,SAAUkkF,GAEhB,OAAOA,EAAUrzF,EAAO4F,KAAKutF,YAWjCp9E,SAAU,SAAUu9E,GAEhB,OAAOA,EAAUtzF,EAAO4F,KAAKwtF,YAYjC/L,kBAAmB,SAAU39E,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAI4H,EAAS,EAENA,EAAS5H,GAEZ4H,IAAW,EAGf,OAAOA,GAafiiF,aAAc,SAAUzjF,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAa1F7F,OAAQ,SAAUiI,EAAKE,GAKnB,QAHYpI,IAARkI,IAAqBA,EAAM,QACnBlI,IAARoI,IAAqBA,EAAM,GAE3BF,IAAQE,EAER,OAAOF,EAGX,GAAIA,EAAME,EACV,CACI,IAAImhF,EAAOrhF,EACXA,EAAME,EACNA,EAAMmhF,EAGV,OAAQ5tF,KAAKsE,UAAYmI,EAAMF,GAAOA,GAa1C8lB,QAAS,SAAU9lB,EAAKE,GAKpB,QAHYpI,IAARkI,IAAqBA,EAAM,QACnBlI,IAARoI,IAAqBA,EAAM,GAE3BF,IAAQE,EAER,OAAOF,EAGX,GAAIA,EAAME,EACV,CACI,IAAImhF,EAAOrhF,EACXA,EAAME,EACNA,EAAMmhF,EAMV,OAHArhF,EAAMvM,KAAKG,KAAKoM,GAChBE,EAAMzM,KAAKI,MAAMqM,GAEVzM,KAAKI,MAAMJ,KAAKsE,UAAYmI,EAAMF,EAAM,IAAMA,GAazDH,WAAY,SAAUnD,EAAGI,EAAG8C,GAIxB,YAFgB9H,IAAZ8H,IAAyBA,EAAU,MAEhCnM,KAAK2J,IAAIV,EAAII,GAAK8C,GAa7B0hF,cAAe,SAAU5kF,EAAGI,EAAG8C,GAI3B,YAFgB9H,IAAZ8H,IAAyBA,EAAU,MAEhClD,EAAII,EAAI8C,GAanB2hF,iBAAkB,SAAU7kF,EAAGI,EAAG8C,GAI9B,YAFgB9H,IAAZ8H,IAAyBA,EAAU,MAEhClD,EAAII,EAAI8C,GAYnB4hF,UAAW,SAAUpqF,EAAKwI,GAItB,YAFgB9H,IAAZ8H,IAAyBA,EAAU,MAEhCnM,KAAKG,KAAKwD,EAAMwI,IAY3B6hF,WAAY,SAAUrqF,EAAKwI,GAIvB,YAFgB9H,IAAZ8H,IAAyBA,EAAU,MAEhCnM,KAAKI,MAAMuD,EAAMwI,IAW5B8hF,QAAS,WAKL,IAAK,IAHDzvB,EAAM,EACN38D,EAAMb,UAAUc,OAEXC,EAAI,EAAGA,EAAIF,EAAKE,IAErBy8D,IAASx9D,UAAUe,GAGvB,OAAOy8D,EAAM38D,GASjBqsF,MAAO,SAAU9tE,GAEb,OAAOA,EAAI,GAef+tE,OAAQ,SAAU5zE,EAAO6zE,EAAKvjF,GAI1B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARujF,EACO7zE,GAGXA,GAAS1P,EACT0P,EAAQ6zE,EAAMpuF,KAAKsI,MAAMiS,EAAQ6zE,GAE1BvjF,EAAQ0P,IAgBnB8zE,YAAa,SAAU9zE,EAAO6zE,EAAKvjF,GAI/B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARujF,EACO7zE,GAGXA,GAAS1P,EACT0P,EAAQ6zE,EAAMpuF,KAAKI,MAAMma,EAAQ6zE,GAE1BvjF,EAAQ0P,IAgBnB05D,WAAY,SAAU15D,EAAO6zE,EAAKvjF,GAI9B,YAFcxG,IAAVwG,IAAuBA,EAAQ,GAEvB,IAARujF,EACO7zE,GAGXA,GAAS1P,EACT0P,EAAQ6zE,EAAMpuF,KAAKG,KAAKoa,EAAQ6zE,GAEzBvjF,EAAQ0P,IAuCnB+zE,QAAS,SAAUxqF,EAAOyqF,EAAOtjC,QAEf5mD,IAAVkqF,IAAuBA,EAAQ,QACtBlqF,IAAT4mD,IAAsBA,EAAO,IAEjC,IAAI7gD,EAAIpK,KAAKwuF,IAAIvjC,GAAOsjC,GAExB,OAAOvuF,KAAKsI,MAAMxE,EAAQsG,GAAKA,GAcnCqkF,QAAS,SAAU3qF,EAAOyqF,EAAOtjC,QAEf5mD,IAAVkqF,IAAuBA,EAAQ,QACtBlqF,IAAT4mD,IAAsBA,EAAO,IAEjC,IAAI7gD,EAAIpK,KAAKwuF,IAAIvjC,GAAOsjC,GAExB,OAAOvuF,KAAKI,MAAM0D,EAAQsG,GAAKA,GAcnCskF,OAAQ,SAAU5qF,EAAOyqF,EAAOtjC,QAEd5mD,IAAVkqF,IAAuBA,EAAQ,QACtBlqF,IAAT4mD,IAAsBA,EAAO,IAEjC,IAAI7gD,EAAIpK,KAAKwuF,IAAIvjC,GAAOsjC,GAExB,OAAOvuF,KAAKG,KAAK2D,EAAQsG,GAAKA,GAclCukF,cAAe,SAAUC,EAAcC,EAAan5E,GAIhD,YAFarR,IAATqR,IAAsBA,EAAO,KAE7Bk5E,IAAiBC,EAEVD,GAGP5uF,KAAK2J,IAAIklF,EAAcD,IAAiBl5E,GAAQ1V,KAAK2J,IAAIklF,EAAcD,IAAkBx0F,EAAO4F,KAAKqtF,IAAM33E,EAE3Gk5E,EAAeC,GAIX7uF,KAAK2J,IAAIklF,EAAcD,GAAgB5uF,KAAKsH,KAExCunF,EAAcD,EAEdC,GAAez0F,EAAO4F,KAAKqtF,IAI3BwB,GAAez0F,EAAO4F,KAAKqtF,KAI/BwB,EAAcD,EAEdA,GAAgBl5E,EAEXm5E,EAAcD,IAEnBA,GAAgBl5E,IAIjBk5E,IAmBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAI/O,EAAa+O,EAASD,EAE1B,OAAmB,IAAf9O,EAEO,EAKJA,EAAsB,IAFjBjgF,KAAKI,OAAO6/E,IAAe,KAAQ,MAgBnDgP,aAAc,SAAUxkF,EAAIC,EAAIC,EAAIC,GAEhC,OAAO5K,KAAKoN,MAAMxC,EAAKF,EAAIC,EAAKF,IAiBpCykF,cAAe,SAAUzkF,EAAIC,EAAIC,EAAIC,GAEjC,OAAO5K,KAAKoN,MAAMzC,EAAKF,EAAIG,EAAKF,IAYpCykF,mBAAoB,SAAUzkB,EAAQC,GAElC,OAAO3qE,KAAKoN,MAAMu9D,EAAO1jE,EAAIyjE,EAAOzjE,EAAG0jE,EAAOzqE,EAAIwqE,EAAOxqE,IAW7DkvF,oBAAqB,SAAU1kB,EAAQC,GAEnC,OAAO3qE,KAAKoN,MAAMu9D,EAAOzqE,EAAIwqE,EAAOxqE,EAAGyqE,EAAO1jE,EAAIyjE,EAAOzjE,IAU7DooF,aAAc,SAAUC,GAEpB,OAAOv1F,KAAKw1F,eAAeD,EAAWtvF,KAAKsH,IAAI,IAUnDioF,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAItvF,KAAKsH,KACb,EAAIgoF,EAAWA,EAAW,EAAItvF,KAAKsH,IAa1DkoF,OAAQ,SAAU1rF,EAAO4pB,EAAQjhB,GAE7B,OAAOzM,KAAKuM,IAAIzI,EAAQ4pB,EAAQjhB,IAapCgjF,OAAQ,SAAU3rF,EAAO4pB,EAAQnhB,GAE7B,OAAOvM,KAAKyM,IAAI3I,EAAQ4pB,EAAQnhB,IAepCc,KAAM,SAAUvJ,EAAOyI,EAAKE,GAExB,IAAIijF,EAAQjjF,EAAMF,EAElB,GAAImjF,GAAS,EAET,OAAO,EAGX,IAAIhkF,GAAU5H,EAAQyI,GAAOmjF,EAO7B,OALIhkF,EAAS,IAETA,GAAUgkF,GAGPhkF,EAASa,GAepBojF,UAAW,SAAU7rF,EAAO4pB,EAAQjhB,GAQhC,OALA3I,EAAQ9D,KAAK2J,IAAI7F,GACjB4pB,EAAS1tB,KAAK2J,IAAI+jB,GAClBjhB,EAAMzM,KAAK2J,IAAI8C,IACP3I,EAAQ4pB,GAAUjhB,GAa9BmjF,MAAO,SAAUxvE,GAGb,SAAc,EAAJA,IAWdyvE,OAAQ,SAAUzvE,GAGd,QAAa,EAAJA,IAab7T,IAAK,WAED,GAAyB,IAArBvL,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCi9B,EAAOj9B,UAAU,QAIrB,IAAIi9B,EAAOj9B,UAGf,IAAK,IAAIe,EAAI,EAAGwK,EAAM,EAAG1K,EAAMo8B,EAAKn8B,OAAQC,EAAIF,EAAKE,IAE7Ck8B,EAAKl8B,GAAKk8B,EAAK1xB,KAEfA,EAAMxK,GAId,OAAOk8B,EAAK1xB,IAahBE,IAAK,WAED,GAAyB,IAArBzL,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCi9B,EAAOj9B,UAAU,QAIrB,IAAIi9B,EAAOj9B,UAGf,IAAK,IAAIe,EAAI,EAAG0K,EAAM,EAAG5K,EAAMo8B,EAAKn8B,OAAQC,EAAIF,EAAKE,IAE7Ck8B,EAAKl8B,GAAKk8B,EAAKxxB,KAEfA,EAAM1K,GAId,OAAOk8B,EAAKxxB,IAWhBqjF,YAAa,SAAUriE,GAEnB,GAAyB,IAArBzsB,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCi9B,EAAOj9B,UAAU,QAIrB,IAAIi9B,EAAOj9B,UAAUR,MAAM,GAG/B,IAAK,IAAIuB,EAAI,EAAGwK,EAAM,EAAG1K,EAAMo8B,EAAKn8B,OAAQC,EAAIF,EAAKE,IAE7Ck8B,EAAKl8B,GAAG0rB,GAAYwQ,EAAK1xB,GAAKkhB,KAE9BlhB,EAAMxK,GAId,OAAOk8B,EAAK1xB,GAAKkhB,IAWrBsiE,YAAa,SAAUtiE,GAEnB,GAAyB,IAArBzsB,UAAUc,QAAwC,iBAAjBd,UAAU,GAEvCi9B,EAAOj9B,UAAU,QAIrB,IAAIi9B,EAAOj9B,UAAUR,MAAM,GAG/B,IAAK,IAAIuB,EAAI,EAAG0K,EAAM,EAAG5K,EAAMo8B,EAAKn8B,OAAQC,EAAIF,EAAKE,IAE7Ck8B,EAAKl8B,GAAG0rB,GAAYwQ,EAAKxxB,GAAKghB,KAE9BhhB,EAAM1K,GAId,OAAOk8B,EAAKxxB,GAAKghB,IAYrB80B,UAAW,SAAU75C,EAAOglF,GAExB,OAAOA,EAAU3zF,KAAKsT,KAAK3E,GAAQ1I,KAAKsH,GAAItH,KAAKsH,IAAMvN,KAAKsT,KAAK3E,GAAQ,IAAK,MAYlFsnF,oBAAqB,SAAUv6D,EAAG4e,GAE9B,IAAI3jC,EAAI+kB,EAAE3zB,OAAS,EACf+C,EAAI6L,EAAI2jC,EACRtyC,EAAI/B,KAAKI,MAAMyE,GAEnB,OAAIwvC,EAAI,EAEGt6C,KAAK4f,OAAO8b,EAAE,GAAIA,EAAE,GAAI5wB,GAG/BwvC,EAAI,EAEGt6C,KAAK4f,OAAO8b,EAAE/kB,GAAI+kB,EAAE/kB,EAAI,GAAIA,EAAI7L,GAGpC9K,KAAK4f,OAAO8b,EAAE1zB,GAAI0zB,EAAE1zB,EAAI,EAAI2O,EAAIA,EAAI3O,EAAI,GAAI8C,EAAI9C,IAY3DkuF,oBAAqB,SAAUx6D,EAAG4e,GAK9B,IAAK,IAHDhrC,EAAI,EACJ+W,EAAIqV,EAAE3zB,OAAS,EAEVC,EAAI,EAAGA,GAAKqe,EAAGre,IAEpBsH,GAAKrJ,KAAKwuF,IAAI,EAAIn6C,EAAGj0B,EAAIre,GAAK/B,KAAKwuF,IAAIn6C,EAAGtyC,GAAK0zB,EAAE1zB,GAAKhI,KAAKm2F,UAAU9vE,EAAGre,GAG5E,OAAOsH,GAYX8mF,wBAAyB,SAAU16D,EAAG4e,GAElC,IAAI3jC,EAAI+kB,EAAE3zB,OAAS,EACf+C,EAAI6L,EAAI2jC,EACRtyC,EAAI/B,KAAKI,MAAMyE,GAEnB,OAAI4wB,EAAE,KAAOA,EAAE/kB,IAEP2jC,EAAI,IAEJtyC,EAAI/B,KAAKI,MAAMyE,EAAI6L,GAAK,EAAI2jC,KAGzBt6C,KAAKq2F,WAAW36D,GAAG1zB,EAAI,EAAI2O,GAAKA,GAAI+kB,EAAE1zB,GAAI0zB,GAAG1zB,EAAI,GAAK2O,GAAI+kB,GAAG1zB,EAAI,GAAK2O,GAAI7L,EAAI9C,IAIjFsyC,EAAI,EAEG5e,EAAE,IAAM17B,KAAKq2F,WAAW36D,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAK5wB,GAAK4wB,EAAE,IAG/D4e,EAAI,EAEG5e,EAAE/kB,IAAM3W,KAAKq2F,WAAW36D,EAAE/kB,GAAI+kB,EAAE/kB,GAAI+kB,EAAE/kB,EAAI,GAAI+kB,EAAE/kB,EAAI,GAAI7L,EAAI6L,GAAK+kB,EAAE/kB,IAGvE3W,KAAKq2F,WAAW36D,EAAE1zB,EAAIA,EAAI,EAAI,GAAI0zB,EAAE1zB,GAAI0zB,EAAE/kB,EAAI3O,EAAI,EAAI2O,EAAI3O,EAAI,GAAI0zB,EAAE/kB,EAAI3O,EAAI,EAAI2O,EAAI3O,EAAI,GAAI8C,EAAI9C,IAc/G4X,OAAQ,SAAU02E,EAAIp9E,EAAIrR,GAEtB,OAAQqR,EAAKo9E,GAAMzuF,EAAIyuF,GAW3BH,UAAW,SAAU9vE,EAAGre,GAEpB,OAAOhI,KAAKu2F,UAAUlwE,GAAKrmB,KAAKu2F,UAAUvuF,GAAKhI,KAAKu2F,UAAUlwE,EAAIre,IAStEuuF,UAAW,SAAUxsF,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIysF,EAAMzsF,IAEFA,GAEJysF,GAAOzsF,EAGX,OAAOysF,GAgBXH,WAAY,SAAUC,EAAIp9E,EAAIC,EAAIs9E,EAAI5uF,GAElC,IAAIi9E,EAAiB,IAAX3rE,EAAKm9E,GAAWvR,EAAiB,IAAX0R,EAAKv9E,GAAWm4D,EAAKxpE,EAAIA,EAEzD,OAAQ,EAAIqR,EAAK,EAAIC,EAAK2rE,EAAKC,IAFkCl9E,EAAIwpE,KAEzB,EAAIn4D,EAAK,EAAIC,EAAK,EAAI2rE,EAAKC,GAAM1T,EAAKyT,EAAKj9E,EAAIqR,GAY/FgtE,WAAY,SAAUh3E,EAAGI,GAErB,OAAOrJ,KAAK2J,IAAIV,EAAII,IAWxBonF,kBAAmB,SAAU3sF,GAGzB,OAAQA,EAAQ,EAAK9D,KAAKG,KAAK2D,GAAS9D,KAAKI,MAAM0D,IAiBvD4sF,gBAAiB,SAAU5uF,EAAQ6uF,EAAcC,EAAcC,QAEtCxsF,IAAjBssF,IAA8BA,EAAe,QAC5BtsF,IAAjBusF,IAA8BA,EAAe,QAC/BvsF,IAAdwsF,IAA2BA,EAAY,GAS3C,IAAK,IAPDjpF,EAAM+oF,EACNhpF,EAAMipF,EACNE,EAAMD,EAAY7wF,KAAKsH,GAAKxF,EAE5BivF,KACAC,KAEKvnF,EAAI,EAAGA,EAAI3H,EAAQ2H,IAGxB7B,IADAD,GAAOC,EAAMkpF,GACAA,EAEbC,EAAStnF,GAAK9B,EACdqpF,EAASvnF,GAAK7B,EAIlB,OAASA,IAAKopF,EAAUrpF,IAAKopF,EAAUjvF,OAAQA,IAYnDmvF,MAAO,SAAUhoF,EAAGI,GAEhB,OAAOrJ,KAAKqK,KAAKpB,EAAIA,EAAII,EAAIA,IAcjChB,SAAU,SAAUoC,EAAIC,EAAIC,EAAIC,GAE5B,IAAI/B,EAAK4B,EAAKE,EACV7B,EAAK4B,EAAKE,EAEd,OAAO5K,KAAKqK,KAAKxB,EAAKA,EAAKC,EAAKA,IAepCooF,WAAY,SAAUzmF,EAAIC,EAAIC,EAAIC,GAE9B,IAAI/B,EAAK4B,EAAKE,EACV7B,EAAK4B,EAAKE,EAEd,OAAO/B,EAAKA,EAAKC,EAAKA,GAe1BqoF,YAAa,SAAU1mF,EAAIC,EAAIC,EAAIC,EAAI4jF,GAInC,YAFYnqF,IAARmqF,IAAqBA,EAAM,GAExBxuF,KAAKqK,KAAKrK,KAAKwuF,IAAI7jF,EAAKF,EAAI+jF,GAAOxuF,KAAKwuF,IAAI5jF,EAAKF,EAAI8jF,KAahEv+E,MAAO,SAAUwlB,EAAGlpB,EAAKE,GAErB,OAAIgpB,EAAIlpB,EAEGA,EAEFE,EAAMgpB,EAEJhpB,EAIAgpB,GAcf27D,YAAa,SAAUlxF,EAAG+I,GAEtB,OAAO/I,EAAI+I,EAAIA,EAAI/I,GAcvBmxF,OAAQ,SAAUpoF,EAAGI,EAAGsK,GAEpB,OAAQ3T,KAAK2J,IAAIV,EAAII,IAAMsK,GAe/B29E,UAAW,SAAUpxF,EAAGoN,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAOtN,EAAIoN,IAASG,EAAKD,IAASD,EAAKD,IAalDikF,WAAY,SAAUrxF,EAAGqM,EAAKE,GAM1B,OAHAvM,EAAIF,KAAKyM,IAAI,EAAGzM,KAAKuM,IAAI,GAAIrM,EAAIqM,IAAQE,EAAMF,MAGpCrM,GAAK,EAAI,EAAIA,IAa5BsxF,aAAc,SAAUtxF,EAAGqM,EAAKE,GAI5B,OAFAvM,EAAIF,KAAKyM,IAAI,EAAGzM,KAAKuM,IAAI,GAAIrM,EAAIqM,IAAQE,EAAMF,MAEpCrM,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAa3CuxF,KAAM,SAAUvxF,GAEZ,OAASA,EAAI,GAAO,EAAQA,EAAI,EAAM,EAAI,GAa9CwxF,QAAS,SAAUzoF,EAAGI,EAAG4hD,GAIrB,YAFa5mD,IAAT4mD,IAAsBA,EAAO,GAE7BhiD,EAAII,GAAK4hD,EAAO5hD,EAET,EAEFJ,EAAIgiD,GAAQA,EAAOhiD,EAEjB,GAICA,EAAIgiD,GAAQ5hD,IA6BhCjP,EAAO85B,oBAAsB,SAAUy9D,QAErBttF,IAAVstF,IAAuBA,MAM3B53F,KAAK0P,EAAI,EAMT1P,KAAK63F,GAAK,EAMV73F,KAAKmwF,GAAK,EAMVnwF,KAAKowF,GAAK,EAEW,iBAAVwH,EAEP53F,KAAK2gB,MAAMi3E,GAIX53F,KAAK83F,IAAIF,IAKjBv3F,EAAO85B,oBAAoB5zB,WASvBgZ,IAAK,WAED,IAAI1X,EAAI,QAAU7H,KAAK63F,GAAc,uBAAT73F,KAAK0P,EAOjC,OALA1P,KAAK0P,EAAQ,EAAJ7H,EACT7H,KAAK63F,GAAK73F,KAAKmwF,GACfnwF,KAAKmwF,GAAKnwF,KAAKowF,GACfpwF,KAAKowF,GAAKvoF,EAAI7H,KAAK0P,EAEZ1P,KAAKowF,IAWhB0H,IAAK,SAAUF,GAQX,GALA53F,KAAK63F,GAAK73F,KAAK8vB,KAAK,KACpB9vB,KAAKmwF,GAAKnwF,KAAK8vB,KAAK9vB,KAAK63F,IACzB73F,KAAKowF,GAAKpwF,KAAK8vB,KAAK9vB,KAAKmwF,IACzBnwF,KAAK0P,EAAI,EAEJkoF,EAML,IAAK,IAAI5vF,EAAI,EAAGA,EAAI4vF,EAAM7vF,QAAuB,MAAZ6vF,EAAM5vF,GAAaA,IACxD,CACI,IAAIsyB,EAAOs9D,EAAM5vF,GAEjBhI,KAAK63F,IAAM73F,KAAK8vB,KAAKwK,GACrBt6B,KAAK63F,OAAS73F,KAAK63F,GAAK,GACxB73F,KAAKmwF,IAAMnwF,KAAK8vB,KAAKwK,GACrBt6B,KAAKmwF,OAASnwF,KAAKmwF,GAAK,GACxBnwF,KAAKowF,IAAMpwF,KAAK8vB,KAAKwK,GACrBt6B,KAAKowF,OAASpwF,KAAKowF,GAAK,KAahCtgE,KAAM,SAAUoU,GAEZ,IAAIlmB,EAAGhW,EAAGqe,EAIV,IAHAA,EAAI,WACJ6d,EAAOA,EAAKx8B,WAEPM,EAAI,EAAGA,EAAIk8B,EAAKn8B,OAAQC,IAEzBgW,EAAI,oBADJqI,GAAK6d,EAAKke,WAAWp6C,IAGrBgW,GADAqI,EAAIrI,IAAM,EAGVqI,GADArI,GAAKqI,KACK,EAEVA,GAAS,YADTrI,GAAKqI,GAIT,OAAmB,wBAAXA,IAAM,IAUlB0xE,QAAS,WAEL,OAA8B,WAAvB/3F,KAAKuf,IAAIpY,MAAMnH,OAU1Bwf,KAAM,WAEF,OAAOxf,KAAKuf,IAAIpY,MAAMnH,MAAgD,wBAAhB,QAAvBA,KAAKuf,IAAIpY,MAAMnH,MAAmB,IAUrEg4F,KAAM,WAEF,OAAOh4F,KAAK+3F,UAAY/3F,KAAKwf,QAYjCy4E,eAAgB,SAAUzlF,EAAKE,GAE3B,OAAOzM,KAAKI,MAAMrG,KAAKk4F,YAAY,EAAGxlF,EAAMF,EAAM,GAAKA,IAa3D8lB,QAAS,SAAU9lB,EAAKE,GAEpB,OAAO1S,KAAKi4F,eAAezlF,EAAKE,IAYpCwlF,YAAa,SAAU1lF,EAAKE,GAExB,OAAO1S,KAAKwf,QAAU9M,EAAMF,GAAOA,GAUvC2lF,OAAQ,WAEJ,OAAO,EAAI,EAAIn4F,KAAKwf,QAUxBk2C,KAAM,WAEF,IAAIxmD,EAAI,GACJI,EAAI,GAER,IAAKA,EAAIJ,EAAI,GAAIA,IAAM,GAAII,IAAKJ,EAAI,EAAQ,EAAJA,EAAM,GAAO,GAAFA,EAAO,EAAElP,KAAKwf,QAAY,GAAFtQ,EAAO,GAAK,GAAK,GAAGxH,SAAS,IAAM,KAI9G,OAAO4H,GAWX2nB,KAAM,SAAUmhE,GAEZ,OAAOA,EAAIp4F,KAAKi4F,eAAe,EAAGG,EAAIrwF,OAAS,KAUnD2vF,KAAM,WAEF,OAAO13F,KAAKi3B,OAAO,EAAG,KAW1BohE,aAAc,SAAUD,GAEpB,OAAOA,KAAOnyF,KAAKwuF,IAAIz0F,KAAKwf,OAAQ,IAAM44E,EAAIrwF,OAAS,GAAK,MAYhEq3C,UAAW,SAAU5sC,EAAKE,GAEtB,OAAO1S,KAAKk4F,YAAY1lF,GAAO,UAAcE,GAAO,YAUxD/D,MAAO,WAEH,OAAO3O,KAAKi4F,gBAAgB,IAAK,MAqBrCt3E,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAM0nC,MAAM,WAEzC1nC,EAAQA,EAAMtX,MAAM,KAEpBrJ,KAAK0P,EAAIiuE,WAAWh9D,EAAM,IAC1B3gB,KAAK63F,GAAKla,WAAWh9D,EAAM,IAC3B3gB,KAAKmwF,GAAKxS,WAAWh9D,EAAM,IAC3B3gB,KAAKowF,GAAKzS,WAAWh9D,EAAM,MAGvB,OAAQ3gB,KAAK0P,EAAG1P,KAAK63F,GAAI73F,KAAKmwF,GAAInwF,KAAKowF,IAAI7mF,KAAK,OAMhElJ,EAAO85B,oBAAoB5zB,UAAU8B,YAAchI,EAAO85B,oBAwB1D95B,EAAOi4F,SAAW,SAASnyF,EAAG+G,EAAGiD,EAAOC,EAAQmoF,EAAYC,EAAWC,GAMnEz4F,KAAKu4F,WAAa,GAMlBv4F,KAAKw4F,UAAY,EAKjBx4F,KAAKy4F,MAAQ,EAKbz4F,KAAKob,UAKLpb,KAAK04F,WAKL14F,KAAK24F,SAML34F,KAAK44F,UAEL54F,KAAKmgB,MAAMha,EAAG+G,EAAGiD,EAAOC,EAAQmoF,EAAYC,EAAWC,IAI3Dp4F,EAAOi4F,SAAS/xF,WAcZ4Z,MAAO,SAAUha,EAAG+G,EAAGiD,EAAOC,EAAQmoF,EAAYC,EAAWC,GAEzDz4F,KAAKu4F,WAAaA,GAAc,GAChCv4F,KAAKw4F,UAAYA,GAAa,EAC9Bx4F,KAAKy4F,MAAQA,GAAS,EAEtBz4F,KAAKob,QACDjV,EAAGF,KAAKsI,MAAMpI,GACd+G,EAAGjH,KAAKsI,MAAMrB,GACdiD,MAAOA,EACPC,OAAQA,EACRyoF,SAAU5yF,KAAKI,MAAM8J,EAAQ,GAC7B2oF,UAAW7yF,KAAKI,MAAM+J,EAAS,GAC/B5E,MAAOvF,KAAKsI,MAAMpI,GAAKF,KAAKI,MAAM8J,EAAQ,GAC1Cf,OAAQnJ,KAAKsI,MAAMrB,GAAKjH,KAAKI,MAAM+J,EAAS,IAGhDpQ,KAAK04F,QAAQ3wF,OAAS,EACtB/H,KAAK24F,MAAM5wF,OAAS,GAUxBgxF,SAAU,SAAU1hE,GAEhBA,EAAM1vB,QAAQ3H,KAAKg5F,gBAAiBh5F,MAAM,IAU9Cg5F,gBAAiB,SAAU7gE,GAEnBA,EAAO5H,MAAQ4H,EAAOhN,QAEtBnrB,KAAKi5F,OAAO9gE,EAAO5H,OAU3BlnB,MAAO,WAGHrJ,KAAK24F,MAAM,GAAK,IAAIt4F,EAAOi4F,SAASt4F,KAAKob,OAAO5P,MAAOxL,KAAKob,OAAOlO,EAAGlN,KAAKob,OAAOy9E,SAAU74F,KAAKob,OAAO09E,UAAW94F,KAAKu4F,WAAYv4F,KAAKw4F,UAAYx4F,KAAKy4F,MAAQ,GAGlKz4F,KAAK24F,MAAM,GAAK,IAAIt4F,EAAOi4F,SAASt4F,KAAKob,OAAOjV,EAAGnG,KAAKob,OAAOlO,EAAGlN,KAAKob,OAAOy9E,SAAU74F,KAAKob,OAAO09E,UAAW94F,KAAKu4F,WAAYv4F,KAAKw4F,UAAYx4F,KAAKy4F,MAAQ,GAG9Jz4F,KAAK24F,MAAM,GAAK,IAAIt4F,EAAOi4F,SAASt4F,KAAKob,OAAOjV,EAAGnG,KAAKob,OAAOhM,OAAQpP,KAAKob,OAAOy9E,SAAU74F,KAAKob,OAAO09E,UAAW94F,KAAKu4F,WAAYv4F,KAAKw4F,UAAYx4F,KAAKy4F,MAAQ,GAGnKz4F,KAAK24F,MAAM,GAAK,IAAIt4F,EAAOi4F,SAASt4F,KAAKob,OAAO5P,MAAOxL,KAAKob,OAAOhM,OAAQpP,KAAKob,OAAOy9E,SAAU74F,KAAKob,OAAO09E,UAAW94F,KAAKu4F,WAAYv4F,KAAKw4F,UAAYx4F,KAAKy4F,MAAQ,IAU3KQ,OAAQ,SAAU1oE,GAEd,IACIxnB,EADAf,EAAI,EAIR,GAAqB,MAAjBhI,KAAK24F,MAAM,KAII,KAFf5vF,EAAQ/I,KAAKuyB,SAAShC,KAW1B,GAFAvwB,KAAK04F,QAAQvlF,KAAKod,GAEdvwB,KAAK04F,QAAQ3wF,OAAS/H,KAAKu4F,YAAcv4F,KAAKy4F,MAAQz4F,KAAKw4F,UAS3D,IANqB,MAAjBx4F,KAAK24F,MAAM,IAEX34F,KAAKqJ,QAIFrB,EAAIhI,KAAK04F,QAAQ3wF,SAIL,KAFfgB,EAAQ/I,KAAKuyB,SAASvyB,KAAK04F,QAAQ1wF,KAK/BhI,KAAK24F,MAAM5vF,GAAOkwF,OAAOj5F,KAAK04F,QAAQ90E,OAAO5b,EAAG,GAAG,IAInDA,SA3BJhI,KAAK24F,MAAM5vF,GAAOkwF,OAAO1oE,IAyCrCgC,SAAU,SAAUte,GAGhB,IAAIlL,GAAS,EA8Bb,OA5BIkL,EAAK9N,EAAInG,KAAKob,OAAO5P,OAASyI,EAAKzI,MAAQxL,KAAKob,OAAO5P,MAEnDyI,EAAK/G,EAAIlN,KAAKob,OAAOhM,QAAU6E,EAAK7E,OAASpP,KAAKob,OAAOhM,OAGzDrG,EAAQ,EAEHkL,EAAK/G,EAAIlN,KAAKob,OAAOhM,SAG1BrG,EAAQ,GAGPkL,EAAK9N,EAAInG,KAAKob,OAAO5P,QAGtByI,EAAK/G,EAAIlN,KAAKob,OAAOhM,QAAU6E,EAAK7E,OAASpP,KAAKob,OAAOhM,OAGzDrG,EAAQ,EAEHkL,EAAK/G,EAAIlN,KAAKob,OAAOhM,SAG1BrG,EAAQ,IAITA,GAWXmwF,SAAU,SAAU/qF,GAEhB,GAAIA,aAAkB9N,EAAO2N,UAEzB,IAAImrF,EAAgBn5F,KAAK04F,QAErB3vF,EAAQ/I,KAAKuyB,SAASpkB,OAG9B,CACI,IAAKA,EAAOoiB,KAER,OAAOvwB,KAAK44F,OAGhB,IAAIO,EAAgBn5F,KAAK04F,QAErB3vF,EAAQ/I,KAAKuyB,SAASpkB,EAAOoiB,MAoBrC,OAjBIvwB,KAAK24F,MAAM,KAKPQ,GAFW,IAAXpwF,EAEgBowF,EAAcpyF,OAAO/G,KAAK24F,MAAM5vF,GAAOmwF,SAAS/qF,KAOhEgrF,GADAA,GADAA,EAAgBA,EAAcpyF,OAAO/G,KAAK24F,MAAM,GAAGO,SAAS/qF,KAC9BpH,OAAO/G,KAAK24F,MAAM,GAAGO,SAAS/qF,KAC9BpH,OAAO/G,KAAK24F,MAAM,GAAGO,SAAS/qF,KAC9BpH,OAAO/G,KAAK24F,MAAM,GAAGO,SAAS/qF,KAI7DgrF,GAQXx6E,MAAO,WAEH3e,KAAK04F,QAAQ3wF,OAAS,EAItB,IAFA,IAAIC,EAAIhI,KAAK24F,MAAM5wF,OAEZC,KAEHhI,KAAK24F,MAAM3wF,GAAG2W,QACd3e,KAAK24F,MAAM/0E,OAAO5b,EAAG,GAGzBhI,KAAK24F,MAAM5wF,OAAS,IAK5B1H,EAAOi4F,SAAS/xF,UAAU8B,YAAchI,EAAOi4F,SAmD/Cj4F,EAAO66B,IAAM,SAAUjgB,GAEnBjb,KAAKib,KAAOA,GAIhB5a,EAAO66B,IAAI30B,WAQP6yF,YAAa,WAET,OAAInxF,OAAOoxF,UAAYpxF,OAAOoxF,SAASC,SAC5BrxF,OAAOoxF,SAASC,SAGpB,MAcXC,gBAAiB,SAAUC,GACvB,OAAqD,IAA9CvxF,OAAOoxF,SAASC,SAASroE,QAAQuoE,IAgB5CC,kBAAmB,SAAU5vF,EAAKE,EAAO2vF,EAAU7jC,QAE9BvrD,IAAbovF,IAA0BA,GAAW,QAC7BpvF,IAARurD,GAA6B,KAARA,IAAcA,EAAM5tD,OAAOoxF,SAASM,MAE7D,IAAInrF,EAAS,GACT4wE,EAAK,IAAIiO,OAAO,UAAYxjF,EAAM,kBAAmB,MAEzD,GAAIu1E,EAAGN,KAAKjpB,GAIJrnD,OAFiB,IAAVzE,GAAmC,OAAVA,EAEvB8rD,EAAItpD,QAAQ6yE,EAAI,KAAOv1E,EAAM,IAAME,EAAQ,QAI3C8rD,EAAItpD,QAAQ6yE,EAAI,QAAQ7yE,QAAQ,UAAW,SAKxD,QAAqB,IAAVxC,GAAmC,OAAVA,EACpC,CACI,IAAI6vF,GAAkC,IAAtB/jC,EAAI5kC,QAAQ,KAAc,IAAM,IAC5CnB,EAAO+lC,EAAIxsD,MAAM,KACrBwsD,EAAM/lC,EAAK,GAAK8pE,EAAY/vF,EAAM,IAAME,EAEpC+lB,EAAK,KACL+lC,GAAO,IAAM/lC,EAAK,IAGtBthB,EAASqnD,OAKTrnD,EAASqnD,EAIjB,IAAI6jC,EAMA,OAAOlrF,EAJPvG,OAAOoxF,SAASM,KAAOnrF,GAiB/BqrF,eAAgB,SAAUC,QAEJxvF,IAAdwvF,IAA2BA,EAAY,IAE3C,IAAItrF,KACAurF,EAAYV,SAASW,OAAO1gB,UAAU,GAAGjwE,MAAM,KAEnD,IAAK,IAAIrB,KAAK+xF,EACd,CACI,IAAIlwF,EAAMkwF,EAAU/xF,GAAGqB,MAAM,KAE7B,GAAIQ,EAAI9B,OAAS,EACjB,CACI,GAAI+xF,GAAaA,IAAc95F,KAAKi6F,UAAUpwF,EAAI,IAE9C,OAAO7J,KAAKi6F,UAAUpwF,EAAI,IAI1B2E,EAAOxO,KAAKi6F,UAAUpwF,EAAI,KAAO7J,KAAKi6F,UAAUpwF,EAAI,KAKhE,OAAO2E,GAYXyrF,UAAW,SAAUlwF,GACjB,OAAOmwF,mBAAmBnwF,EAAMwC,QAAQ,MAAO,QAKvDlM,EAAO66B,IAAI30B,UAAU8B,YAAchI,EAAO66B,IAqB1C76B,EAAOw6B,aAAe,SAAU5f,GAK5Bjb,KAAKib,KAAOA,EAaZjb,KAAKm6F,YAAa,EAMlBn6F,KAAKo6F,WAMLp6F,KAAKq6F,QAELr6F,KAAKs6F,SAEDC,OAAUl6F,EAAOm6F,OAAOD,OACxBE,OAAUp6F,EAAOm6F,OAAOC,OACxBC,OAAUr6F,EAAOm6F,OAAOE,OACxBC,OAAUt6F,EAAOm6F,OAAOG,OACxBC,OAAUv6F,EAAOm6F,OAAOI,OAExBC,OAAUx6F,EAAOm6F,OAAOK,OAAOC,KAC/BC,KAAQ16F,EAAOm6F,OAAOQ,UAAUC,IAChCC,MAAS76F,EAAOm6F,OAAOU,MAAMD,IAC7BE,MAAS96F,EAAOm6F,OAAOY,QAAQH,IAC/BI,MAASh7F,EAAOm6F,OAAOc,QAAQL,IAC/BM,KAAQl7F,EAAOm6F,OAAOgB,WAAWP,IACjCQ,KAAQp7F,EAAOm6F,OAAOkB,YAAYT,IAClCU,KAAQt7F,EAAOm6F,OAAOoB,SAASX,IAC/BY,QAAWx7F,EAAOm6F,OAAOqB,QAAQZ,IACjCa,KAAQz7F,EAAOm6F,OAAOsB,KAAKb,IAC3Bc,OAAU17F,EAAOm6F,OAAOuB,OAAOd,IAE/Be,cAAe37F,EAAOm6F,OAAOQ,UAAUiB,GACvCC,eAAgB77F,EAAOm6F,OAAOU,MAAMe,GACpCE,eAAgB97F,EAAOm6F,OAAOY,QAAQa,GACtCG,eAAgB/7F,EAAOm6F,OAAOc,QAAQW,GACtCI,cAAeh8F,EAAOm6F,OAAOgB,WAAWS,GACxCK,cAAej8F,EAAOm6F,OAAOkB,YAAYO,GACzCM,cAAel8F,EAAOm6F,OAAOoB,SAASK,GACtCO,iBAAkBn8F,EAAOm6F,OAAOqB,QAAQI,GACxCQ,cAAep8F,EAAOm6F,OAAOsB,KAAKG,GAClCS,gBAAiBr8F,EAAOm6F,OAAOuB,OAAOE,GAEtCU,eAAgBt8F,EAAOm6F,OAAOQ,UAAUC,IACxC2B,gBAAiBv8F,EAAOm6F,OAAOU,MAAMD,IACrC4B,gBAAiBx8F,EAAOm6F,OAAOY,QAAQH,IACvC6B,gBAAiBz8F,EAAOm6F,OAAOc,QAAQL,IACvC8B,eAAgB18F,EAAOm6F,OAAOgB,WAAWP,IACzC+B,eAAgB38F,EAAOm6F,OAAOkB,YAAYT,IAC1CgC,eAAgB58F,EAAOm6F,OAAOoB,SAASX,IACvCiC,kBAAmB78F,EAAOm6F,OAAOqB,QAAQZ,IACzCkC,eAAgB98F,EAAOm6F,OAAOsB,KAAKb,IACnCmC,iBAAkB/8F,EAAOm6F,OAAOuB,OAAOd,IAEvCoC,iBAAkBh9F,EAAOm6F,OAAOQ,UAAUsC,MAC1CC,kBAAmBl9F,EAAOm6F,OAAOU,MAAMoC,MACvCE,kBAAmBn9F,EAAOm6F,OAAOY,QAAQkC,MACzCG,kBAAmBp9F,EAAOm6F,OAAOc,QAAQgC,MACzCI,iBAAkBr9F,EAAOm6F,OAAOgB,WAAW8B,MAC3CK,iBAAkBt9F,EAAOm6F,OAAOkB,YAAY4B,MAC5CM,iBAAkBv9F,EAAOm6F,OAAOoB,SAAS0B,MACzCO,oBAAqBx9F,EAAOm6F,OAAOqB,QAAQyB,MAC3CQ,iBAAkBz9F,EAAOm6F,OAAOsB,KAAKwB,MACrCS,mBAAoB19F,EAAOm6F,OAAOuB,OAAOuB,OAI7Ct9F,KAAKib,KAAK+H,QAAQ9Q,IAAIlS,KAAKg+F,UAAWh+F,MACtCA,KAAKib,KAAKiI,SAAShR,IAAIlS,KAAKi+F,WAAYj+F,OAI5CK,EAAOw6B,aAAat0B,WAOhBywB,OAAQ,WAEJ,OAAOh3B,KAAKo6F,SAQhB/1E,UAAW,WAEP,IAAK,IAAIrc,EAAI,EAAGA,EAAIhI,KAAKo6F,QAAQryF,OAAQC,IAErChI,KAAKo6F,QAAQpyF,GAAGk2F,eAAgB,EAGpCl+F,KAAKq6F,SAWT1uC,WAAY,SAAUliD,EAAK6iB,QAENhiB,IAAbgiB,IAA0BA,GAAW,GAKzC,GAAI5lB,MAAMa,QAAQkC,GAEd,IAAKzB,EAAI,EAAGF,EAAM2B,EAAI1B,OAAQC,EAAIF,EAAKE,IAEnChI,KAAK2rD,WAAWliD,EAAIzB,SAGvB,GAAIyB,EAAIrB,OAAS/H,EAAOoB,OAAS6qB,EAElC,IAAK,IAAItkB,EAAI,EAAGF,EAAM2B,EAAI6iB,SAASvkB,OAAQC,EAAIF,EAAKE,IAEhDhI,KAAK2rD,WAAWliD,EAAI6iB,SAAStkB,QAIrC,CACI,IAAKA,EAAI,EAAGF,EAAM9H,KAAKo6F,QAAQryF,OAAQC,EAAIF,EAAKE,IAExCyB,IAAQzJ,KAAKo6F,QAAQpyF,GAAGd,QAExBlH,KAAKujB,OAAOvjB,KAAKo6F,QAAQpyF,IAIjC,IAAKA,EAAI,EAAGF,EAAM9H,KAAKq6F,KAAKtyF,OAAQC,EAAIF,EAAKE,IAErCyB,IAAQzJ,KAAKq6F,KAAKryF,GAAGd,QAErBlH,KAAKujB,OAAOvjB,KAAKq6F,KAAKryF,MActCkK,IAAK,SAAUihD,GAEXA,EAAMgrC,SAAWn+F,KACjBA,KAAKq6F,KAAKlnF,KAAKggD,IAWnBhyC,OAAQ,SAAUiV,GAEd,OAAO,IAAI/1B,EAAO21D,MAAM5/B,EAAQp2B,KAAKib,KAAMjb,OAU/CujB,OAAQ,SAAU4vC,GAEd,IAAInrD,EAAIhI,KAAKo6F,QAAQnpE,QAAQkiC,IAElB,IAAPnrD,EAEAhI,KAAKo6F,QAAQpyF,GAAGk2F,eAAgB,GAMrB,KAFXl2F,EAAIhI,KAAKq6F,KAAKppE,QAAQkiC,MAIlBnzD,KAAKq6F,KAAKryF,GAAGk2F,eAAgB,IAYzCl/E,OAAQ,WAEJ,IAAIo/E,EAAYp+F,KAAKq6F,KAAKtyF,OACtBs2F,EAAYr+F,KAAKo6F,QAAQryF,OAE7B,GAAkB,IAAds2F,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAIp2F,EAAI,EAEDA,EAAIq2F,GAEHr+F,KAAKo6F,QAAQpyF,GAAGgX,OAAOhf,KAAKib,KAAKmE,KAAKA,MAEtCpX,KAIAhI,KAAKo6F,QAAQx2E,OAAO5b,EAAG,GAEvBq2F,KAWR,OANID,EAAY,IAEZp+F,KAAKo6F,QAAUp6F,KAAKo6F,QAAQrzF,OAAO/G,KAAKq6F,MACxCr6F,KAAKq6F,KAAKtyF,OAAS,IAGhB,GAWXu2F,WAAY,SAASloE,GAEjB,OAAOp2B,KAAKo6F,QAAQmE,KAAK,SAASprC,GAC9B,OAAOA,EAAMjsD,SAAWkvB,KAWhC4nE,UAAW,WAEP,IAAK,IAAIh2F,EAAIhI,KAAKo6F,QAAQryF,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAKo6F,QAAQpyF,GAAGw2F,UAWxBP,WAAY,WAER,IAAK,IAAIj2F,EAAIhI,KAAKo6F,QAAQryF,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAKo6F,QAAQpyF,GAAGy2F,WAUxBC,SAAU,WAEN,IAAK,IAAI12F,EAAIhI,KAAKo6F,QAAQryF,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAKo6F,QAAQpyF,GAAGib,SAUxB07E,UAAW,WAEP,IAAK,IAAI32F,EAAIhI,KAAKo6F,QAAQryF,OAAS,EAAGC,GAAK,EAAGA,IAE1ChI,KAAKo6F,QAAQpyF,GAAGmb,QAAO,KAOnC9iB,EAAOw6B,aAAat0B,UAAU8B,YAAchI,EAAOw6B,aAqBnDx6B,EAAO21D,MAAQ,SAAU9uD,EAAQ+T,EAAM2jF,GAKnC5+F,KAAKib,KAAOA,EAKZjb,KAAKkH,OAASA,EAKdlH,KAAK4+F,QAAUA,EAKf5+F,KAAK6+F,YASL7+F,KAAKsJ,SAAU,EASftJ,KAAK8+F,UAAY,EAKjB9+F,KAAK++F,cAAgB,EAOrB/+F,KAAKk+F,eAAgB,EAOrBl+F,KAAKg/F,QAAU,IAAI3+F,EAAOwb,OAQ1B7b,KAAKi/F,OAAS,IAAI5+F,EAAOwb,OAOzB7b,KAAKk/F,SAAW,IAAI7+F,EAAOwb,OAQ3B7b,KAAKm/F,gBAAkB,IAAI9+F,EAAOwb,OAOlC7b,KAAKo/F,WAAa,IAAI/+F,EAAOwb,OAM7B7b,KAAK84B,WAAY,EAOjB94B,KAAKmK,QAAU,EAKfnK,KAAKg9E,cAKLh9E,KAAKq/F,aAAe,KAMpBr/F,KAAKs/F,UAAW,EAgBhBt/F,KAAKm6F,WAAayE,EAAQzE,WAO1Bn6F,KAAKu/F,kBAAoB,KAOzBv/F,KAAKw/F,yBAA2B,KAOhCx/F,KAAKy/F,YAAc,EAMnBz/F,KAAKy5B,aAAc,EAMnBz5B,KAAK0/F,aAAc,GAGvBr/F,EAAO21D,MAAMzvD,WAkBTqC,GAAI,SAAUo0E,EAAY1gE,EAAUqjF,EAAMv8E,EAAWwyB,EAAO1sB,EAAQ02E,GAchE,YAZiBt1F,IAAbgS,GAA0BA,GAAY,KAAKA,EAAW,UAC7ChS,IAATq1F,GAA+B,OAATA,IAAiBA,EAAOt/F,EAAOm6F,OAAOqF,cAC9Cv1F,IAAd8Y,IAA2BA,GAAY,QAC7B9Y,IAAVsrC,IAAuBA,EAAQ,QACpBtrC,IAAX4e,IAAwBA,EAAS,QACxB5e,IAATs1F,IAAsBA,GAAO,GAEb,iBAATD,GAAqB3/F,KAAK4+F,QAAQtE,QAAQqF,KAEjDA,EAAO3/F,KAAK4+F,QAAQtE,QAAQqF,IAG5B3/F,KAAK84B,WAELxwB,QAAQG,KAAK,sDACNzI,OAGXA,KAAK6+F,SAAS1rF,KAAK,IAAI9S,EAAOy/F,UAAU9/F,MAAM4I,GAAGo0E,EAAY1gE,EAAUqjF,EAAM/pD,EAAO1sB,EAAQ02E,IAExFx8E,GAEApjB,KAAK8Q,QAGF9Q,OAoBX6M,KAAM,SAAUmwE,EAAY1gE,EAAUqjF,EAAMv8E,EAAWwyB,EAAO1sB,EAAQ02E,GAclE,YAZiBt1F,IAAbgS,IAA0BA,EAAW,UAC5BhS,IAATq1F,GAA+B,OAATA,IAAiBA,EAAOt/F,EAAOm6F,OAAOqF,cAC9Cv1F,IAAd8Y,IAA2BA,GAAY,QAC7B9Y,IAAVsrC,IAAuBA,EAAQ,QACpBtrC,IAAX4e,IAAwBA,EAAS,QACxB5e,IAATs1F,IAAsBA,GAAO,GAEb,iBAATD,GAAqB3/F,KAAK4+F,QAAQtE,QAAQqF,KAEjDA,EAAO3/F,KAAK4+F,QAAQtE,QAAQqF,IAG5B3/F,KAAK84B,WAELxwB,QAAQG,KAAK,wDACNzI,OAGXA,KAAK6+F,SAAS1rF,KAAK,IAAI9S,EAAOy/F,UAAU9/F,MAAM6M,KAAKmwE,EAAY1gE,EAAUqjF,EAAM/pD,EAAO1sB,EAAQ02E,IAE1Fx8E,GAEApjB,KAAK8Q,QAGF9Q,OAaX8Q,MAAO,SAAU/H,GAIb,QAFcuB,IAAVvB,IAAuBA,EAAQ,GAEjB,OAAd/I,KAAKib,MAAiC,OAAhBjb,KAAKkH,QAA4C,IAAzBlH,KAAK6+F,SAAS92F,QAAgB/H,KAAK84B,UAEjF,OAAO94B,KAIX,IAASgI,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAGtC,IAAK,IAAI0rB,KAAY1zB,KAAK6+F,SAAS72F,GAAG+3F,KAElC//F,KAAKg9E,WAAWtpD,GAAY1zB,KAAKkH,OAAOwsB,IAAa,EAEhDhtB,MAAMa,QAAQvH,KAAKg9E,WAAWtpD,MAG/B1zB,KAAKg9E,WAAWtpD,IAAa,GAKzC,IAAK,IAAI1rB,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEtChI,KAAK6+F,SAAS72F,GAAGg4F,aAgBrB,OAbAhgG,KAAK4+F,QAAQ1sF,IAAIlS,MAEjBA,KAAK84B,WAAY,GAEb/vB,EAAQ,GAAKA,EAAQ/I,KAAK6+F,SAAS92F,OAAS,KAE5CgB,EAAQ,GAGZ/I,KAAKmK,QAAUpB,EAEf/I,KAAK6+F,SAAS7+F,KAAKmK,SAAS2G,QAErB9Q,MAaXu9B,KAAM,SAAU0iE,GAsBZ,YApBiB31F,IAAb21F,IAA0BA,GAAW,GAEzCjgG,KAAK84B,WAAY,EAEjB94B,KAAKu/F,kBAAoB,KACzBv/F,KAAKw/F,yBAA2B,KAE5BS,IAEAjgG,KAAKo/F,WAAW9/E,SAAStf,KAAKkH,OAAQlH,MACtCA,KAAK0/F,aAAc,EAEf1/F,KAAKq/F,cAELr/F,KAAKq/F,aAAavuF,SAI1B9Q,KAAK4+F,QAAQr7E,OAAOvjB,MAEbA,MAeXkgG,gBAAiB,SAAUxsE,EAAU3pB,EAAOhB,GAExC,GAA6B,IAAzB/I,KAAK6+F,SAAS92F,OAAgB,OAAO/H,KAIzC,QAFcsK,IAAVvB,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAIf,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEtChI,KAAK6+F,SAAS72F,GAAG0rB,GAAY3pB,OAKjC/J,KAAK6+F,SAAS91F,GAAO2qB,GAAY3pB,EAGrC,OAAO/J,MAeX41C,MAAO,SAAUt5B,EAAUvT,GAEvB,OAAO/I,KAAKkgG,gBAAgB,QAAS5jF,EAAUvT,IAgBnDmgB,OAAQ,SAAUyM,EAAOwqE,EAAap3F,GAMlC,YAJoBuB,IAAhB61F,IAA6BA,EAAc,GAE/CngG,KAAKkgG,gBAAgB,gBAAiBvqE,EAAO5sB,GAEtC/I,KAAKkgG,gBAAgB,cAAeC,EAAap3F,IAe5Do3F,YAAa,SAAU7jF,EAAUvT,GAE7B,OAAO/I,KAAKkgG,gBAAgB,cAAe5jF,EAAUvT,IAiBzD62F,KAAM,SAASjvE,EAAQyvE,EAAWr3F,GAM9B,YAJkBuB,IAAd81F,IAA2BA,EAAY,GAE3CpgG,KAAKkgG,gBAAgB,OAAQvvE,EAAQ5nB,GAE9B/I,KAAKkgG,gBAAgB,YAAaE,EAAWr3F,IAexDq3F,UAAW,SAAU9jF,EAAUvT,GAE3B,OAAO/I,KAAKkgG,gBAAgB,YAAa5jF,EAAUvT,IAevDs3F,OAAQ,SAAUV,EAAM52F,GAOpB,MALoB,iBAAT42F,GAAqB3/F,KAAK4+F,QAAQtE,QAAQqF,KAEjDA,EAAO3/F,KAAK4+F,QAAQtE,QAAQqF,IAGzB3/F,KAAKkgG,gBAAgB,iBAAkBP,EAAM52F,IAgBxDu3F,cAAe,SAAUA,EAAex7E,EAAS/b,GAM7C,YAJgBuB,IAAZwa,IAAyBA,EAAUzkB,EAAO4F,MAE9CjG,KAAKkgG,gBAAgB,wBAAyBI,EAAev3F,GAEtD/I,KAAKkgG,gBAAgB,uBAAwBp7E,EAAS/b,IAYjEw3F,UAAW,SAAU5qE,GAMjB,YAJcrrB,IAAVqrB,IAAuBA,EAAQ,GAEnC31B,KAAK++F,cAAgBppE,EAEd31B,MAkBXwgG,MAAO,WAIH,IAFA,IAAIx4F,EAAIf,UAAUc,OAEXC,KAECA,EAAI,EAEJf,UAAUe,EAAI,GAAGq3F,aAAep4F,UAAUe,GAI1ChI,KAAKq/F,aAAep4F,UAAUe,GAItC,OAAOhI,MAoBX4oD,KAAM,SAAU7+C,GAMZ,YAJcO,IAAVP,IAAuBA,GAAQ,GAEnC/J,KAAK++F,cAAgB,GAAW,EAAI,EAE7B/+F,MAYXsiB,iBAAkB,SAAU+R,EAAU7Q,GAKlC,OAHAxjB,KAAKu/F,kBAAoBlrE,EACzBr0B,KAAKw/F,yBAA2Bh8E,EAEzBxjB,MASXijB,MAAO,WAEHjjB,KAAKs/F,UAAW,EAEhBt/F,KAAKy5B,aAAc,EAEnBz5B,KAAKy/F,YAAcz/F,KAAKib,KAAKmE,KAAKA,MAUtCo/E,OAAQ,WAECx+F,KAAKy5B,cAENz5B,KAAKs/F,UAAW,EAEhBt/F,KAAKy/F,YAAcz/F,KAAKib,KAAKmE,KAAKA,OAU1C+D,OAAQ,WAEJ,GAAInjB,KAAKs/F,SACT,CACIt/F,KAAKs/F,UAAW,EAEhBt/F,KAAKy5B,aAAc,EAEnB,IAAK,IAAIzxB,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEjChI,KAAK6+F,SAAS72F,GAAG8wB,YAElB94B,KAAK6+F,SAAS72F,GAAGy4F,WAAczgG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKy/F,eAY1EhB,QAAS,WAEDz+F,KAAKy5B,aAMLz5B,KAAKmjB,UAYbnE,OAAQ,SAAUI,GAEd,GAAIpf,KAAKk+F,gBAAkBl+F,KAAKkH,OAE5B,OAAO,EAGX,GAAIlH,KAAKs/F,SAEL,OAAO,EAGX,IAAIoB,EAAS1gG,KAAK6+F,SAAS7+F,KAAKmK,SAAS6U,OAAOI,GAEhD,GAAIshF,IAAWrgG,EAAOy/F,UAAUa,QAE5B,OAAO,EAEN,GAAID,IAAWrgG,EAAOy/F,UAAUc,QAcjC,OAZK5gG,KAAK0/F,cAEN1/F,KAAKg/F,QAAQ1/E,SAAStf,KAAKkH,OAAQlH,MACnCA,KAAK0/F,aAAc,GAGQ,OAA3B1/F,KAAKu/F,mBAELv/F,KAAKu/F,kBAAkBv4F,KAAKhH,KAAKw/F,yBAA0Bx/F,KAAMA,KAAK6+F,SAAS7+F,KAAKmK,SAASJ,MAAO/J,KAAK6+F,SAAS7+F,KAAKmK,UAIpHnK,KAAK84B,UAEX,GAAI4nE,IAAWrgG,EAAOy/F,UAAUe,OAWjC,OATmD,IAA/C7gG,KAAK6+F,SAAS7+F,KAAKmK,SAAS40F,cAE5B/+F,KAAKi/F,OAAO3/E,SAAStf,KAAKkH,OAAQlH,MAIlCA,KAAKk/F,SAAS5/E,SAAStf,KAAKkH,OAAQlH,OAGjC,EAEN,GAAI0gG,IAAWrgG,EAAOy/F,UAAUgB,SACrC,CACI,IAAIb,GAAW,EAwBf,OArBIjgG,KAAKsJ,UAELtJ,KAAKmK,QAEc,IAEfnK,KAAKmK,QAAUnK,KAAK6+F,SAAS92F,OAAS,EACtCk4F,GAAW,KAKfjgG,KAAKmK,UAEgBnK,KAAK6+F,SAAS92F,SAE/B/H,KAAKmK,QAAU,EACf81F,GAAW,GAIfA,GAG4B,IAAxBjgG,KAAK++F,eAEL/+F,KAAK6+F,SAAS7+F,KAAKmK,SAAS2G,QAC5B9Q,KAAKi/F,OAAO3/E,SAAStf,KAAKkH,OAAQlH,OAC3B,GAEFA,KAAK++F,cAAgB,GAE1B/+F,KAAK++F,gBAEL/+F,KAAK6+F,SAAS7+F,KAAKmK,SAAS2G,QAC5B9Q,KAAKk/F,SAAS5/E,SAAStf,KAAKkH,OAAQlH,OAC7B,IAKPA,KAAK84B,WAAY,EACjB94B,KAAKo/F,WAAW9/E,SAAStf,KAAKkH,OAAQlH,MACtCA,KAAK0/F,aAAc,EAEf1/F,KAAKq/F,cAELr/F,KAAKq/F,aAAavuF,SAGf,IAMX9Q,KAAKm/F,gBAAgB7/E,SAAStf,KAAKkH,OAAQlH,MAC3CA,KAAK6+F,SAAS7+F,KAAKmK,SAAS2G,SACrB,KAiBnBiwF,aAAc,SAAUp4C,EAAWzkB,GAE/B,GAAkB,OAAdlkC,KAAKib,MAAiC,OAAhBjb,KAAKkH,OAE3B,OAAO,UAGOoD,IAAdq+C,IAA2BA,EAAY,SAC9Br+C,IAAT45B,IAAsBA,MAG1B,IAASl8B,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAGtC,IAAK,IAAI0rB,KAAY1zB,KAAK6+F,SAAS72F,GAAG+3F,KAElC//F,KAAKg9E,WAAWtpD,GAAY1zB,KAAKkH,OAAOwsB,IAAa,EAEhDhtB,MAAMa,QAAQvH,KAAKg9E,WAAWtpD,MAG/B1zB,KAAKg9E,WAAWtpD,IAAa,GAKzC,IAAS1rB,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEtChI,KAAK6+F,SAAS72F,GAAGg4F,aAGrB,IAAK,IAAIh4F,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEtCk8B,EAAOA,EAAKn9B,OAAO/G,KAAK6+F,SAAS72F,GAAG+4F,aAAap4C,IAGrD,OAAOzkB,IAUfz8B,OAAOmF,eAAevM,EAAO21D,MAAMzvD,UAAW,iBAE1CmG,IAAK,WAID,IAAK,IAFDipB,EAAQ,EAEH3tB,EAAI,EAAGA,EAAIhI,KAAK6+F,SAAS92F,OAAQC,IAEtC2tB,GAAS31B,KAAK6+F,SAAS72F,GAAGsU,SAG9B,OAAOqZ,KAMft1B,EAAO21D,MAAMzvD,UAAU8B,YAAchI,EAAO21D,MAiB5C31D,EAAOy/F,UAAY,SAAU31E,GAKzBnqB,KAAKmqB,OAASA,EAKdnqB,KAAKib,KAAOkP,EAAOlP,KAMnBjb,KAAKghG,UAMLhhG,KAAKihG,eAMLjhG,KAAK+/F,QAML//F,KAAKkhG,aAMLlhG,KAAKsc,SAAW,IAMhBtc,KAAK23F,QAAU,EAMf33F,KAAK+J,MAAQ,EAKb/J,KAAK++F,cAAgB,EAKrB/+F,KAAKmgG,YAAc,EAMnBngG,KAAKmhG,YAAc,EAMnBnhG,KAAKqX,aAAc,EAMnBrX,KAAK4/F,MAAO,EAKZ5/F,KAAKogG,UAAY,EAMjBpgG,KAAKohG,WAAY,EAMjBphG,KAAK41C,MAAQ,EAKb51C,KAAKkxE,GAAK,EAKVlxE,KAAKygG,UAAY,KAMjBzgG,KAAKqhG,eAAiBhhG,EAAOm6F,OAAOqF,QAMpC7/F,KAAKshG,sBAAwBjhG,EAAO4F,KAAKgwF,oBAMzCj2F,KAAKuhG,qBAAuBlhG,EAAO4F,KAMnCjG,KAAK84B,WAAY,EAMjB94B,KAAKwhG,QAAS,GAQlBnhG,EAAOy/F,UAAUa,QAAU,EAM3BtgG,EAAOy/F,UAAUc,QAAU,EAM3BvgG,EAAOy/F,UAAUe,OAAS,EAM1BxgG,EAAOy/F,UAAUgB,SAAW,EAE5BzgG,EAAOy/F,UAAUv5F,WAebqC,GAAI,SAAUo0E,EAAY1gE,EAAUqjF,EAAM/pD,EAAO1sB,EAAQ02E,GAWrD,OATA5/F,KAAK+/F,KAAO/iB,EACZh9E,KAAKsc,SAAWA,EAChBtc,KAAKqhG,eAAiB1B,EACtB3/F,KAAK41C,MAAQA,EACb51C,KAAKmhG,YAAcj4E,EACnBlpB,KAAK4/F,KAAOA,EAEZ5/F,KAAKwhG,QAAS,EAEPxhG,MAiBX6M,KAAM,SAAUmwE,EAAY1gE,EAAUqjF,EAAM/pD,EAAO1sB,EAAQ02E,GAWvD,OATA5/F,KAAK+/F,KAAO/iB,EACZh9E,KAAKsc,SAAWA,EAChBtc,KAAKqhG,eAAiB1B,EACtB3/F,KAAK41C,MAAQA,EACb51C,KAAKmhG,YAAcj4E,EACnBlpB,KAAK4/F,KAAOA,EAEZ5/F,KAAKwhG,QAAS,EAEPxhG,MAUX8Q,MAAO,WAsBH,GApBA9Q,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK41C,MAExC51C,KAAKmqB,OAAO7gB,QAEZtJ,KAAKkxE,GAAKlxE,KAAKsc,SAIftc,KAAKkxE,GAAK,EAGVlxE,KAAK41C,MAAQ,EAEb51C,KAAK84B,WAAY,EAIjB94B,KAAK84B,WAAY,EAGjB94B,KAAKwhG,OAGL,IAAK,IAAI9tE,KAAY1zB,KAAKihG,YAEtBjhG,KAAKghG,OAAOttE,GAAY1zB,KAAKkhG,UAAUxtE,GACvC1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKihG,YAAYvtE,GACvC1zB,KAAKmqB,OAAOjjB,OAAOwsB,GAAY1zB,KAAKghG,OAAOttE,GAQnD,OAJA1zB,KAAK+J,MAAQ,EACb/J,KAAKyhG,YAAc,EACnBzhG,KAAK++F,cAAgB/+F,KAAKmhG,YAEnBnhG,MAWXggG,WAAY,WAER,IAAK,IAAItsE,KAAY1zB,KAAKmqB,OAAO6yD,WACjC,CAKI,GAHAh9E,KAAKghG,OAAOttE,GAAY1zB,KAAKmqB,OAAO6yD,WAAWtpD,GAG3ChtB,MAAMa,QAAQvH,KAAK+/F,KAAKrsE,IAC5B,CACI,GAAmC,IAA/B1zB,KAAK+/F,KAAKrsE,GAAU3rB,OAEpB,SAGiB,IAAjB/H,KAAK23F,UAIL33F,KAAK+/F,KAAKrsE,IAAa1zB,KAAKghG,OAAOttE,IAAW3sB,OAAO/G,KAAK+/F,KAAKrsE,UAIpC,IAAxB1zB,KAAK+/F,KAAKrsE,IAEkB,iBAAxB1zB,KAAK+/F,KAAKrsE,KAGjB1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKghG,OAAOttE,GAAYiqD,WAAW39E,KAAK+/F,KAAKrsE,GAAW,KAGlF1zB,KAAKmqB,OAAO6yD,WAAWtpD,GAAY1zB,KAAK+/F,KAAKrsE,IAK7C1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKghG,OAAOttE,GAGtC1zB,KAAKihG,YAAYvtE,GAAY1zB,KAAKghG,OAAOttE,GACzC1zB,KAAKkhG,UAAUxtE,GAAY1zB,KAAK+/F,KAAKrsE,GAGzC,OAAO1zB,MAYXgf,OAAQ,SAAUI,GAEd,GAAKpf,KAAK84B,WAcN,GAAI1Z,EAAOpf,KAAKygG,UAEZ,OAAOpgG,EAAOy/F,UAAUc,YAfhC,CACI,KAAIxhF,GAAQpf,KAAKygG,WAMb,OAAOpgG,EAAOy/F,UAAUa,QAJxB3gG,KAAK84B,WAAY,EAgBzB,IAAI4oE,EAAM1hG,KAAKmqB,OAAiB,WAAInqB,KAAKib,KAAKmE,KAAKywC,iBAAmB7vD,KAAKib,KAAKmE,KAAKC,UAEjFrf,KAAKmqB,OAAO7gB,SAEZtJ,KAAKkxE,IAAMwwB,EAAK1hG,KAAKmqB,OAAO20E,UAC5B9+F,KAAKkxE,GAAKjrE,KAAKyM,IAAI1S,KAAKkxE,GAAI,KAI5BlxE,KAAKkxE,IAAMwwB,EAAK1hG,KAAKmqB,OAAO20E,UAC5B9+F,KAAKkxE,GAAKjrE,KAAKuM,IAAIxS,KAAKkxE,GAAIlxE,KAAKsc,WAGrCtc,KAAK23F,QAAU33F,KAAKkxE,GAAKlxE,KAAKsc,SAE9Btc,KAAK+J,MAAQ/J,KAAKqhG,eAAerhG,KAAK23F,SAEtC,IAAK,IAAIjkE,KAAY1zB,KAAK+/F,KAC1B,CACI,IAAIjvF,EAAQ9Q,KAAKghG,OAAOttE,GACpB3iB,EAAM/Q,KAAK+/F,KAAKrsE,GAEhBhtB,MAAMa,QAAQwJ,GAEd/Q,KAAKmqB,OAAOjjB,OAAOwsB,GAAY1zB,KAAKshG,sBAAsBt6F,KAAKhH,KAAKuhG,qBAAsBxwF,EAAK/Q,KAAK+J,OAIpG/J,KAAKmqB,OAAOjjB,OAAOwsB,GAAY5iB,GAAUC,EAAMD,GAAS9Q,KAAK+J,MAIrE,OAAM/J,KAAKmqB,OAAO7gB,SAA4B,IAAjBtJ,KAAK23F,SAAmB33F,KAAKmqB,OAAO7gB,SAA4B,IAAjBtJ,KAAK23F,QAEtE33F,KAAKkpB,SAGT7oB,EAAOy/F,UAAUc,SAa5BG,aAAc,SAAUp4C,GAEhB3oD,KAAKmqB,OAAO7gB,QAEZtJ,KAAKkxE,GAAKlxE,KAAKsc,SAIftc,KAAKkxE,GAAK,EAGd,IAAIhtC,KACA+7D,GAAW,EACX0B,EAAO,EAAIh5C,EAAa,IAE5B,EACA,CACQ3oD,KAAKmqB,OAAO7gB,SAEZtJ,KAAKkxE,IAAMywB,EACX3hG,KAAKkxE,GAAKjrE,KAAKyM,IAAI1S,KAAKkxE,GAAI,KAI5BlxE,KAAKkxE,IAAMywB,EACX3hG,KAAKkxE,GAAKjrE,KAAKuM,IAAIxS,KAAKkxE,GAAIlxE,KAAKsc,WAGrCtc,KAAK23F,QAAU33F,KAAKkxE,GAAKlxE,KAAKsc,SAE9Btc,KAAK+J,MAAQ/J,KAAKqhG,eAAerhG,KAAK23F,SAEtC,IAAIiK,KAEJ,IAAK,IAAIluE,KAAY1zB,KAAK+/F,KAC1B,CACI,IAAIjvF,EAAQ9Q,KAAKghG,OAAOttE,GACpB3iB,EAAM/Q,KAAK+/F,KAAKrsE,GAEhBhtB,MAAMa,QAAQwJ,GAEd6wF,EAAKluE,GAAY1zB,KAAKshG,sBAAsBvwF,EAAK/Q,KAAK+J,OAItD63F,EAAKluE,GAAY5iB,GAAUC,EAAMD,GAAS9Q,KAAK+J,MAIvDm6B,EAAK/wB,KAAKyuF,KAEJ5hG,KAAKmqB,OAAO7gB,SAA4B,IAAjBtJ,KAAK23F,SAAmB33F,KAAKmqB,OAAO7gB,SAA4B,IAAjBtJ,KAAK23F,WAE7EsI,GAAW,UAGTA,GAEV,GAAIjgG,KAAK4/F,KACT,CACI,IAAIiC,EAAW39D,EAAKz9B,QACpBo7F,EAASv4F,UACT46B,EAAOA,EAAKn9B,OAAO86F,GAGvB,OAAO39D,GAWXhb,OAAQ,WAGJ,GAAIlpB,KAAK4/F,KACT,CAEI,GAAI5/F,KAAKohG,WAAoC,IAAvBphG,KAAK++F,cAC3B,CAEI,IAAK,IAAIrrE,KAAY1zB,KAAKihG,YAEtBjhG,KAAKghG,OAAOttE,GAAY1zB,KAAKihG,YAAYvtE,GACzC1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKkhG,UAAUxtE,GAKzC,OAFA1zB,KAAKohG,WAAY,EAEV/gG,EAAOy/F,UAAUgB,SAG5B9gG,KAAKohG,WAAaphG,KAAKohG,eAIvB,GAA2B,IAAvBphG,KAAK++F,cAEL,OAAO1+F,EAAOy/F,UAAUgB,SAIhC,GAAI9gG,KAAKohG,UAGL,IAAK,IAAI1tE,KAAY1zB,KAAKihG,YAEtBjhG,KAAKghG,OAAOttE,GAAY1zB,KAAKkhG,UAAUxtE,GACvC1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKihG,YAAYvtE,OAI/C,CAEI,IAAK,IAAIA,KAAY1zB,KAAKihG,YAEtBjhG,KAAKghG,OAAOttE,GAAY1zB,KAAKihG,YAAYvtE,GACzC1zB,KAAK+/F,KAAKrsE,GAAY1zB,KAAKkhG,UAAUxtE,GAKrC1zB,KAAK++F,cAAgB,GAErB/+F,KAAK++F,gBAwBb,OApBA/+F,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,KAE5Bpf,KAAK4/F,MAAQ5/F,KAAKohG,UAElBphG,KAAKygG,WAAazgG,KAAKogG,UAEjBpgG,KAAKohG,YAEXphG,KAAKygG,WAAazgG,KAAKmgG,aAGvBngG,KAAKmqB,OAAO7gB,QAEZtJ,KAAKkxE,GAAKlxE,KAAKsc,SAIftc,KAAKkxE,GAAK,EAGP7wE,EAAOy/F,UAAUe,SAMhCxgG,EAAOy/F,UAAUv5F,UAAU8B,YAAchI,EAAOy/F,UAehDz/F,EAAOm6F,QAOHK,QASIC,KAAM,SAAWxgD,GAEb,OAAOA,IAWf0gD,WASIiB,GAAI,SAAW3hD,GAEX,OAAOA,EAAIA,GAWf2gD,IAAK,SAAW3gD,GAEZ,OAAOA,GAAM,EAAIA,IAWrBgjD,MAAO,SAAWhjD,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,GAC9B,MAAUA,GAAMA,EAAI,GAAM,KAW3C4gD,OASIe,GAAI,SAAW3hD,GAEX,OAAOA,EAAIA,EAAIA,GAWnB2gD,IAAK,SAAW3gD,GAEZ,QAASA,EAAIA,EAAIA,EAAI,GAWzBgjD,MAAO,SAAWhjD,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EACpC,KAAUA,GAAK,GAAMA,EAAIA,EAAI,KAW5C8gD,SASIa,GAAI,SAAW3hD,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,GAWvB2gD,IAAK,SAAW3gD,GAEZ,OAAO,KAAQA,EAAIA,EAAIA,EAAIA,GAW/BgjD,MAAO,SAAWhjD,GAEd,OAAOA,GAAK,GAAM,EAAU,GAAMA,EAAIA,EAAIA,EAAIA,GACrC,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAI,KAWlDghD,SASIW,GAAI,SAAW3hD,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAW3B2gD,IAAK,SAAW3gD,GAEZ,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAWjCgjD,MAAO,SAAWhjD,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5C,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAIA,EAAI,KAWpDkhD,YASIS,GAAI,SAAW3hD,GAEX,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,EAAIr0C,KAAK2H,IAAK0sC,EAAIr0C,KAAKsH,GAAK,IAWvC0tF,IAAK,SAAW3gD,GAEZ,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbr0C,KAAK4H,IAAKysC,EAAIr0C,KAAKsH,GAAK,IAWnC+vF,MAAO,SAAWhjD,GAEd,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,IAAQ,EAAIr0C,KAAK2H,IAAK3H,KAAKsH,GAAK+sC,MAW/CohD,aASIO,GAAI,SAAW3hD,GAEX,OAAa,IAANA,EAAU,EAAIr0C,KAAKwuF,IAAK,KAAMn6C,EAAI,IAW7C2gD,IAAK,SAAW3gD,GAEZ,OAAa,IAANA,EAAU,EAAI,EAAIr0C,KAAKwuF,IAAK,GAAK,GAAKn6C,IAWjDgjD,MAAO,SAAWhjD,GAEd,OAAW,IAANA,EAAiB,EACX,IAANA,EAAiB,GACfA,GAAK,GAAM,EAAW,GAAMr0C,KAAKwuF,IAAK,KAAMn6C,EAAI,GAChD,IAA4C,EAAlCr0C,KAAKwuF,IAAK,GAAK,IAAOn6C,EAAI,OAWnDshD,UASIK,GAAI,SAAW3hD,GAEX,OAAO,EAAIr0C,KAAKqK,KAAM,EAAIgqC,EAAIA,IAWlC2gD,IAAK,SAAW3gD,GAEZ,OAAOr0C,KAAKqK,KAAM,KAAQgqC,EAAIA,IAWlCgjD,MAAO,SAAWhjD,GAEd,OAAOA,GAAK,GAAM,GAAY,IAAQr0C,KAAKqK,KAAM,EAAIgqC,EAAIA,GAAK,GACvD,IAAQr0C,KAAKqK,KAAM,GAAMgqC,GAAK,GAAKA,GAAK,KAWvDuhD,SASII,GAAI,SAAW3hD,GAEX,IAAIljC,EAAGlI,EAAI,GACX,OAAW,IAANorC,EAAiB,EACX,IAANA,EAAiB,IAChBprC,GAAKA,EAAI,GAAMA,EAAI,EAAGkI,EAAI/G,IAC3B+G,EAJe,GAIPnR,KAAK67F,KAAM,EAAI5yF,IAAQ,EAAIjJ,KAAKsH,KAClC2B,EAAIjJ,KAAKwuF,IAAK,EAAG,IAAOn6C,GAAK,IAAQr0C,KAAK4H,KAAOysC,EAAIljC,IAAQ,EAAInR,KAAKsH,IAL7D,MAgBxB0tF,IAAK,SAAW3gD,GAEZ,IAAIljC,EAAGlI,EAAI,GACX,OAAW,IAANorC,EAAiB,EACX,IAANA,EAAiB,IAChBprC,GAAKA,EAAI,GAAMA,EAAI,EAAGkI,EAAI/G,IAC3B+G,EAJe,GAIPnR,KAAK67F,KAAM,EAAI5yF,IAAQ,EAAIjJ,KAAKsH,IACpC2B,EAAIjJ,KAAKwuF,IAAK,GAAK,GAAKn6C,GAAKr0C,KAAK4H,KAAOysC,EAAIljC,IAAQ,EAAInR,KAAKsH,IALnD,IAKgE,IAWxF+vF,MAAO,SAAWhjD,GAEd,IAAIljC,EAAGlI,EAAI,GACX,OAAW,IAANorC,EAAiB,EACX,IAANA,EAAiB,IAChBprC,GAAKA,EAAI,GAAMA,EAAI,EAAGkI,EAAI/G,IAC3B+G,EAJe,GAIPnR,KAAK67F,KAAM,EAAI5yF,IAAQ,EAAIjJ,KAAKsH,KACtC+sC,GAAK,GAAM,EAAqBprC,EAAIjJ,KAAKwuF,IAAK,EAAG,IAAOn6C,GAAK,IAAQr0C,KAAK4H,KAAOysC,EAAIljC,IAAQ,EAAInR,KAAKsH,IALzF,KAKW,GACxB2B,EAAIjJ,KAAKwuF,IAAK,GAAI,IAAOn6C,GAAK,IAAQr0C,KAAK4H,KAAOysC,EAAIljC,IAAQ,EAAInR,KAAKsH,IAN1D,IAMuE,GAAM,KAWzGuuF,MASIG,GAAI,SAAW3hD,GAEX,IAAIljC,EAAI,QACR,OAAOkjC,EAAIA,IAAQljC,EAAI,GAAMkjC,EAAIljC,IAWrC6jF,IAAK,SAAW3gD,GAEZ,IAAIljC,EAAI,QACR,QAASkjC,EAAIA,IAAQljC,EAAI,GAAMkjC,EAAIljC,GAAM,GAW7CkmF,MAAO,SAAWhjD,GAEd,IAAIljC,EAAI,UACR,OAAOkjC,GAAK,GAAM,EAAmBA,EAAIA,IAAQljC,EAAI,GAAMkjC,EAAIljC,GAAlC,GACtB,KAAUkjC,GAAK,GAAMA,IAAQljC,EAAI,GAAMkjC,EAAIljC,GAAM,KAWhE2kF,QASIE,GAAI,SAAW3hD,GAEX,OAAO,EAAIj6C,EAAOm6F,OAAOuB,OAAOd,IAAK,EAAI3gD,IAW7C2gD,IAAK,SAAW3gD,GAEZ,OAAKA,EAAM,EAAI,KAEJ,OAASA,EAAIA,EAEZA,EAAM,EAAI,KAEX,QAAWA,GAAO,IAAM,MAAWA,EAAI,IAEtCA,EAAM,IAAM,KAEb,QAAWA,GAAO,KAAO,MAAWA,EAAI,MAIxC,QAAWA,GAAO,MAAQ,MAAWA,EAAI,SAaxDgjD,MAAO,SAAWhjD,GAEd,OAAKA,EAAI,GAAgD,GAAnCj6C,EAAOm6F,OAAOuB,OAAOE,GAAQ,EAAJ3hD,GACA,GAAxCj6C,EAAOm6F,OAAOuB,OAAOd,IAAS,EAAJ3gD,EAAQ,GAAY,MAQjEj6C,EAAOm6F,OAAOqF,QAAUx/F,EAAOm6F,OAAOK,OAAOC,KAC7Cz6F,EAAOm6F,OAAOD,OAASl6F,EAAOm6F,OAAOK,OAAOC,KAC5Cz6F,EAAOm6F,OAAOC,OAASp6F,EAAOm6F,OAAOQ,UAAUC,IAC/C56F,EAAOm6F,OAAOE,OAASr6F,EAAOm6F,OAAOU,MAAMD,IAC3C56F,EAAOm6F,OAAOG,OAASt6F,EAAOm6F,OAAOY,QAAQH,IAC7C56F,EAAOm6F,OAAOI,OAASv6F,EAAOm6F,OAAOc,QAAQL,IAuC7C56F,EAAOu6B,KAAO,SAAU3f,GAMpBjb,KAAKib,KAAOA,EAOZjb,KAAKof,KAAO,EAOZpf,KAAK+hG,SAAW,EAchB/hG,KAAKo6B,IAAM,EAcXp6B,KAAKg9B,QAAU,EAafh9B,KAAKqf,UAAY,EAajBrf,KAAK2mF,eAAiB,EAAI,GAO1B3mF,KAAK6vD,iBAAoB,EAAI,GAAM,IAOnC7vD,KAAK28B,eAAiB,EAAM,GAW5B38B,KAAKgiG,YAAc,GAYnBhiG,KAAKiiG,aAAejiG,KAAK88B,WAczB98B,KAAK68B,WAAa,EAOlB78B,KAAKkiG,gBAAiB,EAStBliG,KAAKqiF,OAAS,EASdriF,KAAK2hG,IAAM,EASX3hG,KAAKmiG,OAAS,IASdniG,KAAKoiG,OAAS,EAUdpiG,KAAKqiG,MAAQ,IASbriG,KAAKsiG,MAAQ,EAObtiG,KAAKuiG,cAAgB,EAMrBviG,KAAKkzF,WAAa,EAMlBlzF,KAAKwiG,aAAe,EAMpBxiG,KAAK8wB,OAAS,IAAIzwB,EAAOoiG,MAAMziG,KAAKib,MAAM,GAM1Cjb,KAAK0iG,YAAc,EAMnB1iG,KAAK2iG,oBAAsB,EAM3B3iG,KAAK4iG,SAAW,EAMhB5iG,KAAK6iG,gBAAkB,EAMvB7iG,KAAK8iG,cAAgB,EAMrB9iG,KAAK+iG,cAAe,EAMpB/iG,KAAKgjG,YAIT3iG,EAAOu6B,KAAKr0B,WAQR6W,KAAM,WAEFpd,KAAK4iG,SAAWv6E,KAAK+R,MACrBp6B,KAAKof,KAAOiJ,KAAK+R,MACjBp6B,KAAK8wB,OAAOhgB,QACZ9Q,KAAKwiG,aAAexiG,KAAKof,MAW7BlN,IAAK,SAAU+wF,GAIX,OAFAjjG,KAAKgjG,QAAQ7vF,KAAK8vF,GAEXA,GAWX9hF,OAAQ,SAAU+hF,QAEM54F,IAAhB44F,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAI5iG,EAAOoiG,MAAMziG,KAAKib,KAAMioF,GAIxC,OAFAljG,KAAKgjG,QAAQ7vF,KAAK8vF,GAEXA,GASX5+E,UAAW,WAEP,IAAK,IAAIrc,EAAI,EAAGA,EAAIhI,KAAKgjG,QAAQj7F,OAAQC,IAErChI,KAAKgjG,QAAQh7F,GAAGuc,UAGpBvkB,KAAKgjG,WAELhjG,KAAK8wB,OAAOzM,aAShB6Y,QAAS,WAGL,IAAIimE,EAAkBnjG,KAAKof,KAG3Bpf,KAAKof,KAAOiJ,KAAK+R,MAGjBp6B,KAAKqf,UAAYrf,KAAKof,KAAO+jF,GAWjCnkF,OAAQ,SAAUI,GAGd,IAAI+jF,EAAkBnjG,KAAKof,KAG3Bpf,KAAKof,KAAOiJ,KAAK+R,MAGjBp6B,KAAKqf,UAAYrf,KAAKof,KAAO+jF,EAG7BnjG,KAAK+hG,SAAW/hG,KAAKo6B,IAIrBp6B,KAAKo6B,IAAMhb,EAGXpf,KAAKg9B,QAAUh9B,KAAKo6B,IAAMp6B,KAAK+hG,SAE3B/hG,KAAKib,KAAK8d,IAAI65D,gBAKd5yF,KAAKkzF,WAAajtF,KAAKI,MAAMJ,KAAKyM,IAAI,EAAI,IAAS1S,KAAKgiG,aAAgBhiG,KAAKwiG,aAAepjF,KAG5Fpf,KAAKwiG,aAAepjF,EAAOpf,KAAKkzF,YAKhClzF,KAAKkiG,gBAELliG,KAAKojG,uBAIJpjG,KAAKib,KAAKqG,SAGXthB,KAAK8wB,OAAO9R,OAAOhf,KAAKof,MAEpBpf,KAAKgjG,QAAQj7F,QAEb/H,KAAKqjG,iBAajBA,aAAc,WAMV,IAHA,IAAIr7F,EAAI,EACJF,EAAM9H,KAAKgjG,QAAQj7F,OAEhBC,EAAIF,GAEH9H,KAAKgjG,QAAQh7F,GAAGgX,OAAOhf,KAAKof,MAE5BpX,KAKAhI,KAAKgjG,QAAQp/E,OAAO5b,EAAG,GACvBF,MAaZs7F,qBAAsB,WAGlBpjG,KAAK0iG,cACL1iG,KAAK2iG,qBAAuB3iG,KAAKg9B,QAG7Bh9B,KAAK0iG,aAAkC,EAAnB1iG,KAAKgiG,cAGzBhiG,KAAKiiG,aAAiF,EAAlEh8F,KAAKI,MAAM,KAAOrG,KAAK2iG,oBAAsB3iG,KAAK0iG,cACtE1iG,KAAK0iG,YAAc,EACnB1iG,KAAK2iG,oBAAsB,GAG/B3iG,KAAKqiG,MAAQp8F,KAAKuM,IAAIxS,KAAKqiG,MAAOriG,KAAKg9B,SACvCh9B,KAAKsiG,MAAQr8F,KAAKyM,IAAI1S,KAAKsiG,MAAOtiG,KAAKg9B,SAEvCh9B,KAAKqiF,SAEDriF,KAAKo6B,IAAMp6B,KAAK6iG,gBAAkB,MAElC7iG,KAAK2hG,IAAM17F,KAAKsI,MAAqB,IAAdvO,KAAKqiF,QAAkBriF,KAAKo6B,IAAMp6B,KAAK6iG,kBAC9D7iG,KAAKmiG,OAASl8F,KAAKuM,IAAIxS,KAAKmiG,OAAQniG,KAAK2hG,KACzC3hG,KAAKoiG,OAASn8F,KAAKyM,IAAI1S,KAAKoiG,OAAQpiG,KAAK2hG,KACzC3hG,KAAK6iG,gBAAkB7iG,KAAKo6B,IAC5Bp6B,KAAKqiF,OAAS,IAWtBz0D,WAAY,WAER5tB,KAAK8iG,cAAgBz6E,KAAK+R,MAE1Bp6B,KAAK8wB,OAAO7N,QAIZ,IAFA,IAAIjb,EAAIhI,KAAKgjG,QAAQj7F,OAEdC,KAEHhI,KAAKgjG,QAAQh7F,GAAGw2F,UAWxB3wE,YAAa,WAGT7tB,KAAKof,KAAOiJ,KAAK+R,MAEjBp6B,KAAKuiG,cAAgBviG,KAAKof,KAAOpf,KAAK8iG,cAEtC9iG,KAAK8wB,OAAO3N,SAIZ,IAFA,IAAInb,EAAIhI,KAAKgjG,QAAQj7F,OAEdC,KAEHhI,KAAKgjG,QAAQh7F,GAAGy2F,WAWxBh1E,oBAAqB,WACjB,MAAqC,MAA7BzpB,KAAKof,KAAOpf,KAAK4iG,WAU7BU,aAAc,SAAUC,GACpB,OAAOvjG,KAAKof,KAAOmkF,GAUvBC,oBAAqB,SAAUD,GAC3B,MAA6B,MAArBvjG,KAAKof,KAAOmkF,IAQxBpjF,MAAO,WAEHngB,KAAK4iG,SAAW5iG,KAAKof,KACrBpf,KAAKqkB,cAcb5c,OAAOmF,eAAevM,EAAOu6B,KAAKr0B,UAAW,cAEzCmG,IAAK,WAED,OAAO1M,KAAKgiG,aAIhBr1F,IAAK,SAAU5C,GAEX/J,KAAKgiG,YAAcj4F,EAInB/J,KAAK2mF,eAAiB,EAAI58E,EAE1B/J,KAAK6vD,iBAAyC,IAAtB7vD,KAAK2mF,eAE7B3mF,KAAK28B,eAAiB,EAAM5yB,KAMpC1J,EAAOu6B,KAAKr0B,UAAU8B,YAAchI,EAAOu6B,KAsB3Cv6B,EAAOoiG,MAAQ,SAAUxnF,EAAMioF,QAEP54F,IAAhB44F,IAA6BA,GAAc,GAM/CljG,KAAKib,KAAOA,EAUZjb,KAAKyjG,SAAU,EAMfzjG,KAAKkjG,YAAcA,EAOnBljG,KAAK0jG,SAAU,EAMf1jG,KAAKg9B,QAAU,EAKfh9B,KAAK8wB,UASL9wB,KAAKo/F,WAAa,IAAI/+F,EAAOwb,OAO7B7b,KAAK2jG,SAAW,EAKhB3jG,KAAK4jG,QAAU,IAOf5jG,KAAKshB,QAAS,EAMdthB,KAAKy5B,aAAc,EAOnBz5B,KAAK4iG,SAAW,EAMhB5iG,KAAK8iG,cAAgB,EAMrB9iG,KAAK6jG,YAAc,EAMnB7jG,KAAK8jG,KAAOz7E,KAAK+R,MAMjBp6B,KAAK4qB,KAAO,EAMZ5qB,KAAK+jG,QAAU,EAMf/jG,KAAK6qB,GAAK,EAMV7qB,KAAKgkG,MAAQ,EAMbhkG,KAAKikG,SAAW,GASpB5jG,EAAOoiG,MAAMyB,OAAS,IAOtB7jG,EAAOoiG,MAAM0B,OAAS,IAOtB9jG,EAAOoiG,MAAM2B,KAAO,IAOpB/jG,EAAOoiG,MAAM4B,QAAU,IAEvBhkG,EAAOoiG,MAAMl8F,WAiBT4a,OAAQ,SAAUy0B,EAAOgT,EAAM07C,EAAajwE,EAAU7Q,EAAiB3c,GAInE,IAAI09F,EAFJ3uD,EAAQ3vC,KAAKsI,MAAMqnC,GAID,IAAd51C,KAAK8jG,KAELS,GAAQvkG,KAAKib,KAAKmE,KAAKA,KAIvBmlF,GAAQvkG,KAAK8jG,KAGjB,IAAI/2E,EAAQ,IAAI1sB,EAAOmkG,WAAWxkG,KAAM41C,EAAO2uD,EAAMD,EAAa17C,EAAMv0B,EAAU7Q,EAAiB3c,GAQnG,OANA7G,KAAK8wB,OAAO3d,KAAK4Z,GAEjB/sB,KAAKq1B,QAELr1B,KAAK0jG,SAAU,EAER32E,GAmBX7a,IAAK,SAAU0jC,EAAOvhB,EAAU7Q,GAE5B,OAAOxjB,KAAKmhB,OAAOy0B,GAAO,EAAO,EAAGvhB,EAAU7Q,EAAiB9c,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAqBzGiiB,OAAQ,SAAU0sB,EAAO0uD,EAAajwE,EAAU7Q,GAE5C,OAAOxjB,KAAKmhB,OAAOy0B,GAAO,EAAO0uD,EAAajwE,EAAU7Q,EAAiB9c,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KAmBnH2hD,KAAM,SAAUhT,EAAOvhB,EAAU7Q,GAE7B,OAAOxjB,KAAKmhB,OAAOy0B,GAAO,EAAM,EAAGvhB,EAAU7Q,EAAiB9c,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,KASxG6J,MAAO,SAAU8kC,GAEb,IAAI51C,KAAKyjG,QAAT,CAKAzjG,KAAK4iG,SAAW5iG,KAAKib,KAAKmE,KAAKA,MAAQw2B,GAAS,GAEhD51C,KAAKyjG,SAAU,EAEf,IAAK,IAAIz7F,EAAI,EAAGA,EAAIhI,KAAK8wB,OAAO/oB,OAAQC,IAEpChI,KAAK8wB,OAAO9oB,GAAGu8F,KAAOvkG,KAAK8wB,OAAO9oB,GAAG4tC,MAAQ51C,KAAK4iG,WAU1DrlE,KAAM,SAAUknE,GAEZzkG,KAAKyjG,SAAU,OAEKn5F,IAAhBm6F,IAA6BA,GAAc,GAE3CA,IAEAzkG,KAAK8wB,OAAO/oB,OAAS,IAU7Bwb,OAAQ,SAAUwJ,GAEd,IAAK,IAAI/kB,EAAI,EAAGA,EAAIhI,KAAK8wB,OAAO/oB,OAAQC,IAEpC,GAAIhI,KAAK8wB,OAAO9oB,KAAO+kB,EAGnB,OADA/sB,KAAK8wB,OAAO9oB,GAAGk2F,eAAgB,GACxB,EAIf,OAAO,GAUX7oE,MAAO,WAECr1B,KAAK8wB,OAAO/oB,OAAS,IAGrB/H,KAAK8wB,OAAOsE,KAAKp1B,KAAKy1B,aAEtBz1B,KAAK2jG,SAAW3jG,KAAK8wB,OAAO,GAAGyzE,OAUvC9uE,YAAa,SAAUvmB,EAAGI,GAEtB,OAAIJ,EAAEq1F,KAAOj1F,EAAEi1F,MAEH,EAEHr1F,EAAEq1F,KAAOj1F,EAAEi1F,KAET,EAGJ,GAUXG,mBAAoB,WAIhB,IAFA1kG,KAAK6qB,GAAK7qB,KAAK8wB,OAAO/oB,OAEf/H,KAAK6qB,MAEJ7qB,KAAK8wB,OAAO9wB,KAAK6qB,IAAIqzE,eAErBl+F,KAAK8wB,OAAOlN,OAAO5jB,KAAK6qB,GAAI,GAIpC7qB,KAAK4qB,KAAO5qB,KAAK8wB,OAAO/oB,OACxB/H,KAAK6qB,GAAK,GAYd7L,OAAQ,SAAUI,GAEd,GAAIpf,KAAKshB,OAEL,OAAO,EAoBX,GAjBAthB,KAAKg9B,QAAU5d,EAAOpf,KAAK8jG,KAC3B9jG,KAAK8jG,KAAO1kF,EAGRpf,KAAKg9B,QAAUh9B,KAAK4jG,SAKpB5jG,KAAK2kG,aAAavlF,EAAOpf,KAAKg9B,SAGlCh9B,KAAK+jG,QAAU,EAGf/jG,KAAK0kG,qBAED1kG,KAAKyjG,SAAWzjG,KAAK8jG,MAAQ9jG,KAAK2jG,UAAY3jG,KAAK4qB,KAAO,EAC9D,CACI,KAAO5qB,KAAK6qB,GAAK7qB,KAAK4qB,MAAQ5qB,KAAKyjG,SACnC,CACI,IAAI12E,EAAQ/sB,KAAK8wB,OAAO9wB,KAAK6qB,IAE7B,KAAI7qB,KAAK8jG,MAAQ/2E,EAAMw3E,OAASx3E,EAAMmxE,cAgClC,MA7BAl+F,KAAKikG,SAAYjkG,KAAK8jG,KAAO/2E,EAAM6oB,OAAU51C,KAAK8jG,KAAO/2E,EAAMw3E,MAE3DvkG,KAAKikG,SAAW,IAEhBjkG,KAAKikG,SAAWjkG,KAAK8jG,KAAO/2E,EAAM6oB,QAGnB,IAAf7oB,EAAM67B,MAEN77B,EAAMw3E,KAAOvkG,KAAKikG,SAClBl3E,EAAMsH,SAASltB,MAAM4lB,EAAMvJ,gBAAiBuJ,EAAMlmB,OAE7CkmB,EAAMu3E,YAAc,GAEzBv3E,EAAMu3E,cACNv3E,EAAMw3E,KAAOvkG,KAAKikG,SAClBl3E,EAAMsH,SAASltB,MAAM4lB,EAAMvJ,gBAAiBuJ,EAAMlmB,QAIlD7G,KAAK+jG,UACLh3E,EAAMmxE,eAAgB,EACtBnxE,EAAMsH,SAASltB,MAAM4lB,EAAMvJ,gBAAiBuJ,EAAMlmB,OAGtD7G,KAAK6qB,KAST7qB,KAAK8wB,OAAO/oB,OAAS/H,KAAK+jG,QAE1B/jG,KAAKq1B,SAILr1B,KAAK0jG,SAAU,EACf1jG,KAAKo/F,WAAW9/E,SAAStf,OAIjC,OAAIA,KAAK0jG,UAAW1jG,KAAKkjG,aAe7BjgF,MAAO,WAEEjjB,KAAKyjG,UAKVzjG,KAAKy5B,aAAc,EAEfz5B,KAAKshB,SAKTthB,KAAK8iG,cAAgB9iG,KAAKib,KAAKmE,KAAKA,KAEpCpf,KAAKshB,QAAS,KASlBk9E,OAAQ,YAEAx+F,KAAKshB,QAAWthB,KAAKyjG,UAKzBzjG,KAAK8iG,cAAgB9iG,KAAKib,KAAKmE,KAAKA,KAEpCpf,KAAKshB,QAAS,IAUlBqjF,aAAc,SAAUC,GAEpB,IAAK,IAAI58F,EAAI,EAAGA,EAAIhI,KAAK8wB,OAAO/oB,OAAQC,IAEpC,IAAKhI,KAAK8wB,OAAO9oB,GAAGk2F,cACpB,CAEI,IAAIr2F,EAAI7H,KAAK8wB,OAAO9oB,GAAGu8F,KAAOK,EAE1B/8F,EAAI,IAEJA,EAAI,GAIR7H,KAAK8wB,OAAO9oB,GAAGu8F,KAAOvkG,KAAK8jG,KAAOj8F,EAI1C,IAAI4M,EAAIzU,KAAK2jG,SAAWiB,EAIpB5kG,KAAK2jG,SAFLlvF,EAAI,EAEYzU,KAAK8jG,KAIL9jG,KAAK8jG,KAAOrvF,GAUpC0O,OAAQ,WAEJ,GAAKnjB,KAAKshB,OAAV,CAKA,IAAI8Y,EAAMp6B,KAAKib,KAAKmE,KAAKA,KACzBpf,KAAK6jG,aAAezpE,EAAMp6B,KAAK8jG,KAC/B9jG,KAAK8jG,KAAO1pE,EAEZp6B,KAAK2kG,aAAa3kG,KAAK8iG,eAEvB9iG,KAAKshB,QAAS,EACdthB,KAAKy5B,aAAc,IASvBglE,QAAS,WAEDz+F,KAAKy5B,aAMLz5B,KAAKmjB,UAWbkB,UAAW,WAEPrkB,KAAKo/F,WAAW/6E,YAChBrkB,KAAK8wB,OAAO/oB,OAAS,EACrB/H,KAAK4qB,KAAO,EACZ5qB,KAAK6qB,GAAK,GAUdtG,QAAS,WAELvkB,KAAKo/F,WAAW/6E,YAChBrkB,KAAKyjG,SAAU,EACfzjG,KAAK0jG,SAAU,EACf1jG,KAAK8wB,UACL9wB,KAAK4qB,KAAO,EACZ5qB,KAAK6qB,GAAK,IAWlBpjB,OAAOmF,eAAevM,EAAOoiG,MAAMl8F,UAAW,QAE1CmG,IAAK,WACD,OAAO1M,KAAK2jG,YAUpBl8F,OAAOmF,eAAevM,EAAOoiG,MAAMl8F,UAAW,YAE1CmG,IAAK,WAED,OAAI1M,KAAKyjG,SAAWzjG,KAAK2jG,SAAW3jG,KAAK8jG,KAE9B9jG,KAAK2jG,SAAW3jG,KAAK8jG,KAIrB,KAYnBr8F,OAAOmF,eAAevM,EAAOoiG,MAAMl8F,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAK8wB,OAAO/oB,UAU3BN,OAAOmF,eAAevM,EAAOoiG,MAAMl8F,UAAW,MAE1CmG,IAAK,WAED,OAAI1M,KAAKyjG,QAEEzjG,KAAK8jG,KAAO9jG,KAAK4iG,SAAW5iG,KAAK6jG,YAIjC,KAYnBp8F,OAAOmF,eAAevM,EAAOoiG,MAAMl8F,UAAW,WAE1CmG,IAAK,WAED,OAAI1M,KAAKyjG,QAEY,KAAVzjG,KAAK0hG,GAIL,KAOnBrhG,EAAOoiG,MAAMl8F,UAAU8B,YAAchI,EAAOoiG,MA6B5CpiG,EAAOmkG,WAAa,SAAUvB,EAAOrtD,EAAO2uD,EAAMD,EAAa17C,EAAMv0B,EAAU7Q,EAAiB3c,GAO5F7G,KAAKijG,MAAQA,EAKbjjG,KAAK41C,MAAQA,EAKb51C,KAAKukG,KAAOA,EAKZvkG,KAAKskG,YAAcA,EAAc,EAKjCtkG,KAAK4oD,KAAOA,EAKZ5oD,KAAKq0B,SAAWA,EAKhBr0B,KAAKwjB,gBAAkBA,EAKvBxjB,KAAK6G,KAAOA,EAMZ7G,KAAKk+F,eAAgB,GAIzB79F,EAAOmkG,WAAWj+F,UAAU8B,YAAchI,EAAOmkG,WAgBjDnkG,EAAO0pD,iBAAmB,SAAU5xB,GAKhCn4B,KAAKm4B,OAASA,EAKdn4B,KAAKib,KAAOkd,EAAOld,KASnBjb,KAAK6kG,aAAe,KAMpB7kG,KAAK8kG,YAAc,KAMnB9kG,KAAK+kG,iBAAkB,EAMvB/kG,KAAKglG,UAAW,EAOhBhlG,KAAKilG,WAAa,KAMlBjlG,KAAKklG,UAMLllG,KAAKmlG,kBAIT9kG,EAAO0pD,iBAAiBxjD,WAYpBiqD,cAAe,SAAUE,EAAWp/B,GAEhC,QAAkBhnB,IAAdomD,EAEA,OAAO,EAGX,GAAI1wD,KAAKglG,SAGL,IAAK,IAAII,KAAQplG,KAAKklG,OAElBllG,KAAKklG,OAAOE,GAAMhlB,gBAAgB1vB,GAwB1C,OApBA1wD,KAAKilG,WAAav0C,OAEJpmD,IAAVgnB,GAAiC,OAAVA,EAEvBtxB,KAAKsxB,MAAQ,EAIQ,iBAAVA,EAEPtxB,KAAK4xD,UAAYtgC,EAIjBtxB,KAAKsxB,MAAQA,EAIrBtxB,KAAKglG,UAAW,GAET,GAaXK,cAAe,SAAU30C,EAAWp/B,GAIhC,GAFAtxB,KAAKilG,WAAav0C,EAAUvkD,QAExBnM,KAAKglG,SAGL,IAAK,IAAII,KAAQplG,KAAKklG,OAElBllG,KAAKklG,OAAOE,GAAMhlB,gBAAgBpgF,KAAKilG,YAsB/C,YAlBc36F,IAAVgnB,GAAiC,OAAVA,EAEvBtxB,KAAKsxB,MAAQ,EAIQ,iBAAVA,EAEPtxB,KAAK4xD,UAAYtgC,EAIjBtxB,KAAKsxB,MAAQA,EAIrBtxB,KAAKglG,UAAW,GAET,GAeX9yF,IAAK,SAAUnG,EAAMs2E,EAAQ15B,EAAWC,EAAM08C,GAiC1C,OA/BAjjB,EAASA,MACT15B,EAAYA,GAAa,QAEZr+C,IAATs+C,IAAsBA,GAAO,QAGTt+C,IAApBg7F,IAIIA,KAFAjjB,GAA+B,iBAAdA,EAAO,KAUhCriF,KAAKmlG,iBAELnlG,KAAKilG,WAAWM,gBAAgBljB,EAAQijB,EAAiBtlG,KAAKmlG,eAE9DnlG,KAAKklG,OAAOn5F,GAAQ,IAAI1L,EAAOooD,UAAUzoD,KAAKib,KAAMjb,KAAKm4B,OAAQpsB,EAAM/L,KAAKilG,WAAYjlG,KAAKmlG,cAAex8C,EAAWC,GAEvH5oD,KAAK8kG,YAAc9kG,KAAKklG,OAAOn5F,GAE3B/L,KAAKm4B,OAAOu5B,gBAEZ1xD,KAAKm4B,OAAOw5B,gBAAiB,GAG1B3xD,KAAKklG,OAAOn5F,IAYvBy5F,eAAgB,SAAUnjB,EAAQijB,QAENh7F,IAApBg7F,IAAiCA,GAAkB,GAEvD,IAAK,IAAIt9F,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAE/B,IAAwB,IAApBs9F,GAEA,GAAIjjB,EAAOr6E,GAAKhI,KAAKilG,WAAWtvE,MAE5B,OAAO,OAKX,IAAkD,IAA9C31B,KAAKilG,WAAWQ,eAAepjB,EAAOr6E,IAEtC,OAAO,EAKnB,OAAO,GAoBX0gD,KAAM,SAAU38C,EAAM48C,EAAWC,EAAMC,GAEnC,GAAI7oD,KAAKklG,OAAOn5F,GAEZ,OAAI/L,KAAK8kG,cAAgB9kG,KAAKklG,OAAOn5F,IAEE,IAA/B/L,KAAK8kG,YAAYY,WAEjB1lG,KAAK8kG,YAAYxjF,QAAS,EACnBthB,KAAK8kG,YAAYp8C,KAAKC,EAAWC,EAAMC,IAG3C7oD,KAAK8kG,aAIR9kG,KAAK8kG,aAAe9kG,KAAK8kG,YAAYY,WAErC1lG,KAAK8kG,YAAYvnE,OAGrBv9B,KAAK8kG,YAAc9kG,KAAKklG,OAAOn5F,GAC/B/L,KAAK8kG,YAAYxjF,QAAS,EAC1BthB,KAAK6kG,aAAe7kG,KAAK8kG,YAAYD,aAC9B7kG,KAAK8kG,YAAYp8C,KAAKC,EAAWC,EAAMC,KAc1DtrB,KAAM,SAAUxxB,EAAM8+C,QAECvgD,IAAfugD,IAA4BA,GAAa,IAEzC7qD,KAAK8kG,aAAgC,iBAAT/4F,GAAqBA,IAAS/L,KAAK8kG,YAAY/4F,MAE3E/L,KAAK8kG,YAAYvnE,KAAKstB,IAY9B7rC,OAAQ,WAEJ,QAAIhf,KAAK+kG,kBAAoB/kG,KAAKm4B,OAAO7c,cAKrCtb,KAAK8kG,cAAe9kG,KAAK8kG,YAAY9lF,YAErChf,KAAK6kG,aAAe7kG,KAAK8kG,YAAYD,cAC9B,KAaf7yE,KAAM,SAAUR,GAERxxB,KAAK8kG,cAEL9kG,KAAK8kG,YAAY9yE,KAAKR,GACtBxxB,KAAK6kG,aAAe7kG,KAAK8kG,YAAYD,eAW7C5yE,SAAU,SAAUT,GAEZxxB,KAAK8kG,cAEL9kG,KAAK8kG,YAAY7yE,SAAST,GAC1BxxB,KAAK6kG,aAAe7kG,KAAK8kG,YAAYD,eAY7Cc,aAAc,SAAU55F,GAEpB,MAAoB,iBAATA,GAEH/L,KAAKklG,OAAOn5F,GAEL/L,KAAKklG,OAAOn5F,GAIpB,MASX65F,aAAc,aAadrhF,QAAS,WAED6gF,EAAO,KAEX,IAAK,IAAIA,KAAQplG,KAAKklG,OAEdllG,KAAKklG,OAAOp8F,eAAes8F,IAE3BplG,KAAKklG,OAAOE,GAAM7gF,UAI1BvkB,KAAKklG,UACLllG,KAAKmlG,iBACLnlG,KAAKilG,WAAa,KAClBjlG,KAAK8kG,YAAc,KACnB9kG,KAAK6kG,aAAe,KACpB7kG,KAAKm4B,OAAS,KACdn4B,KAAKib,KAAO,OAMpB5a,EAAO0pD,iBAAiBxjD,UAAU8B,YAAchI,EAAO0pD,iBAOvDtiD,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,aAErDmG,IAAK,WACD,OAAO1M,KAAKilG,cAUpBx9F,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,cAErDmG,IAAK,WAED,OAAO1M,KAAKilG,WAAWtvE,SAS/BluB,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,UAErDmG,IAAK,WAED,OAAO1M,KAAK8kG,YAAYxF,UAI5B3yF,IAAK,SAAU5C,GAEX/J,KAAK8kG,YAAYxjF,OAASvX,KAUlCtC,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,QAErDmG,IAAK,WAED,GAAI1M,KAAK8kG,YAEL,OAAO9kG,KAAK8kG,YAAY/4F,QAWpCtE,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,SAErDmG,IAAK,WAED,GAAI1M,KAAK6kG,aAEL,OAAO7kG,KAAK6kG,aAAa97F,OAKjC4D,IAAK,SAAU5C,GAEX,IAAI87F,EAEiB,iBAAV97F,GAAsB/J,KAAKilG,aAAeY,EAAW7lG,KAAKilG,WAAWa,SAAS/7F,MAErF/J,KAAK6kG,aAAegB,EACpB7lG,KAAKm4B,OAAO+3B,SAASlwD,KAAK6kG,kBAWtCp9F,OAAOmF,eAAevM,EAAO0pD,iBAAiBxjD,UAAW,aAErDmG,IAAK,WAED,GAAI1M,KAAK6kG,aAEL,OAAO7kG,KAAK6kG,aAAa94F,MAKjCY,IAAK,SAAU5C,GAEX,IAAI87F,EAEiB,iBAAV97F,GAAsB/J,KAAKilG,aAAeY,EAAW7lG,KAAKilG,WAAWc,eAAeh8F,KAE3F/J,KAAK6kG,aAAegB,EACpB7lG,KAAKgmG,YAAchmG,KAAK6kG,aAAa97F,MACrC/I,KAAKm4B,OAAO+3B,SAASlwD,KAAK6kG,eAI1Bv8F,QAAQG,KAAK,yBAA2BsB,MA2BpD1J,EAAOooD,UAAY,SAAUxtC,EAAMkP,EAAQpe,EAAM2kD,EAAW2xB,EAAQ15B,EAAWC,QAE9Dt+C,IAATs+C,IAAsBA,GAAO,GAKjC5oD,KAAKib,KAAOA,EAMZjb,KAAKwsD,QAAUriC,EAMfnqB,KAAKilG,WAAav0C,EAKlB1wD,KAAK+L,KAAOA,EAMZ/L,KAAKimG,WACLjmG,KAAKimG,QAAUjmG,KAAKimG,QAAQl/F,OAAOs7E,GAKnCriF,KAAK41C,MAAQ,IAAO+S,EAKpB3oD,KAAK4oD,KAAOA,EAKZ5oD,KAAKkmG,UAAY,EAMjBlmG,KAAK6oD,gBAAiB,EAMtB7oD,KAAKmmG,YAAa,EAMlBnmG,KAAK0lG,WAAY,EAMjB1lG,KAAKs/F,UAAW,EAOhBt/F,KAAKomG,gBAAkB,EAOvBpmG,KAAKgmG,YAAc,EAOnBhmG,KAAKqmG,WAAa,EAOlBrmG,KAAKsmG,WAAa,EAKlBtmG,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,cAK/DhmG,KAAKg/F,QAAU,IAAI3+F,EAAOwb,OAW1B7b,KAAKumG,SAAW,KAKhBvmG,KAAKo/F,WAAa,IAAI/+F,EAAOwb,OAK7B7b,KAAKi/F,OAAS,IAAI5+F,EAAOwb,OAMzB7b,KAAKwmG,YAAa,EAGlBxmG,KAAKib,KAAK+H,QAAQ9Q,IAAIlS,KAAKgjB,QAAShjB,MACpCA,KAAKib,KAAKiI,SAAShR,IAAIlS,KAAKkjB,SAAUljB,OAI1CK,EAAOooD,UAAUliD,WAcbmiD,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGP3oD,KAAK41C,MAAQ,IAAO+S,GAGJ,kBAATC,IAGP5oD,KAAK4oD,KAAOA,QAGc,IAAnBC,IAGP7oD,KAAK6oD,eAAiBA,GAG1B7oD,KAAK0lG,WAAY,EACjB1lG,KAAKmmG,YAAa,EAClBnmG,KAAKshB,QAAS,EACdthB,KAAKkmG,UAAY,EAEjBlmG,KAAKymG,eAAiBzmG,KAAKib,KAAKmE,KAAKA,KACrCpf,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK41C,MAEjD51C,KAAKgmG,YAAchmG,KAAKwmG,WAAaxmG,KAAKimG,QAAQl+F,OAAS,EAAI,EAC/D/H,KAAK2mG,oBAAmB,GAAO,GAE/B3mG,KAAKwsD,QAAQ17B,OAAO81E,0BAA0B5mG,KAAKwsD,QAASxsD,MAE5DA,KAAKg/F,QAAQ1/E,SAAStf,KAAKwsD,QAASxsD,MAEpCA,KAAKwsD,QAAQ1D,WAAWg8C,YAAc9kG,KACtCA,KAAKwsD,QAAQ1D,WAAW+7C,aAAe7kG,KAAK6kG,aAErC7kG,MASX6jB,QAAS,WAEL7jB,KAAK0lG,WAAY,EACjB1lG,KAAKmmG,YAAa,EAClBnmG,KAAKshB,QAAS,EACdthB,KAAKkmG,UAAY,EAEjBlmG,KAAKymG,eAAiBzmG,KAAKib,KAAKmE,KAAKA,KACrCpf,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK41C,MAEjD51C,KAAKgmG,YAAc,EAEnBhmG,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,cAE/DhmG,KAAKwsD,QAAQ0D,SAASlwD,KAAK6kG,cAE3B7kG,KAAKwsD,QAAQ1D,WAAWg8C,YAAc9kG,KACtCA,KAAKwsD,QAAQ1D,WAAW+7C,aAAe7kG,KAAK6kG,aAE5C7kG,KAAKg/F,QAAQ1/E,SAAStf,KAAKwsD,QAASxsD,OAUxCsJ,QAAS,WAIL,OAFAtJ,KAAK6hG,UAAY7hG,KAAK6hG,SAEf7hG,MAYX6mG,YAAa,WAIT,OAFA7mG,KAAKo/F,WAAW14E,QAAQ1mB,KAAKsJ,QAAStJ,MAE/BA,KAAKsJ,WAWhB4mD,SAAU,SAAS42C,EAASC,GAExB,IAAIC,EAQJ,QAN2B18F,IAAvBy8F,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAAS9+F,EAAI,EAAGA,EAAIhI,KAAKimG,QAAQl+F,OAAQC,IAEjChI,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQj+F,IAAI+D,OAAS+6F,IAEnDE,EAAah/F,QAIpB,GAAuB,iBAAZ8+F,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAI9+F,EAAI,EAAGA,EAAIhI,KAAKimG,QAAQl+F,OAAQC,IAEjChI,KAAKimG,QAAQj+F,KAAO8+F,IAEpBE,EAAah/F,GAM7B,GAAIg/F,EACJ,CAEI,IAAIC,EAAoBjnG,KAAKwmG,YAAc,EAAI,EAC/CxmG,KAAKgmG,YAAcgB,EAAaC,EAGhCjnG,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,KAErCpf,KAAKgf,WAabue,KAAM,SAAUstB,EAAYq8C,QAEL58F,IAAfugD,IAA4BA,GAAa,QACpBvgD,IAArB48F,IAAkCA,GAAmB,GAEzDlnG,KAAK0lG,WAAY,EACjB1lG,KAAKmmG,YAAa,EAClBnmG,KAAKshB,QAAS,EAEVupC,IAEA7qD,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQ,IAC1DjmG,KAAKwsD,QAAQ0D,SAASlwD,KAAK6kG,eAG3BqC,IAEAlnG,KAAKwsD,QAAQ17B,OAAOq2E,6BAA6BnnG,KAAKwsD,QAASxsD,MAC/DA,KAAKo/F,WAAW9/E,SAAStf,KAAKwsD,QAASxsD,QAU/CgjB,QAAS,WAEDhjB,KAAK0lG,YAEL1lG,KAAKqmG,WAAarmG,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,OAU/D8D,SAAU,WAEFljB,KAAK0lG,YAEL1lG,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKqmG,aAUzDrnF,OAAQ,WAEJ,OAAIhf,KAAKs/F,cAKLt/F,KAAK0lG,WAAa1lG,KAAKib,KAAKmE,KAAKA,MAAQpf,KAAK0mG,kBAE9C1mG,KAAKsmG,WAAa,EAGlBtmG,KAAKqmG,WAAarmG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK0mG,eAE7C1mG,KAAKymG,eAAiBzmG,KAAKib,KAAKmE,KAAKA,KAEjCpf,KAAKqmG,WAAarmG,KAAK41C,OAGvB51C,KAAKsmG,WAAargG,KAAKI,MAAMrG,KAAKqmG,WAAarmG,KAAK41C,OACpD51C,KAAKqmG,YAAermG,KAAKsmG,WAAatmG,KAAK41C,OAIvD51C,KAAKqmG,WAAa,EAIVrmG,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,MAAQpf,KAAK41C,MAAQ51C,KAAKqmG,YAE3DrmG,KAAKwmG,WAELxmG,KAAKgmG,aAAehmG,KAAKsmG,WAIzBtmG,KAAKgmG,aAAehmG,KAAKsmG,YAGxBtmG,KAAKwmG,YAAcxmG,KAAKgmG,aAAehmG,KAAKimG,QAAQl+F,QAAU/H,KAAKwmG,YAAcxmG,KAAKgmG,cAAgB,EAEnGhmG,KAAK4oD,MAGL5oD,KAAKgmG,YAAc//F,KAAK2J,IAAI5P,KAAKgmG,aAAehmG,KAAKimG,QAAQl+F,OAEzD/H,KAAKwmG,aAELxmG,KAAKgmG,YAAchmG,KAAKimG,QAAQl+F,OAAS,EAAI/H,KAAKgmG,aAGtDhmG,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,cAG3DhmG,KAAK6kG,cAEL7kG,KAAKwsD,QAAQ0D,SAASlwD,KAAK6kG,cAG/B7kG,KAAKkmG,YACLlmG,KAAKwsD,QAAQ17B,OAAOs2E,yBAAyBpnG,KAAKwsD,QAASxsD,MAC3DA,KAAKi/F,OAAO3/E,SAAStf,KAAKwsD,QAASxsD,OAE/BA,KAAKumG,WAELvmG,KAAKumG,SAASjnF,SAAStf,KAAMA,KAAK6kG,gBAGzB7kG,KAAKilG,cASlBjlG,KAAKigG,YACE,GAKJjgG,KAAK2mG,oBAAmB,MAoB3CA,mBAAoB,SAAUU,EAAcC,GAIxC,QAFiBh9F,IAAbg9F,IAA0BA,GAAW,IAEpCtnG,KAAKilG,WAGN,OAAO,EAIX,IAAI1nB,EAAMv9E,KAAK6kG,aAAa97F,MAS5B,OAPA/I,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,cAE3DhmG,KAAK6kG,eAAiByC,IAAcA,GAAY/pB,IAAQv9E,KAAK6kG,aAAa97F,QAE1E/I,KAAKwsD,QAAQ0D,SAASlwD,KAAK6kG,eAG3B7kG,KAAKumG,WAAYc,IAEjBrnG,KAAKumG,SAASjnF,SAAStf,KAAMA,KAAK6kG,gBAGzB7kG,KAAKilG,aAetBjzE,KAAM,SAAUR,QAEKlnB,IAAbknB,IAA0BA,EAAW,GAEzC,IAAIF,EAAQtxB,KAAKgmG,YAAcx0E,EAE3BF,GAAStxB,KAAKimG,QAAQl+F,SAElB/H,KAAK4oD,KAELt3B,GAAStxB,KAAKimG,QAAQl+F,OAItBupB,EAAQtxB,KAAKimG,QAAQl+F,OAAS,GAIlCupB,IAAUtxB,KAAKgmG,cAEfhmG,KAAKgmG,YAAc10E,EACnBtxB,KAAK2mG,oBAAmB,KAWhC10E,SAAU,SAAUT,QAEClnB,IAAbknB,IAA0BA,EAAW,GAEzC,IAAIF,EAAQtxB,KAAKgmG,YAAcx0E,EAE3BF,EAAQ,IAEJtxB,KAAK4oD,KAELt3B,EAAQtxB,KAAKimG,QAAQl+F,OAASupB,EAI9BA,KAIJA,IAAUtxB,KAAKgmG,cAEfhmG,KAAKgmG,YAAc10E,EACnBtxB,KAAK2mG,oBAAmB,KAWhCvmB,gBAAiB,SAAU1vB,GAEvB1wD,KAAKilG,WAAav0C,EAClB1wD,KAAK6kG,aAAe7kG,KAAKilG,WAAajlG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,YAAchmG,KAAKimG,QAAQl+F,SAAW,MAS3Hwc,QAAS,WAEAvkB,KAAKilG,aAMVjlG,KAAKib,KAAK+H,QAAQO,OAAOvjB,KAAKgjB,QAAShjB,MACvCA,KAAKib,KAAKiI,SAASK,OAAOvjB,KAAKkjB,SAAUljB,MAEzCA,KAAKib,KAAO,KACZjb,KAAKwsD,QAAU,KACfxsD,KAAKimG,QAAU,KACfjmG,KAAKilG,WAAa,KAClBjlG,KAAK6kG,aAAe,KACpB7kG,KAAK0lG,WAAY,EAEjB1lG,KAAKg/F,QAAQ/3E,UACbjnB,KAAKi/F,OAAOh4E,UACZjnB,KAAKo/F,WAAWn4E,UAEZjnB,KAAKumG,UAELvmG,KAAKumG,SAASt/E,YAWtBg5E,SAAU,WAENjgG,KAAKgmG,YAAchmG,KAAKimG,QAAQl+F,OAAS,EACzC/H,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQjmG,KAAKgmG,cAE/DhmG,KAAK0lG,WAAY,EACjB1lG,KAAKmmG,YAAa,EAClBnmG,KAAKshB,QAAS,EAEdthB,KAAKwsD,QAAQ17B,OAAOq2E,6BAA6BnnG,KAAKwsD,QAASxsD,MAE/DA,KAAKo/F,WAAW9/E,SAAStf,KAAKwsD,QAASxsD,MAEnCA,KAAK6oD,gBAEL7oD,KAAKwsD,QAAQuC,SAOzB1uD,EAAOooD,UAAUliD,UAAU8B,YAAchI,EAAOooD,UAMhDhhD,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,UAE9CmG,IAAK,WAED,OAAO1M,KAAKs/F,UAIhB3yF,IAAK,SAAU5C,GAEX/J,KAAKs/F,SAAWv1F,EAEZA,EAGA/J,KAAKomG,gBAAkBpmG,KAAKib,KAAKmE,KAAKA,KAKlCpf,KAAK0lG,YAEL1lG,KAAK0mG,eAAiB1mG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK41C,UAYjEnuC,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,YAE9CmG,IAAK,WAED,OAAO1M,KAAKwmG,YAIhB75F,IAAK,SAAU5C,GAEX/J,KAAKwmG,WAAaz8F,KAW1BtC,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,cAE9CmG,IAAK,WACD,OAAO1M,KAAKimG,QAAQl+F,UAS5BN,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,SAE9CmG,IAAK,WAED,OAA0B,OAAtB1M,KAAK6kG,aAEE7kG,KAAK6kG,aAAa97F,MAIlB/I,KAAKgmG,aAKpBr5F,IAAK,SAAU5C,GAEX/J,KAAK6kG,aAAe7kG,KAAKilG,WAAWa,SAAS9lG,KAAKimG,QAAQl8F,IAEhC,OAAtB/J,KAAK6kG,eAEL7kG,KAAKgmG,YAAcj8F,EACnB/J,KAAKwsD,QAAQ0D,SAASlwD,KAAK6kG,cAEvB7kG,KAAKumG,UAELvmG,KAAKumG,SAASjnF,SAAStf,KAAMA,KAAK6kG,kBAYlDp9F,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,SAE9CmG,IAAK,WAED,OAAO,IAAO1M,KAAK41C,OAIvBjpC,IAAK,SAAU5C,GAEPA,EAAQ,IAER/J,KAAK41C,MAAQ,IAAO7rC,MAWhCtC,OAAOmF,eAAevM,EAAOooD,UAAUliD,UAAW,gBAE9CmG,IAAK,WAED,OAA0B,OAAlB1M,KAAKumG,UAIjB55F,IAAK,SAAU5C,GAEPA,GAA2B,OAAlB/J,KAAKumG,SAEdvmG,KAAKumG,SAAW,IAAIlmG,EAAOwb,OAErB9R,GAA2B,OAAlB/J,KAAKumG,WAEpBvmG,KAAKumG,SAASt/E,UACdjnB,KAAKumG,SAAW,SAqB5BlmG,EAAOooD,UAAU8+C,mBAAqB,SAAUpV,EAAQrhF,EAAOysB,EAAMmgD,EAAQ8pB,QAE1Dl9F,IAAXozE,IAAwBA,EAAS,IAErC,IAAIlvE,KACA8iB,EAAQ,GAEZ,GAAIxgB,EAAQysB,EAER,IAASv1B,EAAI8I,EAAO9I,GAAKu1B,EAAMv1B,IAY3BspB,EAAQ6gE,GAPJ7gE,EAHmB,iBAAZk2E,EAGCnnG,EAAO6I,MAAMkC,IAAIpD,EAAEN,WAAY8/F,EAAS,IAAK,GAI7Cx/F,EAAEN,YAGWg2E,EAEzBlvE,EAAO2E,KAAKme,QAKhB,IAAK,IAAItpB,EAAI8I,EAAO9I,GAAKu1B,EAAMv1B,IAY3BspB,EAAQ6gE,GAPJ7gE,EAHmB,iBAAZk2E,EAGCnnG,EAAO6I,MAAMkC,IAAIpD,EAAEN,WAAY8/F,EAAS,IAAK,GAI7Cx/F,EAAEN,YAGWg2E,EAEzBlvE,EAAO2E,KAAKme,GAIpB,OAAO9iB,GAsBXnO,EAAO+6D,MAAQ,SAAUryD,EAAO5C,EAAG+G,EAAGiD,EAAOC,EAAQrE,GAKjD/L,KAAK+I,MAAQA,EAKb/I,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAEK,IAAfpQ,KAAKmQ,OAA+B,IAAhBnQ,KAAKoQ,QAEzB9H,QAAQG,KAAK,wBAA0BzI,KAAK+L,KAAO,mCAMvD/L,KAAK+L,KAAOA,EAKZ/L,KAAKoR,QAAUnL,KAAKI,MAAM8J,EAAQ,GAKlCnQ,KAAKqR,QAAUpL,KAAKI,MAAM+J,EAAS,GAKnCpQ,KAAKsO,SAAWjO,EAAO4F,KAAKqI,SAAS,EAAG,EAAG6B,EAAOC,GAMlDpQ,KAAKyxD,SAAU,EAMfzxD,KAAKoxD,SAAU,EAKfpxD,KAAKuxD,YAAcphD,EAKnBnQ,KAAKwxD,YAAcphD,EAMnBpQ,KAAKqxD,kBAAoB,EAMzBrxD,KAAKsxD,kBAAoB,EAMzBtxD,KAAKynG,kBAAoB,EAMzBznG,KAAK0nG,kBAAoB,EAKzB1nG,KAAKwL,MAAQxL,KAAKmG,EAAInG,KAAKmQ,MAK3BnQ,KAAKoP,OAASpP,KAAKkN,EAAIlN,KAAKoQ,QAIhC/P,EAAO+6D,MAAM70D,WASTiT,OAAQ,SAAUrJ,EAAOC,GAErBpQ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EACdpQ,KAAKoR,QAAUnL,KAAKI,MAAM8J,EAAQ,GAClCnQ,KAAKqR,QAAUpL,KAAKI,MAAM+J,EAAS,GACnCpQ,KAAKsO,SAAWjO,EAAO4F,KAAKqI,SAAS,EAAG,EAAG6B,EAAOC,GAClDpQ,KAAKuxD,YAAcphD,EACnBnQ,KAAKwxD,YAAcphD,EACnBpQ,KAAKwL,MAAQxL,KAAKmG,EAAIgK,EACtBnQ,KAAKoP,OAASpP,KAAKkN,EAAIkD,GAgB3Bu3F,QAAS,SAAUv2C,EAASw2C,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5EjoG,KAAKoxD,QAAUA,EAEXA,IAEApxD,KAAKuxD,YAAcq2C,EACnB5nG,KAAKwxD,YAAcq2C,EACnB7nG,KAAKoR,QAAUnL,KAAKI,MAAMuhG,EAAc,GACxC5nG,KAAKqR,QAAUpL,KAAKI,MAAMwhG,EAAe,GACzC7nG,KAAKqxD,kBAAoBy2C,EACzB9nG,KAAKsxD,kBAAoBy2C,EACzB/nG,KAAKynG,kBAAoBO,EACzBhoG,KAAK0nG,kBAAoBO,IAYjC97F,MAAO,WAEH,IAAIqC,EAAS,IAAInO,EAAO+6D,MAAMp7D,KAAK+I,MAAO/I,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,OAAQpQ,KAAK+L,MAExF,IAAK,IAAIrC,KAAQ1J,KAETA,KAAK8I,eAAeY,KAEpB8E,EAAO9E,GAAQ1J,KAAK0J,IAI5B,OAAO8E,GAWX05F,QAAS,SAAU16F,GAWf,YATYlD,IAARkD,EAEAA,EAAM,IAAInN,EAAO2N,UAAUhO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAI5D5C,EAAIS,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAGxC5C,IAMfnN,EAAO+6D,MAAM70D,UAAU8B,YAAchI,EAAO+6D,MAc5C/6D,EAAO46D,UAAY,WAMfj7D,KAAKimG,WAMLjmG,KAAKmoG,gBAIT9nG,EAAO46D,UAAU10D,WASb40D,SAAU,SAAU7pC,GAWhB,OATAA,EAAMvoB,MAAQ/I,KAAKimG,QAAQl+F,OAE3B/H,KAAKimG,QAAQ9yF,KAAKme,GAEC,KAAfA,EAAMvlB,OAEN/L,KAAKmoG,YAAY72E,EAAMvlB,MAAQulB,EAAMvoB,OAGlCuoB,GAWXw0E,SAAU,SAAU/8F,GAOhB,OALIA,GAAS/I,KAAKimG,QAAQl+F,SAEtBgB,EAAQ,GAGL/I,KAAKimG,QAAQl9F,IAWxBg9F,eAAgB,SAAUh6F,GAEtB,MAAsC,iBAA3B/L,KAAKmoG,YAAYp8F,GAEjB/L,KAAKimG,QAAQjmG,KAAKmoG,YAAYp8F,IAGlC,MAWX05F,eAAgB,SAAU15F,GAEtB,OAA8B,MAA1B/L,KAAKmoG,YAAYp8F,IAezBI,MAAO,WAKH,IAAK,IAHDqC,EAAS,IAAInO,EAAO46D,UAGfjzD,EAAI,EAAGA,EAAIhI,KAAKimG,QAAQl+F,OAAQC,IAErCwG,EAAOy3F,QAAQ9yF,KAAKnT,KAAKimG,QAAQj+F,GAAGmE,SAGxC,IAAK,IAAIkE,KAAKrQ,KAAKmoG,YAEXnoG,KAAKmoG,YAAYr/F,eAAeuH,IAEhC7B,EAAO25F,YAAYh1F,KAAKnT,KAAKmoG,YAAY93F,IAIjD,OAAO7B,GAaX45F,cAAe,SAAUt3F,EAAOC,EAAKvC,QAElBlE,IAAXkE,IAAwBA,MAE5B,IAAK,IAAIxG,EAAI8I,EAAO9I,GAAK+I,EAAK/I,IAE1BwG,EAAO2E,KAAKnT,KAAKimG,QAAQj+F,IAG7B,OAAOwG,GAcX8zE,UAAW,SAAUD,EAAQijB,EAAiB92F,GAK1C,QAHwBlE,IAApBg7F,IAAiCA,GAAkB,QACxCh7F,IAAXkE,IAAwBA,WAEblE,IAAX+3E,GAA0C,IAAlBA,EAAOt6E,OAG/B,IAASC,EAAI,EAAGA,EAAIhI,KAAKimG,QAAQl+F,OAAQC,IAGrCwG,EAAO2E,KAAKnT,KAAKimG,QAAQj+F,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAG3Bs9F,EAGA92F,EAAO2E,KAAKnT,KAAK8lG,SAASzjB,EAAOr6E,KAKjCwG,EAAO2E,KAAKnT,KAAK+lG,eAAe1jB,EAAOr6E,KAKnD,OAAOwG,GAcX+2F,gBAAiB,SAAUljB,EAAQijB,EAAiB92F,GAKhD,QAHwBlE,IAApBg7F,IAAiCA,GAAkB,QACxCh7F,IAAXkE,IAAwBA,WAEblE,IAAX+3E,GAA0C,IAAlBA,EAAOt6E,OAG/B,IAASC,EAAI,EAAGA,EAAIhI,KAAKimG,QAAQl+F,OAAQC,IAErCwG,EAAO2E,KAAKnT,KAAKimG,QAAQj+F,GAAGe,YAMhC,IAAK,IAAIf,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAG3Bs9F,GAAmBtlG,KAAKimG,QAAQ5jB,EAAOr6E,IAEvCwG,EAAO2E,KAAKnT,KAAKimG,QAAQ5jB,EAAOr6E,IAAIe,OAIhC/I,KAAK+lG,eAAe1jB,EAAOr6E,KAE3BwG,EAAO2E,KAAKnT,KAAK+lG,eAAe1jB,EAAOr6E,IAAIe,OAM3D,OAAOyF,GASX+V,QAAS,WAELvkB,KAAKimG,QAAU,KACfjmG,KAAKmoG,YAAc,OAM3B9nG,EAAO46D,UAAU10D,UAAU8B,YAAchI,EAAO46D,UAOhDxzD,OAAOmF,eAAevM,EAAO46D,UAAU10D,UAAW,SAE9CmG,IAAK,WACD,OAAO1M,KAAKimG,QAAQl+F,UAiB5B1H,EAAOgoG,iBAgBHC,YAAa,SAAUrtF,EAAMpR,EAAK48E,EAAYC,EAAa6hB,EAAUC,EAAQC,EAASC,QAEjEp+F,IAAbi+F,IAA0BA,GAAY,QAC3Bj+F,IAAXk+F,IAAwBA,EAAS,QACrBl+F,IAAZm+F,IAAyBA,EAAU,QACpBn+F,IAAfo+F,IAA4BA,EAAa,GAE7C,IAAI13C,EAAMnnD,EAOV,GALmB,iBAARA,IAEPmnD,EAAM/1C,EAAKsF,MAAM0wC,SAASpnD,IAGlB,OAARmnD,EAEA,OAAO,KAGX,IAAI7gD,EAAQ6gD,EAAI7gD,MACZC,EAAS4gD,EAAI5gD,OAEbq2E,GAAc,IAEdA,EAAaxgF,KAAKI,OAAO8J,EAAQlK,KAAKuM,KAAK,EAAGi0E,KAG9CC,GAAe,IAEfA,EAAczgF,KAAKI,OAAO+J,EAASnK,KAAKuM,KAAK,EAAGk0E,KAGpD,IAEI/wD,EAFM1vB,KAAKI,OAAO8J,EAAQq4F,IAAW/hB,EAAagiB,IACzCxiG,KAAKI,OAAO+J,EAASo4F,IAAW9hB,EAAc+hB,IAG3D,GAAIC,EAAa/yE,GAAS+yE,GAAc/yE,EAMpC,OAJArtB,QAAQG,KACJ,oDACAigG,EAAWhhG,WAAa,uCACxBiuB,EAAMjuB,YACH,KAeX,GAZIghG,EAAa,IAGbA,EAAa/yE,EAAQ+yE,IAGP,IAAdH,IAEA5yE,EAAQ+yE,EAAaH,GAIX,IAAVp4F,GAA0B,IAAXC,GAAgBD,EAAQs2E,GAAcr2E,EAASs2E,GAAyB,IAAV/wD,EAG7E,OADArtB,QAAQG,KAAK,wCAA0CoB,EAAM,uEACtD,KAQX,IAAK,IAJDq6B,EAAO,IAAI7jC,EAAO46D,UAClB90D,EAAIqiG,EACJt7F,EAAIs7F,EAECxgG,EAAI,EAAGA,EAAI2tB,EAAO3tB,IAEvBk8B,EAAKi3B,SAAS,IAAI96D,EAAO+6D,MAAMpzD,EAAG7B,EAAG+G,EAAGu5E,EAAYC,EAAa,MAEjEvgF,GAAKsgF,EAAagiB,GAEVhiB,EAAat2E,IAEjBhK,EAAIqiG,EACJt7F,GAAKw5E,EAAc+hB,GAI3B,OAAOvkE,GAYXykE,SAAU,SAAU1tF,EAAM2tF,GAGtB,IAAKA,EAAa,OAId,OAFAtgG,QAAQG,KAAK,kGACbH,QAAQC,IAAIqgG,GAWhB,IAAK,IAFDC,EAJA3kE,EAAO,IAAI7jC,EAAO46D,UAGlBonB,EAASumB,EAAa,OAGjB5gG,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAE/B6gG,EAAW3kE,EAAKi3B,SAAS,IAAI96D,EAAO+6D,MAChCpzD,EACAq6E,EAAOr6E,GAAGspB,MAAMnrB,EAChBk8E,EAAOr6E,GAAGspB,MAAMpkB,EAChBm1E,EAAOr6E,GAAGspB,MAAMvT,EAChBskE,EAAOr6E,GAAGspB,MAAMtT,EAChBqkE,EAAOr6E,GAAG8gG,WAGVzmB,EAAOr6E,GAAGopD,SAEVy3C,EAASlB,QACLtlB,EAAOr6E,GAAGopD,QACVixB,EAAOr6E,GAAG+gG,WAAWhrF,EACrBskE,EAAOr6E,GAAG+gG,WAAW/qF,EACrBqkE,EAAOr6E,GAAGghG,iBAAiB7iG,EAC3Bk8E,EAAOr6E,GAAGghG,iBAAiB97F,EAC3Bm1E,EAAOr6E,GAAGghG,iBAAiBjrF,EAC3BskE,EAAOr6E,GAAGghG,iBAAiBhrF,GAI/BqkE,EAAOr6E,GAAGypD,UAEVo3C,EAASp3C,SAAU,GAI3B,OAAOvtB,GAYX+kE,cAAe,SAAUhuF,EAAM2tF,GAe3B,IAZiB,SAAU,YAAY,aAAa,YAAa,aAEvDjhG,QAAS,SAASkC,GACxB,IAAK++F,EAAK/+F,GAIN,OAFAvB,QAAQG,KAAK,oFAAsFoB,EAAM,eACzGvB,QAAQC,IAAIqgG,KAMU,IAA1BA,EAAa,OAAE7gG,OAIf,OAFAO,QAAQG,KAAK,wGACbH,QAAQC,IAAIqgG,GAYhB,IAAK,IARD1kE,EAAO,IAAI7jC,EAAO46D,UAElBiuC,EAAaN,EAAiB,WAC9BO,EAAYP,EAAgB,UAE5BvmB,EAASumB,EAAa,OAAE,GAAU,MAG7B5gG,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAEpBk8B,EAAKi3B,SAAS,IAAI96D,EAAO+6D,MAChCpzD,EACAq6E,EAAOr6E,GAAG7B,EACVk8E,EAAOr6E,GAAGkF,EACVi8F,EACAD,EACA,SAAWlhG,IAIN2/F,SAAQ,GAGrB,OAAOzjE,GAYXklE,aAAc,SAAUnuF,EAAM2tF,GAG1B,IAAKA,EAAa,OAId,OAFAtgG,QAAQG,KAAK,uGACbH,QAAQC,IAAIqgG,GAKhB,IAIIC,EAJA3kE,EAAO,IAAI7jC,EAAO46D,UAGlBonB,EAASumB,EAAa,OAEtB5gG,EAAI,EAER,IAAK,IAAI6B,KAAOw4E,EAEZwmB,EAAW3kE,EAAKi3B,SAAS,IAAI96D,EAAO+6D,MAChCpzD,EACAq6E,EAAOx4E,GAAKynB,MAAMnrB,EAClBk8E,EAAOx4E,GAAKynB,MAAMpkB,EAClBm1E,EAAOx4E,GAAKynB,MAAMvT,EAClBskE,EAAOx4E,GAAKynB,MAAMtT,EAClBnU,IAGAw4E,EAAOx4E,GAAKunD,SAEZy3C,EAASlB,QACLtlB,EAAOx4E,GAAKunD,QACZixB,EAAOx4E,GAAKk/F,WAAWhrF,EACvBskE,EAAOx4E,GAAKk/F,WAAW/qF,EACvBqkE,EAAOx4E,GAAKm/F,iBAAiB7iG,EAC7Bk8E,EAAOx4E,GAAKm/F,iBAAiB97F,EAC7Bm1E,EAAOx4E,GAAKm/F,iBAAiBjrF,EAC7BskE,EAAOx4E,GAAKm/F,iBAAiBhrF,GAIjCqkE,EAAOx4E,GAAK4nD,UAEZo3C,EAASp3C,SAAU,GAGvBzpD,IAGJ,OAAOk8B,GAYXmlE,QAAS,SAAUpuF,EAAMquF,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDV,EAEA98F,EACAulB,EACAnrB,EACA+G,EACAiD,EACAC,EACAo5F,EACAC,EACAhjB,EACAC,EAbAxiD,EAAO,IAAI7jC,EAAO46D,UAClBonB,EAASinB,EAAIC,qBAAqB,cAc7BvhG,EAAI,EAAGA,EAAIq6E,EAAOt6E,OAAQC,IAI/B+D,GAFAulB,EAAQ+wD,EAAOr6E,GAAG0hG,YAEL39F,KAAKhC,MAClB5D,EAAI8E,SAASqmB,EAAMnrB,EAAE4D,MAAO,IAC5BmD,EAAIjC,SAASqmB,EAAMpkB,EAAEnD,MAAO,IAC5BoG,EAAQlF,SAASqmB,EAAMnhB,MAAMpG,MAAO,IACpCqG,EAASnF,SAASqmB,EAAMlhB,OAAOrG,MAAO,IAEtCy/F,EAAS,KACTC,EAAS,KAELn4E,EAAMk4E,SAENA,EAASvjG,KAAK2J,IAAI3E,SAASqmB,EAAMk4E,OAAOz/F,MAAO,KAC/C0/F,EAASxjG,KAAK2J,IAAI3E,SAASqmB,EAAMm4E,OAAO1/F,MAAO,KAC/C08E,EAAax7E,SAASqmB,EAAMm1D,WAAW18E,MAAO,IAC9C28E,EAAcz7E,SAASqmB,EAAMo1D,YAAY38E,MAAO,KAGpD8+F,EAAW3kE,EAAKi3B,SAAS,IAAI96D,EAAO+6D,MAAMpzD,EAAG7B,EAAG+G,EAAGiD,EAAOC,EAAQrE,IAGnD,OAAXy9F,GAA8B,OAAXC,GAEnBZ,EAASlB,SAAQ,EAAMx3F,EAAOC,EAAQo5F,EAAQC,EAAQhjB,EAAYC,GAI1E,OAAOxiD,EAlDH57B,QAAQG,KAAK,iGAyFzBpI,EAAOypB,MAAQ,SAAU7O,GAKrBjb,KAAKib,KAAOA,EAMZjb,KAAK2pG,gBAAiB,EAOtB3pG,KAAK4pG,QACD39E,UACApC,SACAka,WACArjB,SACAk1C,SACA/B,QACA+0C,QACAU,OACAxoF,WACAu0C,WACAw0C,UACA/zC,cACAg0C,cACAxhC,UACA9S,iBACAu0C,sBAOJ/pG,KAAKgqG,WAMLhqG,KAAKiqG,aAAe,IAAIj3C,MAMxBhzD,KAAKkqG,SAAW,KAKhBlqG,KAAKmqG,cAAgB,IAAI9pG,EAAOwb,OAMhC7b,KAAKoqG,aAELpqG,KAAKoqG,UAAU/pG,EAAOypB,MAAMrpB,QAAUT,KAAK4pG,OAAO39E,OAClDjsB,KAAKoqG,UAAU/pG,EAAOypB,MAAM1oB,OAASpB,KAAK4pG,OAAO//E,MACjD7pB,KAAKoqG,UAAU/pG,EAAOypB,MAAMugF,SAAWrqG,KAAK4pG,OAAO7lE,QACnD/jC,KAAKoqG,UAAU/pG,EAAOypB,MAAMwgF,OAAStqG,KAAK4pG,OAAOlpF,MACjD1gB,KAAKoqG,UAAU/pG,EAAOypB,MAAMxoB,MAAQtB,KAAK4pG,OAAO/1C,KAChD7zD,KAAKoqG,UAAU/pG,EAAOypB,MAAMygF,SAAWvqG,KAAK4pG,OAAO9oF,QACnD9gB,KAAKoqG,UAAU/pG,EAAOypB,MAAMnoB,SAAW3B,KAAK4pG,OAAOv0C,QACnDr1D,KAAKoqG,UAAU/pG,EAAOypB,MAAM0gF,QAAUxqG,KAAK4pG,OAAOC,OAClD7pG,KAAKoqG,UAAU/pG,EAAOypB,MAAM/nB,YAAc/B,KAAK4pG,OAAO9zC,WACtD91D,KAAKoqG,UAAU/pG,EAAOypB,MAAM2gF,YAAczqG,KAAK4pG,OAAOE,WACtD9pG,KAAKoqG,UAAU/pG,EAAOypB,MAAM4gF,MAAQ1qG,KAAK4pG,OAAOhB,KAChD5oG,KAAKoqG,UAAU/pG,EAAOypB,MAAM6gF,KAAO3qG,KAAK4pG,OAAON,IAC/CtpG,KAAKoqG,UAAU/pG,EAAOypB,MAAMhnB,OAAS9C,KAAK4pG,OAAOh0C,MACjD51D,KAAKoqG,UAAU/pG,EAAOypB,MAAM8gF,QAAU5qG,KAAK4pG,OAAOthC,OAClDtoE,KAAKoqG,UAAU/pG,EAAOypB,MAAM+gF,gBAAkB7qG,KAAK4pG,OAAOp0C,cAE1Dx1D,KAAK8qG,kBACL9qG,KAAK+qG,mBAQT1qG,EAAOypB,MAAMrpB,OAAS,EAMtBJ,EAAOypB,MAAM1oB,MAAQ,EAMrBf,EAAOypB,MAAMugF,QAAU,EAMvBhqG,EAAOypB,MAAMwgF,MAAQ,EAMrBjqG,EAAOypB,MAAMxoB,KAAO,EAMpBjB,EAAOypB,MAAMygF,QAAU,EAMvBlqG,EAAOypB,MAAMnoB,QAAU,EAMvBtB,EAAOypB,MAAM0gF,OAAS,EAMtBnqG,EAAOypB,MAAM/nB,WAAa,EAM1B1B,EAAOypB,MAAM2gF,WAAa,GAM1BpqG,EAAOypB,MAAM4gF,KAAO,GAMpBrqG,EAAOypB,MAAM6gF,IAAM,GAMnBtqG,EAAOypB,MAAMhnB,MAAQ,GAMrBzC,EAAOypB,MAAM8gF,OAAS,GAMtBvqG,EAAOypB,MAAM+gF,eAAiB,GAO9BxqG,EAAOypB,MAAMlkB,QAAU,KAOvBvF,EAAOypB,MAAMkhF,QAAU,KAEvB3qG,EAAOypB,MAAMvjB,WAiBT0kG,6BAA8B,SAAUphG,EAAKgsD,EAAKq1C,EAAWC,GAErDnrG,KAAKu/E,cAAc11E,IAEnB7J,KAAKorG,YAAYvhG,GAGrB,IAAIq6B,EAAQgnE,KAAa7qG,EAAOgrG,aAAgBhrG,EAAOgrG,aAAaH,GAAWC,GAAeA,EAE1FpnE,GACAl6B,IAAKA,EACLgsD,IAAKA,EACL3xB,KAAMA,EACNgtB,KAAM,IAAInrD,KAAKi1D,YAAY92B,EAAM,KAAMlkC,KAAKib,KAAKqN,YACjDgJ,MAAO,IAAIjxB,EAAO+6D,MAAM,EAAG,EAAG,EAAGl3B,EAAK/zB,MAAO+zB,EAAK9zB,OAAQvG,GAC1D6mD,UAAW,IAAIrwD,EAAO46D,UACtBqwC,WAAYJ,GAShB,OANAnnE,EAAQ2sB,UAAUyK,SAAS,IAAI96D,EAAO+6D,MAAM,EAAG,EAAG,EAAGl3B,EAAK/zB,MAAO+zB,EAAK9zB,OAAQylD,IAE9E71D,KAAK4pG,OAAO//E,MAAMhgB,GAAOk6B,EAEzB/jC,KAAKurG,YAAY11C,EAAK9xB,GAEfA,GAYXynE,UAAW,SAAU3hG,EAAKoiB,EAAQnH,QAEdxa,IAAZwa,IAAyBA,EAAUmH,EAAO6V,WAAW,OAEzD9hC,KAAK4pG,OAAO39E,OAAOpiB,IAASoiB,OAAQA,EAAQnH,QAASA,IAgBzD63C,SAAU,SAAU9yD,EAAKgsD,EAAK3xB,GAEtBlkC,KAAKu/E,cAAc11E,IAEnB7J,KAAKorG,YAAYvhG,IAGC,IAAlBq6B,EAAK+7D,UAEL33F,QAAQG,KAAK,iCAAmCoB,EAAM,gCAG1D,IAAImnD,GACAnnD,IAAKA,EACLgsD,IAAKA,EACL3xB,KAAMA,EACNgtB,KAAM,IAAInrD,KAAKi1D,YAAY92B,EAAM,KAAMlkC,KAAKib,KAAKqN,YACjDgJ,MAAO,IAAIjxB,EAAO+6D,MAAM,EAAG,EAAG,EAAGl3B,EAAK/zB,MAAO+zB,EAAK9zB,OAAQvG,GAC1D6mD,UAAW,IAAIrwD,EAAO46D,WAkB1B,OAfAjK,EAAIN,UAAUyK,SAAS,IAAI96D,EAAO+6D,MAAM,EAAG,EAAG,EAAGl3B,EAAK/zB,MAAO+zB,EAAK9zB,OAAQylD,IAE1E71D,KAAK4pG,OAAO//E,MAAMhgB,GAAOmnD,EAEzBhxD,KAAKurG,YAAY11C,EAAK7E,GAEV,cAARnnD,EAEAxJ,EAAOypB,MAAMlkB,QAAU,IAAIG,KAAK+qD,QAAQE,EAAIE,MAE/B,cAARrnD,IAELxJ,EAAOypB,MAAMkhF,QAAU,IAAIjlG,KAAK+qD,QAAQE,EAAIE,OAGzCF,GAaX85C,gBAAiB,WAEb,IAAIvqF,EAAQvgB,KACRgxD,EAAM,IAAIgC,MAEdhC,EAAI0L,OAAS,WACT,IAAIjzD,EAAM8W,EAAMo8C,SAAS,YAAa,KAAM3L,GAG5CvnD,EAAIynD,KAAKC,YAAa,EAGtB9wD,EAAOypB,MAAMlkB,QAAU,IAAIG,KAAK+qD,QAAQrnD,EAAIynD,MAE5CF,EAAI0L,OAAS,MAGjB1L,EAAIhlD,IAAM,0KAad++F,gBAAiB,WAEb,IAAIxqF,EAAQvgB,KACRgxD,EAAM,IAAIgC,MAEdhC,EAAI0L,OAAS,WACT,IAAIjzD,EAAM8W,EAAMo8C,SAAS,YAAa,KAAM3L,GAG5C3wD,EAAOypB,MAAMkhF,QAAU,IAAIjlG,KAAK+qD,QAAQrnD,EAAIynD,MAE5CF,EAAI0L,OAAS,MAGjB1L,EAAIhlD,IAAM,8WAcdy/F,SAAU,SAAU5hG,EAAKgsD,EAAK3xB,EAAMvI,EAAU+vE,QAEzBphG,IAAbqxB,IAA0BA,GAAW,EAAM+vE,GAAW,QACzCphG,IAAbohG,IAA0B/vE,GAAW,EAAO+vE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGd3rG,KAAK4pG,OAAOlpF,MAAM7W,IACdgsD,IAAKA,EACL3xB,KAAMA,EACN0nE,YAAY,EACZD,QAASA,EACThwE,SAAUA,EACV+vE,SAAUA,EACV5mE,OAAQ9kC,KAAKib,KAAKyF,MAAMmrF,aAG5B7rG,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAOlpF,MAAM7W,KAY5CiiG,QAAS,SAAUjiG,EAAKgsD,EAAK3xB,GAEzBlkC,KAAK4pG,OAAO/1C,KAAKhqD,IAASgsD,IAAKA,EAAK3xB,KAAMA,GAE1ClkC,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAO/1C,KAAKhqD,KAa3CkiG,eAAgB,SAAUliG,EAAKgsD,EAAK8yC,EAAUqD,GAE1ChsG,KAAK4pG,OAAO9oF,QAAQjX,IAASgsD,IAAKA,EAAK3xB,KAAMykE,EAAUqD,OAAQA,GAE/DhsG,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAO9oF,QAAQjX,KAa9CoiG,WAAY,SAAUpiG,EAAKgsD,EAAKq2C,EAASF,GAErChsG,KAAK4pG,OAAOv0C,QAAQxrD,IAASgsD,IAAKA,EAAK3xB,KAAMgoE,EAASF,OAAQA,GAE9DhsG,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAOv0C,QAAQxrD,KAW9CsiG,UAAW,SAAUtiG,EAAKuiG,GAEtBpsG,KAAK4pG,OAAOC,OAAOhgG,GAAOuiG,GAa9Br2C,cAAe,SAAUlsD,EAAKisD,EAAYpF,GAYtC,OAVAoF,EAAWjsD,IAAMA,OAECS,IAAdomD,IAEAA,EAAY,IAAIrwD,EAAO46D,WACbE,SAASrF,EAAWoF,cAGlCl7D,KAAK4pG,OAAO9zC,WAAWjsD,IAASq6B,KAAM4xB,EAAYpF,UAAWA,GAEtDoF,GAgBXu2C,cAAe,SAAUxiG,EAAKgsD,EAAK3xB,EAAMooE,EAAWC,EAAWx3C,EAAUC,GAErE,IAAIvrD,GACAosD,IAAKA,EACL3xB,KAAMA,EACNwwB,KAAM,KACNxD,KAAM,IAAInrD,KAAKi1D,YAAY92B,EAAM,KAAMlkC,KAAKib,KAAKqN,kBAGpChe,IAAbyqD,IAA0BA,EAAW,QACxBzqD,IAAb0qD,IAA0BA,EAAW,GAIrCvrD,EAAIirD,KAFU,SAAd63C,EAEWlsG,EAAOgrG,aAAamB,eAAeF,EAAW7iG,EAAIynD,KAAM6D,EAAUC,GAAU,EAAOh1D,KAAKib,KAAKqN,YAI7FjoB,EAAOgrG,aAAaoB,cAAcH,EAAW7iG,EAAIynD,KAAM6D,EAAUC,GAAU,EAAOh1D,KAAKib,KAAKqN,YAG3GtoB,KAAK4pG,OAAOE,WAAWjgG,GAAOJ,EAE9BzJ,KAAKurG,YAAY11C,EAAKpsD,IAwB1BijG,uBAAwB,SAAU7iG,EAAK8iG,EAAUC,EAAYC,EAASC,EAAU/3C,EAAUC,GAEtF,IAAI1jC,EAAQtxB,KAAK+lG,eAAe4G,EAAUC,GAE1C,GAAKt7E,EAAL,CAKA,IAAI7nB,GACAirD,KAAM,KACNxD,KAAMlxD,KAAK+sG,eAAeJ,GAC1Br7E,MAAOA,QAGMhnB,IAAbyqD,IAA0BA,EAAW,QACxBzqD,IAAb0qD,IAA0BA,EAAW,GAEzC,IAAIg4C,EAEa,SAAbF,GAEAE,EAAWhtG,KAAKitG,QAAQJ,GACxBpjG,EAAIirD,KAAOr0D,EAAOgrG,aAAamB,eAAeQ,EAAUvjG,EAAIynD,KAAM6D,EAAUC,EAAU1jC,EAAOtxB,KAAKib,KAAKqN,cAIvG0kF,EAAWhtG,KAAKktG,OAAOL,GACvBpjG,EAAIirD,KAAOr0D,EAAOgrG,aAAaoB,cAAcO,EAAUvjG,EAAIynD,KAAM6D,EAAUC,EAAU1jC,EAAOtxB,KAAKib,KAAKqN,aAG1GtoB,KAAK4pG,OAAOE,WAAWjgG,GAAOJ,IAYlC0jG,QAAS,SAAUtjG,EAAKgsD,EAAK3xB,GAEzBlkC,KAAK4pG,OAAOhB,KAAK/+F,IAASgsD,IAAKA,EAAK3xB,KAAMA,GAE1ClkC,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAOhB,KAAK/+F,KAY3CujG,OAAQ,SAAUvjG,EAAKgsD,EAAK3xB,GAExBlkC,KAAK4pG,OAAON,IAAIz/F,IAASgsD,IAAKA,EAAK3xB,KAAMA,GAEzClkC,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAON,IAAIz/F,KAa1CwjG,SAAU,SAAUxjG,EAAKgsD,EAAK3xB,EAAMopE,GAEhCttG,KAAK4pG,OAAOh0C,MAAM/rD,IAASgsD,IAAKA,EAAK3xB,KAAMA,EAAMopE,OAAQA,EAAQxoE,QAAQ,GAEzE9kC,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAOh0C,MAAM/rD,KAY5C0jG,UAAW,SAAU1jG,EAAKgsD,EAAK3xB,GAE3BlkC,KAAK4pG,OAAOthC,OAAOz+D,IAASgsD,IAAKA,EAAK3xB,KAAMA,GAE5ClkC,KAAKurG,YAAY11C,EAAK71D,KAAK4pG,OAAOthC,OAAOz+D,KAW7C8rD,iBAAkB,SAAU9rD,EAAKk6B,GAE7B/jC,KAAK4pG,OAAOp0C,cAAc3rD,IAASk6B,QAASA,EAASzS,MAAO,IAAIjxB,EAAO+6D,MAAM,EAAG,EAAG,EAAGr3B,EAAQ5zB,MAAO4zB,EAAQ3zB,OAAQ,GAAI,MAkB7Ho9F,eAAgB,SAAU3jG,EAAKgsD,EAAK3xB,EAAMuiD,EAAYC,EAAa6hB,EAAUC,EAAQC,EAASC,QAEzEp+F,IAAbi+F,IAA0BA,GAAY,QAC3Bj+F,IAAXk+F,IAAwBA,EAAS,QACrBl+F,IAAZm+F,IAAyBA,EAAU,GAEvC,IAAIh/F,GACAI,IAAKA,EACLgsD,IAAKA,EACL3xB,KAAMA,EACNuiD,WAAYA,EACZC,YAAaA,EACb8hB,OAAQA,EACRC,QAASA,EACTv3C,KAAM,IAAInrD,KAAKi1D,YAAY92B,EAAM,KAAMlkC,KAAKib,KAAKqN,YACjDooC,UAAWrwD,EAAOgoG,gBAAgBC,YAAYtoG,KAAKib,KAAMipB,EAAMuiD,EAAYC,EAAa6hB,EAAUC,EAAQC,EAASC,IAGvH1oG,KAAK4pG,OAAO//E,MAAMhgB,GAAOJ,EAEzBzJ,KAAKurG,YAAY11C,EAAKpsD,IAc1BgkG,gBAAiB,SAAU5jG,EAAKgsD,EAAK3xB,EAAMooE,EAAWN,GAElD,IAAIviG,GACAI,IAAKA,EACLgsD,IAAKA,EACL3xB,KAAMA,EACNgtB,KAAM,IAAInrD,KAAKi1D,YAAY92B,EAAM,KAAMlkC,KAAKib,KAAKqN,aAGjD0jF,IAAW3rG,EAAOs6B,OAAO+yE,2BAEzBjkG,EAAIinD,UAAYrwD,EAAOgoG,gBAAgBgB,QAAQrpG,KAAKib,KAAMqxF,EAAWziG,GAEhEmiG,IAAW3rG,EAAOs6B,OAAOgzE,yBAE9BlkG,EAAIinD,UAAYrwD,EAAOgoG,gBAAgBY,cAAcjpG,KAAKib,KAAMqxF,EAAWziG,GAKvEnD,MAAMa,QAAQ+kG,EAAUjqB,QAExB54E,EAAIinD,UAAYrwD,EAAOgoG,gBAAgBM,SAAS3oG,KAAKib,KAAMqxF,EAAWziG,GAItEJ,EAAIinD,UAAYrwD,EAAOgoG,gBAAgBe,aAAappG,KAAKib,KAAMqxF,EAAWziG,GAIlF7J,KAAK4pG,OAAO//E,MAAMhgB,GAAOJ,EAEzBzJ,KAAKurG,YAAY11C,EAAKpsD,IAc1BmkG,YAAa,SAAU/jG,GAEnB,IAAIqd,EAAQlnB,KAER0gB,EAAQ1gB,KAAK6tG,SAAShkG,GAEtB6W,IAEAA,EAAMwjB,KAAKl4B,IAAM0U,EAAMm1C,IAEvBn1C,EAAMwjB,KAAKjX,iBAAiB,iBAAkB,WAC1C,OAAO/F,EAAM4mF,oBAAoBjkG,KAClC,GAEH6W,EAAMwjB,KAAKzjB,SAWnBqtF,oBAAqB,SAAUjkG,GAE3B,IAAI6W,EAAQ1gB,KAAK6tG,SAAShkG,GAEtB6W,IAEAA,EAAMokB,QAAS,EACf9kC,KAAKmqG,cAAc7qF,SAASzV,KAWpCkkG,YAAa,SAAUlkG,EAAK6pB,EAAU3pB,GAElC,IAAI2W,EAAQ1gB,KAAK6tG,SAAShkG,GAEtB6W,IAEAA,EAAMgT,GAAY3pB,IAY1BikG,aAAc,SAAUnkG,EAAKq6B,GAEzB,IAAIxjB,EAAQ1gB,KAAK6tG,SAAShkG,GAE1B6W,EAAMwjB,KAAOA,EACbxjB,EAAMirF,SAAU,EAChBjrF,EAAMkrF,YAAa,GAWvBqC,eAAgB,SAAUpkG,GAEtB,IAAI6W,EAAQ1gB,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMwgF,MAAO,kBAElD,GAAI5pF,EAEA,OAAOA,EAAMirF,SAarBuC,aAAc,SAAUrkG,GAEpB,IAAI6W,EAAQ1gB,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMwgF,MAAO,kBAElD,GAAI5pF,EAEA,OAAQA,EAAMirF,UAAY3rG,KAAKib,KAAKyF,MAAMmrF,aAiBlDsC,SAAU,SAAU5tF,EAAO1W,GAEvB,QAAI7J,KAAKoqG,UAAU7pF,GAAO1W,IAmB9BukG,SAAU,SAAUv4C,GAEhB,QAAI71D,KAAKgqG,QAAQhqG,KAAKurG,YAAY11C,KAgBtCw4C,eAAgB,SAAUxkG,GAEtB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMrpB,OAAQoJ,IAW9C01E,cAAe,SAAU11E,GAErB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM1oB,MAAOyI,IAW7CykG,gBAAiB,SAAUzkG,GAEvB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMugF,QAASxgG,IAW/C0kG,cAAe,SAAU1kG,GAErB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMwgF,MAAOzgG,IAW7C2kG,aAAc,SAAU3kG,GAEpB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMxoB,KAAMuI,IAW5C4kG,gBAAiB,SAAU5kG,GAEvB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMygF,QAAS1gG,IAW/C6kG,gBAAiB,SAAU7kG,GAEvB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMnoB,QAASkI,IAW/C8kG,eAAgB,SAAU9kG,GAEtB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM0gF,OAAQ3gG,IAW9C+kG,mBAAoB,SAAU/kG,GAE1B,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM/nB,WAAY8H,IAWlDglG,mBAAoB,SAAUhlG,GAE1B,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM2gF,WAAY5gG,IAWlDilG,aAAc,SAAUjlG,GAEpB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM4gF,KAAM7gG,IAW5CklG,YAAa,SAAUllG,GAEnB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM6gF,IAAK9gG,IAW3CmlG,cAAe,SAAUnlG,GAErB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAMhnB,MAAO+G,IAW7ColG,eAAgB,SAAUplG,GAEtB,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM8gF,OAAQ/gG,IAW9CqlG,sBAAuB,SAAUrlG,GAE7B,OAAO7J,KAAKmuG,SAAS9tG,EAAOypB,MAAM+gF,eAAgBhhG,IAqBtD0lF,QAAS,SAAU1lF,EAAK0W,EAAOkU,EAAQf,GAEnC,OAAK1zB,KAAKmuG,SAAS5tF,EAAO1W,QASLS,IAAbopB,EAEO1zB,KAAKoqG,UAAU7pF,GAAO1W,GAItB7J,KAAKoqG,UAAU7pF,GAAO1W,GAAK6pB,IAblCe,GAEAnsB,QAAQG,KAAK,gBAAkBgsB,EAAS,UAAY5qB,EAAM,yBAe3D,OAeXu1D,UAAW,SAAUv1D,GAEjB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMrpB,OAAQ,YAAa,WAoB/DwwD,SAAU,SAAUpnD,EAAKslG,QAET7kG,IAART,GAA6B,OAARA,IAErBA,EAAM,kBAGGS,IAAT6kG,IAAsBA,GAAO,GAEjC,IAAKn+C,EAAMhxD,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM1oB,MAAO,YAOjD,OALY,OAAR4vD,IAEAA,EAAMhxD,KAAKuvF,QAAQ,YAAalvF,EAAOypB,MAAM1oB,MAAO,aAGpD+tG,EAEOn+C,EAIAA,EAAI9sB,MAcnBkrE,gBAAiB,SAAUvlG,GAEvB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMugF,QAAS,kBAAmB,UAetEwD,SAAU,SAAUhkG,GAEhB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMwgF,MAAO,aAejD+E,aAAc,SAAUxlG,GAEpB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMwgF,MAAO,eAAgB,SAejEgF,QAAS,SAAUzlG,GAEf,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMxoB,KAAM,UAAW,SAmB3DiuG,eAAgB,SAAU1lG,EAAKusB,EAAQo5E,GAEnC,IAAItrE,EAAOlkC,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMygF,QAAS,iBAAkB,QAErE,GAAa,OAATrmE,QAA4B55B,IAAX8rB,GAAmC,OAAXA,EAEzC,OAAO8N,EAIP,GAAIA,EAAK9N,GACT,CACI,IAAIq5E,EAAWvrE,EAAK9N,GAGpB,IAAIq5E,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKfpnG,QAAQG,KAAK,kEAAoE+mG,EAAa,OAAS3lG,EAAM,UASjHvB,QAAQG,KAAK,qDAAuDoB,EAAM,MAAQusB,EAAS,KAInG,OAAO,MAeXu5E,eAAgB,SAAU9lG,GAEtB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMnoB,QAAS,mBAenDiuG,UAAW,SAAU/lG,GAEjB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM0gF,OAAQ,cAelDqF,cAAe,SAAUhmG,GAErB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM/nB,WAAY,gBAAiB,SAevEm8E,cAAe,SAAUr0E,GAErB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM2gF,WAAY,kBAmBtDwC,QAAS,SAAUpjG,EAAKsC,GAEpB,IAAI+3B,EAAOlkC,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM4gF,KAAM,UAAW,QAE3D,OAAIxmE,EAEI/3B,EAEO9L,EAAO6I,MAAM2C,QAAO,EAAMnF,MAAMa,QAAQ28B,SAAiBA,GAIzDA,EAKJ,MAgBfgpE,OAAQ,SAAUrjG,GAEd,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM6gF,IAAK,SAAU,SAezDmF,SAAU,SAAUjmG,GAEhB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAMhnB,MAAO,aAejDitG,UAAW,SAAUlmG,GAEjB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM8gF,OAAQ,YAAa,SAe/DoF,iBAAkB,SAAUnmG,GAExB,OAAO7J,KAAKuvF,QAAQ1lF,EAAKxJ,EAAOypB,MAAM+gF,eAAgB,qBAgB1DkC,eAAgB,SAAUljG,EAAK0W,GAI3B,YAFcjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAEzCpB,KAAKuvF,QAAQ1lF,EAAK0W,EAAO,iBAAkB,SAYtDulF,SAAU,SAAUj8F,EAAK0W,GAIrB,YAFcjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAEzCpB,KAAKuvF,QAAQ1lF,EAAK0W,EAAO,WAAY,UAYhD0vF,cAAe,SAAUpmG,EAAK0W,GAE1B,IAAI2jB,EAAOlkC,KAAKywD,aAAa5mD,EAAK0W,GAElC,OAAI2jB,EAEOA,EAAKvO,MAIL,GAiBf86B,aAAc,SAAU5mD,EAAK0W,GAIzB,YAFcjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAEzCpB,KAAKuvF,QAAQ1lF,EAAK0W,EAAO,eAAgB,cAYpDgwC,aAAc,SAAU1mD,EAAK0W,GAIzB,YAFcjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAEM,OAA9CpB,KAAKuvF,QAAQ1lF,EAAK0W,EAAO,GAAI,cAYzC6/D,gBAAiB,SAAUv2E,EAAK6mD,EAAWnwC,QAEzBjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAE5CpB,KAAKoqG,UAAU7pF,GAAO1W,KAEtB7J,KAAKoqG,UAAU7pF,GAAO1W,GAAK6mD,UAAYA,IAc/Cw/C,gBAAiB,SAAUrmG,EAAKd,EAAOwX,GAEnC,IAAI2jB,EAAOlkC,KAAKywD,aAAa5mD,EAAK0W,GAElC,OAAI2jB,EAEOA,EAAK4hE,SAAS/8F,GAId,MAcfg9F,eAAgB,SAAUl8F,EAAKkC,EAAMwU,GAEjC,IAAI2jB,EAAOlkC,KAAKywD,aAAa5mD,EAAK0W,GAElC,OAAI2jB,EAEOA,EAAK6hE,eAAeh6F,GAIpB,MAcfokG,OAAQ,SAAUt6C,GAId,OAFIA,EAAM71D,KAAKurG,YAAY11C,IAIhB71D,KAAKgqG,QAAQn0C,IAIpBvtD,QAAQG,KAAK,sCAAwCotD,EAAO,uCACrD,OAYfu6C,QAAS,SAAU7vF,QAEDjW,IAAViW,IAAuBA,EAAQlgB,EAAOypB,MAAM1oB,OAEhD,IAAIoM,KAEJ,GAAIxN,KAAKoqG,UAAU7pF,GAEf,IAAK,IAAI1W,KAAO7J,KAAKoqG,UAAU7pF,GAEf,cAAR1W,GAA+B,cAARA,GAEvB2D,EAAI2F,KAAKtJ,GAKrB,OAAO2D,GAiBX6iG,aAAc,SAAUxmG,UAEb7J,KAAK4pG,OAAO39E,OAAOpiB,IAgB9BuhG,YAAa,SAAUvhG,EAAKymG,QAEGhmG,IAAvBgmG,IAAoCA,GAAqB,GAE7D,IAAIt/C,EAAMhxD,KAAKixD,SAASpnD,GAAK,GAEzBymG,GAAsBt/C,EAAIE,MAE1BF,EAAIE,KAAK3sC,iBAGNvkB,KAAK4pG,OAAO//E,MAAMhgB,IAiB7B0mG,YAAa,SAAU1mG,UAEZ7J,KAAK4pG,OAAOlpF,MAAM7W,IAa7B2mG,WAAY,SAAU3mG,UAEX7J,KAAK4pG,OAAO/1C,KAAKhqD,IAa5B4mG,cAAe,SAAU5mG,UAEd7J,KAAK4pG,OAAO9oF,QAAQjX,IAa/B6mG,cAAe,SAAU7mG,UAEd7J,KAAK4pG,OAAOv0C,QAAQxrD,IAa/B8mG,aAAc,SAAU9mG,UAEb7J,KAAK4pG,OAAOC,OAAOhgG,IAa9B+mG,iBAAkB,SAAU/mG,UAEjB7J,KAAK4pG,OAAO9zC,WAAWjsD,IAalCgnG,iBAAkB,SAAUhnG,UAEjB7J,KAAK4pG,OAAOE,WAAWjgG,IAalCinG,WAAY,SAAUjnG,UAEX7J,KAAK4pG,OAAOhB,KAAK/+F,IAa5BknG,UAAW,SAAUlnG,UAEV7J,KAAK4pG,OAAON,IAAIz/F,IAa3BmnG,YAAa,SAAUnnG,UAEZ7J,KAAK4pG,OAAOh0C,MAAM/rD,IAa7BonG,aAAc,SAAUpnG,UAEb7J,KAAK4pG,OAAOthC,OAAOz+D,IAa9BqnG,oBAAqB,SAAUrnG,UAEpB7J,KAAK4pG,OAAOp0C,cAAc3rD,IAarCsnG,kBAAmB,SAAUtnG,UAElB7J,KAAK4pG,OAAOtB,YAAYz+F,IAanCunG,mBAAoB,SAAUvnG,UAEnB7J,KAAK4pG,OAAO//E,MAAMhgB,IAW7B4yB,gBAAiB,WAEb,IAAK,IAAI5yB,KAAO7J,KAAK4pG,OAAO//E,MAExB7pB,KAAK4pG,OAAO//E,MAAMhgB,GAAKqnD,KAAKwkB,gBAepC61B,YAAa,SAAU11C,EAAK3xB,GAExB,OAAKlkC,KAAK2pG,gBAKV3pG,KAAKiqG,aAAaj+F,IAAMhM,KAAKib,KAAKwF,KAAK4wF,QAAUx7C,EAEjD71D,KAAKkqG,SAAWlqG,KAAKiqG,aAAaj+F,IAGlChM,KAAKiqG,aAAaj+F,IAAM,GAGpBk4B,IAEAlkC,KAAKgqG,QAAQhqG,KAAKkqG,UAAYhmE,GAG3BlkC,KAAKkqG,UAhBD,MA4Bf3lF,QAAS,WAEL,IAAK,IAAIvc,EAAI,EAAGA,EAAIhI,KAAKoqG,UAAUriG,OAAQC,IAC3C,CACI,IAAIuY,EAAQvgB,KAAKoqG,UAAUpiG,GAE3B,IAAK,IAAI6B,KAAO0W,EAEA,cAAR1W,GAA+B,cAARA,IAEvB7J,KAAKsxG,YAAY/wF,EAAM1W,WAEhB0W,EAAM1W,IAKzB7J,KAAKgqG,QAAU,KACfhqG,KAAKiqG,aAAe,KACpBjqG,KAAKkqG,SAAW,MASpBoH,YAAa,SAAUxkB,GAEfA,EAAKvoE,QAELuoE,EAAKvoE,WAIDuoE,EAAK57B,MAAQ47B,EAAK57B,KAAK3sC,SAEvBuoE,EAAK57B,KAAK3sC,UAGVuoE,EAAK5oD,MAAQ4oD,EAAK5oD,KAAK3f,SAEvBuoE,EAAK5oD,KAAK3f,UAGVuoE,EAAKp8B,WAAao8B,EAAKp8B,UAAUnsC,SAEjCuoE,EAAKp8B,UAAUnsC,UAGfuoE,EAAK/oD,SAAW+oD,EAAK/oD,QAAQxf,SAE7BuoE,EAAK/oD,QAAQxf,SAAQ,MAQrClkB,EAAOypB,MAAMvjB,UAAU8B,YAAchI,EAAOypB,MAuB5CzpB,EAAOs6B,OAAS,SAAU1f,GAOtBjb,KAAKib,KAAOA,EAOZjb,KAAKugB,MAAQtF,EAAKsF,MAOlBvgB,KAAKqgC,aAAc,EAOnBrgC,KAAKuxG,WAAY,EAOjBvxG,KAAK21E,WAAY,EAUjB31E,KAAKwxG,cAAgB,KAOrBxxG,KAAKyxG,aAAc,EASnBzxG,KAAKqxG,QAAU,GAoBfrxG,KAAKmzE,KAAO,GAmBZnzE,KAAK0xG,SACDC,eAAiB,EACjB/I,KAAQ,mBACRU,IAAO,mBASXtpG,KAAK4xG,YAAc,IAAIvxG,EAAOwb,OAO9B7b,KAAK6xG,eAAiB,IAAIxxG,EAAOwb,OAWjC7b,KAAK8xG,eAAiB,IAAIzxG,EAAOwb,OAUjC7b,KAAK+xG,YAAc,IAAI1xG,EAAOwb,OAa9B7b,KAAKgyG,eAAiB,IAAI3xG,EAAOwb,OAWjC7b,KAAKiyG,YAAc,IAAI5xG,EAAOwb,OAU9B7b,KAAKkyG,mBAAoB,EAMzBlyG,KAAKmyG,4BAA6B,EASlCnyG,KAAKoyG,gBAAiB,EAWtBpyG,KAAKqyG,qBAAuB,EAM5BryG,KAAKsyG,oBAAsB,EAU3BtyG,KAAKuyG,aAcLvyG,KAAKwyG,gBAQLxyG,KAAKyyG,gBAAkB,EASvBzyG,KAAK0yG,kBAAmB,EAOxB1yG,KAAK2yG,gBAAkB,EAOvB3yG,KAAK4yG,gBAAkB,EAOvB5yG,KAAK6yG,iBAAmB,EAOxB7yG,KAAK8yG,iBAAmB,GAQ5BzyG,EAAOs6B,OAAOo4E,yBAA2B,EAMzC1yG,EAAOs6B,OAAOq4E,wBAA0B,EAMxC3yG,EAAOs6B,OAAO+yE,2BAA6B,EAM3CrtG,EAAOs6B,OAAOs4E,yBAA2B,EAMzC5yG,EAAOs6B,OAAOu4E,oBAAsB,EAMpC7yG,EAAOs6B,OAAOgzE,yBAA2B,EAEzCttG,EAAOs6B,OAAOp0B,WAcV4sG,iBAAkB,SAAUh7E,EAAQ5Z,GAEhCA,EAAYA,GAAa,EAEzBve,KAAKwxG,eAAkBr5E,OAAQA,EAAQ5Z,UAAWA,EAAWpO,MAAOgoB,EAAOhoB,MAAOC,OAAQ+nB,EAAO/nB,OAAQ6D,KAAM,MAK3GjU,KAAKwxG,cAAcv9F,KAHL,IAAdsK,EAG0B,IAAIle,EAAO2N,UAAU,EAAG,EAAG,EAAGmqB,EAAO/nB,QAKrC,IAAI/P,EAAO2N,UAAU,EAAG,EAAGmqB,EAAOhoB,MAAO,GAGvEgoB,EAAOic,KAAKp0C,KAAKwxG,cAAcv9F,MAE/BkkB,EAAO7c,SAAU,GAYrB9B,OAAQ,WAEAxZ,KAAKwxG,eAAiBxxG,KAAKwxG,cAAcphG,SAAWpQ,KAAKwxG,cAAcr5E,OAAO/nB,SAE9EpQ,KAAKwxG,cAAcv9F,KAAK7D,OAASpQ,KAAKwxG,cAAcr5E,OAAO/nB,SAenEgjG,eAAgB,SAAUhrG,EAAMyB,GAE5B,OAAO7J,KAAKqzG,cAAcjrG,EAAMyB,IAAQ,GAe5CwpG,cAAe,SAAUjrG,EAAMyB,GAI3B,IAAK,IAFDypG,GAAa,EAERtrG,EAAI,EAAGA,EAAIhI,KAAKuyG,UAAUxqG,OAAQC,IAC3C,CACI,IAAIohF,EAAOppF,KAAKuyG,UAAUvqG,GAE1B,GAAIohF,EAAKhhF,OAASA,GAAQghF,EAAKv/E,MAAQA,IAEnCypG,EAAYtrG,GAGPohF,EAAKmqB,SAAWnqB,EAAKoqB,SAEtB,MAKZ,OAAOF,GAeXG,SAAU,SAAUrrG,EAAMyB,GAEtB,IAAI6pG,EAAY1zG,KAAKqzG,cAAcjrG,EAAMyB,GAEzC,OAAI6pG,GAAa,IAEJ3qG,MAAO2qG,EAAWtqB,KAAMppF,KAAKuyG,UAAUmB,KAmBxDvzF,MAAO,SAAUuiB,EAAM+hE,QAECn6F,IAAhBm6F,IAA6BA,GAAc,GAE3CzkG,KAAKqgC,cAKLqC,IAEA1iC,KAAKwxG,cAAgB,MAGzBxxG,KAAKuxG,WAAY,EAEjBvxG,KAAKyyG,gBAAkB,EACvBzyG,KAAKuyG,UAAUxqG,OAAS,EACxB/H,KAAKwyG,aAAazqG,OAAS,EAE3B/H,KAAK0yG,kBAAmB,EACxB1yG,KAAK4yG,gBAAkB,EACvB5yG,KAAK2yG,gBAAkB,EACvB3yG,KAAK6yG,iBAAmB,EACxB7yG,KAAK8yG,iBAAmB,EAEpBrO,IAEAzkG,KAAK4xG,YAAYvtF,YACjBrkB,KAAK6xG,eAAextF,YACpBrkB,KAAK8xG,eAAeztF,YACpBrkB,KAAK+xG,YAAY1tF,YACjBrkB,KAAKgyG,eAAe3tF,YACpBrkB,KAAKiyG,YAAY5tF,eAkBzBsvF,cAAe,SAAUvrG,EAAMyB,EAAKgsD,EAAKmnB,EAAY42B,EAAW1I,GAI5D,QAFkB5gG,IAAdspG,IAA2BA,GAAY,QAE/BtpG,IAART,GAA6B,KAARA,EAGrB,OADAvB,QAAQG,KAAK,kDAAoDL,GAC1DpI,KAGX,QAAYsK,IAARurD,GAA6B,OAARA,EACzB,CACI,IAAIq1C,EAOA,OADA5iG,QAAQG,KAAK,8CAAgDL,EAAO,SAAWyB,GACxE7J,KALP61D,EAAMhsD,EAAMqhG,EASpB,IAAI9hB,GACAhhF,KAAMA,EACNyB,IAAKA,EACLspE,KAAMnzE,KAAKmzE,KACXtd,IAAKA,EACLg+C,UAAW7zG,KAAKsyG,oBAAsB,EACtCpuE,KAAM,KACNsvE,SAAS,EACTD,QAAQ,EACR3lB,OAAO,GAGX,GAAI5Q,EAEA,IAAK,IAAItzE,KAAQszE,EAEboM,EAAK1/E,GAAQszE,EAAWtzE,GAIhC,IAAIgqG,EAAY1zG,KAAKqzG,cAAcjrG,EAAMyB,GAEzC,GAAI+pG,GAAaF,GAAa,EAC9B,CACI,IAAII,EAAc9zG,KAAKuyG,UAAUmB,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrCvzG,KAAKuyG,UAAUp/F,KAAKi2E,GACpBppF,KAAK4yG,mBALL5yG,KAAKuyG,UAAUmB,GAAatqB,OAQZ,IAAfsqB,IAEL1zG,KAAKuyG,UAAUp/F,KAAKi2E,GACpBppF,KAAK4yG,mBAGT,OAAO5yG,MAcX+zG,kBAAmB,SAAU3rG,EAAMyB,EAAKgsD,EAAKmnB,GAEzC,OAAOh9E,KAAK2zG,cAAcvrG,EAAMyB,EAAKgsD,EAAKmnB,GAAY,IA0B1Dg3B,KAAM,SAAUnqG,EAAKgsD,EAAK3xB,EAAM1gB,GAM5B,QAJYlZ,IAARurD,IAAqBA,EAAM,WAClBvrD,IAAT45B,IAAsBA,EAAO,WACT55B,IAApBkZ,IAAiCA,EAAkB,OAElDqyC,IAAQ3xB,EAIT,OAFA57B,QAAQG,KAAK,qEAENzI,KAGX,IAAIg0G,GACA5rG,KAAM,WACNyB,IAAKA,EACLgsD,IAAKA,EACLsd,KAAMnzE,KAAKmzE,KACX0gC,WAAW,EACX3vE,KAAM,KACNsvE,SAAS,EACTD,QAAQ,EACR3lB,OAAO,EACPpqE,gBAAiBA,GAIjB0gB,IAEoB,iBAATA,IAEPA,EAAOwmE,KAAK7yF,MAAMqsB,IAGtB8vE,EAAK9vE,KAAOA,MAGZ8vE,EAAKT,QAAS,GAKlB,IAAK,IAAIvrG,EAAI,EAAGA,EAAIhI,KAAKuyG,UAAUxqG,OAAS,EAAGC,IAC/C,CACI,IAAIohF,EAAOppF,KAAKuyG,UAAUvqG,GAE1B,IAAKohF,IAAUA,EAAKmqB,SAAWnqB,EAAKoqB,SAAyB,aAAdpqB,EAAKhhF,KACpD,CACIpI,KAAKuyG,UAAU3uF,OAAO5b,EAAG,EAAGgsG,GAC5Bh0G,KAAK2yG,kBACL,OAIR,OAAO3yG,MAqDX6pB,MAAO,SAAUhgB,EAAKgsD,EAAK+9C,GAEvB,MAAmB,iBAAR/9C,EAEA71D,KAAK+jC,QAAQl6B,EAAKgsD,EAAK+9C,GAIvB5zG,KAAK2zG,cAAc,QAAS9pG,EAAKgsD,OAAKvrD,EAAWspG,EAAW,SAc3EK,oBAAqB,SAAUpqG,EAAKisD,EAAY89C,GAE5C,OAAO5zG,KAAK6pB,MAAMhgB,EAAKisD,EAAW7pC,OAAO2wC,UAAU,aAAcg3C,IAgDrE7vE,QAAS,SAAUl6B,EAAKusB,EAAQw9E,GAE5B,GAAI5zG,KAAKib,KAAK4J,aAAexkB,EAAOK,MACpC,CACI,IACIwzG,EADAC,EAAcn0G,KAAKib,KAAKud,SAAS47E,WAAWD,YAGhD,IAAKD,KAAS99E,EAEV,GAAI89E,EAAM1xB,gBAAiB2xB,EAEvB,OAAOn0G,KAAK2zG,cAAc,UAAW9pG,EAAKusB,EAAO89E,QAAQ5pG,EAAWspG,EAAW,QAa3F,OALIx9E,EAAkB,WAElBp2B,KAAK2zG,cAAc,QAAS9pG,EAAKusB,EAAkB,eAAG9rB,EAAWspG,EAAW,QAGzE5zG,MA4BXq0G,OAAQ,SAAU5nG,EAAM6nG,GAEpB,GAAI5tG,MAAMa,QAAQ+sG,GAEd,IAAStsG,EAAI,EAAGA,EAAIyE,EAAK1E,OAAQC,IAE7BhI,KAAK6pB,MAAMpd,EAAKzE,GAAIssG,EAAKtsG,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAIyE,EAAK1E,OAAQC,IAE7BhI,KAAK6pB,MAAMpd,EAAKzE,IAIxB,OAAOhI,MAyBX6zD,KAAM,SAAUhqD,EAAKgsD,EAAK+9C,GAEtB,OAAO5zG,KAAK2zG,cAAc,OAAQ9pG,EAAKgsD,OAAKvrD,EAAWspG,EAAW,SA0BtEhL,KAAM,SAAU/+F,EAAKgsD,EAAK+9C,GAEtB,OAAO5zG,KAAK2zG,cAAc,OAAQ9pG,EAAKgsD,OAAKvrD,EAAWspG,EAAW,UAyBtEtrC,OAAQ,SAAUz+D,EAAKgsD,EAAK+9C,GAExB,OAAO5zG,KAAK2zG,cAAc,SAAU9pG,EAAKgsD,OAAKvrD,EAAWspG,EAAW,UAyBxEtK,IAAK,SAAUz/F,EAAKgsD,EAAK+9C,GAErB,OAAO5zG,KAAK2zG,cAAc,MAAO9pG,EAAKgsD,OAAKvrD,EAAWspG,EAAW,SA6BrEW,OAAQ,SAAU1qG,EAAKgsD,EAAKxhC,EAAU7Q,GAMlC,YAJiBlZ,IAAb+pB,IAA0BA,GAAW,IAExB,IAAbA,QAA0C/pB,IAApBkZ,IAAiCA,EAAkBxjB,MAEtEA,KAAK2zG,cAAc,SAAU9pG,EAAKgsD,GAAOg+C,WAAW,EAAMx/E,SAAUA,EAAU7Q,gBAAiBA,IAAmB,EAAO,QA+BpIqmF,OAAQ,SAAUhgG,EAAKgsD,EAAKxhC,EAAU7Q,GAOlC,YALiBlZ,IAAb+pB,IAA0BA,GAAW,IAGxB,IAAbA,QAA0C/pB,IAApBkZ,IAAiCA,EAAkB6Q,GAEtEr0B,KAAK2zG,cAAc,SAAU9pG,EAAKgsD,GAAOxhC,SAAUA,EAAU7Q,gBAAiBA,IAAmB,EAAO,SAqCnHgxF,YAAa,SAAU3qG,EAAKgsD,EAAK4wB,EAAYC,EAAa6hB,EAAUC,EAAQC,EAASC,GAOjF,YALiBp+F,IAAbi+F,IAA0BA,GAAY,QAC3Bj+F,IAAXk+F,IAAwBA,EAAS,QACrBl+F,IAAZm+F,IAAyBA,EAAU,QACpBn+F,IAAfo+F,IAA4BA,EAAa,GAEtC1oG,KAAK2zG,cAAc,cAAe9pG,EAAKgsD,GAAO4wB,WAAYA,EAAYC,YAAaA,EAAa6hB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA6BlMn1C,MAAO,SAAU1pD,EAAKyqG,EAAMG,GAExB,OAAIz0G,KAAKib,KAAKyF,MAAMg0F,QAET10G,WAGQsK,IAAfmqG,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAAQA,IAGLt0G,KAAK2zG,cAAc,QAAS9pG,EAAKyqG,GAAQx5C,OAAQ,KAAM25C,WAAYA,MA4B9EjhD,YAAa,SAAU3pD,EAAKyqG,EAAMK,EAASC,EAAUH,GAEjD,OAAIz0G,KAAKib,KAAKyF,MAAMg0F,QAET10G,WAGKsK,IAAZqqG,IAAyBA,EAAU,WACtBrqG,IAAbsqG,IAA0BA,EAAW,WACtBtqG,IAAfmqG,IAA4BA,GAAa,GAE7Cz0G,KAAKuzD,MAAM1pD,EAAKyqG,EAAMG,GAElBE,EAEA30G,KAAK4oG,KAAK/+F,EAAM,cAAe8qG,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAWlK,KAAK7yF,MAAM+8F,IAG1B50G,KAAKugB,MAAM4sF,QAAQtjG,EAAM,cAAe,GAAI+qG,IAI5CtsG,QAAQG,KAAK,8FAGVzI,OAgBX60G,YAAa,SAAUhrG,EAAKyqG,EAAMK,EAASC,EAAUH,GAEjD,OAAOz0G,KAAKwzD,YAAY3pD,EAAKyqG,EAAMK,EAASC,EAAUH,IAiC1D7+C,MAAO,SAAU/rD,EAAKyqG,EAAMQ,EAAWC,GAqBnC,YAnBkBzqG,IAAdwqG,IAIIA,EAFA90G,KAAKib,KAAKqS,OAAO08D,QAEL,aAIA,uBAIL1/E,IAAXyqG,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAAQA,IAGLt0G,KAAK2zG,cAAc,QAAS9pG,EAAKyqG,GAAQx5C,OAAQ,KAAMi6C,OAAQA,EAAQD,UAAWA,KAqC7Fz/C,QAAS,SAAUxrD,EAAKgsD,EAAK3xB,EAAM8nE,GAmB/B,QAjBY1hG,IAARurD,IAAqBA,EAAM,WAClBvrD,IAAT45B,IAAsBA,EAAO,WAClB55B,IAAX0hG,IAAwBA,EAAS3rG,EAAOuwD,QAAQokD,KAE/Cn/C,GAAQ3xB,IAIL2xB,EAFAm2C,IAAW3rG,EAAOuwD,QAAQokD,IAEpBnrG,EAAM,OAINA,EAAM,SAKhBq6B,EACJ,CACI,OAAQ8nE,GAGJ,KAAK3rG,EAAOuwD,QAAQokD,IAChB,MAGJ,KAAK30G,EAAOuwD,QAAQqkD,WAEI,iBAAT/wE,IAEPA,EAAOwmE,KAAK7yF,MAAMqsB,IAK9BlkC,KAAKugB,MAAM0rF,WAAWpiG,EAAK,KAAMq6B,EAAM8nE,QAIvChsG,KAAK2zG,cAAc,UAAW9pG,EAAKgsD,GAAOm2C,OAAQA,IAGtD,OAAOhsG,MAmCX8gB,QAAS,SAAUjX,EAAKgsD,EAAK3xB,EAAM8nE,GA0B/B,YAxBY1hG,IAARurD,IAAqBA,EAAM,WAClBvrD,IAAT45B,IAAsBA,EAAO,WAClB55B,IAAX0hG,IAAwBA,EAAS3rG,EAAOmuB,QAAQ0mF,kBAE/Cr/C,GAAQ3xB,IAET2xB,EAAMhsD,EAAM,SAIZq6B,GAEoB,iBAATA,IAEPA,EAAOwmE,KAAK7yF,MAAMqsB,IAGtBlkC,KAAKugB,MAAMwrF,eAAeliG,EAAK,KAAMq6B,EAAM8nE,IAI3ChsG,KAAK2zG,cAAc,UAAW9pG,EAAKgsD,GAAOm2C,OAAQA,IAG/ChsG,MA0CX8pG,WAAY,SAAUjgG,EAAKsrG,EAAYC,EAAU9I,EAAWv3C,EAAUC,GAmBlE,QAjBmB1qD,IAAf6qG,GAA2C,OAAfA,IAE5BA,EAAatrG,EAAM,aAGNS,IAAb8qG,IAA0BA,EAAW,WACvB9qG,IAAdgiG,IAA2BA,EAAY,MAE1B,OAAb8I,GAAmC,OAAd9I,IAErB8I,EAAWvrG,EAAM,aAGJS,IAAbyqD,IAA0BA,EAAW,QACxBzqD,IAAb0qD,IAA0BA,EAAW,GAGrCogD,EAEAp1G,KAAK2zG,cAAc,aAAc9pG,EAAKsrG,GAAcC,SAAUA,EAAUrgD,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAds3C,EACX,CACI,IAAI1D,EAAMU,EAEV,IAEIV,EAAO8B,KAAK7yF,MAAMy0F,GAEtB,MAAQ1gG,GAEJ09F,EAAMtpG,KAAKq1G,SAAS/I,GAGxB,IAAKhD,IAAQV,EAET,MAAM,IAAIjxF,MAAM,kDAGpB3X,KAAK2zG,cAAc,aAAc9pG,EAAKsrG,GAAcC,SAAU,KAAM9I,UAAW1D,GAAQU,EACnFiD,UAAc3D,EAAO,OAAS,MAAQ7zC,SAAUA,EAAUC,SAAUA,IAIhF,OAAOh1D,MA4CXs1G,eAAgB,SAAUzrG,EAAKsrG,EAAYC,EAAU9I,GAEjD,OAAOtsG,KAAKu1G,MAAM1rG,EAAKsrG,EAAYC,EAAU9I,EAAWjsG,EAAOs6B,OAAOo4E,2BA4C1EyC,cAAe,SAAU3rG,EAAKsrG,EAAYC,EAAU9I,GAEhD,OAAOtsG,KAAKu1G,MAAM1rG,EAAKsrG,EAAYC,EAAU9I,EAAWjsG,EAAOs6B,OAAOq4E,0BA4C1EyC,SAAU,SAAU5rG,EAAKsrG,EAAYC,EAAU9I,GAU3C,YARiBhiG,IAAb8qG,IAA0BA,EAAW,WACvB9qG,IAAdgiG,IAA2BA,EAAY,MAEtC8I,GAAa9I,IAEd8I,EAAWvrG,EAAM,QAGd7J,KAAKu1G,MAAM1rG,EAAKsrG,EAAYC,EAAU9I,EAAWjsG,EAAOs6B,OAAO+yE,6BA2C1E6H,MAAO,SAAU1rG,EAAKsrG,EAAYC,EAAU9I,EAAWN,GAwBnD,QAtBmB1hG,IAAf6qG,GAA2C,OAAfA,IAE5BA,EAAatrG,EAAM,aAGNS,IAAb8qG,IAA0BA,EAAW,WACvB9qG,IAAdgiG,IAA2BA,EAAY,WAC5BhiG,IAAX0hG,IAAwBA,EAAS3rG,EAAOs6B,OAAOo4E,0BAE9CqC,GAAa9I,IAIV8I,EAFApJ,IAAW3rG,EAAOs6B,OAAO+yE,2BAEd7jG,EAAM,OAINA,EAAM,SAKrBurG,EAEAp1G,KAAK2zG,cAAc,eAAgB9pG,EAAKsrG,GAAcC,SAAUA,EAAUpJ,OAAQA,QAGtF,CACI,OAAQA,GAGJ,KAAK3rG,EAAOs6B,OAAOo4E,yBAEU,iBAAdzG,IAEPA,EAAY5B,KAAK7yF,MAAMy0F,IAE3B,MAGJ,KAAKjsG,EAAOs6B,OAAO+yE,2BAEf,GAAyB,iBAAdpB,EACX,CACI,IAAIhD,EAAMtpG,KAAKq1G,SAAS/I,GAExB,IAAKhD,EAED,MAAM,IAAI3xF,MAAM,kDAGpB20F,EAAYhD,GAKxBtpG,KAAK2zG,cAAc,eAAgB9pG,EAAKsrG,GAAcC,SAAU,KAAM9I,UAAWA,EAAWN,OAAQA,IAIxG,OAAOhsG,MAiBX01G,cAAe,SAAUrhF,EAAU7Q,GAE/BxjB,KAAKsyG,sBAEL,IACIj+E,EAASrtB,KAAKwc,GAAmBxjB,KAAMA,MACzC,QACEA,KAAKsyG,sBAGT,OAAOtyG,MAcX21G,aAAc,SAAUvtG,EAAMyB,GAE1B,IAAI+rG,EAAQ51G,KAAKyzG,SAASrrG,EAAMyB,GAOhC,OALI+rG,IAEAA,EAAMxsB,KAAKyqB,WAAY,GAGpB7zG,MAaX61G,WAAY,SAAUztG,EAAMyB,GAExB,IAAI+rG,EAAQ51G,KAAKyzG,SAASrrG,EAAMyB,GAE5B+rG,IAEKA,EAAMrC,QAAWqC,EAAMpC,SAExBxzG,KAAKuyG,UAAU3uF,OAAOgyF,EAAM7sG,MAAO,KAY/Csb,UAAW,WAEPrkB,KAAKuyG,UAAUxqG,OAAS,EACxB/H,KAAKwyG,aAAazqG,OAAS,GAS/B+I,MAAO,WAEC9Q,KAAKuxG,YAKTvxG,KAAK21E,WAAY,EACjB31E,KAAKuxG,WAAY,EAEjBvxG,KAAK81G,iBAEL91G,KAAK+1G,qBAiBTA,iBAAkB,WAEd,IAAK/1G,KAAKuxG,UAIN,OAFAjpG,QAAQG,KAAK,wDACbzI,KAAKg2G,iBAAgB,GAKzB,IAAShuG,EAAI,EAAGA,EAAIhI,KAAKwyG,aAAazqG,OAAQC,MAEtCohF,EAAOppF,KAAKwyG,aAAaxqG,IAEpBurG,QAAUnqB,EAAKwE,SAEpB5tF,KAAKwyG,aAAa5uF,OAAO5b,EAAG,GAC5BA,IAEAohF,EAAKoqB,SAAU,EACfpqB,EAAK6sB,WAAa,KAClB7sB,EAAK8sB,cAAgB,KAEjB9sB,EAAKwE,OAEL5tF,KAAKiyG,YAAY3yF,SAAS8pE,EAAKv/E,IAAKu/E,GAGtB,aAAdA,EAAKhhF,MAELpI,KAAK8yG,mBACL9yG,KAAKgyG,eAAe1yF,SAAStf,KAAKm2G,SAAU/sB,EAAKv/E,KAAMu/E,EAAKwE,MAAO5tF,KAAK8yG,iBAAkB9yG,KAAK4yG,kBAE5E,aAAdxpB,EAAKhhF,MAAuBghF,EAAKwE,QAGtC5tF,KAAK6yG,mBACL7yG,KAAK8xG,eAAexyF,SAAS8pE,EAAKv/E,KAAMu/E,EAAKwE,MAAO5tF,KAAK6yG,iBAAkB7yG,KAAK2yG,mBAW5F,IAAK,IAJDyD,GAAY,EAEZC,EAAgBr2G,KAAKoyG,eAAiBnsG,KAAKyM,IAAI,EAAG1S,KAAKqyG,sBAAwB,EAE1ErqG,EAAIhI,KAAKyyG,gBAAiBzqG,EAAIhI,KAAKuyG,UAAUxqG,OAAQC,IAC9D,CACI,IAAIohF,EAAOppF,KAAKuyG,UAAUvqG,GAuD1B,GApDkB,aAAdohF,EAAKhhF,OAAwBghF,EAAKwE,OAASxE,EAAKmqB,QAAUvrG,IAAMhI,KAAKyyG,kBAGrEzyG,KAAKs2G,YAAYltB,GAEjBppF,KAAK6yG,mBACL7yG,KAAK8xG,eAAexyF,SAAS8pE,EAAKv/E,KAAMu/E,EAAKwE,MAAO5tF,KAAK6yG,iBAAkB7yG,KAAK2yG,kBAGhFvpB,EAAKmqB,QAAUnqB,EAAKwE,MAGhB5lF,IAAMhI,KAAKyyG,kBAEXzyG,KAAKyyG,gBAAkBzqG,EAAI,IAGzBohF,EAAKoqB,SAAWxzG,KAAKwyG,aAAazqG,OAASsuG,IAG/B,aAAdjtB,EAAKhhF,MAAwBghF,EAAKllD,KAS5BkyE,IAEDp2G,KAAK0yG,mBAEN1yG,KAAK0yG,kBAAmB,EACxB1yG,KAAK4xG,YAAYtyF,YAGrBtf,KAAKwyG,aAAar/F,KAAKi2E,GACvBA,EAAKoqB,SAAU,EACfxzG,KAAK+xG,YAAYzyF,SAAStf,KAAKm2G,SAAU/sB,EAAKv/E,IAAKu/E,EAAKvzB,KAExD71D,KAAKu2G,SAASntB,KAjBdppF,KAAKwyG,aAAar/F,KAAKi2E,GACvBA,EAAKoqB,SAAU,EAEfxzG,KAAKu2G,SAASntB,MAkBjBA,EAAKmqB,QAAUnqB,EAAKyqB,YAErBuC,GAAY,GAKZp2G,KAAKwyG,aAAazqG,QAAUsuG,GAC3BD,GAAap2G,KAAK6yG,mBAAqB7yG,KAAK2yG,gBAE7C,MAQR,GAJA3yG,KAAK81G,iBAID91G,KAAKyyG,iBAAmBzyG,KAAKuyG,UAAUxqG,OAEvC/H,KAAKg2G,uBAEJ,IAAKh2G,KAAKwyG,aAAazqG,OAC5B,CAGIO,QAAQG,KAAK,8EAEb,IAAIye,EAAQlnB,KAEZ4sF,WAAW,WACP1lE,EAAM8uF,iBAAgB,IACvB,OAYXA,gBAAiB,SAAUQ,GAEnBx2G,KAAK21E,YAKT31E,KAAK21E,WAAY,EACjB31E,KAAKuxG,WAAY,EAGZiF,GAAax2G,KAAK0yG,mBAEnB1yG,KAAK0yG,kBAAmB,EACxB1yG,KAAK4xG,YAAYtyF,YAGrBtf,KAAKmgB,QAELngB,KAAK6xG,eAAevyF,WAEpBtf,KAAKib,KAAK0F,MAAMyD,iBAapBqyF,cAAe,SAAUrtB,EAAMstB,QAENpsG,IAAjBosG,IAA8BA,EAAe,IAEjDttB,EAAKmqB,QAAS,EACdnqB,EAAKwE,QAAU8oB,EAEXA,IAEAttB,EAAKstB,aAAeA,EAEpBpuG,QAAQG,KAAK,mBAAqB2gF,EAAKhhF,KAAO,IAAMghF,EAAKv/E,IAAM,MAAa6sG,IAGhF12G,KAAK+1G,oBAWTO,YAAa,SAAUtC,GAEnB,IAAI2C,EAAW3C,EAAK9vE,KAAK8vE,EAAKnqG,KAE9B,GAAK8sG,EAML,IAAK,IAAI3uG,EAAI,EAAGA,EAAI2uG,EAAS5uG,OAAQC,IACrC,CACI,IAAIohF,EAAOutB,EAAS3uG,GAEpB,OAAQohF,EAAKhhF,MAET,IAAK,QACDpI,KAAK6pB,MAAMu/D,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKwqB,WACpC,MAEJ,IAAK,OACD5zG,KAAK6zD,KAAKu1B,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKwqB,WACnC,MAEJ,IAAK,OACD5zG,KAAK4oG,KAAKxf,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKwqB,WACnC,MAEJ,IAAK,MACD5zG,KAAKspG,IAAIlgB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKwqB,WAClC,MAEJ,IAAK,SACD5zG,KAAKu0G,OAAOnrB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAK/0D,SAAU2/E,EAAKxwF,iBAAmBxjB,MACvE,MAEJ,IAAK,SACDA,KAAK6pG,OAAOzgB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAK/0D,SAAU2/E,EAAKxwF,iBAAmBxjB,MACvE,MAEJ,IAAK,cACDA,KAAKw0G,YAAYprB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAK3C,WAAY2C,EAAK1C,YAAa0C,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YACvH,MAEJ,IAAK,QACD1oG,KAAK41D,MAAMwzB,EAAKv/E,IAAKu/E,EAAKkrB,MAC1B,MAEJ,IAAK,QACDt0G,KAAKuzD,MAAM61B,EAAKv/E,IAAKu/E,EAAKkrB,KAAMlrB,EAAKqrB,YACrC,MAEJ,IAAK,cACDz0G,KAAK60G,YAAYzrB,EAAKv/E,IAAKu/E,EAAKkrB,KAAMlrB,EAAKurB,QAASvrB,EAAKwrB,SAAUxrB,EAAKqrB,YACxE,MAEJ,IAAK,UACDz0G,KAAKq1D,QAAQ+zB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAM7jC,EAAOuwD,QAAQw4B,EAAK4iB,SAChE,MAEJ,IAAK,UACDhsG,KAAK8gB,QAAQsoE,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAM7jC,EAAOs6B,OAAOyuD,EAAK4iB,SAC/D,MAEJ,IAAK,aACDhsG,KAAK8pG,WAAW1gB,EAAKv/E,IAAKu/E,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAKkjB,UAAWljB,EAAKr0B,SAAUq0B,EAAKp0B,UAC9F,MAEJ,IAAK,iBACDh1D,KAAKs1G,eAAelsB,EAAKv/E,IAAKu/E,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAKkjB,WACnE,MAEJ,IAAK,gBACDtsG,KAAKw1G,cAAcpsB,EAAKv/E,IAAKu/E,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAKkjB,WAClE,MAEJ,IAAK,WACDtsG,KAAKy1G,SAASrsB,EAAKv/E,IAAKu/E,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAKkjB,WAC7D,MAEJ,IAAK,QACDtsG,KAAKu1G,MAAMnsB,EAAKv/E,IAAKu/E,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAKkjB,UAAWjsG,EAAOs6B,OAAOyuD,EAAK4iB,SACxF,MAEJ,IAAK,SACDhsG,KAAKsoE,OAAO8gB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKwqB,iBA/E7CtrG,QAAQG,KAAK,mBAAqBurG,EAAKnqG,IAAM,0CAiGrD+sG,aAAc,SAAU/gD,EAAKuzB,GAEzB,QAAKvzB,IAKDA,EAAIxN,MAAM,8CAEHwN,EAIA71D,KAAKqxG,QAAUjoB,EAAKjW,KAAOtd,IAc1C0gD,SAAU,SAAUntB,GAGhB,OAAQA,EAAKhhF,MAET,IAAK,WACDpI,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAK82G,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACD92G,KAAK+2G,aAAa3tB,GAClB,MAEJ,IAAK,QACDA,EAAKvzB,IAAM71D,KAAKg3G,YAAY5tB,EAAKvzB,KAE7BuzB,EAAKvzB,IAGD71D,KAAKib,KAAKyF,MAAMu2F,cAEhBj3G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,cAAeppF,KAAK82G,cAErE92G,KAAKib,KAAKyF,MAAMw2F,eAErBl3G,KAAKm3G,aAAa/tB,GAKtBppF,KAAKo3G,UAAUhuB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAKvzB,IAAM71D,KAAKq3G,YAAYjuB,EAAKvzB,KAE7BuzB,EAAKvzB,IAEDuzB,EAAK2rB,OAEL/0G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAK82G,cAInE92G,KAAKs3G,aAAaluB,GAKtBppF,KAAKo3G,UAAUhuB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAEDppF,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAKu3G,kBACnE,MAEJ,IAAK,MAEDv3G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAKw3G,iBACnE,MAEJ,IAAK,UAEGpuB,EAAK4iB,SAAW3rG,EAAOuwD,QAAQqkD,WAE/Bj1G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAKu3G,kBAE9DnuB,EAAK4iB,SAAW3rG,EAAOuwD,QAAQokD,IAEpCh1G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAKy3G,iBAInEz3G,KAAKy2G,cAAcrtB,EAAM,2BAA6BA,EAAK4iB,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDhsG,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,OAAQppF,KAAK82G,cACnE,MAEJ,IAAK,UAEiC,cAA9B1tB,EAAKv/E,IAAIR,MAAM,KAAKY,MAEpBjK,KAAK+2G,aAAa3tB,GAIlBppF,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,cAAeppF,KAAK82G,cAE9E,MAEJ,IAAK,SACD92G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAAO,cAAeppF,KAAK82G,gBAUtFC,aAAc,SAAU3tB,GACpB,IAAIliE,EAAQlnB,KAEZopF,EAAKllD,KAAO,IAAI8uB,MAChBo2B,EAAKllD,KAAKn4B,KAAOq9E,EAAKv/E,IAElB7J,KAAKyxG,cAELroB,EAAKllD,KAAKutE,YAAczxG,KAAKyxG,aAGjCroB,EAAKllD,KAAKw4B,OAAS,WACX0sB,EAAKllD,KAAKw4B,SAEV0sB,EAAKllD,KAAKw4B,OAAS,KACnB0sB,EAAKllD,KAAKwzE,QAAU,KACpBxwF,EAAM4vF,aAAa1tB,KAI3BA,EAAKllD,KAAKwzE,QAAU,WACZtuB,EAAKllD,KAAKw4B,SAEV0sB,EAAKllD,KAAKw4B,OAAS,KACnB0sB,EAAKllD,KAAKwzE,QAAU,KACpBxwF,EAAMkwF,UAAUhuB,KAIxBA,EAAKllD,KAAKl4B,IAAMhM,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,IAKvCppF,KAAKib,KAAKqS,OAAO08D,SAAWZ,EAAKllD,KAAK+7D,UAAY7W,EAAKllD,KAAK/zB,OAASi5E,EAAKllD,KAAK9zB,SAEhFg5E,EAAKllD,KAAKw4B,OAAS,KACnB0sB,EAAKllD,KAAKwzE,QAAU,KACpB13G,KAAK82G,aAAa1tB,KAS1BkuB,aAAc,SAAUluB,GAEpB,IAAIliE,EAAQlnB,KAEZopF,EAAKllD,KAAOxX,SAASkxD,cAAc,SACnCwL,EAAKllD,KAAKn4B,KAAOq9E,EAAKv/E,IACtBu/E,EAAKllD,KAAKyzE,UAAW,EACrBvuB,EAAKllD,KAAK0zE,UAAW,EAErB,IAAIC,EAAiB,WAEjBzuB,EAAKllD,KAAK/V,oBAAoBi7D,EAAK0rB,UAAW+C,GAAgB,GAC9DzuB,EAAKllD,KAAKwzE,QAAU,KACpBtuB,EAAKllD,KAAK4zE,SAAU,EACpBz3G,EAAOE,MAAM2mB,EAAMjM,KAAK9F,IAAIsL,KAAKq2F,aAAa1tB,IAIlDA,EAAKllD,KAAKwzE,QAAU,WAChBtuB,EAAKllD,KAAK/V,oBAAoBi7D,EAAK0rB,UAAW+C,GAAgB,GAC9DzuB,EAAKllD,KAAKwzE,QAAU,KACpBtuB,EAAKllD,KAAK4zE,SAAU,EACpB5wF,EAAMkwF,UAAUhuB,IAGpBA,EAAKllD,KAAKjX,iBAAiBm8D,EAAK0rB,UAAW+C,GAAgB,GAE3DzuB,EAAKllD,KAAKl4B,IAAMhM,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAC5CA,EAAKllD,KAAKzjB,QAQd02F,aAAc,SAAU/tB,GAEpB,IAAIliE,EAAQlnB,KAEZ,GAAIA,KAAKib,KAAKyF,MAAMmrF,YAGhBziB,EAAKllD,KAAO,IAAI6zE,MAChB3uB,EAAKllD,KAAKn4B,KAAOq9E,EAAKv/E,IACtBu/E,EAAKllD,KAAKljB,QAAU,OACpBooE,EAAKllD,KAAKl4B,IAAMhM,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAE5CppF,KAAK82G,aAAa1tB,OAGtB,CACIA,EAAKllD,KAAO,IAAI6zE,MAChB3uB,EAAKllD,KAAKn4B,KAAOq9E,EAAKv/E,IAEtB,IAAImuG,EAAmB,WACnB5uB,EAAKllD,KAAK/V,oBAAoB,iBAAkB6pF,GAAkB,GAClE5uB,EAAKllD,KAAKwzE,QAAU,KACpBxwF,EAAM4vF,aAAa1tB,IAGvBA,EAAKllD,KAAKwzE,QAAU,WAChBtuB,EAAKllD,KAAK/V,oBAAoB,iBAAkB6pF,GAAkB,GAClE5uB,EAAKllD,KAAKwzE,QAAU,KACpBxwF,EAAMkwF,UAAUhuB,IAGpBA,EAAKllD,KAAKljB,QAAU,OACpBooE,EAAKllD,KAAKl4B,IAAMhM,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,GAC5CA,EAAKllD,KAAKjX,iBAAiB,iBAAkB+qF,GAAkB,GAC/D5uB,EAAKllD,KAAKzjB,SAkBlBo2F,QAAS,SAAUztB,EAAMvzB,EAAKztD,EAAMs0D,EAAQg7C,GAExC,GAAI13G,KAAKkyG,mBAAqBjqG,OAAOgwG,eAEjCj4G,KAAKk4G,eAAe9uB,EAAMvzB,EAAKztD,EAAMs0D,EAAQg7C,OAFjD,CAMA,IAAIS,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOxiD,GAAK,GACrBsiD,EAAIG,aAAelwG,GAEmB,IAAlCpI,KAAK0xG,QAAuB,eAE5ByG,EAAII,iBAAiB,mBAAoBv4G,KAAK0xG,QAAuB,eAGrE1xG,KAAK0xG,QAAQtoB,EAAKhhF,OAElB+vG,EAAII,iBAAiB,SAAUv4G,KAAK0xG,QAAQtoB,EAAKhhF,OAGrDsvG,EAAUA,GAAW13G,KAAKo3G,UAE1B,IAAIlwF,EAAQlnB,KAEZm4G,EAAIz7C,OAAS,WAET,IACI,OAAuB,IAAnBy7C,EAAIxrB,YAAoBwrB,EAAIzX,QAAU,KAAOyX,EAAIzX,QAAU,IACpDgX,EAAQ1wG,KAAKkgB,EAAOkiE,EAAM+uB,GAG1Bz7C,EAAO11D,KAAKkgB,EAAOkiE,EAAM+uB,GAEtC,MAAOvsG,GAKAsb,EAAMyuD,UAMH1tE,OAAgB,SAEhBK,QAAQslF,MAAMhiF,GANlBsb,EAAMuvF,cAAcrtB,EAAMx9E,EAAE4sG,SAAW,eAYnDL,EAAIT,QAAU,WAEV,IAEI,OAAOA,EAAQ1wG,KAAKkgB,EAAOkiE,EAAM+uB,GAEnC,MAAOvsG,GAEAsb,EAAMyuD,UAMH1tE,OAAgB,SAEhBK,QAAQslF,MAAMhiF,GANlBsb,EAAMuvF,cAAcrtB,EAAMx9E,EAAE4sG,SAAW,eAanDpvB,EAAK8sB,cAAgBiC,EACrB/uB,EAAK6sB,WAAapgD,EAElBsiD,EAAIM,SAmBRP,eAAgB,SAAU9uB,EAAMvzB,EAAKztD,EAAMs0D,EAAQg7C,GAG1C13G,KAAKmyG,4BACJnyG,KAAKib,KAAKqS,OAAOsO,MAAM57B,KAAKib,KAAKqS,OAAO48D,WAAa,MAEvDlqF,KAAKmyG,4BAA6B,EAClC7pG,QAAQG,KAAK,yDAIjB,IAAI0vG,EAAM,IAAIlwG,OAAOgwG,eACrBE,EAAIE,KAAK,MAAOxiD,GAAK,GACrBsiD,EAAIG,aAAelwG,EAKnB+vG,EAAIO,QAAU,IAEdhB,EAAUA,GAAW13G,KAAKo3G,UAE1B,IAAIlwF,EAAQlnB,KAEZm4G,EAAIT,QAAU,WACV,IACI,OAAOA,EAAQ1wG,KAAKkgB,EAAOkiE,EAAM+uB,GACnC,MAAOvsG,GACLsb,EAAMuvF,cAAcrtB,EAAMx9E,EAAE4sG,SAAW,eAI/CL,EAAIQ,UAAY,WACZ,IACI,OAAOjB,EAAQ1wG,KAAKkgB,EAAOkiE,EAAM+uB,GACnC,MAAOvsG,GACLsb,EAAMuvF,cAAcrtB,EAAMx9E,EAAE4sG,SAAW,eAI/CL,EAAIS,WAAa,aAEjBT,EAAIz7C,OAAS,WACT,IACI,OAAuB,IAAnBy7C,EAAIxrB,YAAoBwrB,EAAIzX,QAAU,KAAOyX,EAAIzX,QAAU,IACpDgX,EAAQ1wG,KAAKkgB,EAAOkiE,EAAM+uB,GAG1Bz7C,EAAO11D,KAAKkgB,EAAOkiE,EAAM+uB,GAGtC,MAAOvsG,GACLsb,EAAMuvF,cAAcrtB,EAAMx9E,EAAE4sG,SAAW,eAI/CpvB,EAAK8sB,cAAgBiC,EACrB/uB,EAAK6sB,WAAapgD,EAIlB+2B,WAAW,WACPurB,EAAIM,QACL,IAcPpB,YAAa,SAAU/C,GAEnB,IAAK,IAAItsG,EAAI,EAAGA,EAAIssG,EAAKvsG,OAAQC,IACjC,CACI,IACI6wG,EADAhjD,EAAMy+C,EAAKtsG,GAGf,GAAI6tD,EAAIijD,KAKJ,GAHAD,EAAYhjD,EAAIztD,KAChBytD,EAAMA,EAAIijD,IAEN94G,KAAKib,KAAKqS,OAAO8jE,aAAaynB,GAE9B,OAAOhjD,MAIf,CAEI,GAA6B,IAAzBA,EAAI5kC,QAAQ,UAA2C,IAAzB4kC,EAAI5kC,QAAQ,SAE1C,OAAO4kC,EAYX,GATIA,EAAI5kC,QAAQ,MAAQ,IAEpB4kC,EAAMA,EAAI7qD,OAAO,EAAG6qD,EAAI5kC,QAAQ,OAKpC4nF,EAFgBhjD,EAAI7qD,QAAQ/E,KAAKyM,IAAI,EAAGmjD,EAAIkjD,YAAY,OAASnyC,EAAAA,GAAY,GAEvDl6B,cAElB1sC,KAAKib,KAAKqS,OAAO8jE,aAAaynB,GAE9B,OAAOvE,EAAKtsG,IAKxB,OAAO,MAcXgvG,YAAa,SAAU1C,GAEnB,GAAIt0G,KAAKib,KAAKyF,MAAMg0F,QAEhB,OAAO,KAGX,IAAK,IAAI1sG,EAAI,EAAGA,EAAIssG,EAAKvsG,OAAQC,IACjC,CACI,IACIgxG,EADAnjD,EAAMy+C,EAAKtsG,GAGf,GAAI6tD,EAAIijD,KAKJ,GAHAE,EAAYnjD,EAAIztD,KAChBytD,EAAMA,EAAIijD,IAEN94G,KAAKib,KAAKqS,OAAO6jE,aAAa6nB,GAE9B,OAAOnjD,MAIf,CAEI,GAA6B,IAAzBA,EAAI5kC,QAAQ,UAA2C,IAAzB4kC,EAAI5kC,QAAQ,SAE1C,OAAO4kC,EAYX,GATIA,EAAI5kC,QAAQ,MAAQ,IAEpB4kC,EAAMA,EAAI7qD,OAAO,EAAG6qD,EAAI5kC,QAAQ,OAKpC+nF,EAFgBnjD,EAAI7qD,QAAQ/E,KAAKyM,IAAI,EAAGmjD,EAAIkjD,YAAY,OAASnyC,EAAAA,GAAY,GAEvDl6B,cAElB1sC,KAAKib,KAAKqS,OAAO6jE,aAAa6nB,GAE9B,OAAO1E,EAAKtsG,IAKxB,OAAO,MAaXovG,UAAW,SAAUhuB,EAAM+uB,EAAKc,GAE5B,IACIT,EAAU,iCADJpvB,EAAK6sB,YAAcj2G,KAAK42G,aAAaxtB,EAAKvzB,IAAKuzB,KAGpD6vB,GAAUd,IAEXc,EAASd,EAAIzX,QAGbuY,IAEAT,EAAUA,EAAU,KAAOS,EAAS,KAGxCj5G,KAAKy2G,cAAcrtB,EAAMovB,IAY7B1B,aAAc,SAAU1tB,EAAM+uB,GAE1B,IAAIe,GAAW,EAEf,OAAQ9vB,EAAKhhF,MAET,IAAK,WAGG87B,EAAOwmE,KAAK7yF,MAAMsgG,EAAIgB,cAC1B/vB,EAAKllD,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAIgnE,EAAY,aAAaxuB,KAAK0M,EAAKvzB,IAAIxsD,MAAM,IAAK,GAAG,IAAI,GAAGqjC,cAC9C,OAAd08C,EAAKllD,KAELlkC,KAAKugB,MAAM0qF,6BAA6B7hB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKq1C,EAAW9hB,EAAKllD,MAI5ElkC,KAAKugB,MAAM0qF,6BAA6B7hB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKq1C,EAAWiN,EAAIiB,UAE/E,MAEJ,IAAK,QAEDp5G,KAAKugB,MAAMo8C,SAASysB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,MAC7C,MAEJ,IAAK,cAEDlkC,KAAKugB,MAAMitF,eAAepkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMklD,EAAK3C,WAAY2C,EAAK1C,YAAa0C,EAAKmf,SAAUnf,EAAKof,OAAQpf,EAAKqf,QAASrf,EAAKsf,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjBtf,EAAKgsB,SAELp1G,KAAKugB,MAAMktF,gBAAgBrkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMklD,EAAKkjB,UAAWljB,EAAK4iB,aAO/E,GAFAkN,GAAW,EAEP9vB,EAAK4iB,SAAW3rG,EAAOs6B,OAAOo4E,0BAA4B3pB,EAAK4iB,SAAW3rG,EAAOs6B,OAAOq4E,yBAA2B5pB,EAAK4iB,SAAW3rG,EAAOs6B,OAAOgzE,yBAEjJ3tG,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQppF,KAAKu3G,sBAEvE,CAAA,GAAInuB,EAAK4iB,SAAW3rG,EAAOs6B,OAAO+yE,2BAMnC,MAAM,IAAI/1F,MAAM,gDAAkDyxE,EAAK4iB,QAJvEhsG,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQppF,KAAKw3G,iBAOhF,MAEJ,IAAK,aAEIpuB,EAAKgsB,UAON8D,GAAW,EACXl5G,KAAK62G,QAAQztB,EAAMppF,KAAK42G,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQ,SAAUA,EAAM+uB,GAC/E,IAAIvP,EAEJ,IAGIA,EAAO8B,KAAK7yF,MAAMsgG,EAAIgB,cAE1B,MAAOvtG,IAEDg9F,GAEFxf,EAAKmjB,UAAY,OACjBvsG,KAAKu3G,iBAAiBnuB,EAAM+uB,KAI5B/uB,EAAKmjB,UAAY,MACjBvsG,KAAKw3G,gBAAgBpuB,EAAM+uB,OAxBnCn4G,KAAKugB,MAAM8rF,cAAcjjB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMklD,EAAKkjB,UAAWljB,EAAKmjB,UAAWnjB,EAAKr0B,SAAUq0B,EAAKp0B,UA4BhH,MAEJ,IAAK,QAED,GAAIo0B,EAAK2rB,OAEL,IAEI3rB,EAAKllD,KAAOi0E,EAAIiB,SAEpB,MAAOxtG,GAEH,MAAM,IAAI+L,MAAM,sDAAwDyxE,EAAKv/E,KAIrF7J,KAAKugB,MAAM8sF,SAASjkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMklD,EAAK2rB,QACxD,MAEJ,IAAK,QAEG/0G,KAAKib,KAAKyF,MAAMu2F,eAEhB7tB,EAAKllD,KAAOi0E,EAAIiB,SAEhBp5G,KAAKugB,MAAMkrF,SAASriB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,MAAM,GAAM,GAErDklD,EAAKqrB,YAELz0G,KAAKib,KAAKyF,MAAM24F,OAAOjwB,EAAKv/E,MAKhC7J,KAAKugB,MAAMkrF,SAASriB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACDklD,EAAKllD,KAAOi0E,EAAIgB,aAChBn5G,KAAKugB,MAAMurF,QAAQ1iB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,MAC5C,MAEJ,IAAK,SACDklD,EAAKllD,KAAOi0E,EAAIgB,aAChBn5G,KAAKugB,MAAMgtF,UAAUnkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAOwmE,KAAK7yF,MAAMsgG,EAAIgB,cAC1Bn5G,KAAKugB,MAAMwrF,eAAe3iB,EAAKv/E,IAAKu/E,EAAKvzB,IAAK3xB,EAAMklD,EAAK4iB,QACzD,MAEJ,IAAK,SACD5iB,EAAKllD,KAAOxX,SAASkxD,cAAc,UACnCwL,EAAKllD,KAAKo1E,SAAW,aACrBlwB,EAAKllD,KAAK97B,KAAO,kBACjBghF,EAAKllD,KAAKq1E,OAAQ,EAClBnwB,EAAKllD,KAAK2vB,KAAOskD,EAAIgB,aACrBzsF,SAAS8sF,KAAKxnB,YAAY5I,EAAKllD,MAC3BklD,EAAK/0D,WAEL+0D,EAAKllD,KAAOklD,EAAK/0D,SAASrtB,KAAKoiF,EAAK5lE,gBAAiB4lE,EAAKv/E,IAAKsuG,EAAIgB,eAEvE,MAEJ,IAAK,SACG/vB,EAAK/0D,SAEL+0D,EAAKllD,KAAOklD,EAAK/0D,SAASrtB,KAAKoiF,EAAK5lE,gBAAiB4lE,EAAKv/E,IAAKsuG,EAAIiB,UAInEhwB,EAAKllD,KAAOi0E,EAAIiB,SAGpBp5G,KAAKugB,MAAM4rF,UAAU/iB,EAAKv/E,IAAKu/E,EAAKllD,MAKxCg1E,GAEAl5G,KAAKy2G,cAAcrtB,IAa3BmuB,iBAAkB,SAAUnuB,EAAM+uB,GAE9B,IAAIj0E,EAAOwmE,KAAK7yF,MAAMsgG,EAAIgB,cAER,YAAd/vB,EAAKhhF,KAELpI,KAAKugB,MAAM0rF,WAAW7iB,EAAKv/E,IAAKu/E,EAAKvzB,IAAK3xB,EAAMklD,EAAK4iB,QAElC,eAAd5iB,EAAKhhF,KAEVpI,KAAKugB,MAAM8rF,cAAcjjB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMA,EAAMklD,EAAKmjB,UAAWnjB,EAAKr0B,SAAUq0B,EAAKp0B,UAE/E,SAAdo0B,EAAKhhF,KAEVpI,KAAKugB,MAAM4sF,QAAQ/jB,EAAKv/E,IAAKu/E,EAAKvzB,IAAK3xB,GAIvClkC,KAAKugB,MAAMktF,gBAAgBrkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMA,EAAMklD,EAAK4iB,QAGzEhsG,KAAKy2G,cAAcrtB,IAWvBquB,gBAAiB,SAAUruB,EAAM+uB,GAE7B,IAAIj0E,EAAOi0E,EAAIgB,aAEfn5G,KAAKugB,MAAM0rF,WAAW7iB,EAAKv/E,IAAKu/E,EAAKvzB,IAAK3xB,EAAMklD,EAAK4iB,QAErDhsG,KAAKy2G,cAAcrtB,IAYvBouB,gBAAiB,SAAUpuB,EAAM+uB,GAG7B,IAAIj0E,EAAOi0E,EAAIgB,aACX7P,EAAMtpG,KAAKq1G,SAASnxE,GAExB,IAAKolE,EACL,CACI,IAAIgP,EAAeH,EAAIG,cAAgBH,EAAIsB,YAG3C,OAFAnxG,QAAQG,KAAK,mBAAqB2gF,EAAKv/E,IAAM,kBAAoByuG,EAAe,UAChFt4G,KAAKy2G,cAAcrtB,EAAM,eAIX,eAAdA,EAAKhhF,KAELpI,KAAKugB,MAAM8rF,cAAcjjB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMolE,EAAKlgB,EAAKmjB,UAAWnjB,EAAKr0B,SAAUq0B,EAAKp0B,UAE9E,iBAAdo0B,EAAKhhF,KAEVpI,KAAKugB,MAAMktF,gBAAgBrkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKuzB,EAAKllD,KAAMolE,EAAKlgB,EAAK4iB,QAEjD,QAAd5iB,EAAKhhF,MAEVpI,KAAKugB,MAAM6sF,OAAOhkB,EAAKv/E,IAAKu/E,EAAKvzB,IAAKyzC,GAG1CtpG,KAAKy2G,cAAcrtB,IAYvBisB,SAAU,SAAUnxE,GAEhB,IAAIolE,EAEJ,IAEI,GAAIrhG,OAAkB,UACtB,CACI,IAAIyxG,EAAY,IAAIC,UACpBrQ,EAAMoQ,EAAUE,gBAAgB11E,EAAM,iBAItColE,EAAM,IAAIuQ,cAAc,qBAEpBC,MAAQ,QACZxQ,EAAIyQ,QAAQ71E,GAGpB,MAAOt4B,GAEH09F,EAAM,KAGV,OAAKA,GAAQA,EAAIzY,kBAAmByY,EAAIC,qBAAqB,eAAexhG,OAMjEuhG,EAJA,MAiBfwM,eAAgB,WAER91G,KAAKwxG,gBAEgC,IAAjCxxG,KAAKwxG,cAAcjzF,UAEnBve,KAAKwxG,cAAcv9F,KAAK9D,MAAQlK,KAAKI,MAAOrG,KAAKwxG,cAAcrhG,MAAQ,IAAOnQ,KAAKm2G,UAInFn2G,KAAKwxG,cAAcv9F,KAAK7D,OAASnK,KAAKI,MAAOrG,KAAKwxG,cAAcphG,OAAS,IAAOpQ,KAAKm2G,UAGrFn2G,KAAKwxG,cAAcr5E,OAEnBn4B,KAAKwxG,cAAcr5E,OAAOyyB,aAK1B5qD,KAAKwxG,cAAgB,OAajCwI,iBAAkB,WAEd,OAAOh6G,KAAK8yG,kBAWhB5uF,iBAAkB,WAEd,OAAOlkB,KAAK4yG,gBAAkB5yG,KAAK8yG,kBAWvCmH,iBAAkB,WAEd,OAAOj6G,KAAK2yG,iBAWhBxuF,iBAAkB,WAEd,OAAOnkB,KAAK2yG,gBAAkB3yG,KAAK6yG,mBAe3CprG,OAAOmF,eAAevM,EAAOs6B,OAAOp0B,UAAW,iBAE3CmG,IAAK,WACD,IAAIypG,EAAYn2G,KAAK8yG,iBAAmB9yG,KAAK4yG,gBAAmB,IAChE,OAAOvyG,EAAO4F,KAAKiQ,MAAMigG,GAAY,EAAG,EAAG,QAWnD1uG,OAAOmF,eAAevM,EAAOs6B,OAAOp0B,UAAW,YAE3CmG,IAAK,WACD,OAAOzG,KAAKsI,MAAMvO,KAAKk6G,kBAK/B75G,EAAOs6B,OAAOp0B,UAAU8B,YAAchI,EAAOs6B,OAa7Ct6B,EAAOgrG,cAcHvB,WAAY,SAAUR,EAAKtlE,EAAa+wB,EAAUC,EAAU1jC,EAAOhJ,GAE/D,OAAOtoB,KAAKysG,cAAcnD,EAAKtlE,EAAa+wB,EAAUC,EAAU1jC,EAAOhJ,IAgB3EmkF,cAAe,SAAUnD,EAAKtlE,EAAa+wB,EAAUC,EAAU1jC,EAAOhJ,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAI4b,KACAi2E,EAAO7Q,EAAIC,qBAAqB,QAAQ,GACxC6Q,EAAS9Q,EAAIC,qBAAqB,UAAU,GAEhDrlE,EAAKwwB,KAAOylD,EAAKE,aAAa,QAC9Bn2E,EAAKt5B,KAAOK,SAASkvG,EAAKE,aAAa,QAAS,IAChDn2E,EAAKi2C,WAAalvE,SAASmvG,EAAOC,aAAa,cAAe,IAAMrlD,EACpE9wB,EAAK2wB,SAOL,IAAK,IALDylD,EAAUhR,EAAIC,qBAAqB,QAEnCpjG,EAAI,EAAUmrB,EAAMnrB,EAAI,EACxB+G,EAAI,EAAUokB,EAAMpkB,EAAI,EAEnBlF,EAAI,EAAGA,EAAIsyG,EAAQvyG,OAAQC,IACpC,CACI,IAAIk6C,EAAWj3C,SAASqvG,EAAQtyG,GAAGqyG,aAAa,MAAO,IAEvDn2E,EAAK2wB,MAAM3S,IACP/7C,EAAGA,EAAI8E,SAASqvG,EAAQtyG,GAAGqyG,aAAa,KAAM,IAC9CntG,EAAGA,EAAIjC,SAASqvG,EAAQtyG,GAAGqyG,aAAa,KAAM,IAC9ClqG,MAAOlF,SAASqvG,EAAQtyG,GAAGqyG,aAAa,SAAU,IAClDjqG,OAAQnF,SAASqvG,EAAQtyG,GAAGqyG,aAAa,UAAW,IACpDplD,QAAShqD,SAASqvG,EAAQtyG,GAAGqyG,aAAa,WAAY,IAAM/xF,EAC5D4sC,QAASjqD,SAASqvG,EAAQtyG,GAAGqyG,aAAa,WAAY,IAAM/xF,EAC5D42D,UAAWj0E,SAASqvG,EAAQtyG,GAAGqyG,aAAa,YAAa,IAAMtlD,GAAYzsC,EAC3E22D,YAIR,IAAIs7B,EAAWjR,EAAIC,qBAAqB,WAExC,IAAKvhG,EAAI,EAAGA,EAAIuyG,EAASxyG,OAAQC,IACjC,CACI,IAAI2lC,EAAQ1iC,SAASsvG,EAASvyG,GAAGqyG,aAAa,SAAU,IACpDG,EAASvvG,SAASsvG,EAASvyG,GAAGqyG,aAAa,UAAW,IACtD1mF,EAAS1oB,SAASsvG,EAASvyG,GAAGqyG,aAAa,UAAW,IAAM/xF,EAEhE4b,EAAK2wB,MAAM2lD,GAAQv7B,QAAQtxC,GAASha,EAGxC,OAAO3zB,KAAKy6G,mBAAmBz2E,EAAaE,IAgBhDsoE,eAAgB,SAAU5D,EAAM5kE,EAAa+wB,EAAUC,EAAU1jC,EAAOhJ,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAI4b,GACAwwB,KAAMk0C,EAAKl0C,KAAKylD,KAAKO,MACrB9vG,KAAMK,SAAS29F,EAAKl0C,KAAKylD,KAAK1+C,MAAO,IACrC0e,WAAYlvE,SAAS29F,EAAKl0C,KAAK0lD,OAAOO,YAAa,IAAM3lD,EACzDH,UAGA1uD,EAAI,EAAUmrB,EAAMnrB,EAAI,EACxB+G,EAAI,EAAUokB,EAAMpkB,EAAI,EAmC5B,OAjCA07F,EAAKl0C,KAAKG,MAAY,KAAEltD,QAEpB,SAAmBwzE,GAEf,IAAIj5B,EAAWj3C,SAASkwE,EAAOy/B,IAAK,IAEpC12E,EAAK2wB,MAAM3S,IACP/7C,EAAGA,EAAI8E,SAASkwE,EAAOp6C,GAAI,IAC3B7zB,EAAGA,EAAIjC,SAASkwE,EAAOn6C,GAAI,IAC3B7wB,MAAOlF,SAASkwE,EAAOpjD,OAAQ,IAC/B3nB,OAAQnF,SAASkwE,EAAOnjD,QAAS,IACjCi9B,QAAShqD,SAASkwE,EAAO0/B,SAAU,IAAMvyF,EACzC4sC,QAASjqD,SAASkwE,EAAO2/B,SAAU,IAAMxyF,EACzC42D,UAAWj0E,SAASkwE,EAAO4/B,UAAW,IAAMhmD,GAAYzsC,EACxD22D,cAMR2pB,EAAKl0C,KAAK6lD,UAAY3R,EAAKl0C,KAAK6lD,SAASt7B,SAEzC2pB,EAAKl0C,KAAK6lD,SAASt7B,QAAQt3E,QAEvB,SAAsBs3E,GAElB/6C,EAAK2wB,MAAMoqB,EAAQ+7B,SAAS/7B,QAAQA,EAAQg8B,QAAUhwG,SAASg0E,EAAQi8B,QAAS,IAAM5yF,IAO3FtoB,KAAKy6G,mBAAmBz2E,EAAaE,IAahDu2E,mBAAoB,SAAUz2E,EAAam3E,GAcvC,OAZA1zG,OAAOgF,KAAK0uG,EAAetmD,OAAOltD,QAE9B,SAAoBu6C,GAEhB,IAAIi5B,EAASggC,EAAetmD,MAAM3S,GAElCi5B,EAAOp3C,QAAU,IAAIh+B,KAAK+qD,QAAQ9sB,EAAa,IAAI3jC,EAAO2N,UAAUmtE,EAAOh1E,EAAGg1E,EAAOjuE,EAAGiuE,EAAOhrE,MAAOgrE,EAAO/qE,WAM9G+qG,GAWXC,IAAK,SAAUjQ,GAkBX,IAIIkQ,EAJAC,EAAY,IAAIpzG,YAAYijG,EAAY1kG,MAAM,EAAG,KACjD80G,EAAY,IAAI3kC,WAAWu0B,GAC3BqQ,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9CI,EAAoB,EAExB,GAAqB,WAAjBJ,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACXrqF,QAAQwqF,IAAgB,EAC5B,CASE,OARIA,GAAe,GAAKA,GAAe,EACnCJ,EAAuB,QAChBI,GAAe,GAAKA,GAAe,GAC1CJ,EAAuB,OACA,IAAhBI,IACPJ,EAAuB,QAGnBI,GACJ,KAAK,EACDC,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,EAG7BF,GACIvb,UAAU,EACVqL,WAAY,MACZ+P,qBAAsBA,EACtBM,MAAOL,EAAU,GACjBG,YAAaA,EACbG,WAAYN,EAAU,GACtBO,YAAaP,EAAU,GACvBlrG,OAAQkrG,EAAU,GAClBnrG,MAAOmrG,EAAU,GACjBQ,MAAOR,EAAU,GACjBS,iBAAkBT,EAAU,GAC5BU,cAAeV,EAAU,IACzBW,gBAAiBX,EAAU,IAC3BY,aAAcZ,EAAU,IACxBryF,YAAasyF,EAAUY,SAAS,GAAKb,EAAU,IAAKC,EAAUa,YAC9DV,kBAAmBA,GAI3B,OAAOF,GAWXa,IAAK,SAAUlR,GAkCX,IAAIoQ,EAAY,IAAI3kC,WAAWu0B,GAC3BmQ,EAAY,IAAIpzG,YAAYijG,GAC5BmR,EAAY,KAkDhB,OAhDqB,KAAjBf,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IAoCqB,UAnC/Be,GACIrc,UAAU,EACVqL,WAAY,MACZ+P,qBAAsB,OACtBzwG,KAAM0wG,EAAU,GAChBK,MAAOL,EAAU,GACjBlrG,OAAQkrG,EAAU,GAClBnrG,MAAOmrG,EAAU,GACjBiB,MAAOjB,EAAU,GACjBQ,MAAOR,EAAU,GACjBkB,YAAalB,EAAU,GACvBmB,WAAYnB,EAAU,IACtBoB,WAAYpB,EAAU,IACtBqB,cACI36D,OAAOC,aAAas5D,EAAU,KAC9Bv5D,OAAOC,aAAas5D,EAAU,KAC9Bv5D,OAAOC,aAAas5D,EAAU,KAC9Bv5D,OAAOC,aAAas5D,EAAU,MAChChyG,KAAK,IACPqzG,eAAgBtB,EAAU,IAC1BuB,eAAgBvB,EAAU,IAC1BwB,eAAgBxB,EAAU,IAC1ByB,eAAgBzB,EAAU,IAC1B0B,eAAgB1B,EAAU,IAC1B2B,MAAO3B,EAAU,IACjB4B,MAAO5B,EAAU,IACjB6B,MAAO7B,EAAU,IACjB8B,MAAO9B,EAAU,IACjB+B,UAAW/B,EAAU,IACrBgC,WAAY,KACZC,kBAAmB,KACnBC,SAAU,KACVC,UAAW,KACXx0F,YAAasyF,EAAUY,SAASb,EAAU,GAAK,EAAGC,EAAUa,cAElDO,eACVL,EAAUgB,WAAahC,EAAU,IACjCgB,EAAUiB,kBAAoBjC,EAAU,IACxCgB,EAAUkB,SAAWlC,EAAU,IAC/BgB,EAAUmB,UAAYnC,EAAU,IAChCgB,EAAUkB,SAAWlC,EAAU,KAIhCgB,GAWXoB,IAAK,SAAUvS,GAwBX,IAAIoQ,EAAY,IAAI3kC,WAAWu0B,GAC3BmQ,EAAY,IAAIpzG,YAAYijG,GAC5BwS,EAAY,KACZC,EAAkB,GAAMtC,EAAU,IAAM,EAAK,EAC7CuC,EAAYvC,EAAUsC,GACtBE,EAAmBxC,EAAU,GAC7BD,EAAuB,EAE3B,GAAqB,MAAjBE,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,MAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IACjB,KAAlBA,EAAU,KAAkC,KAAlBA,EAAU,MAIhC,MAEA,MAAQ,MAAQ,MAAQ,MAExB,MAAQ,MAAQ,MAAQ,OAC1BtqF,QAAQ6sF,IAAqB,EAAG,CAClC,OAAQA,GACJ,KAAK,MACDzC,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/BsC,GACI1d,UAAU,EACVqL,WAAY,MACZ+P,qBAAsBA,EACtB0C,WAAYzC,EAAU,GACtB0C,OAAQ1C,EAAU,GAClB2C,WAAY3C,EAAU,GACtB4C,SAAU5C,EAAU,GACpBwC,iBAAkBxC,EAAU,GAC5B6C,qBAAsB7C,EAAU,GAChCnrG,MAAOmrG,EAAU,GACjBlrG,OAAQkrG,EAAU,IAClB8C,WAAY9C,EAAU,IACtB+C,sBAAuB/C,EAAU,IACjCU,cAAeV,EAAU,IACzBgD,qBAAsBhD,EAAU,IAChCiD,oBAAqBjD,EAAU,IAC/BkD,oBAAqBlD,EAAU,IAC/BuC,UAAWA,EACX50F,YAAasyF,EAAUY,SAAiC,GAAvByB,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAWXc,IAAK,SAAUtT,GAaX,IAAIoQ,EAAY,IAAI3kC,WAAWu0B,GAC3BuT,EAAY,KAoBhB,OAlBqB,KAAjBnD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEVmD,GACIze,UAAU,EACVqL,WAAY,MACZ+P,qBAAsB,OACtBrP,OAA+C,OAArCuP,EAAU,IAAM,EAAIA,EAAU,IACxCprG,MAA8C,OAArCorG,EAAU,IAAM,EAAIA,EAAU,IACvCnrG,OAAiD,OAAvCmrG,EAAU,KAAO,EAAIA,EAAU,KACzCoD,cAAwD,OAAvCpD,EAAU,KAAO,EAAIA,EAAU,KAChDqD,eAAyD,OAAvCrD,EAAU,KAAO,EAAIA,EAAU,KACjDtyF,YAAasyF,EAAUY,SAAS,GAAIZ,EAAUxzG,UAI/C22G,IAsBfr+G,EAAOg4D,YAAc,SAAUp9C,EAAMpR,GAMjC7J,KAAKib,KAAOA,EAMZjb,KAAK6J,IAAMA,EAMX7J,KAAK4rB,OAAS5rB,KAAKib,KAAKsF,MAAM0sF,QAAQpjG,EAAM,eAM5C7J,KAAK6+G,YAAc,KAOnB7+G,KAAK43G,UAAW,EAMhB53G,KAAK8+G,UAEL,IAAK,IAAIxkE,KAAKt6C,KAAK4rB,OAAOmzF,UAC1B,CACI,IAAI9mD,EAASj4D,KAAK4rB,OAAOmzF,UAAUzkE,GAC/B55B,EAAQ1gB,KAAKib,KAAK/I,IAAIwO,MAAM1gB,KAAK6J,KAErC6W,EAAMs+F,UAAU1kE,EAAG2d,EAAOnnD,MAAQmnD,EAAOlnD,IAAMknD,EAAOnnD,MAAQ,KAAMmnD,EAAOrP,MAE3E5oD,KAAK8+G,OAAOxkE,GAAK55B,EAGjB1gB,KAAK4rB,OAAOgsF,WAEZ53G,KAAK6+G,YAAc7+G,KAAK4rB,OAAOgsF,SAC/B53G,KAAK0oD,KAAK1oD,KAAK6+G,aACf7+G,KAAK43G,SAAW53G,KAAK8+G,OAAO9+G,KAAK6+G,eAKzCx+G,EAAOg4D,YAAY9xD,WAUfmiD,KAAM,SAAUuP,EAAQx9C,GAIpB,YAFenQ,IAAXmQ,IAAwBA,EAAS,GAE9Bza,KAAK8+G,OAAO7mD,GAAQvP,KAAKuP,EAAQ,KAAMx9C,IAUlD8iB,KAAM,SAAU06B,GAEZ,GAAKA,EASDj4D,KAAK8+G,OAAO7mD,GAAQ16B,YAPpB,IAAK,IAAI1zB,KAAO7J,KAAK8+G,OAEjB9+G,KAAK8+G,OAAOj1G,GAAK0zB,QAiB7B7wB,IAAK,SAASurD,GAEV,OAAOj4D,KAAK8+G,OAAO7mD,KAM3B53D,EAAOg4D,YAAY9xD,UAAU8B,YAAchI,EAAOg4D,YAkBlDh4D,EAAO+3D,MAAQ,SAAUn9C,EAAMpR,EAAK4Q,EAAQmuC,EAAMvP,QAE/B/uC,IAAXmQ,IAAwBA,EAAS,QACxBnQ,IAATs+C,IAAsBA,GAAO,QACjBt+C,IAAZ+uC,IAAyBA,EAAUp+B,EAAKyF,MAAMu+F,iBAMlDj/G,KAAKib,KAAOA,EAKZjb,KAAK+L,KAAOlC,EAKZ7J,KAAK6J,IAAMA,EAKX7J,KAAK4oD,KAAOA,EAKZ5oD,KAAKk/G,WAKLl/G,KAAK8kB,QAAU,KAKf9kB,KAAK43G,UAAW,EAKhB53G,KAAKm/G,cAAgB,EAMrBn/G,KAAKygG,UAAY,EAKjBzgG,KAAKo/G,YAAc,EAKnBp/G,KAAKsc,SAAW,EAKhBtc,KAAKq/G,WAAa,EAKlBr/G,KAAKia,SAAW,EAKhBja,KAAKs/G,SAAW,EAMhBt/G,KAAKshB,QAAS,EAKdthB,KAAKu/G,eAAiB,EAKtBv/G,KAAKw/G,WAAa,EAMlBx/G,KAAK0lG,WAAY,EAMjB1lG,KAAKy/G,cAAgB,GAKrBz/G,KAAK0/G,UAAY,KAMjB1/G,KAAK2/G,iBAAkB,EAMvB3/G,KAAK4/G,UAAW,EAMhB5/G,KAAK6/G,eAAgB,EAMrB7/G,KAAKi3G,cAAgBj3G,KAAKib,KAAKyF,MAAMu2F,cAKrCj3G,KAAKk3G,cAAgBl3G,KAAKib,KAAKyF,MAAMw2F,cAKrCl3G,KAAK8/G,aAAe,KAKpB9/G,KAAK+/G,eAAiB,KAKtB//G,KAAKggH,SAAW,KAMhBhgH,KAAKigH,OAAS,KAMjBjgH,KAAKkgH,cAAgB,EAMlBlgH,KAAKmgH,iBAAkB,EAMvBngH,KAAKogH,yBAA0B,EAI3BpgH,KAAKi3G,eAELj3G,KAAK8kB,QAAU9kB,KAAKib,KAAKyF,MAAMoE,QAC/B9kB,KAAK+/G,eAAiB//G,KAAKib,KAAKyF,MAAM2/F,gBAEN/1G,IAA5BtK,KAAK8kB,QAAQw7F,WAEbtgH,KAAKggH,SAAWhgH,KAAK8kB,QAAQy7F,iBAI7BvgH,KAAKggH,SAAWhgH,KAAK8kB,QAAQw7F,aAGjCtgH,KAAKggH,SAASQ,KAAKz2G,MAAQ0Q,EAASza,KAAKib,KAAKyF,MAAMjG,OAEhD4+B,GAEAr5C,KAAKggH,SAAS3mE,QAAQr5C,KAAK+/G,iBAG1B//G,KAAKk3G,gBAENl3G,KAAKib,KAAKsF,MAAMstF,SAAShkG,IAAQ7J,KAAKib,KAAKsF,MAAM2tF,aAAarkG,IAE9D7J,KAAKigH,OAASjgH,KAAKib,KAAKsF,MAAM8uF,aAAaxlG,GAC3C7J,KAAKm/G,cAAgB,EAEjBn/G,KAAKigH,OAAO3jG,WAEZtc,KAAKm/G,cAAgBn/G,KAAKigH,OAAO3jG,WAKrCtc,KAAKib,KAAKsF,MAAM4pF,cAAcj4F,IAAIlS,KAAKygH,iBAAkBzgH,OAOjEA,KAAK0gH,UAAY,IAAIrgH,EAAOwb,OAK5B7b,KAAK2gH,OAAS,IAAItgH,EAAOwb,OAKzB7b,KAAKgjB,QAAU,IAAI3iB,EAAOwb,OAK1B7b,KAAKkjB,SAAW,IAAI7iB,EAAOwb,OAK3B7b,KAAKi/F,OAAS,IAAI5+F,EAAOwb,OAKzB7b,KAAK4gH,OAAS,IAAIvgH,EAAOwb,OAKzB7b,KAAK6gH,OAAS,IAAIxgH,EAAOwb,OAKzB7b,KAAK8gH,iBAAmB,IAAIzgH,EAAOwb,OAKnC7b,KAAK+b,eAAiB,IAAI1b,EAAOwb,OAMjC7b,KAAK+gH,QAAUtmG,EAMfza,KAAKghH,QAAU,KAMfhhH,KAAKihH,QAAS,EAMdjhH,KAAKkhH,YAAc,EAMnBlhH,KAAKmhH,cAAgB,EAMrBnhH,KAAKohH,YAAc,EAMnBphH,KAAKqhH,WAAa,EAMlBrhH,KAAKshH,YAAc,EAMnBthH,KAAKuhH,UAAY,EAMjBvhH,KAAKw5B,SAAU,EAMfx5B,KAAKwhH,2BAA4B,GAIrCnhH,EAAO+3D,MAAM7xD,WAQTk6G,iBAAkB,SAAU52G,GAEpBA,IAAQ7J,KAAK6J,MAEb7J,KAAKigH,OAASjgH,KAAKib,KAAKsF,MAAM8uF,aAAarvG,KAAK6J,KAChD7J,KAAKm/G,cAAgBn/G,KAAKigH,OAAO3jG,WAgBzC0iG,UAAW,SAAUjzG,EAAM+E,EAAOwL,EAAU7B,EAAQmuC,QAE/Bt+C,IAAbgS,GAAuC,OAAbA,IAAqBA,EAAW,QAC/ChS,IAAXmQ,GAAmC,OAAXA,IAAmBA,EAAS,QAC3CnQ,IAATs+C,IAAsBA,GAAO,GAEjC5oD,KAAKk/G,QAAQnzG,IACTA,KAAMA,EACN+E,MAAOA,EACPysB,KAAMzsB,EAAQwL,EACd7B,OAAQA,EACR6B,SAAUA,EACV+iG,WAAuB,IAAX/iG,EACZssC,KAAMA,IAUd64D,aAAc,SAAU11G,UAEb/L,KAAKk/G,QAAQnzG,IAWxB21G,eAAgB,WAEZ1hH,KAAKigH,OAAO0B,QAAU,KACtB3hH,KAAK0lG,WAAY,EACjB1lG,KAAKo/G,YAAcp/G,KAAKq/G,WACxBr/G,KAAKu9B,OAEDv9B,KAAKmgH,kBAEDngH,KAAK8/G,aAEL9/G,KAAKigH,OAAO1mE,WAAWv5C,KAAK8/G,cAEvB9/G,KAAKggH,UAEVhgH,KAAKigH,OAAO1mE,WAAWv5C,KAAKggH,UAG5BhgH,KAAKogH,wBAELpgH,KAAKib,KAAKyF,MAAM6C,OAAOvjB,OAIvBA,KAAKk/G,WACLl/G,KAAK8kB,QAAU,KACf9kB,KAAKghH,QAAU,KACfhhH,KAAK8/G,aAAe,KAEpB9/G,KAAK0gH,UAAUz5F,UACfjnB,KAAK2gH,OAAO15F,UACZjnB,KAAKgjB,QAAQiE,UACbjnB,KAAKkjB,SAAS+D,UACdjnB,KAAKi/F,OAAOh4E,UACZjnB,KAAK4gH,OAAO35F,UACZjnB,KAAK6gH,OAAO55F,UACZjnB,KAAK8gH,iBAAiB75F,aAUlCjI,OAAQ,WAEChf,KAAKib,KAAKsF,MAAMguF,cAAcvuG,KAAK6J,MAMpC7J,KAAK4hH,YAAc5hH,KAAKwhH,4BAExBxhH,KAAK0gH,UAAUphG,SAAStf,MACxBA,KAAKwhH,2BAA4B,GAGjCxhH,KAAK2/G,iBAAmB3/G,KAAKib,KAAKsF,MAAM2tF,aAAaluG,KAAK6J,OAE1D7J,KAAK2/G,iBAAkB,EACvB3/G,KAAK0oD,KAAK1oD,KAAKkhH,YAAalhH,KAAKmhH,cAAenhH,KAAKohH,YAAaphH,KAAKuhH,YAGvEvhH,KAAK0lG,YAEL1lG,KAAKo/G,YAAcp/G,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKygG,UAE1CzgG,KAAKo/G,aAAep/G,KAAKq/G,aAErBr/G,KAAKi3G,cAEDj3G,KAAK4oD,MAGL5oD,KAAKi/F,OAAO3/E,SAAStf,MAGrBA,KAAK0lG,WAAY,EAEU,KAAvB1lG,KAAKy/G,eAELz/G,KAAKo/G,YAAc,EACnBp/G,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,KAChCpf,KAAK0lG,WAAY,IAIjB1lG,KAAK8gH,iBAAiBxhG,SAAStf,KAAKy/G,cAAez/G,MACnDA,KAAK0oD,KAAK1oD,KAAKy/G,cAAe,EAAGz/G,KAAKya,QAAQ,GAAM,KAM7B,KAAvBza,KAAKy/G,eAELz/G,KAAKu9B,OAMTv9B,KAAK4oD,MAEL5oD,KAAKi/F,OAAO3/E,SAAStf,MAEM,KAAvBA,KAAKy/G,gBAELz/G,KAAKo/G,YAAc,EACnBp/G,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,MAIpCpf,KAAK0lG,WAAY,EAEjB1lG,KAAK0oD,KAAK1oD,KAAKy/G,cAAe,EAAGz/G,KAAKya,QAAQ,GAAM,IAIpDza,KAAKu9B,UAxEjBv9B,KAAKukB,WAsFbs9F,SAAU,SAAUpnG,GAEhB,OAAOza,KAAK0oD,KAAK,KAAM,EAAGjuC,GAAQ,IAetCiuC,KAAM,SAAUuP,EAAQh+C,EAAUQ,EAAQmuC,EAAMk5D,GAK5C,QAHex3G,IAAX2tD,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvD3tD,IAAjBw3G,IAA8BA,GAAe,GAE7C9hH,KAAK0lG,YAAc1lG,KAAK6/G,gBAAkBiC,IAAiB9hH,KAAK4/G,SAGhE,OAAO5/G,KAGX,GAAIA,KAAKigH,QAAUjgH,KAAK0lG,YAAc1lG,KAAK6/G,gBAAkB7/G,KAAK4/G,UAAYkC,GAC9E,CACI,GAAI9hH,KAAKi3G,cACT,CACI,QAAyB3sG,IAArBtK,KAAKigH,OAAO1iF,KAEZv9B,KAAKigH,OAAO8B,QAAQ,QAIpB,IACI/hH,KAAKigH,OAAO1iF,KAAK,GAErB,MAAO3xB,IAIP5L,KAAK8/G,aAEL9/G,KAAKigH,OAAO1mE,WAAWv5C,KAAK8/G,cAEvB9/G,KAAKggH,UAEVhgH,KAAKigH,OAAO1mE,WAAWv5C,KAAKggH,eAG3BhgH,KAAKk3G,gBAEVl3G,KAAKigH,OAAOh9F,QACZjjB,KAAKigH,OAAOb,YAAc,GAG9Bp/G,KAAK0lG,WAAY,EAGrB,GAAe,KAAXztC,GAAiBxwD,OAAOgF,KAAKzM,KAAKk/G,SAASn3G,OAAS,EAIpD,OAAO/H,KAGX,GAAe,KAAXi4D,EACJ,CACI,IAAIj4D,KAAKk/G,QAAQjnD,GA6Bb,OADA3vD,QAAQG,KAAK,mCAAqCwvD,EAAS,kBACpDj4D,KA3BPA,KAAKy/G,cAAgBxnD,EAGrBj4D,KAAKia,SAAWja,KAAKk/G,QAAQjnD,GAAQnnD,MACrC9Q,KAAKya,OAASza,KAAKk/G,QAAQjnD,GAAQx9C,OACnCza,KAAK4oD,KAAO5oD,KAAKk/G,QAAQjnD,GAAQrP,KACjC5oD,KAAKsc,SAAWtc,KAAKk/G,QAAQjnD,GAAQ37C,SACrCtc,KAAKq/G,WAAar/G,KAAKk/G,QAAQjnD,GAAQonD,gBAEjB,IAAX5kG,IAEPza,KAAKya,OAASA,QAGE,IAATmuC,IAEP5oD,KAAK4oD,KAAOA,GAGhB5oD,KAAKkhH,YAAcjpD,EACnBj4D,KAAKmhH,cAAgBnhH,KAAKia,SAC1Bja,KAAKohH,YAAcphH,KAAKya,OACxBza,KAAKuhH,UAAYvhH,KAAK4oD,UAU1B3uC,EAAWA,GAAY,OAER3P,IAAXmQ,IAAwBA,EAASza,KAAK+gH,cAC7Bz2G,IAATs+C,IAAsBA,EAAO5oD,KAAK4oD,MAEtC5oD,KAAKia,SAAWhU,KAAKyM,IAAI,EAAGuH,GAC5Bja,KAAKya,OAASA,EACdza,KAAK4oD,KAAOA,EACZ5oD,KAAKsc,SAAW,EAChBtc,KAAKq/G,WAAa,EAElBr/G,KAAKkhH,YAAcjpD,EACnBj4D,KAAKmhH,cAAgBlnG,EACrBja,KAAKohH,YAAc3mG,EACnBza,KAAKuhH,UAAY34D,EAwHrB,OArHI5oD,KAAKi3G,cAGDj3G,KAAKib,KAAKsF,MAAM0tF,eAAejuG,KAAK6J,MAEpC7J,KAAKigH,OAASjgH,KAAK8kB,QAAQk9F,qBAEvBhiH,KAAK8/G,aAEL9/G,KAAKigH,OAAO5mE,QAAQr5C,KAAK8/G,cAIzB9/G,KAAKigH,OAAO5mE,QAAQr5C,KAAKggH,UAG7BhgH,KAAKghH,QAAUhhH,KAAKib,KAAKsF,MAAM8uF,aAAarvG,KAAK6J,KACjD7J,KAAKigH,OAAOnlD,OAAS96D,KAAKghH,QAEtBhhH,KAAK4oD,MAAmB,KAAXqP,IAEbj4D,KAAKigH,OAAOr3D,MAAO,GAGlB5oD,KAAK4oD,MAAmB,KAAXqP,IAEdj4D,KAAKigH,OAAO0B,QAAU3hH,KAAK0hH,eAAel7G,KAAKxG,OAGnDA,KAAKm/G,cAAgBn/G,KAAKigH,OAAOnlD,OAAOx+C,SAElB,IAAlBtc,KAAKsc,WAELtc,KAAKsc,SAAWtc,KAAKm/G,cACrBn/G,KAAKq/G,WAAap5G,KAAKG,KAA0B,IAArBpG,KAAKm/G,qBAIX70G,IAAtBtK,KAAKigH,OAAOnvG,MAEZ9Q,KAAKigH,OAAOgC,YAAY,EAAGjiH,KAAKia,SAAUja,KAAKsc,UAI3Ctc,KAAK4oD,MAAmB,KAAXqP,EAEbj4D,KAAKigH,OAAOnvG,MAAM,EAAG,GAIrB9Q,KAAKigH,OAAOnvG,MAAM,EAAG9Q,KAAKia,SAAUja,KAAKsc,UAIjDtc,KAAK0lG,WAAY,EACjB1lG,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,KAChCpf,KAAKo/G,YAAc,EACnBp/G,KAAKs/G,SAAWt/G,KAAKygG,UAAYzgG,KAAKq/G,WACtCr/G,KAAK2gH,OAAOrhG,SAAStf,QAIrBA,KAAK2/G,iBAAkB,EAEnB3/G,KAAKib,KAAKsF,MAAMstF,SAAS7tG,KAAK6J,OAA0D,IAAlD7J,KAAKib,KAAKsF,MAAMstF,SAAS7tG,KAAK6J,KAAK+hG,YAEzE5rG,KAAKib,KAAKyF,MAAM24F,OAAOr5G,KAAK6J,IAAK7J,OAMrCA,KAAKib,KAAKsF,MAAMstF,SAAS7tG,KAAK6J,MAAQ7J,KAAKib,KAAKsF,MAAMstF,SAAS7tG,KAAK6J,KAAKi7B,QAEzE9kC,KAAKib,KAAKsF,MAAMqtF,YAAY5tG,KAAK6J,KACjC7J,KAAK2/G,iBAAkB,GAInB3/G,KAAKigH,SAAWjgH,KAAKib,KAAKqS,OAAO6O,UAAuC,IAA3Bn8B,KAAKigH,OAAOtzB,aAEzD3sF,KAAKigH,OAAOv3D,OAEZ1oD,KAAKm/G,cAAgBn/G,KAAKigH,OAAO3jG,SAEX,IAAlBtc,KAAKsc,WAELtc,KAAKsc,SAAWtc,KAAKm/G,cACrBn/G,KAAKq/G,WAAkC,IAArBr/G,KAAKm/G,eAG3Bn/G,KAAKigH,OAAOb,YAAcp/G,KAAKia,SAC/Bja,KAAKigH,OAAOiC,MAAQliH,KAAKihH,OAErBjhH,KAAKihH,QAAUjhH,KAAKib,KAAKyF,MAAMyhG,KAE/BniH,KAAKigH,OAAOxlG,OAAS,EAIrBza,KAAKigH,OAAOxlG,OAASza,KAAK+gH,QAG9B/gH,KAAK0lG,WAAY,EACjB1lG,KAAKygG,UAAYzgG,KAAKib,KAAKmE,KAAKA,KAChCpf,KAAKo/G,YAAc,EACnBp/G,KAAKs/G,SAAWt/G,KAAKygG,UAAYzgG,KAAKq/G,WAEtCr/G,KAAK2gH,OAAOrhG,SAAStf,OAIrBA,KAAK2/G,iBAAkB,EAK5B3/G,MAaX6jB,QAAS,SAAUo0C,EAAQh+C,EAAUQ,EAAQmuC,GAEzCqP,EAASA,GAAU,GACnBh+C,EAAWA,GAAY,EACvBQ,EAASA,GAAU,OACNnQ,IAATs+C,IAAsBA,GAAO,GAEjC5oD,KAAK0oD,KAAKuP,EAAQh+C,EAAUQ,EAAQmuC,GAAM,IAS9C3lC,MAAO,WAECjjB,KAAK0lG,WAAa1lG,KAAKigH,SAEvBjgH,KAAKshB,QAAS,EACdthB,KAAKu/G,eAAiBv/G,KAAKo/G,YAC3Bp/G,KAAKw/G,WAAax/G,KAAKib,KAAKmE,KAAKA,KACjCpf,KAAKqhH,WAAarhH,KAAKigH,OAAOb,YAC9Bp/G,KAAKgjB,QAAQ1D,SAAStf,MACtBA,KAAKu9B,SAUbpa,OAAQ,WAEJ,GAAInjB,KAAKshB,QAAUthB,KAAKigH,OACxB,CACI,GAAIjgH,KAAKi3G,cACT,CACI,IAAI5mG,EAAIpK,KAAKyM,IAAI,EAAG1S,KAAKia,SAAYja,KAAKu/G,eAAiB,KAE3Dv/G,KAAKigH,OAASjgH,KAAK8kB,QAAQk9F,qBAC3BhiH,KAAKigH,OAAOnlD,OAAS96D,KAAKghH,QAEtBhhH,KAAK8/G,aAEL9/G,KAAKigH,OAAO5mE,QAAQr5C,KAAK8/G,cAIzB9/G,KAAKigH,OAAO5mE,QAAQr5C,KAAKggH,UAGzBhgH,KAAK4oD,OAEL5oD,KAAKigH,OAAOr3D,MAAO,GAGlB5oD,KAAK4oD,MAA+B,KAAvB5oD,KAAKy/G,gBAEnBz/G,KAAKigH,OAAO0B,QAAU3hH,KAAK0hH,eAAel7G,KAAKxG,OAGnD,IAAIsc,EAAWtc,KAAKsc,SAAYtc,KAAKu/G,eAAiB,SAE5Bj1G,IAAtBtK,KAAKigH,OAAOnvG,MAEZ9Q,KAAKigH,OAAOgC,YAAY,EAAG5xG,EAAGiM,GAK1Btc,KAAK4oD,MAAQ5oD,KAAKib,KAAKqS,OAAO2Y,OAGS,KAAnCjmC,KAAKib,KAAKqS,OAAOw8D,cAEjB9pF,KAAKigH,OAAOnvG,MAAM,GAIlB9Q,KAAKigH,OAAOnvG,MAAM,EAAGT,GAKzBrQ,KAAKigH,OAAOnvG,MAAM,EAAGT,EAAGiM,QAMhCtc,KAAKigH,OAAOb,YAAcp/G,KAAKqhH,WAC/BrhH,KAAKigH,OAAOv3D,OAGhB1oD,KAAK0lG,WAAY,EACjB1lG,KAAKshB,QAAS,EACdthB,KAAKygG,WAAczgG,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAKw/G,WAC9Cx/G,KAAKkjB,SAAS5D,SAAStf,QAU/Bu9B,KAAM,WAEF,GAAIv9B,KAAK0lG,WAAa1lG,KAAKigH,OAEvB,GAAIjgH,KAAKi3G,cACT,CACI,QAAyB3sG,IAArBtK,KAAKigH,OAAO1iF,KAEZv9B,KAAKigH,OAAO8B,QAAQ,QAIpB,IACI/hH,KAAKigH,OAAO1iF,KAAK,GAErB,MAAO3xB,IAMP5L,KAAK8/G,aAEL9/G,KAAKigH,OAAO1mE,WAAWv5C,KAAK8/G,cAEvB9/G,KAAKggH,UAEVhgH,KAAKigH,OAAO1mE,WAAWv5C,KAAKggH,eAI3BhgH,KAAKk3G,gBAEVl3G,KAAKigH,OAAOh9F,QACZjjB,KAAKigH,OAAOb,YAAc,GAOlC,GAHAp/G,KAAK2/G,iBAAkB,EACvB3/G,KAAK0lG,WAAY,GAEZ1lG,KAAKshB,OACV,CACI,IAAI8gG,EAAapiH,KAAKy/G,cAEK,KAAvBz/G,KAAKy/G,eAELz/G,KAAK8gH,iBAAiBxhG,SAAStf,KAAKy/G,cAAez/G,MAGvDA,KAAKy/G,cAAgB,GAEE,OAAnBz/G,KAAK0/G,WAEL1/G,KAAK0/G,UAAUniF,OAGnBv9B,KAAK4gH,OAAOthG,SAAStf,KAAMoiH,KAiBnCC,OAAQ,SAAU/lG,EAAUssC,EAAMqP,QAEjB3tD,IAATs+C,IAAsBA,GAAO,QAClBt+C,IAAX2tD,IAAwBA,EAASj4D,KAAKy/G,eAEtCz/G,KAAKshB,SAKTthB,KAAK0oD,KAAKuP,EAAQ,EAAG,EAAGrP,GAExB5oD,KAAKsiH,OAAOhmG,EAAU,KAY1BimG,QAAS,SAAUjmG,GAEftc,KAAKsiH,OAAOhmG,EAAU,IAa1BgmG,OAAQ,SAAUhmG,EAAU7B,GAEnBza,KAAK0lG,YAAa1lG,KAAKshB,QAAU7G,IAAWza,KAAKya,cAKrCnQ,IAAbgS,IAA0BA,EAAW,UAE1BhS,IAAXmQ,GAMJza,KAAK0/G,UAAY1/G,KAAKib,KAAK/I,IAAIihD,MAAMnzD,MAAM4I,IAAM6R,OAAQA,GAAU6B,EAAUjc,EAAOm6F,OAAOK,OAAOC,MAAM,GAExG96F,KAAK0/G,UAAUtgB,WAAWltF,IAAIlS,KAAKwiH,aAAcxiH,OAN7CsI,QAAQG,KAAK,+CAgBrB+5G,aAAc,WAEVxiH,KAAK+b,eAAeuD,SAAStf,KAAMA,KAAKya,QAEpB,IAAhBza,KAAKya,QAELza,KAAKu9B,QAgBbklF,mBAAoB,SAAUC,GAItB1iH,KAAKk3G,eAAiBl3G,KAAKigH,SAE3BjgH,KAAKkgH,cAAgBwC,EACrB1iH,KAAKigH,OAAOxlG,OAASza,KAAKkgH,cAAgBlgH,KAAK+gH,UAWvDx8F,QAAS,SAAUhB,QAEAjZ,IAAXiZ,IAAwBA,GAAS,GAErCvjB,KAAKmgH,iBAAkB,EACvBngH,KAAKogH,wBAA0B78F,EAC/BvjB,KAAKu9B,OAEDha,EAEAvjB,KAAKib,KAAKyF,MAAM6C,OAAOvjB,OAIvBA,KAAKk/G,WACLl/G,KAAK8kB,QAAU,KACf9kB,KAAKghH,QAAU,KACfhhH,KAAK8/G,aAAe,KAEpB9/G,KAAK0gH,UAAUz5F,UACfjnB,KAAK2gH,OAAO15F,UACZjnB,KAAKgjB,QAAQiE,UACbjnB,KAAKkjB,SAAS+D,UACdjnB,KAAKi/F,OAAOh4E,UACZjnB,KAAK4gH,OAAO35F,UACZjnB,KAAK6gH,OAAO55F,UACZjnB,KAAK8gH,iBAAiB75F,aAMlC5mB,EAAO+3D,MAAM7xD,UAAU8B,YAAchI,EAAO+3D,MAO5C3wD,OAAOmF,eAAevM,EAAO+3D,MAAM7xD,UAAW,cAE1CmG,IAAK,WACD,OAAO1M,KAAKib,KAAKsF,MAAMstF,SAAS7tG,KAAK6J,KAAK+hG,cAUlDnkG,OAAOmF,eAAevM,EAAO+3D,MAAM7xD,UAAW,aAE1CmG,IAAK,WACD,OAAO1M,KAAKib,KAAKsF,MAAM0tF,eAAejuG,KAAK6J,QASnDpC,OAAOmF,eAAevM,EAAO+3D,MAAM7xD,UAAW,QAE1CmG,IAAK,WAED,OAAQ1M,KAAKihH,QAAUjhH,KAAKib,KAAKyF,MAAMyhG,MAI3Cx1G,IAAK,SAAU5C,IAEXA,EAAQA,IAAS,KAEH/J,KAAKihH,SAKfl3G,GAEA/J,KAAKihH,QAAS,EACdjhH,KAAKshH,YAActhH,KAAKohH,YAEpBphH,KAAKi3G,cAELj3G,KAAKggH,SAASQ,KAAKz2G,MAAQ,EAEtB/J,KAAKk3G,eAAiBl3G,KAAKigH,SAEhCjgH,KAAKigH,OAAOxlG,OAAS,KAKzBza,KAAKihH,QAAS,EAEVjhH,KAAKi3G,cAELj3G,KAAKggH,SAASQ,KAAKz2G,MAAQ/J,KAAKshH,YAE3BthH,KAAKk3G,eAAiBl3G,KAAKigH,SAEhCjgH,KAAKigH,OAAOxlG,OAASza,KAAKshH,cAIlCthH,KAAK6gH,OAAOvhG,SAAStf,UAU7ByH,OAAOmF,eAAevM,EAAO+3D,MAAM7xD,UAAW,UAE1CmG,IAAK,WACD,OAAO1M,KAAK+gH,SAGhBp0G,IAAK,SAAU5C,GAGP/J,KAAKk3G,gBAELntG,EAAQ/J,KAAKib,KAAK0E,KAAKzJ,MAAMnM,EAAO,EAAG,IAGvC/J,KAAKihH,OAELjhH,KAAKshH,YAAcv3G,GAIvB/J,KAAKohH,YAAcr3G,EACnB/J,KAAK+gH,QAAUh3G,EAEX/J,KAAKi3G,cAELj3G,KAAKggH,SAASQ,KAAKz2G,MAAQA,EAEtB/J,KAAKk3G,eAAiBl3G,KAAKigH,SAEhCjgH,KAAKigH,OAAOxlG,OAASza,KAAKkgH,cAAgBn2G,OA+BtD1J,EAAO06B,aAAe,SAAU9f,GAK5Bjb,KAAKib,KAAOA,EAKZjb,KAAK2iH,cAAgB,IAAItiH,EAAOwb,OAMhC7b,KAAK4iH,eAAiB,IAAIviH,EAAOwb,OAMjC7b,KAAK6gH,OAAS,IAAIxgH,EAAOwb,OAMzB7b,KAAK6iH,SAAW,IAAIxiH,EAAOwb,OAM3B7b,KAAK8kB,QAAU,KAMf9kB,KAAKi3G,eAAgB,EAMrBj3G,KAAKk3G,eAAgB,EAMrBl3G,KAAK00G,SAAU,EAMf10G,KAAKi/G,iBAAkB,EAMvBj/G,KAAK6rG,aAAc,EAMnB7rG,KAAK8iH,SAAW,GAShB9iH,KAAK09B,aAAc,EAOnB19B,KAAK+iH,YAAa,EAOlB/iH,KAAKihH,QAAS,EAOdjhH,KAAKgjH,cAAgB,KAOrBhjH,KAAK+gH,QAAU,EAOf/gH,KAAKijH,WAMLjjH,KAAKkjH,WAAa,IAAI7iH,EAAO00B,SAM7B/0B,KAAKmjH,WAAY,EAMjBnjH,KAAKojH,eAAiB,KAMtBpjH,KAAKqjH,cAAgB,MAIzBhjH,EAAO06B,aAAax0B,WAOhB6W,KAAM,WAQF,GANIpd,KAAKib,KAAKqS,OAAOuQ,MAAqC,IAA9B79B,KAAKib,KAAKqS,OAAOqO,WAEzC37B,KAAK8iH,SAAW,GAIhB76G,OAAqB,aACzB,CAEI,IAA4C,IAAxCA,OAAqB,aAAEq7G,aAIvB,OAFAtjH,KAAK00G,SAAU,OACf10G,KAAK6rG,aAAc,GAKvB,IAA+C,IAA3C5jG,OAAqB,aAAEs7G,gBAIvB,OAFAvjH,KAAKk3G,eAAgB,OACrBl3G,KAAK6rG,aAAc,GAK3B,GAAI5jG,OAAqB,cAAKA,OAAqB,aAAEu7G,aAEjDxjH,KAAK8kB,QAAU7c,OAAqB,aAAEu7G,kBAItC,GAAMv7G,OAAqB,aAEvB,IACIjI,KAAK8kB,QAAU,IAAI7c,OAAqB,aAC1C,MAAO2lF,GACL5tF,KAAK8kB,QAAU,KACf9kB,KAAKi3G,eAAgB,EACrBj3G,KAAK6rG,aAAc,OAGtB,GAAM5jG,OAA2B,mBAElC,IACIjI,KAAK8kB,QAAU,IAAI7c,OAA2B,mBAChD,MAAO2lF,GACL5tF,KAAK8kB,QAAU,KACf9kB,KAAKi3G,eAAgB,EACrBj3G,KAAK6rG,aAAc,EAK/B,GAAqB,OAAjB7rG,KAAK8kB,QACT,CAEI,QAAwBxa,IAApBrC,OAAc,MAGd,YADAjI,KAAK00G,SAAU,GAKf10G,KAAKk3G,eAAgB,OAKzBl3G,KAAKi3G,eAAgB,OAEW3sG,IAA5BtK,KAAK8kB,QAAQw7F,WAEbtgH,KAAKqgH,WAAargH,KAAK8kB,QAAQy7F,iBAI/BvgH,KAAKqgH,WAAargH,KAAK8kB,QAAQw7F,aAGnCtgH,KAAKqgH,WAAWG,KAAKz2G,MAAQ,EAC7B/J,KAAKqgH,WAAWhnE,QAAQr5C,KAAK8kB,QAAQg8C,aAGpC9gE,KAAK00G,SAGF10G,KAAKib,KAAKqS,OAAO+jE,oBAEjBrxF,KAAKyjH,gBAYjBA,aAAc,WAENzjH,KAAK00G,SAAYzsG,OAAqB,eAA6C,IAAxCA,OAAqB,aAAEq7G,eAKlEtjH,KAAKib,KAAKqS,OAAOg7D,WAAa,GAAKtoF,KAAKib,KAAKqS,OAAOw8D,eAAiB,GAErE9pF,KAAKib,KAAKuF,MAAM2hB,qBAAqBniC,KAAK0jH,OAAQ1jH,MAAM,GAIxDA,KAAKib,KAAKuF,MAAM2hB,qBAAqBniC,KAAK0jH,OAAQ1jH,MAGtDA,KAAK6rG,aAAc,IAUvB6X,OAAQ,WAEJ,GAAI1jH,KAAK00G,UAAY10G,KAAK6rG,aAAsC,OAAvB7rG,KAAKgjH,cAE1C,OAAO,EAIX,GAAIhjH,KAAKk3G,cAELl3G,KAAK6rG,aAAc,EACnB7rG,KAAKgjH,cAAgB,UAEpB,GAAIhjH,KAAKi3G,cACd,CAII,IAAIn8C,EAAS96D,KAAK8kB,QAAQopD,aAAa,EAAG,EAAG,OAC7CluE,KAAKgjH,cAAgBhjH,KAAK8kB,QAAQk9F,qBAClChiH,KAAKgjH,cAAcloD,OAASA,EAC5B96D,KAAKgjH,cAAc3pE,QAAQr5C,KAAK8kB,QAAQg8C,kBAEPx2D,IAA7BtK,KAAKgjH,cAAclyG,MAEnB9Q,KAAKgjH,cAAcW,OAAO,GAI1B3jH,KAAKgjH,cAAclyG,MAAM,GAIY,cAArC9Q,KAAKgjH,cAAcl+F,QAAQnE,OAC3B3gB,KAAKgjH,cAAcl+F,QAAQ3B,SAKnC,OAAO,GASXygG,QAAS,WAEL,IAAI5jH,KAAK00G,QAKT,IAAK,IAAI1sG,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,IAEbhI,KAAKijH,QAAQj7G,GAAGu1B,QAW5BmhE,SAAU,WAEN,IAAI1+F,KAAK00G,QAKT,IAAK,IAAI1sG,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,IAEbhI,KAAKijH,QAAQj7G,GAAGib,SAW5B07E,UAAW,WAEP,IAAI3+F,KAAK00G,QAKT,IAAK,IAAI1sG,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,IAEbhI,KAAKijH,QAAQj7G,GAAGmb,UAa5Bk2F,OAAQ,SAAUxvG,EAAK6W,GAEnBA,EAAQA,GAAS,KAEjB,IAAImjG,EAAY7jH,KAAKib,KAAKsF,MAAM8uF,aAAaxlG,GAE7C,GAAIg6G,IAE4C,IAAxC7jH,KAAKib,KAAKsF,MAAM0tF,eAAepkG,GACnC,CACI7J,KAAKib,KAAKsF,MAAMwtF,YAAYlkG,EAAK,cAAc,GAE/C,IAAIqd,EAAQlnB,KAEZ,IACIA,KAAK8kB,QAAQg/F,gBAAgBD,EAAW,SAAU/oD,GAE1CA,IAEA5zC,EAAMjM,KAAKsF,MAAMytF,aAAankG,EAAKixD,GACnC5zC,EAAMy7F,cAAcrjG,SAASzV,EAAK6W,MAI9C,MAAO9U,OAiBnBm4G,mBAAoB,SAAUC,EAAO3vF,EAAU7Q,GAEtB,iBAAVwgG,IAEPA,GAAUA,IAGdhkH,KAAKkjH,WAAW/iG,QAEhB,IAAK,IAAInY,EAAI,EAAGA,EAAIg8G,EAAMj8G,OAAQC,IAE1Bg8G,EAAMh8G,aAAc3H,EAAO+3D,MAEtBp4D,KAAKib,KAAKsF,MAAM0tF,eAAe+V,EAAMh8G,GAAG6B,MAEzC7J,KAAKkjH,WAAWhxG,IAAI8xG,EAAMh8G,GAAG6B,KAG3B7J,KAAKib,KAAKsF,MAAM0tF,eAAe+V,EAAMh8G,KAE3ChI,KAAKkjH,WAAWhxG,IAAI8xG,EAAMh8G,IAKJ,IAA1BhI,KAAKkjH,WAAWvtF,OAEhB31B,KAAKmjH,WAAY,EACjB9uF,EAASrtB,KAAKwc,KAIdxjB,KAAKmjH,WAAY,EACjBnjH,KAAKojH,eAAiB/uF,EACtBr0B,KAAKqjH,cAAgB7/F,IAW7BxE,OAAQ,WAEJ,IAAIhf,KAAK00G,QAAT,EAKI10G,KAAK6rG,aAAsC,OAAvB7rG,KAAKgjH,eAA2BhjH,KAAKgjH,cAAciB,gBAAkBjkH,KAAKgjH,cAAckB,eAAiBlkH,KAAKgjH,cAAciB,gBAAkBjkH,KAAKgjH,cAAcmB,iBAErLnkH,KAAK6rG,aAAc,EACnB7rG,KAAKgjH,cAAgB,MAGzB,IAAK,IAAIh7G,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAErChI,KAAKijH,QAAQj7G,GAAGgX,SAGpB,GAAIhf,KAAKmjH,UACT,CAGI,IAFA,IAAIt5G,EAAM7J,KAAKkjH,WAAWv1E,MAEnB9jC,GAEC7J,KAAKib,KAAKsF,MAAM0tF,eAAepkG,IAE/B7J,KAAKkjH,WAAW3/F,OAAO1Z,GAG3BA,EAAM7J,KAAKkjH,WAAWlxF,KAGI,IAA1BhyB,KAAKkjH,WAAWvtF,QAEhB31B,KAAKmjH,WAAY,EACjBnjH,KAAKojH,eAAep8G,KAAKhH,KAAKqjH,mBAgB1CnxG,IAAK,SAAUrI,EAAK4Q,EAAQmuC,EAAMvP,QAEf/uC,IAAXmQ,IAAwBA,EAAS,QACxBnQ,IAATs+C,IAAsBA,GAAO,QACjBt+C,IAAZ+uC,IAAyBA,EAAUr5C,KAAKi/G,iBAE5C,IAAIv+F,EAAQ,IAAIrgB,EAAO+3D,MAAMp4D,KAAKib,KAAMpR,EAAK4Q,EAAQmuC,EAAMvP,GAI3D,OAFAr5C,KAAKijH,QAAQ9vG,KAAKuN,GAEXA,GAWX+yC,UAAW,SAAS5pD,GAIhB,OAFkB,IAAIxJ,EAAOg4D,YAAYr4D,KAAKib,KAAMpR,IAaxD0Z,OAAQ,SAAU7C,GAId,IAFA,IAAI1Y,EAAIhI,KAAKijH,QAAQl7G,OAEdC,KAEH,GAAIhI,KAAKijH,QAAQj7G,KAAO0Y,EAIpB,OAFA1gB,KAAKijH,QAAQj7G,GAAGuc,SAAQ,GACxBvkB,KAAKijH,QAAQr/F,OAAO5b,EAAG,IAChB,EAIf,OAAO,GAYXo8G,YAAa,SAAUv6G,GAKnB,IAHA,IAAI7B,EAAIhI,KAAKijH,QAAQl7G,OACjBqvB,EAAU,EAEPpvB,KAEChI,KAAKijH,QAAQj7G,GAAG6B,MAAQA,IAExB7J,KAAKijH,QAAQj7G,GAAGuc,SAAQ,GACxBvkB,KAAKijH,QAAQr/F,OAAO5b,EAAG,GACvBovB,KAIR,OAAOA,GAaXsxB,KAAM,SAAU7+C,EAAK4Q,EAAQmuC,GAEzB,IAAI5oD,KAAK00G,QAAT,CAKA,IAAIh0F,EAAQ1gB,KAAKkS,IAAIrI,EAAK4Q,EAAQmuC,GAIlC,OAFAloC,EAAMgoC,OAEChoC,IAUXid,QAAS,WAEL,IAAI39B,KAAKihH,OAAT,CAKAjhH,KAAKihH,QAAS,EAEVjhH,KAAKi3G,gBAELj3G,KAAKshH,YAActhH,KAAKqgH,WAAWG,KAAKz2G,MACxC/J,KAAKqgH,WAAWG,KAAKz2G,MAAQ,GAIjC,IAAK,IAAI/B,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,GAAGkvG,gBAEhBl3G,KAAKijH,QAAQj7G,GAAGm6G,MAAO,GAI/BniH,KAAK6gH,OAAOvhG,aAUhBwe,UAAW,WAEP,GAAK99B,KAAKihH,SAAUjhH,KAAK+iH,WAAzB,CAKA/iH,KAAKihH,QAAS,EAEVjhH,KAAKi3G,gBAELj3G,KAAKqgH,WAAWG,KAAKz2G,MAAQ/J,KAAKshH,aAItC,IAAK,IAAIt5G,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,GAAGkvG,gBAEhBl3G,KAAKijH,QAAQj7G,GAAGm6G,MAAO,GAI/BniH,KAAK6iH,SAASvjG,aASlBiF,QAAS,WAELvkB,KAAK4jH,UAEL,IAAK,IAAI57G,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,IAEbhI,KAAKijH,QAAQj7G,GAAGuc,UAIxBvkB,KAAKijH,WAELjjH,KAAK2iH,cAAc17F,UAEfjnB,KAAK8kB,UAED7c,OAAqB,aAGrBA,OAAqB,aAAEu7G,aAAexjH,KAAK8kB,QAIvC9kB,KAAK8kB,QAAQu/F,OAEbrkH,KAAK8kB,QAAQu/F,WASjChkH,EAAO06B,aAAax0B,UAAU8B,YAAchI,EAAO06B,aAMnDtzB,OAAOmF,eAAevM,EAAO06B,aAAax0B,UAAW,QAEjDmG,IAAK,WAED,OAAO1M,KAAKihH,QAIhBt0G,IAAK,SAAU5C,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAI/J,KAAKihH,OAEL,OAGJjhH,KAAK+iH,YAAa,EAClB/iH,KAAK29B,cAGT,CACI,IAAK39B,KAAKihH,OAEN,OAGJjhH,KAAK+iH,YAAa,EAClB/iH,KAAK89B,gBAUjBr2B,OAAOmF,eAAevM,EAAO06B,aAAax0B,UAAW,UAEjDmG,IAAK,WAED,OAAO1M,KAAK+gH,SAIhBp0G,IAAK,SAAU5C,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGR/J,KAAK+gH,UAAYh3G,EACrB,CAGI,GAFA/J,KAAK+gH,QAAUh3G,EAEX/J,KAAKi3G,cAELj3G,KAAKqgH,WAAWG,KAAKz2G,MAAQA,OAK7B,IAAK,IAAI/B,EAAI,EAAGA,EAAIhI,KAAKijH,QAAQl7G,OAAQC,IAEjChI,KAAKijH,QAAQj7G,GAAGkvG,eAEhBl3G,KAAKijH,QAAQj7G,GAAGy6G,mBAAmB14G,GAK/C/J,KAAK4iH,eAAetjG,SAASvV,OA0EzC1J,EAAOk6B,aAAe,SAAUtf,EAAM9K,EAAOC,GAQzCpQ,KAAKib,KAAOA,EAQZjb,KAAKskH,IAAMjkH,EAAO0rB,IAOlB/rB,KAAKu2C,KAAO,KAOZv2C,KAAKmQ,MAAQ,EAObnQ,KAAKoQ,OAAS,EASdpQ,KAAKukH,SAAW,KAUhBvkH,KAAK6+E,SAAW,KAShB7+E,KAAKwkH,UAAY,KAUjBxkH,KAAKykH,UAAY,KASjBzkH,KAAK6O,OAAS,IAAIxO,EAAOoN,MAUzBzN,KAAK0kH,gBAAiB,EAUtB1kH,KAAK2kH,eAAgB,EAWrB3kH,KAAK4kH,sBAAuB,EAO5B5kH,KAAK6kH,wBAAyB,EAO9B7kH,KAAK8kH,sBAAuB,EA0B5B9kH,KAAK+kH,oBAAsB,IAAI1kH,EAAOwb,OAUtC7b,KAAKglH,0BAA4B,IAAI3kH,EAAOwb,OAU5C7b,KAAKilH,0BAA4B,IAAI5kH,EAAOwb,OAY5C7b,KAAKklH,wBAAyB,EAe9BllH,KAAKmlH,iBAAmB,KAQxBnlH,KAAKolH,yBAA2B,KAuBhCplH,KAAKqlH,iBAAmB,IAAIhlH,EAAOwb,OAWnC7b,KAAKslH,mBAAqB,IAAIjlH,EAAOwb,OAWrC7b,KAAKulH,kBAAoB,IAAIllH,EAAOwb,OAUpC7b,KAAKwlH,kBAAoBxlH,KAAKskH,IAAImB,uBAOlCzlH,KAAKF,YAAc,IAAIO,EAAOoN,MAAM,EAAG,GAQvCzN,KAAK0lH,oBAAsB,IAAIrlH,EAAOoN,MAAM,EAAG,GAS/CzN,KAAKwoG,QAAU/8F,KAAM,EAAG0D,IAAK,EAAG3D,MAAO,EAAG4D,OAAQ,EAAGjJ,EAAG,EAAG+G,EAAG,GAO9DlN,KAAKob,OAAS,IAAI/a,EAAO2N,UAOzBhO,KAAK2lH,YAAc,EAOnB3lH,KAAK4lH,kBAAoB,EAQzB5lH,KAAK+sB,MAAQ,KAeb/sB,KAAK6lH,mBACDr6G,MAAO,SACP4D,OAAQ,IA6BZpP,KAAK8lH,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrBrmH,KAAKsmH,WAAajmH,EAAOk6B,aAAagsF,SAOtCvmH,KAAKwmH,qBAAuBnmH,EAAOk6B,aAAagsF,SAUhDvmH,KAAKymH,gBAAiB,EAUtBzmH,KAAKiyF,WAAa,KAOlBjyF,KAAK0mH,kBAAoB,IAAIrmH,EAAOoN,MAAM,EAAG,GAW7CzN,KAAK2mH,oBAAsB,IAkB3B3mH,KAAK4mH,aAAe,IAAIvmH,EAAOwb,OAO/B7b,KAAK6mH,SAAW,KAOhB7mH,KAAK8mH,gBAAkB,KAMvB9mH,KAAK+mH,kBAAoB,KAOzB/mH,KAAKgnH,mBAAqB,KAO1BhnH,KAAKinH,UAAY,IAAI5mH,EAAO2N,UAO5BhO,KAAKknH,iBAAmB,IAAI7mH,EAAOoN,MAAM,EAAG,GAO5CzN,KAAKmnH,eAAiB,IAAI9mH,EAAOoN,MAAM,EAAG,GAO1CzN,KAAKonH,YAAc,EASnBpnH,KAAKqnH,gBAAkB,EAOvBrnH,KAAKsnH,qBAAuB,IAO5BtnH,KAAKunH,cAAgB,IAAIlnH,EAAO2N,UAOhChO,KAAKwnH,YAAc,IAAInnH,EAAO2N,UAO9BhO,KAAKynH,wBAA0B,IAAIpnH,EAAO2N,UAO1ChO,KAAK0nH,sBAAwB,IAAIrnH,EAAO2N,UAMxChO,KAAK2nH,SAAU,EAEX1sG,EAAK2Q,QAEL5rB,KAAK6rB,YAAY5Q,EAAK2Q,QAG1B5rB,KAAK4nH,WAAWz3G,EAAOC,IAU3B/P,EAAOk6B,aAAastF,UAAY,EAQhCxnH,EAAOk6B,aAAagsF,SAAW,EAQ/BlmH,EAAOk6B,aAAautF,SAAW,EAQ/BznH,EAAOk6B,aAAawtF,OAAS,EAQ7B1nH,EAAOk6B,aAAaytF,WAAa,EAEjC3nH,EAAOk6B,aAAah0B,WAQhB6W,KAAM,WAIF,IAAI6qG,EAASjoH,KAAK8lH,cAElBmC,EAAOlC,mBAAqB/lH,KAAKib,KAAKqS,OAAO2+D,aAAejsF,KAAKib,KAAKqS,OAAO6O,SAGxEn8B,KAAKib,KAAKqS,OAAOu+D,MAAS7rF,KAAKib,KAAKqS,OAAOq9D,QAAW3qF,KAAKib,KAAKqS,OAAO+6D,UAEpEroF,KAAKib,KAAKqS,OAAO0Y,UAAYhmC,KAAKib,KAAKqS,OAAO2Y,OAE9CgiF,EAAO/B,SAAW,IAAI7lH,EAAOoN,MAAM,EAAG,GAItCw6G,EAAO/B,SAAW,IAAI7lH,EAAOoN,MAAM,EAAG,IAI1CzN,KAAKib,KAAKqS,OAAO+6D,SAEjB4/B,EAAOjC,oBAAsB,SAC7BiC,EAAO5B,gBAAkB,mBAIzB4B,EAAOjC,oBAAsB,GAC7BiC,EAAO5B,gBAAkB,IAK7B,IAAIn/F,EAAQlnB,KAEZA,KAAKkoH,mBAAqB,SAASn7F,GAC/B,OAAO7F,EAAMihG,kBAAkBp7F,IAGnC/sB,KAAKooH,cAAgB,SAASr7F,GAC1B,OAAO7F,EAAMmhG,aAAat7F,IAI9B9kB,OAAOglB,iBAAiB,oBAAqBjtB,KAAKkoH,oBAAoB,GACtEjgH,OAAOglB,iBAAiB,SAAUjtB,KAAKooH,eAAe,GAElDpoH,KAAK8lH,cAAcC,qBAEnB/lH,KAAKsoH,kBAAoB,SAASv7F,GAC9B,OAAO7F,EAAMqhG,iBAAiBx7F,IAGlC/sB,KAAKwoH,iBAAmB,SAASz7F,GAC7B,OAAO7F,EAAMuhG,gBAAgB17F,IAGjCL,SAASO,iBAAiB,yBAA0BjtB,KAAKsoH,mBAAmB,GAC5E57F,SAASO,iBAAiB,sBAAuBjtB,KAAKsoH,mBAAmB,GACzE57F,SAASO,iBAAiB,qBAAsBjtB,KAAKsoH,mBAAmB,GACxE57F,SAASO,iBAAiB,mBAAoBjtB,KAAKsoH,mBAAmB,GAEtE57F,SAASO,iBAAiB,wBAAyBjtB,KAAKwoH,kBAAkB,GAC1E97F,SAASO,iBAAiB,qBAAsBjtB,KAAKwoH,kBAAkB,GACvE97F,SAASO,iBAAiB,oBAAqBjtB,KAAKwoH,kBAAkB,GACtE97F,SAASO,iBAAiB,kBAAmBjtB,KAAKwoH,kBAAkB,IAGxExoH,KAAKib,KAAKiI,SAAShR,IAAIlS,KAAK0oH,aAAc1oH,MAI1CA,KAAKskH,IAAIt4F,UAAUhsB,KAAKib,KAAKgR,OAAQjsB,KAAK6O,QAE1C7O,KAAKob,OAAOnN,MAAMjO,KAAK6O,OAAO1I,EAAGnG,KAAK6O,OAAO3B,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAEjEpQ,KAAK2oH,YAAY3oH,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAG5CpQ,KAAKwlH,kBAAoBxlH,KAAKskH,IAAImB,qBAAqBzlH,KAAK8lH,cAAcE,qBAEtE3lH,EAAOuoH,WAEP5oH,KAAKu2C,KAAO,IAAIl2C,EAAOuoH,SAAS5oH,KAAMA,KAAKmQ,MAAOnQ,KAAKoQ,SAG3DpQ,KAAK2nH,SAAU,EAEgB,OAA3B3nH,KAAK+mH,oBAEL/mH,KAAKmwD,UAAYnwD,KAAK+mH,kBACtB/mH,KAAK+mH,kBAAoB,OAYjCl7F,YAAa,SAAUD,QAESthB,IAAxBshB,EAAkB,YAEd5rB,KAAK2nH,QAEL3nH,KAAKmwD,UAAYvkC,EAAkB,UAInC5rB,KAAK+mH,kBAAoBn7F,EAAkB,gBAIbthB,IAAlCshB,EAA4B,sBAE5B5rB,KAAK6oH,oBAAsBj9F,EAA4B,qBAGvDA,EAAyB,mBAEzB5rB,KAAKmlH,iBAAmBv5F,EAAyB,mBAezDg8F,WAAY,SAAUz3G,EAAOC,GAEzB,IAAIlJ,EACA+M,EAAO,IAAI5T,EAAO2N,UAEG,KAArBhO,KAAKib,KAAKkP,SAEsB,iBAArBnqB,KAAKib,KAAKkP,OAGjBjjB,EAASwlB,SAASolE,eAAe9xF,KAAKib,KAAKkP,QAEtCnqB,KAAKib,KAAKkP,QAAwC,IAA9BnqB,KAAKib,KAAKkP,OAAOxe,WAG1CzE,EAASlH,KAAKib,KAAKkP,SAKtBjjB,GAaDlH,KAAKiyF,WAAa/qF,EAClBlH,KAAKymH,gBAAiB,EAEtBzmH,KAAK8oH,gBAAgB9oH,KAAKunH,eAE1BtzG,EAAK9D,MAAQnQ,KAAKunH,cAAcp3G,MAChC8D,EAAK7D,OAASpQ,KAAKunH,cAAcn3G,OAEjCpQ,KAAK6O,OAAOlC,IAAI3M,KAAKunH,cAAcphH,EAAGnG,KAAKunH,cAAcr6G,KAlBzDlN,KAAKiyF,WAAa,KAClBjyF,KAAKymH,gBAAiB,EAEtBxyG,EAAK9D,MAAQnQ,KAAKskH,IAAIyE,aAAa54G,MACnC8D,EAAK7D,OAASpQ,KAAKskH,IAAIyE,aAAa34G,OAEpCpQ,KAAK6O,OAAOlC,IAAI,EAAG,IAevB,IAAIsyD,EAAW,EACXC,EAAY,EAEK,iBAAV/uD,EAEP8uD,EAAW9uD,GAKXnQ,KAAK0mH,kBAAkBvgH,EAAI8E,SAASkF,EAAO,IAAM,IACjD8uD,EAAWhrD,EAAK9D,MAAQnQ,KAAK0mH,kBAAkBvgH,GAG7B,iBAAXiK,EAEP8uD,EAAY9uD,GAKZpQ,KAAK0mH,kBAAkBx5G,EAAIjC,SAASmF,EAAQ,IAAM,IAClD8uD,EAAYjrD,EAAK7D,OAASpQ,KAAK0mH,kBAAkBx5G,GAGrD+xD,EAAWh5D,KAAKI,MAAM44D,GACtBC,EAAYj5D,KAAKI,MAAM64D,GAEvBl/D,KAAKinH,UAAUh5G,MAAM,EAAG,EAAGgxD,EAAUC,GAErCl/D,KAAKgpH,iBAAiB/pD,EAAUC,GAAW,IAU/CwpD,aAAc,WAEV1oH,KAAKipH,aAAY,IAmBrBN,YAAa,SAAUx4G,EAAOC,GAE1BpQ,KAAKinH,UAAUh5G,MAAM,EAAG,EAAGkC,EAAOC,GAE9BpQ,KAAKkpH,mBAAqB7oH,EAAOk6B,aAAawtF,QAE9C/nH,KAAKgpH,iBAAiB74G,EAAOC,GAAQ,GAGzCpQ,KAAKipH,aAAY,IAsBrBE,aAAc,SAAUC,EAAQC,EAAQC,EAAOC,EAAON,EAAa3qG,GAE/Dte,KAAKknH,iBAAiBj5G,MAAMm7G,EAAQC,GACpCrpH,KAAKmnH,eAAel5G,MAAc,EAARq7G,EAAmB,EAARC,QAEjBj/G,IAAhB2+G,IAA6BA,GAAc,QACjC3+G,IAAVgU,IAAuBA,GAAQ,GAE/B2qG,GAEAjpH,KAAKipH,YAAY3qG,IA+BzBkrG,kBAAmB,SAAUn1F,EAAUvP,GAEnC9kB,KAAK6mH,SAAWxyF,EAChBr0B,KAAK8mH,gBAAkBhiG,GAc3B2kG,iBAAkB,WAEd,IAAKppH,EAAO2N,UAAU0M,eAAe1a,KAAMA,KAAKynH,2BAC3CpnH,EAAO2N,UAAU0M,eAAe1a,KAAKib,KAAMjb,KAAK0nH,uBACrD,CACI,IAAIv3G,EAAQnQ,KAAKmQ,MACbC,EAASpQ,KAAKoQ,OAElBpQ,KAAKynH,wBAAwBx5G,MAAM,EAAG,EAAGkC,EAAOC,GAChDpQ,KAAK0nH,sBAAsBz5G,MAAM,EAAG,EAAGjO,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAE9DpQ,KAAKu2C,MAELv2C,KAAKu2C,KAAKswE,SAAS12G,EAAOC,GAG9BpQ,KAAK4mH,aAAatnG,SAAStf,KAAMmQ,EAAOC,GAGpCpQ,KAAKkpH,mBAAqB7oH,EAAOk6B,aAAawtF,SAE9C/nH,KAAKib,KAAK0F,MAAMnH,OAAOrJ,EAAOC,GAC9BpQ,KAAKib,KAAKwF,KAAKjH,OAAOrJ,EAAOC,MAqBzCs5G,UAAW,SAAUnF,EAAUC,EAAW3lC,EAAU4lC,GAEhDzkH,KAAKukH,SAAWA,EAChBvkH,KAAKwkH,UAAYA,OAEO,IAAb3lC,IAEP7+E,KAAK6+E,SAAWA,QAGK,IAAd4lC,IAEPzkH,KAAKykH,UAAYA,IAWzBhnG,UAAW,WAEP,KAAIzd,KAAKib,KAAKmE,KAAKA,KAAQpf,KAAKonH,YAAcpnH,KAAKqnH,iBAAnD,CAKA,IAAIsC,EAAe3pH,KAAKqnH,gBACxBrnH,KAAKsnH,qBAAuBqC,GAAgB,IAAM,EAAI,IAEtD3pH,KAAKskH,IAAIt4F,UAAUhsB,KAAKib,KAAKgR,OAAQjsB,KAAK6O,QAE1C,IAAI+6G,EAAY5pH,KAAKunH,cAAcp3G,MAC/B05G,EAAa7pH,KAAKunH,cAAcn3G,OAChCgL,EAASpb,KAAK8oH,gBAAgB9oH,KAAKunH,eAEnCuC,EAAgB1uG,EAAOjL,QAAUy5G,GAAaxuG,EAAOhL,SAAWy5G,EAGhEE,EAAqB/pH,KAAKgqH,0BAE1BF,GAAiBC,KAEb/pH,KAAK6mH,UAEL7mH,KAAK6mH,SAAS7/G,KAAKhH,KAAK8mH,gBAAiB9mH,KAAMob,GAGnDpb,KAAKiqH,eAELjqH,KAAKypH,oBAIT,IAAIS,EAAkC,EAAvBlqH,KAAKqnH,gBAGhBrnH,KAAKqnH,gBAAkBsC,IAEvBO,EAAWjkH,KAAKuM,IAAIm3G,EAAc3pH,KAAKsnH,uBAG3CtnH,KAAKqnH,gBAAkBhnH,EAAO4F,KAAKiQ,MAAMg0G,EAAU,GAAIlqH,KAAK2mH,qBAC5D3mH,KAAKonH,YAAcpnH,KAAKib,KAAKmE,KAAKA,OAUtCoC,YAAa,WAETxhB,KAAKyd,YAGLzd,KAAKqnH,gBAAkBrnH,KAAK2mH,qBAahCqC,iBAAkB,SAAU74G,EAAOC,EAAQoJ,GAEvCxZ,KAAKmQ,MAAQA,EAAQnQ,KAAK0mH,kBAAkBvgH,EAC5CnG,KAAKoQ,OAASA,EAASpQ,KAAK0mH,kBAAkBx5G,EAE9ClN,KAAKib,KAAK9K,MAAQnQ,KAAKmQ,MACvBnQ,KAAKib,KAAK7K,OAASpQ,KAAKoQ,OAExBpQ,KAAK4lH,kBAAoB5lH,KAAKmQ,MAAQnQ,KAAKoQ,OAC3CpQ,KAAKmqH,yBAED3wG,IAGAxZ,KAAKib,KAAKud,SAAShf,OAAOxZ,KAAKmQ,MAAOnQ,KAAKoQ,QAG3CpQ,KAAKib,KAAKoC,OAAO6C,QAAQlgB,KAAKmQ,MAAOnQ,KAAKoQ,QAG1CpQ,KAAKib,KAAKC,MAAM1B,OAAOxZ,KAAKmQ,MAAOnQ,KAAKoQ,UAYhD+5G,uBAAwB,WAEpBnqH,KAAKF,YAAYqG,EAAInG,KAAKib,KAAK9K,MAAQnQ,KAAKmQ,MAC5CnQ,KAAKF,YAAYoN,EAAIlN,KAAKib,KAAK7K,OAASpQ,KAAKoQ,OAE7CpQ,KAAK0lH,oBAAoBv/G,EAAInG,KAAKmQ,MAAQnQ,KAAKib,KAAK9K,MACpDnQ,KAAK0lH,oBAAoBx4G,EAAIlN,KAAKoQ,OAASpQ,KAAKib,KAAK7K,OAErDpQ,KAAK2lH,YAAc3lH,KAAKmQ,MAAQnQ,KAAKoQ,OAGjCpQ,KAAKib,KAAKgR,QAEVjsB,KAAKskH,IAAIt4F,UAAUhsB,KAAKib,KAAKgR,OAAQjsB,KAAK6O,QAG9C7O,KAAKob,OAAOnN,MAAMjO,KAAK6O,OAAO1I,EAAGnG,KAAK6O,OAAO3B,EAAGlN,KAAKmQ,MAAOnQ,KAAKoQ,QAG7DpQ,KAAKib,KAAKuF,OAASxgB,KAAKib,KAAKuF,MAAMnL,OAEnCrV,KAAKib,KAAKuF,MAAMnL,MAAMpH,MAAMjO,KAAKF,YAAYqG,EAAGnG,KAAKF,YAAYoN,IAmBzEk9G,iBAAkB,SAAU1F,EAAgBC,QAElBr6G,IAAlBq6G,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/B3kH,KAAK0kH,eAAiBA,EACtB1kH,KAAK2kH,cAAgBA,EAErB3kH,KAAKipH,aAAY,IAPb3gH,QAAQG,KAAK,+EAmBrB4hH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAYfN,uBAAwB,WAEpB,IAAIO,EAAsBvqH,KAAKwlH,kBAC3BgF,EAAsBxqH,KAAK4kH,qBAE/B5kH,KAAKwlH,kBAAoBxlH,KAAKskH,IAAImB,qBAAqBzlH,KAAK8lH,cAAcE,qBAE1EhmH,KAAK4kH,qBAAwB5kH,KAAK0kH,iBAAmB1kH,KAAKyqH,aACrDzqH,KAAK2kH,gBAAkB3kH,KAAK0qH,WAEjC,IAAIC,EAAUJ,IAAwBvqH,KAAKwlH,kBACvCoF,EAAqBJ,IAAwBxqH,KAAK4kH,qBAmBtD,OAjBIgG,IAEI5qH,KAAK4kH,qBAEL5kH,KAAKglH,0BAA0B1lG,WAI/Btf,KAAKilH,0BAA0B3lG,aAInCqrG,GAAWC,IAEX5qH,KAAK+kH,oBAAoBzlG,SAAStf,KAAMuqH,EAAqBC,GAG1DG,GAAWC,GAWtBzC,kBAAmB,SAAUp7F,GAEzB/sB,KAAK+sB,MAAQA,EAEb/sB,KAAKipH,aAAY,IAWrBZ,aAAc,SAAUt7F,GAEpB/sB,KAAK+sB,MAAQA,EAEb/sB,KAAKipH,aAAY,IAUrB4B,UAAW,WAEP,IAAI3E,EAAWlmH,KAAK8lH,cAAcI,SAE9BA,GAEAj+G,OAAOi+G,SAASA,EAAS//G,EAAG+/G,EAASh5G,IAyB7CgwB,QAAS,WAELl9B,KAAK6qH,YACL7qH,KAAKipH,aAAY,IAUrBgB,aAAc,WAEV,IAAI95D,EAAYnwD,KAAKkpH,iBAErB,GAAI/4D,IAAc9vD,EAAOk6B,aAAawtF,OAAtC,CAsDA,GAhDA/nH,KAAK6qH,YAED7qH,KAAK8lH,cAAcK,6BAInBz5F,SAASmkE,gBAAgBlzE,MAAM6mG,UAAYv8G,OAAOkD,YAAc,MAGhEnL,KAAK4kH,qBAEL5kH,KAAK8qH,aAID36D,IAAc9vD,EAAOk6B,aAAastF,UAElC7nH,KAAK+qH,cAEA56D,IAAc9vD,EAAOk6B,aAAautF,UAElC9nH,KAAKgrH,cAAgBhrH,KAAKirH,gBAC3BjrH,KAAK8lH,cAAcM,iBAKnBpmH,KAAKkrH,YAAW,GAChBlrH,KAAKmrH,cACLnrH,KAAKkrH,cAILlrH,KAAKkrH,aAGJ/6D,IAAc9vD,EAAOk6B,aAAagsF,UAEvCvmH,KAAKmQ,MAAQnQ,KAAKib,KAAK9K,MACvBnQ,KAAKoQ,OAASpQ,KAAKib,KAAK7K,QAEnB+/C,IAAc9vD,EAAOk6B,aAAaytF,aAEvChoH,KAAKmQ,MAASnQ,KAAKib,KAAK9K,MAAQnQ,KAAKknH,iBAAiB/gH,EAAKnG,KAAKmnH,eAAehhH,EAC/EnG,KAAKoQ,OAAUpQ,KAAKib,KAAK7K,OAASpQ,KAAKknH,iBAAiBh6G,EAAKlN,KAAKmnH,eAAej6G,IAIpFlN,KAAK8lH,cAAcM,kBACnBj2D,IAAc9vD,EAAOk6B,aAAautF,UAAY33D,IAAc9vD,EAAOk6B,aAAaytF,YACrF,CACI,IAAI5sG,EAASpb,KAAK8oH,gBAAgB9oH,KAAKwnH,aACvCxnH,KAAKmQ,MAAQlK,KAAKuM,IAAIxS,KAAKmQ,MAAOiL,EAAOjL,OACzCnQ,KAAKoQ,OAASnK,KAAKuM,IAAIxS,KAAKoQ,OAAQgL,EAAOhL,QAI/CpQ,KAAKmQ,MAAqB,EAAbnQ,KAAKmQ,MAClBnQ,KAAKoQ,OAAuB,EAAdpQ,KAAKoQ,OAEnBpQ,KAAKorH,oBAhEDprH,KAAKqrH,cAoFbvC,gBAAiB,SAAU5hH,GAEvB,IAAIkU,EAASlU,GAAU,IAAI7G,EAAO2N,UAC9BikF,EAAajyF,KAAKirH,eAClBlC,EAAe/oH,KAAKskH,IAAIyE,aACxBuC,EAAetrH,KAAKskH,IAAIgH,aAE5B,GAAKr5B,EAKL,CAEI,IAAIs5B,EAAat5B,EAAWu5B,wBACxBC,EAAcx5B,EAAuB,aAAIA,EAAWy5B,aAAaF,wBAA0Bv5B,EAAWu5B,wBAE1GpwG,EAAOnN,MAAMs9G,EAAW9/G,KAAOggH,EAAWhgH,KAAM8/G,EAAWp8G,IAAMs8G,EAAWt8G,IAAKo8G,EAAWp7G,MAAOo7G,EAAWn7G,QAE9G,IAAIu7G,EAAK3rH,KAAK6lH,kBAEd,GAAI8F,EAAGngH,MACP,CACQogH,EAA4B,WAAbD,EAAGngH,MAAqB8/G,EAAevC,EAC1D3tG,EAAO5P,MAAQvF,KAAKuM,IAAI4I,EAAO5P,MAAOogH,EAAaz7G,OAGvD,GAAIw7G,EAAGv8G,OACP,CACI,IAAIw8G,EAA6B,WAAdD,EAAGv8G,OAAsBk8G,EAAevC,EAC3D3tG,EAAOhM,OAASnJ,KAAKuM,IAAI4I,EAAOhM,OAAQw8G,EAAax7G,cArBzDgL,EAAOnN,MAAM,EAAG,EAAG86G,EAAa54G,MAAO44G,EAAa34G,QA6BxD,OAJAgL,EAAOnN,MACHhI,KAAKsI,MAAM6M,EAAOjV,GAAIF,KAAKsI,MAAM6M,EAAOlO,GACxCjH,KAAKsI,MAAM6M,EAAOjL,OAAQlK,KAAKsI,MAAM6M,EAAOhL,SAEzCgL,GAcXywG,YAAa,SAAUtvG,EAAYC,GAE/B,IAAIsvG,EAAe9rH,KAAK8oH,gBAAgB9oH,KAAKwnH,aACzCv7F,EAASjsB,KAAKib,KAAKgR,OACnBu8E,EAASxoG,KAAKwoG,OAElB,GAAIjsF,EACJ,CACIisF,EAAO/8F,KAAO+8F,EAAOh9F,MAAQ,EAEzBugH,EAAe9/F,EAAOu/F,wBAE1B,GAAIxrH,KAAKmQ,MAAQ27G,EAAa37G,QAAUnQ,KAAK4kH,qBAC7C,CACI,IAAIoH,EAAcD,EAAatgH,KAAOqgH,EAAa3lH,EAC/C8lH,EAAcH,EAAa37G,MAAQ,EAAMnQ,KAAKmQ,MAAQ,EAItDtB,GAFJo9G,EAAahmH,KAAKyM,IAAIu5G,EAAY,IAERD,EAE1BxjB,EAAO/8F,KAAOxF,KAAKsI,MAAMM,GAG7Bod,EAAOtO,MAAMuuG,WAAa1jB,EAAO/8F,KAAO,KAEpB,IAAhB+8F,EAAO/8F,OAEP+8F,EAAOh9F,QAAUsgH,EAAa37G,MAAQ47G,EAAa57G,MAAQq4F,EAAO/8F,MAClEwgB,EAAOtO,MAAMwuG,YAAc3jB,EAAOh9F,MAAQ,MAIlD,GAAIgR,EACJ,CACIgsF,EAAOr5F,IAAMq5F,EAAOp5F,OAAS,EAE7B,IAAI28G,EAAe9/F,EAAOu/F,wBAE1B,GAAIxrH,KAAKoQ,OAAS07G,EAAa17G,SAAWpQ,KAAK4kH,qBAC/C,CACI,IAAIoH,EAAcD,EAAa58G,IAAM28G,EAAa5+G,EAC9C++G,EAAcH,EAAa17G,OAAS,EAAMpQ,KAAKoQ,OAAS,EAIxDvB,GAFJo9G,EAAahmH,KAAKyM,IAAIu5G,EAAY,IAERD,EAC1BxjB,EAAOr5F,IAAMlJ,KAAKsI,MAAMM,GAG5Bod,EAAOtO,MAAMyuG,UAAY5jB,EAAOr5F,IAAM,KAEnB,IAAfq5F,EAAOr5F,MAEPq5F,EAAOp5F,SAAW08G,EAAa17G,OAAS27G,EAAa37G,OAASo4F,EAAOr5F,KACrE8c,EAAOtO,MAAM0uG,aAAe7jB,EAAOp5F,OAAS,MAKpDo5F,EAAOriG,EAAIqiG,EAAO/8F,KAClB+8F,EAAOt7F,EAAIs7F,EAAOr5F,KAYtBk8G,WAAY,WAERrrH,KAAKmrH,YAAY,GAAI,IAErB,IAAI/vG,EAASpb,KAAK8oH,gBAAgB9oH,KAAKwnH,aACvCxnH,KAAKgpH,iBAAiB5tG,EAAOjL,MAAOiL,EAAOhL,QAAQ,IAYvDg7G,aAAc,WAELprH,KAAK4kH,uBAEN5kH,KAAKmQ,MAAQ9P,EAAO4F,KAAKiQ,MAAMlW,KAAKmQ,MAAOnQ,KAAKukH,UAAY,EAAGvkH,KAAK6+E,UAAY7+E,KAAKmQ,OACrFnQ,KAAKoQ,OAAS/P,EAAO4F,KAAKiQ,MAAMlW,KAAKoQ,OAAQpQ,KAAKwkH,WAAa,EAAGxkH,KAAKykH,WAAazkH,KAAKoQ,SAG7FpQ,KAAKmrH,cAEAnrH,KAAK8lH,cAAcG,YAEhBjmH,KAAKgrH,cAAgBhrH,KAAKolH,yBAE1BplH,KAAK6rH,aAAY,GAAM,GAIvB7rH,KAAK6rH,YAAY7rH,KAAKssH,sBAAuBtsH,KAAKusH,sBAI1DvsH,KAAKmqH,0BAYTgB,YAAa,SAAUqB,EAAUC,QAEZniH,IAAbkiH,IAA0BA,EAAWxsH,KAAKmQ,MAAQ,WACpC7F,IAAdmiH,IAA2BA,EAAYzsH,KAAKoQ,OAAS,MAEzD,IAAI6b,EAASjsB,KAAKib,KAAKgR,OAElBjsB,KAAK8lH,cAAcG,YAEpBh6F,EAAOtO,MAAMuuG,WAAa,GAC1BjgG,EAAOtO,MAAMyuG,UAAY,GACzBngG,EAAOtO,MAAMwuG,YAAc,GAC3BlgG,EAAOtO,MAAM0uG,aAAe,IAGhCpgG,EAAOtO,MAAMxN,MAAQq8G,EACrBvgG,EAAOtO,MAAMvN,OAASq8G,GAW1BxD,YAAa,SAAU3qG,GAEfA,IAEAte,KAAKunH,cAAcp3G,MAAQ,EAC3BnQ,KAAKunH,cAAcn3G,OAAS,GAGhCpQ,KAAKqnH,gBAAkBrnH,KAAKsnH,sBAUhCnnG,MAAO,SAAUsD,GAETA,GAAczjB,KAAKu2C,MAEnBv2C,KAAKu2C,KAAKp2B,SAWlB2qG,WAAY,WAER9qH,KAAKmQ,MAAQnQ,KAAKskH,IAAIyE,aAAa54G,MACnCnQ,KAAKoQ,OAASpQ,KAAKskH,IAAIyE,aAAa34G,QAWxC86G,WAAY,SAAUwB,GAElB,IAIIC,EAJAvxG,EAASpb,KAAK8oH,gBAAgB9oH,KAAKwnH,aACnCr3G,EAAQiL,EAAOjL,MACfC,EAASgL,EAAOhL,OAMhBu8G,EAFAD,EAEazmH,KAAKyM,IAAKtC,EAASpQ,KAAKib,KAAK7K,OAAUD,EAAQnQ,KAAKib,KAAK9K,OAIzDlK,KAAKuM,IAAKpC,EAASpQ,KAAKib,KAAK7K,OAAUD,EAAQnQ,KAAKib,KAAK9K,OAG1EnQ,KAAKmQ,MAAQlK,KAAKsI,MAAMvO,KAAKib,KAAK9K,MAAQw8G,GAC1C3sH,KAAKoQ,OAASnK,KAAKsI,MAAMvO,KAAKib,KAAK7K,OAASu8G,IAWhD5B,YAAa,WAET,IAAI3vG,EAASpb,KAAK8oH,gBAAgB9oH,KAAKwnH,aAEvCxnH,KAAKmQ,MAAQiL,EAAOjL,MACpBnQ,KAAKoQ,OAASgL,EAAOhL,OAEjBpQ,KAAKgrH,eAMLhrH,KAAK6+E,WAEL7+E,KAAKmQ,MAAQlK,KAAKuM,IAAIxS,KAAKmQ,MAAOnQ,KAAK6+E,WAGvC7+E,KAAKykH,YAELzkH,KAAKoQ,OAASnK,KAAKuM,IAAIxS,KAAKoQ,OAAQpQ,KAAKykH,cAcjDmI,uBAAwB,WAEpB,IAAIC,EAAWngG,SAASkxD,cAAc,OAMtC,OAJAivC,EAASlvG,MAAM6qF,OAAS,IACxBqkB,EAASlvG,MAAMwK,QAAU,IACzB0kG,EAASlvG,MAAMmvG,WAAa,OAErBD,GA6BXE,gBAAiB,SAAUt0F,EAAWu0F,GAElC,GAAIhtH,KAAKgrH,aAEL,OAAO,EAGX,CAAA,GAAKhrH,KAAK8lH,cAAcC,mBAAxB,CAYA,GAA2C,mBAAvC/lH,KAAK8lH,cAAcO,gBACvB,CACI,IAAI7lG,EAAQxgB,KAAKib,KAAKuF,MAEtB,GAAIA,EAAMuf,eACNvf,EAAMuf,gBAAkBvf,EAAMwf,eAC7BgtF,IAAuC,IAApBA,GAGpB,YADAxsG,EAAMuf,cAAcwO,mBAAmB,kBAAmBvuC,KAAK+sH,gBAAiB/sH,MAAOy4B,GAAW,SAKxFnuB,IAAdmuB,GAA2Bz4B,KAAKib,KAAK4J,aAAexkB,EAAOI,SAE3DT,KAAKib,KAAKsC,MAAM8e,SAAW5D,GAG/B,IAAIo0F,EAAW7sH,KAAKmlH,iBAEf0H,IAED7sH,KAAKitH,uBAELjtH,KAAKolH,yBAA2BplH,KAAK4sH,yBACrCC,EAAW7sH,KAAKolH,0BAGpB,IAAI8H,GACAC,cAAeN,GAOnB,GAJA7sH,KAAKklH,wBAAyB,EAE9BllH,KAAKqlH,iBAAiB/lG,SAAStf,KAAMktH,GAEjCltH,KAAKolH,yBACT,CAGI,IAAIn5F,EAASjsB,KAAKib,KAAKgR,OACVA,EAAOgmE,WACbpD,aAAag+B,EAAU5gG,GAC9B4gG,EAAS76B,YAAY/lE,GAYzB,OATIjsB,KAAKib,KAAKqS,OAAO8+D,mBAEjBygC,EAAS7sH,KAAKib,KAAKqS,OAAO4+D,mBAAmByE,QAAQy8B,sBAIrDP,EAAS7sH,KAAKib,KAAKqS,OAAO4+D,sBAGvB,EAhEH,IAAIhlE,EAAQlnB,KAEZ4sF,WAAW,WACP1lE,EAAMuhG,mBACP,MAuEX4E,eAAgB,WAEZ,SAAKrtH,KAAKgrH,eAAiBhrH,KAAK8lH,cAAcC,sBAK9C/lH,KAAKklH,wBAAyB,EAE9Bx4F,SAAS1sB,KAAKib,KAAKqS,OAAO6+D,qBAEnB,IAWX8gC,qBAAsB,WAElB,IAAIJ,EAAW7sH,KAAKolH,yBAEpB,GAAIyH,GAAYA,EAAS56B,WACzB,CAGI,IAAI9nE,EAAS0iG,EAAS56B,WACtB9nE,EAAO0kE,aAAa7uF,KAAKib,KAAKgR,OAAQ4gG,GACtC1iG,EAAO4I,YAAY85F,GAGvB7sH,KAAKolH,yBAA2B,MAYpCkI,eAAgB,SAAUC,GAEtB,IAAIC,IAAkBxtH,KAAKolH,yBACvByH,EAAW7sH,KAAKolH,0BAA4BplH,KAAKmlH,iBAEjDoI,GAEIC,GAAiBxtH,KAAK6oH,sBAAwBxoH,EAAOk6B,aAAastF,YAG9DgF,IAAa7sH,KAAKib,KAAKgR,SAEvBjsB,KAAKgnH,oBACDx/B,YAAaqlC,EAASlvG,MAAMxN,MAC5Bs3E,aAAcolC,EAASlvG,MAAMvN,QAGjCy8G,EAASlvG,MAAMxN,MAAQ,OACvB08G,EAASlvG,MAAMvN,OAAS,SAO5BpQ,KAAKgnH,qBAEL6F,EAASlvG,MAAMxN,MAAQnQ,KAAKgnH,mBAAmBx/B,YAC/CqlC,EAASlvG,MAAMvN,OAASpQ,KAAKgnH,mBAAmBv/B,aAEhDznF,KAAKgnH,mBAAqB,MAI9BhnH,KAAKgpH,iBAAiBhpH,KAAKinH,UAAU92G,MAAOnQ,KAAKinH,UAAU72G,QAAQ,GACnEpQ,KAAKmrH,gBAYb5C,iBAAkB,SAAUx7F,GAExB/sB,KAAK+sB,MAAQA,EAET/sB,KAAKgrH,cAELhrH,KAAKstH,gBAAe,GAEpBttH,KAAKiqH,eACLjqH,KAAKipH,aAAY,KAIjBjpH,KAAKstH,gBAAe,GAEpBttH,KAAKitH,uBAELjtH,KAAKiqH,eACLjqH,KAAKipH,aAAY,IAGrBjpH,KAAKslH,mBAAmBhmG,SAAStf,KAAMA,KAAKmQ,MAAOnQ,KAAKoQ,SAY5Dq4G,gBAAiB,SAAU17F,GAEvB/sB,KAAK+sB,MAAQA,EAEb/sB,KAAKitH,uBAEL3kH,QAAQG,KAAK,+FAEbzI,KAAKulH,kBAAkBjmG,SAAStf,OAmBpCytH,YAAa,SAAUt1F,EAAQhoB,EAAOC,EAAQs9G,GAM1C,QAJcpjH,IAAV6F,IAAuBA,EAAQnQ,KAAKmQ,YACzB7F,IAAX8F,IAAwBA,EAASpQ,KAAKoQ,aACxB9F,IAAdojH,IAA2BA,GAAY,IAEtCv1F,IAAWA,EAAc,MAE1B,OAAOA,EAMX,GAHAA,EAAO9iB,MAAMlP,EAAI,EACjBgyB,EAAO9iB,MAAMnI,EAAI,EAEZirB,EAAOhoB,OAAS,GAAOgoB,EAAO/nB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAO+nB,EAGX,IAAIw1F,EAAUx9G,EACVy9G,EAAWz1F,EAAO/nB,OAASD,EAASgoB,EAAOhoB,MAE3C09G,EAAW11F,EAAOhoB,MAAQC,EAAU+nB,EAAO/nB,OAC3C09G,EAAU19G,EAEV29G,EAAgBF,EAAU19G,EA0B9B,OAtBI49G,EAFAA,EAEeL,GAICA,IAKhBv1F,EAAOhoB,MAAQlK,KAAKI,MAAMsnH,GAC1Bx1F,EAAO/nB,OAASnK,KAAKI,MAAMunH,KAI3Bz1F,EAAOhoB,MAAQlK,KAAKI,MAAMwnH,GAC1B11F,EAAO/nB,OAASnK,KAAKI,MAAMynH,IAOxB31F,GAWX5T,QAAS,WAELvkB,KAAKib,KAAKiI,SAASK,OAAOvjB,KAAK0oH,aAAc1oH,MAE7CiI,OAAOkmB,oBAAoB,oBAAqBnuB,KAAKkoH,oBAAoB,GACzEjgH,OAAOkmB,oBAAoB,SAAUnuB,KAAKooH,eAAe,GAErDpoH,KAAK8lH,cAAcC,qBAEnBr5F,SAASyB,oBAAoB,yBAA0BnuB,KAAKsoH,mBAAmB,GAC/E57F,SAASyB,oBAAoB,sBAAuBnuB,KAAKsoH,mBAAmB,GAC5E57F,SAASyB,oBAAoB,qBAAsBnuB,KAAKsoH,mBAAmB,GAC3E57F,SAASyB,oBAAoB,mBAAoBnuB,KAAKsoH,mBAAmB,GAEzE57F,SAASyB,oBAAoB,wBAAyBnuB,KAAKwoH,kBAAkB,GAC7E97F,SAASyB,oBAAoB,qBAAsBnuB,KAAKwoH,kBAAkB,GAC1E97F,SAASyB,oBAAoB,oBAAqBnuB,KAAKwoH,kBAAkB,GACzE97F,SAASyB,oBAAoB,kBAAmBnuB,KAAKwoH,kBAAkB,MAOnFnoH,EAAOk6B,aAAah0B,UAAU8B,YAAchI,EAAOk6B,aAYnD9yB,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,kBAEjDmG,IAAK,WAED,OAAI1M,KAAKymH,gBACJzmH,KAAKgrH,cAAgBhrH,KAAKklH,yBAA2BllH,KAAKolH,yBAEpD,KAGMplH,KAAKib,KAAKgR,QAAUjsB,KAAKib,KAAKgR,OAAOgmE,YAEjC,QA2C7BxqF,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,aAEjDmG,IAAK,WAED,OAAO1M,KAAKsmH,YAIhB35G,IAAK,SAAU5C,GAaX,OAXIA,IAAU/J,KAAKsmH,aAEVtmH,KAAKgrH,eAENhrH,KAAKgpH,iBAAiBhpH,KAAKinH,UAAU92G,MAAOnQ,KAAKinH,UAAU72G,QAAQ,GACnEpQ,KAAKipH,aAAY,IAGrBjpH,KAAKsmH,WAAav8G,GAGf/J,KAAKsmH,cAcpB7+G,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,uBAEjDmG,IAAK,WAED,OAAO1M,KAAKwmH,sBAIhB75G,IAAK,SAAU5C,GAmBX,OAjBIA,IAAU/J,KAAKwmH,uBAGXxmH,KAAKgrH,cAELhrH,KAAKstH,gBAAe,GACpBttH,KAAKwmH,qBAAuBz8G,EAC5B/J,KAAKstH,gBAAe,GAEpBttH,KAAKipH,aAAY,IAIjBjpH,KAAKwmH,qBAAuBz8G,GAI7B/J,KAAKwmH,wBAgBpB/+G,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,oBAEjDmG,IAAK,WAED,OAAO1M,KAAKgrH,aAAehrH,KAAKwmH,qBAAuBxmH,KAAKsmH,cAkBpE7+G,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,yBAEjDmG,IAAK,WAED,OAAO1M,KAAK6kH,wBAIhBl4G,IAAK,SAAU5C,GAEPA,IAAU/J,KAAK6kH,yBAEf7kH,KAAK6kH,uBAAyB96G,EAC9B/J,KAAKipH,aAAY,OA0B7BxhH,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,uBAEjDmG,IAAK,WAED,OAAO1M,KAAK8kH,sBAIhBn4G,IAAK,SAAU5C,GAEPA,IAAU/J,KAAK8kH,uBAEf9kH,KAAK8kH,qBAAuB/6G,EAC5B/J,KAAKipH,aAAY,OAa7BxhH,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,gBAEjDmG,IAAK,WACD,SAAUggB,SAA4B,mBAClCA,SAAkC,yBAClCA,SAA+B,sBAC/BA,SAA8B,wBAY1CjlB,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,cAEjDmG,IAAK,WACD,MAA4D,aAArD1M,KAAKqqH,oBAAoBrqH,KAAKwlH,sBAY7C/9G,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,eAEjDmG,IAAK,WACD,MAA4D,cAArD1M,KAAKqqH,oBAAoBrqH,KAAKwlH,sBAe7C/9G,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,kBAEjDmG,IAAK,WACD,OAAQ1M,KAAKoQ,OAASpQ,KAAKmQ,SAenC1I,OAAOmF,eAAevM,EAAOk6B,aAAah0B,UAAW,mBAEjDmG,IAAK,WACD,OAAQ1M,KAAKmQ,MAAQnQ,KAAKoQ,UA2BlC/P,EAAO6I,MAAMiyB,MAAQ,SAAUlgB,GAK3Bjb,KAAKib,KAAOA,EAKZjb,KAAKm4B,OAAS,KAKdn4B,KAAKguH,IAAM,KAKXhuH,KAAKisB,OAAS,KAKdjsB,KAAK8kB,QAAU,KAMf9kB,KAAK00D,KAAO,eAMZ10D,KAAKiuH,YAAc,IAMnBjuH,KAAKm6E,WAAa,GAMlBn6E,KAAKshE,UAAY,EAMjBthE,KAAKkuH,cAAe,EAMpBluH,KAAKkgF,SAAW,EAMhBlgF,KAAKmgF,SAAW,EAMhBngF,KAAKmuH,aAAe,EAMpBnuH,KAAKkoB,OAAQ,EAObloB,KAAKo7B,YAAa,EAMlBp7B,KAAKouH,MAAQ,KAMbpuH,KAAKquH,MAAQ,MAIjBhuH,EAAO6I,MAAMiyB,MAAM50B,WAQf6W,KAAM,WAEEpd,KAAKib,KAAK4J,aAAexkB,EAAOI,OAEhCT,KAAK8kB,QAAU9kB,KAAKib,KAAK6J,SAIzB9kB,KAAKguH,IAAM,IAAI3tH,EAAOiwD,WAAWtwD,KAAKib,KAAM,UAAWjb,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAAQ,GAC1FpQ,KAAKm4B,OAASn4B,KAAKib,KAAKqF,KAAKuJ,MAAM,EAAG,EAAG7pB,KAAKguH,KAC9ChuH,KAAKib,KAAKsC,MAAMC,SAASxd,KAAKm4B,QAE9Bn4B,KAAKib,KAAK5F,MAAMuxG,aAAa10G,IAAIlS,KAAKwZ,OAAQxZ,MAE9CA,KAAKisB,OAAS5rB,EAAOwhC,WAAW1gB,OAAOnhB,KAAMA,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QACxEpQ,KAAK8kB,QAAU9kB,KAAKisB,OAAO6V,WAAW,OAG1C9hC,KAAKouH,MAAQ,IAAI/tH,EAAOoQ,KACxBzQ,KAAKquH,MAAQ,IAAIhuH,EAAO2N,WAW5BwL,OAAQ,WAEJxZ,KAAKguH,IAAIx0G,OAAOxZ,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAE3CpQ,KAAKisB,OAAO9b,MAAQnQ,KAAKib,KAAK9K,MAC9BnQ,KAAKisB,OAAO7b,OAASpQ,KAAKib,KAAK7K,QAUnCqN,UAAW,WAEHzd,KAAKkoB,OAASloB,KAAKm4B,SAEnBn4B,KAAKguH,IAAIrvG,QACT3e,KAAKguH,IAAI1xD,KAAKt8D,KAAKisB,OAAQ,EAAG,GAE9BjsB,KAAK8kB,QAAQyvB,UAAU,EAAG,EAAGv0C,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QACxDpQ,KAAKkoB,OAAQ,IAUrB/H,MAAO,WAECngB,KAAK8kB,SAEL9kB,KAAK8kB,QAAQyvB,UAAU,EAAG,EAAGv0C,KAAKib,KAAK9K,MAAOnQ,KAAKib,KAAK7K,QAGxDpQ,KAAKm4B,QAELn4B,KAAKguH,IAAIrvG,SAejB7N,MAAO,SAAU3K,EAAG+G,EAAGuR,EAAOwvG,GAET,iBAAN9nH,IAAkBA,EAAI,GAChB,iBAAN+G,IAAkBA,EAAI,GACjCuR,EAAQA,GAAS,wBACGnU,IAAhB2jH,IAA6BA,EAAc,GAE/CjuH,KAAKkgF,SAAW/5E,EAChBnG,KAAKmgF,SAAWjzE,EAChBlN,KAAKsuH,aAAe7vG,EACpBze,KAAKiuH,YAAcA,EAEnBjuH,KAAKkoB,OAAQ,EAEbloB,KAAK8kB,QAAQC,OACb/kB,KAAK8kB,QAAQE,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzChlB,KAAK8kB,QAAQy8C,YAAc9iD,EAC3Bze,KAAK8kB,QAAQy3C,UAAY99C,EACzBze,KAAK8kB,QAAQ4vC,KAAO10D,KAAK00D,KACzB10D,KAAK8kB,QAAQk1C,YAAch6D,KAAKmuH,cAUpC5wF,KAAM,WAEFv9B,KAAK8kB,QAAQG,WAUjBxT,KAAM,WAIF,IAAK,IAFDtL,EAAInG,KAAKkgF,SAEJl4E,EAAI,EAAGA,EAAIf,UAAUc,OAAQC,IAE9BhI,KAAKkuH,eAELluH,KAAK8kB,QAAQy3C,UAAY,aACzBv8D,KAAK8kB,QAAQk8C,SAAS/5D,UAAUe,GAAI7B,EAAI,EAAGnG,KAAKmgF,SAAW,GAC3DngF,KAAK8kB,QAAQy3C,UAAYv8D,KAAKsuH,cAGlCtuH,KAAK8kB,QAAQk8C,SAAS/5D,UAAUe,GAAI7B,EAAGnG,KAAKmgF,UAE5Ch6E,GAAKnG,KAAKiuH,YAGdjuH,KAAKmgF,UAAYngF,KAAKm6E,YAa1Bo0C,UAAW,SAAU7tG,EAAOva,EAAG+G,EAAGuR,GAE9Bze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GACjBze,KAAKyR,KAAK,UAAYiP,EAAM7W,IAAM,YAAc6W,EAAMzF,KAAKyF,MAAMmrF,aACjE7rG,KAAKyR,KAAK,cAAgBzR,KAAKib,KAAKsF,MAAM2tF,aAAaxtF,EAAM7W,KAAO,sBAAwB6W,EAAMi/F,iBAClG3/G,KAAKyR,KAAK,YAAciP,EAAMkhG,UAAY,cAAgBlhG,EAAMkrF,YAChE5rG,KAAKyR,KAAK,mBAAqBiP,EAAMy+F,cAAgB,aAAez+F,EAAMglF,WAC1E1lG,KAAKyR,KAAK,SAAWiP,EAAM0+F,aAC3Bp/G,KAAKyR,KAAK,WAAaiP,EAAMjG,OAAS,WAAaiG,EAAMyhG,MACzDniH,KAAKyR,KAAK,aAAeiP,EAAMu2F,cAAgB,WAAav2F,EAAMw2F,eAEtC,KAAxBx2F,EAAM++F,gBAENz/G,KAAKyR,KAAK,WAAaiP,EAAM++F,cAAgB,cAAgB/+F,EAAMpE,SAAW,SAAWoE,EAAM2+F,WAAa,KAC5Gr/G,KAAKyR,KAAK,UAAYiP,EAAMw+F,QAAQx+F,EAAM++F,eAAe3uG,MAAQ,UAAY4P,EAAMw+F,QAAQx+F,EAAM++F,eAAeliF,MAChHv9B,KAAKyR,KAAK,aAAeiP,EAAMzG,WAGnCja,KAAKu9B,QAYTlgB,OAAQ,SAAUA,EAAQoB,EAAO+vG,GAE7B,IAAInzG,EAAWgC,EAAOhC,SAClBnU,EAASmW,EAAOnW,OAChBiU,EAAOkC,EAAOlC,KAEdE,IAEArb,KAAKquH,MAAMpgH,MAAMkN,EAAKhV,EAAIkV,EAASlV,EAAGgV,EAAKjO,EAAImO,EAASnO,EAAGmO,EAASlL,MAAOkL,EAASjL,QACpFpQ,KAAKyuH,UAAUzuH,KAAKquH,MAAO5vG,EAAO+vG,IAGlCtnH,IAEAlH,KAAKouH,MAAMngH,MAAMkN,EAAK/J,QAAS+J,EAAK9J,QAASnK,EAAOf,EAAGe,EAAOgG,GAC9DlN,KAAK0uH,KAAK1uH,KAAKouH,MAAO3vG,EAAO+vG,GAC7BxuH,KAAK0uH,KAAKxnH,EAAQuX,GAAO,EAAO,KAcxCkwG,WAAY,SAAUtxG,EAAQlX,EAAG+G,EAAGuR,GAEhC,IAAIrD,EAASiC,EAAOjC,OAChBC,EAAWgC,EAAOhC,SAClBnU,EAASmW,EAAOnW,OAChBiU,EAAOkC,EAAOlC,KAElBnb,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GACjBze,KAAKyR,KAAK,WAAa4L,EAAOlN,MAAQ,MAAQkN,EAAOjN,OAAS,KAC9DpQ,KAAKyR,KAAK,MAAQ4L,EAAOlX,EAAI,OAASkX,EAAOnQ,GAEzCkO,GAEApb,KAAKyR,KAAK,aAAe2J,EAAOjV,EAAI,OAASiV,EAAOlO,EAAI,OAASkO,EAAOjL,MAAQ,OAASiL,EAAOhL,QAGpGpQ,KAAKyR,KAAK,WAAa0J,EAAKhV,EAAI,OAASgV,EAAKjO,EAAI,OAASiO,EAAKhL,MAAQ,OAASgL,EAAK/K,QACtFpQ,KAAKyR,KAAK,cAAgB4J,EAAY,MAAQA,EAASlV,EAAI,OAASkV,EAASnO,EAAI,OAASmO,EAASlL,MAAQ,OAASkL,EAASjL,OAAUiL,IACvIrb,KAAKyR,KAAK,kBAAoB4L,EAAO3B,aACrC1b,KAAKyR,KAAK,gBAAkB4L,EAAO7B,QAAQrV,EAAI,OAASkX,EAAO7B,QAAQtO,GACvElN,KAAKyR,KAAK,YAAcvK,EAAUA,EAAO6E,MAAQ7E,EAAUA,IAC3DlH,KAAKu9B,QAaT0lE,MAAO,SAAUA,EAAO98F,EAAG+G,EAAGuR,GAE1Bze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GACjBze,KAAKyR,KAAK,mBAAqBwxF,EAAMQ,QAAU,aAAeR,EAAMS,QAAU,KAC9E1jG,KAAKyR,KAAK,cAAgBwxF,EAAMjxE,KAAO,cAAgBixE,EAAM3mF,UAC7Dtc,KAAKyR,KAAK,WAAawxF,EAAM3hF,OAAS,YAAc2hF,EAAMl7F,QAC1D/H,KAAKu9B,QAcThU,QAAS,SAAUA,EAASqlG,EAAUC,EAAWC,EAASrwG,GAEvC,MAAX8K,SAKajf,IAAbskH,IAA0BA,GAAW,GACzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,qBAEJ,IAAbF,IAAsC,IAAjBrlG,EAAQmgB,OAKjC1pC,KAAK8Q,MAAMyY,EAAQpjB,EAAGojB,EAAQrc,EAAI,IAAKuR,GACvCze,KAAK8kB,QAAQm8C,YACbjhE,KAAK8kB,QAAQo8C,IAAI33C,EAAQpjB,EAAGojB,EAAQrc,EAAGqc,EAAQkV,OAAO3wB,OAAQ,EAAa,EAAV7H,KAAKsH,IAElEgc,EAAQjE,OAERtlB,KAAK8kB,QAAQy3C,UAAYsyD,EAIzB7uH,KAAK8kB,QAAQy3C,UAAYuyD,EAG7B9uH,KAAK8kB,QAAQqf,OACbnkC,KAAK8kB,QAAQq8C,YAGbnhE,KAAK8kB,QAAQm8C,YACbjhE,KAAK8kB,QAAQs8C,OAAO73C,EAAQyiB,aAAa7lC,EAAGojB,EAAQyiB,aAAa9+B,GACjElN,KAAK8kB,QAAQu8C,OAAO93C,EAAQtP,SAAS9T,EAAGojB,EAAQtP,SAAS/M,GACzDlN,KAAK8kB,QAAQw8C,UAAY,EACzBthE,KAAK8kB,QAAQ08C,SACbxhE,KAAK8kB,QAAQq8C,YAGbnhE,KAAKyR,KAAK,OAAS8X,EAAQpU,GAAK,YAAcoU,EAAQjE,QACtDtlB,KAAKyR,KAAK,YAAc8X,EAAQwlG,OAAS,aAAexlG,EAAQylG,QAChEhvH,KAAKyR,KAAK,aAAe8X,EAAQpjB,EAAI,cAAgBojB,EAAQrc,EAAI,QAAUqc,EAAQud,YACnF9mC,KAAKyR,KAAK,aAAe8X,EAAQjN,SAAW,OAC5Ctc,KAAKyR,KAAK,YAAc8X,EAAQkgB,OAAS,WAAalgB,EAAQmgB,MAC9D1pC,KAAKu9B,UAaT0xF,gBAAiB,SAAU92F,EAAQhyB,EAAG+G,EAAGuR,GAErCze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GACjBze,KAAKyR,KAAK,kBAAoB0mB,EAAOhoB,MAAQ,MAAQgoB,EAAO/nB,OAAS,KACrEpQ,KAAKyR,KAAK,MAAQ0mB,EAAO3X,MAAM6yB,WAAW7pB,QAAQ,GAAK,OAAS2O,EAAO3X,MAAM8yB,WAAW9pB,QAAQ,IAChGxpB,KAAKyR,KAAK,SAAW0mB,EAAO3X,MAAMmzB,cAAgB,cAAgBxb,EAAO3X,MAAMq1B,eAAersB,QAAQ,IACtGxpB,KAAKyR,KAAK,SAAW0mB,EAAO3X,MAAM+yB,cAAgB,cAAgBpb,EAAO3X,MAAMmyB,eAAenpB,QAAQ,IACtGxpB,KAAKyR,KAAK,cAAgB0mB,EAAO3X,MAAMm1B,WAAa,cAAgBxd,EAAO3X,MAAMs1B,WACjF91C,KAAKu9B,QAaT1zB,IAAK,SAAUA,EAAK1D,EAAG+G,EAAGuR,GAEtBze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,EAAO,KAExBze,KAAKyR,KAAK,OAAQ5H,EAAIw2C,QAAS,UAAWx2C,EAAI4/B,QAC9CzpC,KAAKyR,KAAK,YAAa5H,EAAIqlH,SAAU,UAAWrlH,EAAIslH,QACpDnvH,KAAKyR,KAAK,aAAc5H,EAAI8/B,SAASngB,QAAQ,GAAI,YAAa3f,EAAIyS,SAASkN,QAAQ,IAEnFxpB,KAAKu9B,QAYT6xF,UAAW,SAAUjpH,EAAG+G,EAAGuR,GAEvBze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GACjBze,KAAKyR,KAAK,SACVzR,KAAKyR,KAAK,MAAQzR,KAAKib,KAAKuF,MAAMra,EAAI,OAASnG,KAAKib,KAAKuF,MAAMtT,GAC/DlN,KAAKyR,KAAK,YAAczR,KAAKib,KAAKuF,MAAMuuG,OAAS,aAAe/uH,KAAKib,KAAKuF,MAAMwuG,QAChFhvH,KAAKyR,KAAK,YAAczR,KAAKib,KAAKuF,MAAMnL,MAAMlP,EAAEqjB,QAAQ,GAAK,aAAexpB,KAAKib,KAAKuF,MAAMnL,MAAMlP,EAAEqjB,QAAQ,IAC5GxpB,KAAKyR,KAAK,aAAezR,KAAKib,KAAKuF,MAAMuf,cAAcqL,QAAU,cAAgBprC,KAAKib,KAAKuF,MAAMuf,cAAcsL,SAC/GrrC,KAAKu9B,QAYT8xF,aAAc,SAAUl3F,EAAQ1Z,EAAO+vG,GAEnC,IAAIpzG,EAAS+c,EAAOpqB,YAEpBqN,EAAOjV,GAAKnG,KAAKib,KAAKoC,OAAOlX,EAC7BiV,EAAOlO,GAAKlN,KAAKib,KAAKoC,OAAOnQ,EAE7BlN,KAAKyuH,UAAUrzG,EAAQqD,EAAO+vG,IAYlCc,aAAc,SAAU37D,EAAMl1C,EAAO+vG,GAEjC,IAEIe,EAAOvvH,KAFI2zD,EAAKye,SAIXzqE,QAAQ,SAAS6nH,GACtBD,EAAKd,UAAUe,EAAS/wG,EAAO+vG,IAChCxuH,OAaPyvH,WAAY,SAAUt3F,EAAQhyB,EAAG+G,EAAGuR,GAEhCze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GAEjBze,KAAKyR,KAAK,aAAoB0mB,EAAOhoB,MAAQ,MAAQgoB,EAAO/nB,OAAS,aAAe+nB,EAAOpO,OAAO5jB,EAAI,MAAQgyB,EAAOpO,OAAO7c,GAC5HlN,KAAKyR,KAAK,MAAQ0mB,EAAOhyB,EAAEqjB,QAAQ,GAAK,OAAS2O,EAAOjrB,EAAEsc,QAAQ,IAClExpB,KAAKyR,KAAK,UAAY0mB,EAAOxpB,MAAM6a,QAAQ,GAAK,cAAgB2O,EAAOP,SAASpO,QAAQ,IACxFxpB,KAAKyR,KAAK,YAAc0mB,EAAO7c,QAAU,eAAiB6c,EAAO8wB,UACjEjpD,KAAKyR,KAAK,aAAe0mB,EAAOgxB,QAAQhjD,EAAEqjB,QAAQ,GAAK,OAAS2O,EAAOgxB,QAAQj8C,EAAEsc,QAAQ,GAAK,OAAS2O,EAAOgxB,QAAQh5C,MAAMqZ,QAAQ,GAAK,OAAS2O,EAAOgxB,QAAQ/4C,OAAOoZ,QAAQ,IAEhLxpB,KAAKu9B,QAaTmyF,aAAc,SAAUv3F,EAAQhyB,EAAG+G,EAAGuR,GAElCze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,EAAO,KAEpB0Z,EAAOpsB,MAEP/L,KAAKyR,KAAK0mB,EAAOpsB,MAGrB/L,KAAKyR,KAAK,KAAM0mB,EAAOhyB,EAAEqjB,QAAQ,GAAI,KAAM2O,EAAOjrB,EAAEsc,QAAQ,IAC5DxpB,KAAKyR,KAAK,SAAU0mB,EAAOle,SAAS9T,EAAEqjB,QAAQ,GAAI,SAAU2O,EAAOle,SAAS/M,EAAEsc,QAAQ,IACtFxpB,KAAKyR,KAAK,WAAY0mB,EAAOjd,MAAM/U,EAAEqjB,QAAQ,GAAI,WAAY2O,EAAOjd,MAAMhO,EAAEsc,QAAQ,IAEpFxpB,KAAKu9B,QAaToyF,SAAU,SAAUl+G,EAAMtL,EAAG+G,EAAGuR,GAE5Bze,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,EAAO,IACxBze,KAAKyR,KAAK,WAAYA,EAAKX,MAAM3K,EAAEqjB,QAAQ,GAAI,WAAY/X,EAAKX,MAAM5D,EAAEsc,QAAQ,IAChFxpB,KAAKyR,KAAK,SAAUA,EAAKV,IAAI5K,EAAEqjB,QAAQ,GAAI,SAAU/X,EAAKV,IAAI7D,EAAEsc,QAAQ,IACxExpB,KAAKyR,KAAK,UAAWA,EAAK1J,OAAOyhB,QAAQ,GAAI,SAAU/X,EAAK9C,OAC5D3O,KAAKu9B,QAaTu/B,MAAO,SAAU32D,EAAG+G,EAAGuR,EAAO7T,GAE1BA,EAAOA,GAAQ,EAEf5K,KAAK8Q,QACL9Q,KAAK8kB,QAAQy3C,UAAY99C,EACzBze,KAAK8kB,QAAQ03C,SAASr2D,EAAG+G,EAAGtC,EAAMA,GAClC5K,KAAKu9B,QAaTmxF,KAAM,SAAUt4F,EAAQ3X,EAAO+vG,EAAQoB,QAEpBtlH,IAAXkkH,IAAwBA,GAAS,QACnBlkH,IAAdslH,IAA2BA,EAAY,GAE3CnxG,EAAQA,GAAS,oBAEjBze,KAAK8Q,QAEL9Q,KAAK8kB,QAAQy3C,UAAY99C,EACzBze,KAAK8kB,QAAQy8C,YAAc9iD,EAC3Bze,KAAK8kB,QAAQw8C,UAAYthE,KAAKshE,UAE1BlrC,aAAkB/1B,EAAO2N,WAA2B,IAAd4hH,EAElCpB,EAEAxuH,KAAK8kB,QAAQ03C,SAASpmC,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAGkpB,EAAOjmB,MAAOimB,EAAOhmB,QAIzGpQ,KAAK8kB,QAAQ6pD,WAAWv4C,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAGkpB,EAAOjmB,MAAOimB,EAAOhmB,QAG1GgmB,aAAkB/1B,EAAO4M,QAAwB,IAAd2iH,GAExC5vH,KAAK8kB,QAAQm8C,YACbjhE,KAAK8kB,QAAQo8C,IAAI9qC,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAGkpB,EAAOtoB,OAAQ,EAAa,EAAV7H,KAAKsH,IAAQ,GAC9GvN,KAAK8kB,QAAQq8C,YAETqtD,EAEAxuH,KAAK8kB,QAAQqf,OAIbnkC,KAAK8kB,QAAQ08C,UAGZprC,aAAkB/1B,EAAOoN,OAAuB,IAAdmiH,EAEvC5vH,KAAK8kB,QAAQ03C,SAASpmC,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAG,EAAG,IAElFkpB,aAAkB/1B,EAAOoQ,MAAsB,IAAdm/G,KAEtC5vH,KAAK8kB,QAAQm8C,YACbjhE,KAAK8kB,QAAQs8C,OAAQhrC,EAAOtlB,MAAM3K,EAAI,GAAOnG,KAAKib,KAAKoC,OAAOlX,EAAIiwB,EAAOtlB,MAAM5D,EAAI,GAAOlN,KAAKib,KAAKoC,OAAOnQ,GAC3GlN,KAAK8kB,QAAQu8C,OAAQjrC,EAAOrlB,IAAI5K,EAAI,GAAOnG,KAAKib,KAAKoC,OAAOlX,EAAIiwB,EAAOrlB,IAAI7D,EAAI,GAAOlN,KAAKib,KAAKoC,OAAOnQ,GACvGlN,KAAK8kB,QAAQq8C,YACbnhE,KAAK8kB,QAAQ08C,UAGjBxhE,KAAKu9B,QAYTkxF,UAAW,SAAUr4F,EAAQ3X,EAAO+vG,QAEjBlkH,IAAXkkH,IAAwBA,GAAS,GAErC/vG,EAAQA,GAAS,uBAEjBze,KAAK8Q,QAED09G,GAEAxuH,KAAK8kB,QAAQy3C,UAAY99C,EACzBze,KAAK8kB,QAAQ03C,SAASpmC,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAGkpB,EAAOjmB,MAAOimB,EAAOhmB,UAIzGpQ,KAAK8kB,QAAQw8C,UAAYthE,KAAKshE,UAC9BthE,KAAK8kB,QAAQy8C,YAAc9iD,EAC3Bze,KAAK8kB,QAAQ6pD,WAAWv4C,EAAOjwB,EAAInG,KAAKib,KAAKoC,OAAOlX,EAAGiwB,EAAOlpB,EAAIlN,KAAKib,KAAKoC,OAAOnQ,EAAGkpB,EAAOjmB,MAAOimB,EAAOhmB,SAG/GpQ,KAAKu9B,QAcTs2B,KAAM,SAAUA,EAAM1tD,EAAG+G,EAAGuR,EAAOi2C,GAE/Bj2C,EAAQA,GAAS,mBACjBi2C,EAAOA,GAAQ,eAEf10D,KAAK8Q,QACL9Q,KAAK8kB,QAAQ4vC,KAAOA,EAEhB10D,KAAKkuH,eAELluH,KAAK8kB,QAAQy3C,UAAY,aACzBv8D,KAAK8kB,QAAQk8C,SAASnN,EAAM1tD,EAAI,EAAG+G,EAAI,IAG3ClN,KAAK8kB,QAAQy3C,UAAY99C,EACzBze,KAAK8kB,QAAQk8C,SAASnN,EAAM1tD,EAAG+G,GAE/BlN,KAAKu9B,QAWTsyF,SAAU,SAAUC,EAAUrxG,GAE1BA,EAAQA,GAAS,oBAEjBze,KAAK8Q,QAEL,IAAIsK,EAAS00G,EAAS10G,OAEtB,GAA8B,IAA1B00G,EAASn3B,MAAM5wF,OACnB,CACI/H,KAAK8kB,QAAQy8C,YAAc9iD,EAC3Bze,KAAK8kB,QAAQ6pD,WAAWvzD,EAAOjV,EAAGiV,EAAOlO,EAAGkO,EAAOjL,MAAOiL,EAAOhL,QACjEpQ,KAAK6zD,KAAK,SAAWi8D,EAASp3B,QAAQ3wF,OAAQqT,EAAOjV,EAAI,EAAGiV,EAAOlO,EAAI,GAAI,eAAgB,gBAE3FlN,KAAK8kB,QAAQy8C,YAAc,eAE3B,IAASv5D,EAAI,EAAGA,EAAI8nH,EAASp3B,QAAQ3wF,OAAQC,IAEzChI,KAAK8kB,QAAQ6pD,WAAWmhD,EAASp3B,QAAQ1wF,GAAG7B,EAAG2pH,EAASp3B,QAAQ1wF,GAAGkF,EAAG4iH,EAASp3B,QAAQ1wF,GAAGmI,MAAO2/G,EAASp3B,QAAQ1wF,GAAGoI,aAKzH,IAAK,IAAIpI,EAAI,EAAGA,EAAI8nH,EAASn3B,MAAM5wF,OAAQC,IAEvChI,KAAK6vH,SAASC,EAASn3B,MAAM3wF,IAIrChI,KAAKu9B,QAcThN,KAAM,SAAU4H,EAAQ1Z,EAAO+vG,GAEvBr2F,EAAO5H,OAEPvwB,KAAK8Q,QAEDqnB,EAAO5H,KAAKnoB,OAAS/H,EAAOmuB,QAAQC,OAEpCpuB,EAAOmuB,QAAQ+lC,OAAOw7D,KAAK1uG,OAAOrhB,KAAK8kB,QAASqT,EAAO5H,KAAM9R,EAAO+vG,EAAQxuH,KAAKshE,WAE5EnpC,EAAO5H,KAAKnoB,OAAS/H,EAAOmuB,QAAQwhG,MAEzC3vH,EAAOmuB,QAAQyhG,MAAMF,KAAK1uG,OAAOrhB,KAAK8kB,QAASqT,EAAO5H,KAAM9R,EAAO+vG,GAE9Dr2F,EAAO5H,KAAKnoB,OAAS/H,EAAOmuB,QAAQ0hG,OAEzC7vH,EAAOmuB,QAAQ2hG,MAAMC,WAAWpwH,KAAK8kB,QAASqT,EAAO5H,KAAM9R,GAG/Dze,KAAKu9B,SAcb8yF,SAAU,SAAUl4F,EAAQhyB,EAAG+G,EAAGuR,GAE1B0Z,EAAO5H,OAEPvwB,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,EAAO,KAEpB0Z,EAAO5H,KAAKnoB,OAAS/H,EAAOmuB,QAAQC,OAEpCpuB,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKO,eAAetwH,KAAMm4B,EAAO5H,MAElD4H,EAAO5H,KAAKnoB,OAAS/H,EAAOmuB,QAAQ0hG,OAEzClwH,KAAKib,KAAK6F,QAAQyvG,MAAMD,eAAetwH,KAAMm4B,EAAO5H,MAGxDvwB,KAAKu9B,SAYbizF,WAAY,WAERxwH,KAAK8Q,QAEL9Q,KAAK8kB,QAAQ1P,WAAWpV,KAAKib,KAAKoC,OAAOlC,KAAKhV,GAAInG,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAG,GAC3ElN,KAAKib,KAAK6F,QAAQyvG,MAAME,gBAAgBzwH,KAAK8kB,SAE7C9kB,KAAKu9B,QAYTmzF,UAAW,SAAUngG,EAAM9R,GAEvBze,KAAK8Q,QACLzQ,EAAOmuB,QAAQ2hG,MAAMC,WAAWpwH,KAAK8kB,QAASyL,EAAM9R,GACpDze,KAAKu9B,QAcTozF,YAAa,SAAUl1G,GAanB,QAXsBnR,IAAlBmR,IAA+BA,EAAgBzb,KAAKib,KAAKC,OAEzDO,EAAc3S,eAAe,iBAE7BR,QAAQC,IAAI,IAAMkT,EAAcmZ,cAAgB,IAAKnZ,GAIrDnT,QAAQC,IAAI,KAAMkT,GAGlBA,EAAc6Q,UAAY7Q,EAAc6Q,SAASvkB,OAAS,EAE1D,IAAK,IAAIC,EAAI,EAAGA,EAAIyT,EAAc6Q,SAASvkB,OAAQC,IAE/ChI,KAAKib,KAAKqJ,MAAMqsG,YAAYl1G,EAAc6Q,SAAStkB,KAc/DwwB,SAAU,SAAUryB,EAAG+G,EAAGuR,GAEtB,IAAI9Q,EAAI3N,KAAKib,KAAKud,SACdphB,EAAIzJ,EAAE4rD,cAUV,GARAv5D,KAAK8Q,MAAM3K,EAAG+G,EAAGuR,GAEjBze,KAAKyR,MAAM9D,EAAE8rD,GAAK,QAAU,UAAY,cAAgB9rD,EAAEwC,MAAQ,MAAQxC,EAAEyC,OAAS,KACrFpQ,KAAKyR,KAAK,eAAiB9D,EAAEijH,YAC7B5wH,KAAKyR,KAAK,sBAAwB9D,EAAEkrB,mBACpC74B,KAAKyR,KAAK,eAAiB9D,EAAE2a,YAC7BtoB,KAAKyR,KAAK,gBAAkB9D,EAAEge,aAE1Bhe,EAAE8rD,GACN,CACIz5D,KAAKyR,KAAK,cAAgB2F,EAAEo9D,WAC5Bx0E,KAAKyR,KAAK,eAAiB2F,EAAEy5G,YAC7B7wH,KAAKyR,KAAK,gBAAkB9D,EAAEmjH,aAC9B9wH,KAAKyR,KAAK,mBAAqB9D,EAAEojH,gBACjC/wH,KAAKyR,KAAK,6BAA+B2F,EAAE45G,0BAC3ChxH,KAAKyR,KAAK,4BAA6B9D,EAAEsjH,uBAAuBlpH,OAAS,KAEzE,IAAK,IAAIC,EAAI,EAAGA,EAAI2F,EAAEsjH,uBAAuBlpH,OAAQC,IAEjDhI,KAAKyR,KAAK,KAAO9D,EAAEsjH,uBAAuBjpH,SAK9ChI,KAAKyR,KAAK,gBAAkB2F,EAAEmjD,aAC9Bv6D,KAAKyR,KAAK,eAAiC,IAAhB2F,EAAE+4C,UAAkB,SAA4B,IAAhB/4C,EAAE+4C,UAAkB,UAAY/4C,EAAE+4C,YAGjGnwD,KAAKu9B,QASThZ,QAAS,WAELlkB,EAAOwhC,WAAWte,OAAOvjB,QAMjCK,EAAO6I,MAAMiyB,MAAM50B,UAAU8B,YAAchI,EAAO6I,MAAMiyB,MAmBxD96B,EAAO0rB,KAYHC,UAAW,SAAUob,EAASn4B,GAE1BA,EAAQA,GAAS,IAAI5O,EAAOoN,MAE5B,IAAIyjH,EAAM9pF,EAAQokF,wBAEdX,EAAYxqH,EAAO0rB,IAAIolG,QACvBC,EAAa/wH,EAAO0rB,IAAIslG,QACxBC,EAAY5kG,SAASmkE,gBAAgBygC,UACrCC,EAAa7kG,SAASmkE,gBAAgB0gC,WAK1C,OAHAtiH,EAAM9I,EAAI+qH,EAAIzlH,KAAO2lH,EAAaG,EAClCtiH,EAAM/B,EAAIgkH,EAAI/hH,IAAM07G,EAAYyG,EAEzBriH,GAiBXlB,UAAW,SAAUq5B,EAASoqF,GAM1B,YAJgBlnH,IAAZknH,IAAyBA,EAAU,OAEvCpqF,EAAUA,IAAYA,EAAQz7B,SAAWy7B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQz7B,WAMb3L,KAAKyxH,UAAUrqF,EAAQokF,wBAAyBgG,IAc/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAIhjH,GAAW2B,MAAO,EAAGC,OAAQ,EAAG3E,KAAM,EAAGD,MAAO,EAAG2D,IAAK,EAAGC,OAAQ,GAKvE,OAHAZ,EAAO2B,OAAS3B,EAAOhD,MAAQkmH,EAAOlmH,MAAQgmH,IAAYhjH,EAAO/C,KAAOimH,EAAOjmH,KAAO+lH,GACtFhjH,EAAO4B,QAAU5B,EAAOY,OAASsiH,EAAOtiH,OAASoiH,IAAYhjH,EAAOW,IAAMuiH,EAAOviH,IAAMqiH,GAEhFhjH,GAWXmjH,eAAgB,SAAUv7F,GAItB,IAAIrY,GAFJqY,EAAS,MAAQA,EAASp2B,KAAK+oH,aAAe,IAAM3yF,EAAOzqB,SAAW3L,KAAK+N,UAAUqoB,GAAUA,GAEzE,MAClBpY,EAAIoY,EAAe,OAYvB,MAViB,mBAANrY,IAEPA,EAAIA,EAAE/W,KAAKovB,IAGE,mBAANpY,IAEPA,EAAIA,EAAEhX,KAAKovB,IAGRrY,EAAIC,GAiBf4zG,iBAAkB,SAAUxqF,EAASoqF,GAEjC,IAAI7jH,EAAI3N,KAAK+N,UAAUq5B,EAASoqF,GAEhC,QAAS7jH,GAAKA,EAAEyB,QAAU,GAAKzB,EAAEnC,OAAS,GAAKmC,EAAEwB,KAAOnP,KAAKsrH,aAAan7G,OAASxC,EAAElC,MAAQzL,KAAKsrH,aAAal7G,QA6BnHq1G,qBAAsB,SAAUoM,GAE5B,IAAIC,EAAS7pH,OAAO6pH,OAChBxH,EAAcwH,EAAOxH,aAAewH,EAAOC,gBAAkBD,EAAOE,cAExE,GAAI1H,GAA2C,iBAArBA,EAAYliH,KAGlC,OAAOkiH,EAAYliH,KAElB,GAA2B,iBAAhBkiH,EAGZ,OAAOA,EAGX,IAAInnH,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApB2uH,EAEA,OAAQC,EAAO1hH,OAAS0hH,EAAO3hH,MAAShN,EAAWD,EAElD,GAAwB,aAApB2uH,EAEL,OAAQ7xH,KAAK+oH,aAAa34G,OAASpQ,KAAK+oH,aAAa54G,MAAShN,EAAWD,EAExE,GAAwB,uBAApB2uH,GAA0E,iBAAvB5pH,OAAOqiH,YAG/D,OAA+B,IAAvBriH,OAAOqiH,aAA4C,MAAvBriH,OAAOqiH,YAAuBnnH,EAAWD,EAE5E,GAAI+E,OAAOgqH,WAChB,CACI,GAAIhqH,OAAOgqH,WAAW,2BAA2BvgC,QAE7C,OAAOvuF,EAEN,GAAI8E,OAAOgqH,WAAW,4BAA4BvgC,QAEnD,OAAOxuF,EAIf,OAAQlD,KAAK+oH,aAAa34G,OAASpQ,KAAK+oH,aAAa54G,MAAShN,EAAWD,GAqB7E6lH,aAAc,IAAI1oH,EAAO2N,UAqBzBs9G,aAAc,IAAIjrH,EAAO2N,UAczBkkH,eAAgB,IAAI7xH,EAAO2N,WAI/B3N,EAAO44B,OAAOoB,UAAU,SAAU/M,GAG9B,IAAI+jG,EAAUppH,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAOkqH,aAC5B,WAAc,OAAOzlG,SAASmkE,gBAAgBugC,YAE9CD,EAAUlpH,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAOmqH,aAC5B,WAAc,OAAO1lG,SAASmkE,gBAAgBg6B,WAiDlD,GAvCApjH,OAAOmF,eAAevM,EAAO0rB,IAAK,WAC9Brf,IAAK2kH,IAWT5pH,OAAOmF,eAAevM,EAAO0rB,IAAK,WAC9Brf,IAAKykH,IAGT1pH,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,KAC3Cr8G,IAAK2kH,IAGT5pH,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,KAC3Cr8G,IAAKykH,IAGT1pH,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,KAC3CvhH,MAAO,IAGXtC,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,KAC3CvhH,MAAO,IAGUujB,EAAO+6D,SACvB37D,SAASmkE,gBAAgBwhC,aAAepqH,OAAOiD,YAC/CwhB,SAASmkE,gBAAgByhC,cAAgBrqH,OAAOkD,YAMrD,CAII,IAAIknH,EAAc,WACd,OAAOpsH,KAAKyM,IAAIzK,OAAOiD,WAAYwhB,SAASmkE,gBAAgBwhC,cAE5DC,EAAe,WACf,OAAOrsH,KAAKyM,IAAIzK,OAAOkD,YAAauhB,SAASmkE,gBAAgByhC,eAIjE7qH,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,SAC3Cr8G,IAAK2lH,IAGT5qH,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,UAC3Cr8G,IAAK4lH,IAGT7qH,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,SAC3C5+G,IAAK2lH,IAGT5qH,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,UAC3C5+G,IAAK4lH,SAKT7qH,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,SAC3Cr8G,IAAK,WACD,OAAOzE,OAAOiD,cAItBzD,OAAOmF,eAAevM,EAAO0rB,IAAIg9F,aAAc,UAC3Cr8G,IAAK,WACD,OAAOzE,OAAOkD,eAItB1D,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,SAE3C5+G,IAAK,WACD,IAAIwC,EAAIwd,SAASmkE,gBAAgBwhC,YAC7B/iH,EAAIrH,OAAOiD,WAEf,OAAOgE,EAAII,EAAIA,EAAIJ,KAK3BzH,OAAOmF,eAAevM,EAAO0rB,IAAIu/F,aAAc,UAE3C5+G,IAAK,WACD,IAAIwC,EAAIwd,SAASmkE,gBAAgByhC,aAC7BhjH,EAAIrH,OAAOkD,YAEf,OAAO+D,EAAII,EAAIA,EAAIJ,KAU/BzH,OAAOmF,eAAevM,EAAO0rB,IAAImmG,eAAgB,KAC7CnoH,MAAO,IAGXtC,OAAOmF,eAAevM,EAAO0rB,IAAImmG,eAAgB,KAC7CnoH,MAAO,IAGXtC,OAAOmF,eAAevM,EAAO0rB,IAAImmG,eAAgB,SAE7CxlH,IAAK,WACD,IAAI+H,EAAIiY,SAASmkE,gBACjB,OAAO5qF,KAAKyM,IAAI+B,EAAE49G,YAAa59G,EAAE89G,YAAa99G,EAAE+9G,gBAKxD/qH,OAAOmF,eAAevM,EAAO0rB,IAAImmG,eAAgB,UAE7CxlH,IAAK,WACD,IAAI+H,EAAIiY,SAASmkE,gBACjB,OAAO5qF,KAAKyM,IAAI+B,EAAE69G,aAAc79G,EAAEg+G,aAAch+G,EAAEi+G,kBAK3D,MAAM,GAoBTryH,EAAO00B,SAAW,SAAUgC,GAOxB/2B,KAAKia,SAAW,EAMhBja,KAAK+2B,KAAOA,OAIhB12B,EAAO00B,SAASxuB,WAUZ2L,IAAK,SAAU46E,GAOX,OALK9sF,KAAKmrB,OAAO2hE,IAEb9sF,KAAK+2B,KAAK5jB,KAAK25E,GAGZA,GAWXv6D,SAAU,SAAUu6D,GAEhB,OAAO9sF,KAAK+2B,KAAK9F,QAAQ67D,IAa7B6lC,SAAU,SAAUj/F,EAAU3pB,GAI1B,IAFA,IAAI/B,EAAIhI,KAAK+2B,KAAKhvB,OAEXC,KAEH,GAAIhI,KAAK+2B,KAAK/uB,GAAG0rB,KAAc3pB,EAE3B,OAAO/J,KAAK+2B,KAAK/uB,GAIzB,OAAO,MAWXmjB,OAAQ,SAAU2hE,GAEd,OAAQ9sF,KAAK+2B,KAAK9F,QAAQ67D,IAAS,GASvC3sE,MAAO,WAEHngB,KAAK+2B,KAAKhvB,OAAS,GAWvBwb,OAAQ,SAAUupE,GAEd,IAAIvP,EAAMv9E,KAAK+2B,KAAK9F,QAAQ67D,GAE5B,GAAIvP,GAAO,EAGP,OADAv9E,KAAK+2B,KAAKnT,OAAO25D,EAAK,GACfuP,GAYfz5D,OAAQ,SAAUxpB,EAAKE,GAInB,IAFA,IAAI/B,EAAIhI,KAAK+2B,KAAKhvB,OAEXC,KAEChI,KAAK+2B,KAAK/uB,KAEVhI,KAAK+2B,KAAK/uB,GAAG6B,GAAOE,IAgBhCyqB,QAAS,SAAU3qB,GAMf,IAJA,IAAIhD,EAAOH,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,GAE7Ce,EAAIhI,KAAK+2B,KAAKhvB,OAEXC,KAEChI,KAAK+2B,KAAK/uB,IAAMhI,KAAK+2B,KAAK/uB,GAAG6B,IAE7B7J,KAAK+2B,KAAK/uB,GAAG6B,GAAK1C,MAAMnH,KAAK+2B,KAAK/uB,GAAInB,IAYlDwd,UAAW,SAAUE,QAEDja,IAAZia,IAAyBA,GAAU,GAIvC,IAFA,IAAIvc,EAAIhI,KAAK+2B,KAAKhvB,OAEXC,KAEH,GAAIhI,KAAK+2B,KAAK/uB,GACd,CACI,IAAI8kF,EAAO9sF,KAAKujB,OAAOvjB,KAAK+2B,KAAK/uB,IAE7Buc,GAEAuoE,EAAKvoE,UAKjBvkB,KAAKia,SAAW,EAChBja,KAAK+2B,UAYbtvB,OAAOmF,eAAevM,EAAO00B,SAASxuB,UAAW,SAE7CmG,IAAK,WACD,OAAO1M,KAAK+2B,KAAKhvB,UAWzBN,OAAOmF,eAAevM,EAAO00B,SAASxuB,UAAW,SAE7CmG,IAAK,WAID,OAFA1M,KAAKia,SAAW,EAEZja,KAAK+2B,KAAKhvB,OAAS,EAEZ/H,KAAK+2B,KAAK,GAIV,QAanBtvB,OAAOmF,eAAevM,EAAO00B,SAASxuB,UAAW,QAE7CmG,IAAK,WAED,OAAI1M,KAAKia,SAAWja,KAAK+2B,KAAKhvB,QAE1B/H,KAAKia,WAEEja,KAAK+2B,KAAK/2B,KAAKia,WAIf,QAOnB5Z,EAAO00B,SAASxuB,UAAU8B,YAAchI,EAAO00B,SAc/C10B,EAAOs2B,YAcHC,cAAe,SAAU8hE,EAAShiE,EAAY3uB,GAE1C,GAAgB,OAAZ2wF,EAAoB,OAAO,UACZpuF,IAAfosB,IAA4BA,EAAa,QAC9BpsB,IAAXvC,IAAwBA,EAAS2wF,EAAQ3wF,QAE7C,IAAI6qH,EAAcl8F,EAAazwB,KAAKI,MAAMJ,KAAKsE,SAAWxC,GAE1D,YAAgCuC,IAAzBouF,EAAQk6B,GAA6B,KAAOl6B,EAAQk6B,IAgB/DC,iBAAkB,SAAUn6B,EAAShiE,EAAY3uB,GAE7C,GAAe,MAAX2wF,EACA,OAAO,UAGQpuF,IAAfosB,IAA4BA,EAAa,QAC9BpsB,IAAXvC,IAAwBA,EAAS2wF,EAAQ3wF,QAE7C,IAAI6qH,EAAcl8F,EAAazwB,KAAKI,MAAMJ,KAAKsE,SAAWxC,GAC1D,GAAI6qH,EAAcl6B,EAAQ3wF,OAC1B,CACI,IAAIqvB,EAAUshE,EAAQ90E,OAAOgvG,EAAa,GAC1C,YAAsBtoH,IAAf8sB,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAYfK,QAAS,SAAU9iB,GAEf,IAAK,IAAI3M,EAAI2M,EAAM5M,OAAS,EAAGC,EAAI,EAAGA,IACtC,CACI,IAAIyQ,EAAIxS,KAAKI,MAAMJ,KAAKsE,UAAYvC,EAAI,IACpC6rF,EAAOl/E,EAAM3M,GACjB2M,EAAM3M,GAAK2M,EAAM8D,GACjB9D,EAAM8D,GAAKo7E,EAGf,OAAOl/E,GAWXm+G,gBAAiB,SAAUn+G,GAOvB,IAAK,IALDo+G,EAAiBp+G,EAAM5M,OACvBirH,EAAiBr+G,EAAM,GAAG5M,OAE1B4J,EAAS,IAAIjL,MAAMssH,GAEdhrH,EAAI,EAAGA,EAAIgrH,EAAgBhrH,IACpC,CACI2J,EAAO3J,GAAK,IAAItB,MAAMqsH,GAEtB,IAAK,IAAIt6G,EAAIs6G,EAAiB,EAAGt6G,GAAK,EAAGA,IAErC9G,EAAO3J,GAAGyQ,GAAK9D,EAAM8D,GAAGzQ,GAIhC,OAAO2J,GAcXshH,aAAc,SAAUr+G,EAAQ2J,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1C3J,GADAA,EAASvU,EAAOs2B,WAAWm8F,gBAAgBl+G,IAC3BtL,eAEf,IAAmB,KAAfiV,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/C3J,EAASA,EAAOtL,UAChBsL,EAASvU,EAAOs2B,WAAWm8F,gBAAgBl+G,QAE1C,GAA4B,MAAxB3O,KAAK2J,IAAI2O,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAIvW,EAAI,EAAGA,EAAI4M,EAAO7M,OAAQC,IAE/B4M,EAAO5M,GAAGsB,UAGdsL,EAASA,EAAOtL,UAGpB,OAAOsL,GAaXs+G,YAAa,SAAUnpH,EAAOopH,GAE1B,IAAKA,EAAIprH,OAEL,OAAOqrH,IAEN,GAAmB,IAAfD,EAAIprH,QAAgBgC,EAAQopH,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAInrH,EAAI,EACDmrH,EAAInrH,GAAK+B,GACZ/B,IAGJ,IAAIqrH,EAAMF,EAAInrH,EAAI,GACdsrH,EAAQtrH,EAAImrH,EAAIprH,OAAUorH,EAAInrH,GAAK+Q,OAAO8B,kBAE9C,OAASy4G,EAAOvpH,GAAWA,EAAQspH,EAAQC,EAAOD,GAiBtDE,YAAa,SAAU5+G,GAEnB,IAAIyC,EAAIzC,EAAM1K,MAGd,OAFA0K,EAAMq4D,QAAQ51D,GAEPA,GAiBXo8G,WAAY,SAAU7+G,GAElB,IAAIyC,EAAIzC,EAAMm4B,QAGd,OAFAn4B,EAAMxB,KAAKiE,GAEJA,GAkBX7F,OAAQ,SAAUoD,GAEd,IAAIyC,EAAIzC,EAAMm4B,QAGd,OAFAn4B,EAAMxB,KAAKiE,GAEJA,GAaXq8G,YAAa,SAAU3iH,EAAOC,GAI1B,IAAK,IAFDY,KAEK3J,EAAI8I,EAAO9I,GAAK+I,EAAK/I,IAE1B2J,EAAOwB,KAAKnL,GAGhB,OAAO2J,GAqCX+hH,gBAAiB,SAAU5iH,EAAOC,EAAKusB,QAErBhzB,IAAVwG,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzCxG,IAARyG,GAA6B,OAARA,IAErBA,EAAMD,EACNA,EAAQ,QAGCxG,IAATgzB,IAAsBA,EAAO,GAKjC,IAAK,IAHD3rB,KACAgkB,EAAQ1vB,KAAKyM,IAAIrS,EAAO4F,KAAKywF,mBAAmB3lF,EAAMD,IAAUwsB,GAAQ,IAAK,GAExEt1B,EAAI,EAAGA,EAAI2tB,EAAO3tB,IAEvB2J,EAAOwB,KAAKrC,GACZA,GAASwsB,EAGb,OAAO3rB,IAuBftR,EAAOszH,WAAa,WAOhB3zH,KAAKgyB,KAAO,KAOZhyB,KAAK67D,KAAO,KAOZ77D,KAAK2tC,MAAQ,KAOb3tC,KAAKgK,KAAO,KAOZhK,KAAK21B,MAAQ,GAIjBt1B,EAAOszH,WAAWptH,WASd2L,IAAK,SAAU46E,GAGX,OAAmB,IAAf9sF,KAAK21B,OAA8B,OAAf31B,KAAK2tC,OAAgC,OAAd3tC,KAAKgK,MAEhDhK,KAAK2tC,MAAQm/C,EACb9sF,KAAKgK,KAAO8iF,EACZ9sF,KAAKgyB,KAAO86D,EACZA,EAAKjxB,KAAO77D,KACZA,KAAK21B,QACEm3D,IAIX9sF,KAAKgK,KAAKgoB,KAAO86D,EAEjBA,EAAKjxB,KAAO77D,KAAKgK,KAEjBhK,KAAKgK,KAAO8iF,EAEZ9sF,KAAK21B,QAEEm3D,IASX3sE,MAAO,WAEHngB,KAAK2tC,MAAQ,KACb3tC,KAAKgK,KAAO,KACZhK,KAAKgyB,KAAO,KACZhyB,KAAK67D,KAAO,KACZ77D,KAAK21B,MAAQ,GAUjBpS,OAAQ,SAAUupE,GAEd,GAAmB,IAAf9sF,KAAK21B,MAIL,OAFA31B,KAAKmgB,aACL2sE,EAAK96D,KAAO86D,EAAKjxB,KAAO,MAIxBixB,IAAS9sF,KAAK2tC,MAGd3tC,KAAK2tC,MAAQ3tC,KAAK2tC,MAAM3b,KAEnB86D,IAAS9sF,KAAKgK,OAGnBhK,KAAKgK,KAAOhK,KAAKgK,KAAK6xD,MAGtBixB,EAAKjxB,OAGLixB,EAAKjxB,KAAK7pC,KAAO86D,EAAK96D,MAGtB86D,EAAK96D,OAGL86D,EAAK96D,KAAK6pC,KAAOixB,EAAKjxB,MAG1BixB,EAAK96D,KAAO86D,EAAKjxB,KAAO,KAEL,OAAf77D,KAAK2tC,QAEL3tC,KAAKgK,KAAO,MAGhBhK,KAAK21B,SAWTnB,QAAS,SAAUH,GAEf,GAAKr0B,KAAK2tC,OAAU3tC,KAAKgK,KAAzB,CAKA,IAAI4pH,EAAS5zH,KAAK2tC,MAElB,GAEQimF,GAAUA,EAAOv/F,IAEjBu/F,EAAOv/F,GAAUrtB,KAAK4sH,GAG1BA,EAASA,EAAO5hG,WAGb4hG,IAAW5zH,KAAKgK,KAAKgoB,SAMpC3xB,EAAOszH,WAAWptH,UAAU8B,YAAchI,EAAOszH,WAmBjDtzH,EAAO46B,OAAS,SAAUhgB,GAKtBjb,KAAKib,KAAOA,EAKZjb,KAAKguH,IAAM,KAKXhuH,KAAKisB,OAAS,KAKdjsB,KAAKy6D,IAAM,KAKXz6D,KAAK6zH,WACCC,EAAG,OAAQC,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWn7C,EAAG,YAC/MysH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWn7C,EAAG,YAClNysH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWn7C,EAAG,SAClNysH,EAAG,OAAQC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWn7C,EAAG,YAC/MysH,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpyE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWn7C,EAAG,UAU5NhH,EAAO46B,OAAOu5F,aAAe,EAO7Bn0H,EAAO46B,OAAOw5F,YAAc,EAO5Bp0H,EAAO46B,OAAOy5F,YAAc,EAO5Br0H,EAAO46B,OAAO05F,YAAc,EAO5Bt0H,EAAO46B,OAAO25F,yBAA2B,EAEzCv0H,EAAO46B,OAAO10B,WAoCVw9B,QAAS,SAAUl6B,EAAKq6B,EAAM2wF,EAAYC,EAAaC,EAASt4D,EAAiBpoC,EAAU7Q,QAEpElZ,IAAfuqH,IAA4BA,EAAa,QACzBvqH,IAAhBwqH,IAA6BA,EAAcD,QAC/BvqH,IAAZyqH,IAAyBA,EAAU,QACfzqH,IAApBmyD,IAAiCA,GAAkB,GAEvD,IAAI1+C,EAAImmB,EAAK,GAAGn8B,OAAS8sH,EACrB72G,EAAIkmB,EAAKn8B,OAAS+sH,EAGL,OAAb90H,KAAKguH,MAELhuH,KAAKguH,IAAMhuH,KAAKib,KAAKqF,KAAKw1C,aAC1B91D,KAAKisB,OAASjsB,KAAKguH,IAAI/hG,OACvBjsB,KAAKy6D,IAAMz6D,KAAKguH,IAAIlpG,SAGxB9kB,KAAKguH,IAAIx0G,OAAOuE,EAAGC,GACnBhe,KAAKguH,IAAIrvG,QAGT,IAAK,IAAIzR,EAAI,EAAGA,EAAIg3B,EAAKn8B,OAAQmF,IAI7B,IAAK,IAFD8nH,EAAM9wF,EAAKh3B,GAEN/G,EAAI,EAAGA,EAAI6uH,EAAIjtH,OAAQ5B,IAChC,CACI,IAAIsO,EAAIugH,EAAI7uH,GAEF,MAANsO,GAAmB,MAANA,IAEbzU,KAAKy6D,IAAI8B,UAAYv8D,KAAK6zH,SAASkB,GAAStgH,GAC5CzU,KAAKy6D,IAAI+B,SAASr2D,EAAI0uH,EAAY3nH,EAAI4nH,EAAaD,EAAYC,IAK3E,OAAOr4D,EACHz8D,KAAKguH,IAAIvxD,gBAAgB5yD,EAAKwqB,EAAU7Q,GACxCxjB,KAAKiM,QAmBbsqC,KAAM,SAAU1sC,EAAKsG,EAAOC,EAAQwhB,EAAWC,EAAYpT,EAAOg+C,EAAiBpoC,EAAU7Q,QAEjElZ,IAApBmyD,IAAiCA,GAAkB,GAGtC,OAAbz8D,KAAKguH,MAELhuH,KAAKguH,IAAMhuH,KAAKib,KAAKqF,KAAKw1C,aAC1B91D,KAAKisB,OAASjsB,KAAKguH,IAAI/hG,OACvBjsB,KAAKy6D,IAAMz6D,KAAKguH,IAAIlpG,SAGxB9kB,KAAKguH,IAAIx0G,OAAOrJ,EAAOC,GAEvBpQ,KAAKy6D,IAAI8B,UAAY99C,EAErB,IAAK,IAAIvR,EAAI,EAAGA,EAAIkD,EAAQlD,GAAK2kB,EAE7B7xB,KAAKy6D,IAAI+B,SAAS,EAAGtvD,EAAGiD,EAAO,GAGnC,IAAK,IAAIhK,EAAI,EAAGA,EAAIgK,EAAOhK,GAAKyrB,EAE5B5xB,KAAKy6D,IAAI+B,SAASr2D,EAAG,EAAG,EAAGiK,GAG/B,OAAOqsD,EACHz8D,KAAKguH,IAAIvxD,gBAAgB5yD,EAAKwqB,EAAU7Q,GACxCxjB,KAAKiM,QAgBbA,KAAM,SAAUoC,EAAMlI,EAAG+G,EAAGiD,EAAOC,EAAQ+uD,EAAW5jD,GAMlD,OAJY,MAARlN,IAAgBA,EAAOrO,KAAKib,KAAKqF,KAAKw1C,cAE1CznD,EAAKmL,OAAOxZ,KAAKguH,IAAI79G,MAAOnQ,KAAKguH,IAAI59G,QAE9B/B,EAAKiuD,KAAKt8D,KAAKguH,IAAK7nH,EAAG+G,EAAGiD,EAAOC,EAAQ+uD,EAAW5jD,KAMnElb,EAAO46B,OAAO10B,UAAU8B,YAAchI,EAAO46B,OAsB7C56B,EAAOuoH,SAAW,SAAUhqB,EAASzuF,EAAOC,GAKxCpQ,KAAKib,KAAO2jF,EAAQ3jF,KAKpBjb,KAAK4+F,QAAUA,EAGf5+F,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEdpQ,KAAKi1H,aAAe,IAAI50H,EAAO2N,UAAU,EAAG,EAAGmC,EAAOC,GACtDpQ,KAAKw2C,YAAc,IAAIn2C,EAAO2N,UAAU,EAAG,EAAGmC,EAAOC,GACrDpQ,KAAKk1H,WAAa,IAAI70H,EAAO2N,UAAU,EAAG,EAAGmC,EAAOC,GACpDpQ,KAAKm1H,WAAa,IAAI90H,EAAO2N,UAAU,EAAG,EAAGmC,EAAOC,GAMpDpQ,KAAKo1H,eAAiB,IAAI/0H,EAAOoN,MAAM,EAAG,GAC1CzN,KAAKq1H,cAAgB,IAAIh1H,EAAOoN,MAAM,EAAG,GACzCzN,KAAKs1H,aAAe,IAAIj1H,EAAOoN,MAAM,EAAG,GACxCzN,KAAKu1H,aAAe,IAAIl1H,EAAOoN,MAAM,EAAG,GAMxCzN,KAAKw1H,YAAc,IAAIn1H,EAAOoN,MAAM,EAAG,GACvCzN,KAAKy1H,WAAa,IAAIp1H,EAAOoN,MAAM,EAAG,GACtCzN,KAAKy2C,mBAAqB,IAAIp2C,EAAOoN,MAAM,EAAG,GAC9CzN,KAAK01H,UAAY,IAAIr1H,EAAOoN,MAAM,EAAG,GACrCzN,KAAK21H,UAAY,IAAIt1H,EAAOoN,MAAM,EAAG,GAErCzN,KAAK41H,YAAc,EACnB51H,KAAK61H,aAAe,EACpB71H,KAAK81H,cAAgB,EACrB91H,KAAK+1H,cAAgB,EAErB/1H,KAAKg2H,OAAS7lH,EAAQC,EACtBpQ,KAAKi2H,OAAS7lH,EAASD,EAEvBnQ,KAAK2sH,WAAa,EAElB3sH,KAAKk2H,WAIT71H,EAAOuoH,SAASriH,WASZ2Z,QAAS,SAAU/P,EAAOC,GAGtBpQ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEdpQ,KAAKg2H,OAAS7lH,EAAQC,EACtBpQ,KAAKi2H,OAAS7lH,EAASD,EAEvBnQ,KAAK21H,UAAY,IAAIt1H,EAAOoN,MAAM,EAAG,GAErCzN,KAAKm1H,WAAWhlH,MAAQnQ,KAAKmQ,MAC7BnQ,KAAKm1H,WAAW/kH,OAASpQ,KAAKoQ,OAE9BpQ,KAAKk9B,WAeTi5F,kBAAmB,SAAUhmH,EAAOC,EAAQkc,EAAU5C,QAE/Bpf,IAAfof,IAA4BA,GAAa,GAE7C1pB,KAAK41H,YAAczlH,EACnBnQ,KAAK61H,aAAezlH,EAEpBpQ,KAAKi1H,aAAa9kH,MAAQA,EAC1BnQ,KAAKi1H,aAAa7kH,OAASA,EAE3B,IAAIgmH,EAAQ,IAAI/1H,EAAOg2H,UAAUr2H,KAAMA,KAAKo1H,eAAgBp1H,KAAKi1H,aAAcj1H,KAAKw1H,aAcpF,OAZI9rG,GAEA1pB,KAAKib,KAAKC,MAAMhJ,IAAIkkH,GAGxBp2H,KAAKk2H,OAAO/iH,KAAKijH,QAEO,IAAb9pG,GAAgD,cAAbA,GAE1C8pG,EAAMllG,YAAY5E,GAGf8pG,GAWXE,iBAAkB,SAAUhqG,EAAU5C,QAEfpf,IAAfof,IAA4BA,GAAa,GAE7C,IAAI0sG,EAAQ,IAAI/1H,EAAOg2H,UAAUr2H,KAAMA,KAAKq1H,cAAer1H,KAAKw2C,YAAax2C,KAAKy1H,YAclF,OAZI/rG,GAEA1pB,KAAKib,KAAKC,MAAMhJ,IAAIkkH,GAGxBp2H,KAAKk2H,OAAO/iH,KAAKijH,QAEO,IAAb9pG,GAAgD,cAAbA,GAE1C8pG,EAAMllG,YAAY5E,GAGf8pG,GAWXG,gBAAiB,SAAUjqG,GAEvB,IAAI8pG,EAAQ,IAAI/1H,EAAOg2H,UAAUr2H,KAAMA,KAAKs1H,aAAct1H,KAAKk1H,WAAYl1H,KAAKy1H,YAWhF,OATAz1H,KAAKib,KAAKC,MAAMhJ,IAAIkkH,GAEpBp2H,KAAKk2H,OAAO/iH,KAAKijH,QAEO,IAAb9pG,GAEP8pG,EAAMllG,YAAY5E,GAGf8pG,GAWXI,iBAAkB,SAAUlqG,GAExB,IAAI8pG,EAAQ,IAAI/1H,EAAOg2H,UAAUr2H,KAAMA,KAAKu1H,aAAcv1H,KAAKm1H,WAAYn1H,KAAK21H,WAWhF,OATA31H,KAAKib,KAAKC,MAAMhJ,IAAIkkH,GAEpBp2H,KAAKk2H,OAAO/iH,KAAKijH,QAEO,IAAb9pG,GAEP8pG,EAAMllG,YAAY5E,GAGf8pG,GASXj2G,MAAO,WAIH,IAFA,IAAInY,EAAIhI,KAAKk2H,OAAOnuH,OAEbC,KAEEhI,KAAKk2H,OAAOluH,GAAGyuH,UAGhBz2H,KAAKk2H,OAAOluH,GAAGiS,SAAW,KAC1Bja,KAAKk2H,OAAOluH,GAAGqN,MAAQ,KACvBrV,KAAKk2H,OAAOzvH,MAAMuB,EAAG,KAajC6+G,SAAU,SAAU12G,EAAOC,GAEvBpQ,KAAKg2H,OAAS7lH,EAAQC,EACtBpQ,KAAKi2H,OAAS7lH,EAASD,EAEvBnQ,KAAKk9B,QAAQ/sB,EAAOC,IASxB8sB,QAAS,WAELl9B,KAAK2sH,WAAa1mH,KAAKuM,IAAKxS,KAAK4+F,QAAQxuF,OAASpQ,KAAKoQ,OAAUpQ,KAAK4+F,QAAQzuF,MAAQnQ,KAAKmQ,OAE3FnQ,KAAKw2C,YAAYrmC,MAAQlK,KAAKsI,MAAMvO,KAAKmQ,MAAQnQ,KAAK2sH,YACtD3sH,KAAKw2C,YAAYpmC,OAASnK,KAAKsI,MAAMvO,KAAKoQ,OAASpQ,KAAK2sH,YAExD3sH,KAAKy1H,WAAW9oH,IAAI3M,KAAKw2C,YAAYrmC,MAAQnQ,KAAKmQ,MAAOnQ,KAAKw2C,YAAYpmC,OAASpQ,KAAKoQ,QACxFpQ,KAAKy2C,mBAAmB9pC,IAAI3M,KAAKmQ,MAAQnQ,KAAKw2C,YAAYrmC,MAAOnQ,KAAKoQ,OAASpQ,KAAKw2C,YAAYpmC,QAEhGpQ,KAAK01H,UAAU/oH,IAAI3M,KAAKk1H,WAAW/kH,MAAQnQ,KAAKmQ,MAAOnQ,KAAKk1H,WAAW9kH,OAASpQ,KAAKoQ,QAErFpQ,KAAKk1H,WAAW/kH,MAAQlK,KAAKsI,MAAMvO,KAAK4+F,QAAQzuF,MAAQnQ,KAAKy2C,mBAAmBtwC,GAChFnG,KAAKk1H,WAAW9kH,OAASnK,KAAKsI,MAAMvO,KAAK4+F,QAAQxuF,OAASpQ,KAAKy2C,mBAAmBvpC,GAElFlN,KAAKw2C,YAAYzkC,SAAS/R,KAAK4+F,QAAQxjF,OAAOhK,QAASpR,KAAK4+F,QAAQxjF,OAAO/J,SAC3ErR,KAAKm1H,WAAWpjH,SAAS/R,KAAK4+F,QAAQxjF,OAAOhK,QAASpR,KAAK4+F,QAAQxjF,OAAO/J,SAE1ErR,KAAKq1H,cAAc1oH,IAAI3M,KAAKw2C,YAAYrwC,EAAGnG,KAAKw2C,YAAYtpC,GAC5DlN,KAAKu1H,aAAa5oH,IAAI3M,KAAKm1H,WAAWhvH,EAAGnG,KAAKm1H,WAAWjoH,IAU7DwpH,UAAW,SAAUv+F,GAEjBn4B,KAAK4+F,QAAQ6uB,YAAYt1F,GAEzBA,EAAOhyB,EAAInG,KAAK4+F,QAAQxjF,OAAOhK,QAC/B+mB,EAAOjrB,EAAIlN,KAAK4+F,QAAQxjF,OAAO/J,SASnCiT,MAAO,WAUHtkB,KAAKib,KAAKqJ,MAAMuvC,KAAK7zD,KAAKw2C,YAAYrmC,MAAQ,MAAQnQ,KAAKw2C,YAAYpmC,OAAQpQ,KAAKw2C,YAAYrwC,EAAI,EAAGnG,KAAKw2C,YAAYtpC,EAAI,IAC5HlN,KAAKib,KAAKqJ,MAAMoqG,KAAK1uH,KAAKw2C,YAAa,oBAAoB,KAYnEn2C,EAAOuoH,SAASriH,UAAU8B,YAAchI,EAAOuoH,SAuB/CvoH,EAAOg2H,UAAY,SAAUz3B,EAAS3kF,EAAUmB,EAAQ/F,GAEpDhV,EAAO+tB,MAAMpnB,KAAKhH,KAAM4+F,EAAQ3jF,KAAM,KAAM,cAAgB2jF,EAAQ3jF,KAAKsE,IAAIm2C,QAAQ,GAKrF11D,KAAK4+F,QAAUA,EAAQA,QAKvB5+F,KAAKu2C,KAAOqoD,EAOZ5+F,KAAKy2H,SAAU,EAKfz2H,KAAKia,SAAWA,EAKhBja,KAAKob,OAASA,EAKdpb,KAAKqV,MAAQA,EAKbrV,KAAK22H,QAAUv7G,EAAOu7G,QAKtB32H,KAAK42H,UAAY,IAAIv2H,EAAOoN,MAAM2N,EAAOvL,UAAW,GAKpD7P,KAAK62H,SAAWz7G,EAAOy7G,SAKvB72H,KAAK82H,WAAa17G,EAAO07G,WAKzB92H,KAAK+2H,aAAe,IAAI12H,EAAOoN,MAAM2N,EAAOvL,UAAWuL,EAAOhM,QAK9DpP,KAAKg3H,YAAc57G,EAAO47G,aAI9B32H,EAAOg2H,UAAU9vH,UAAYkB,OAAO0Z,OAAO9gB,EAAO+tB,MAAM7nB,WACxDlG,EAAOg2H,UAAU9vH,UAAU8B,YAAchI,EAAOg2H,UAOhDh2H,EAAOg2H,UAAU9vH,UAAUiT,OAAS,aAQpCnZ,EAAOg2H,UAAU9vH,UAAU+d,MAAQ,WAE/BtkB,KAAKib,KAAKqJ,MAAMuvC,KAAK7zD,KAAKob,OAAOjL,MAAQ,MAAQnQ,KAAKob,OAAOhL,OAAQpQ,KAAKob,OAAOjV,EAAI,EAAGnG,KAAKob,OAAOlO,EAAI,IACxGlN,KAAKib,KAAKqJ,MAAMoqG,KAAK1uH,KAAKob,OAAQ,oBAAoB,GAEtDpb,KAAKib,KAAKqJ,MAAMoqG,KAAK1uH,KAAK22H,QAAS,wBACnC32H,KAAKib,KAAKqJ,MAAMoqG,KAAK1uH,KAAK42H,UAAW,wBACrC52H,KAAKib,KAAKqJ,MAAMoqG,KAAK1uH,KAAK62H,SAAU,yBAexCx2H,EAAO2tB,OAeH2vC,UAAW,SAAUhwD,EAAG8d,EAAGnc,EAAGJ,GAE1B,OAAI7O,EAAO44B,OAAOqlC,eAEJpvD,GAAK,GAAOI,GAAK,GAAOmc,GAAM,EAAK9d,KAAQ,GAI3CA,GAAK,GAAO8d,GAAK,GAAOnc,GAAM,EAAKJ,KAAQ,GAwB7D8tD,YAAa,SAAUtxC,EAAMle,EAAKkxD,EAAKC,GAkCnC,YAhCYr0D,IAARkD,GAA6B,OAARA,IAAgBA,EAAMnN,EAAO2tB,MAAM+uC,oBAChDzyD,IAARo0D,GAA6B,OAARA,IAAgBA,GAAM,QACnCp0D,IAARq0D,GAA6B,OAARA,IAAgBA,GAAM,GAE3Ct+D,EAAO44B,OAAOqlC,eAEd9wD,EAAI0B,GAAa,WAAPwc,KAAuB,GACjCle,EAAI8B,GAAa,SAAPoc,KAAuB,GACjCle,EAAIie,GAAa,MAAPC,KAAuB,EACjCle,EAAIG,EAAa,IAAP+d,IAIVle,EAAIG,GAAa,WAAP+d,KAAuB,GACjCle,EAAIie,GAAa,SAAPC,KAAuB,GACjCle,EAAI8B,GAAa,MAAPoc,KAAuB,EACjCle,EAAI0B,EAAa,IAAPwc,GAGdle,EAAIiR,MAAQiN,EACZle,EAAIke,KAAO,QAAUle,EAAIG,EAAI,IAAMH,EAAIie,EAAI,IAAMje,EAAI8B,EAAI,IAAO9B,EAAI0B,EAAI,IAAO,IAE3EwvD,GAEAr+D,EAAO2tB,MAAMipG,SAASzpH,EAAIG,EAAGH,EAAIie,EAAGje,EAAI8B,EAAG9B,GAG3CmxD,GAEAt+D,EAAO2tB,MAAMkpG,SAAS1pH,EAAIG,EAAGH,EAAIie,EAAGje,EAAI8B,EAAG9B,GAGxCA,GAeX2pH,SAAU,SAAUzrG,EAAMle,GActB,OAZKA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,eAGvBvvD,EAAIG,GAAa,WAAP+d,KAAuB,GACjCle,EAAIie,GAAa,SAAPC,KAAuB,GACjCle,EAAI8B,GAAa,MAAPoc,KAAuB,EACjCle,EAAI0B,EAAa,IAAPwc,EAEVle,EAAIke,KAAO,QAAUle,EAAIG,EAAI,IAAMH,EAAIie,EAAI,IAAMje,EAAI8B,EAAI,IAAM9B,EAAI0B,EAAI,IAEhE1B,GAgBX4pH,OAAQ,SAAUzpH,EAAG8d,EAAGnc,EAAGJ,GAEvB,OAAQvB,GAAK,GAAO8d,GAAK,GAAOnc,GAAM,EAAKJ,GAe/CmoH,OAAQ,SAAU1pH,EAAG8d,EAAGnc,EAAGJ,GAEvB,OAASA,GAAK,GAAOI,GAAK,GAAOmc,GAAK,EAAK9d,KAAO,GAYtDg8D,cAAe,SAAUlrD,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAazB64G,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAkB7DN,SAAU,SAAUtpH,EAAG8d,EAAGnc,EAAG9B,GAEpBA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,YAAYpvD,EAAG8d,EAAGnc,EAAG,IAG5C3B,GAAK,IACL8d,GAAK,IACLnc,GAAK,IAEL,IAAIkD,EAAMvM,KAAKuM,IAAI7E,EAAG8d,EAAGnc,GACrBoD,EAAMzM,KAAKyM,IAAI/E,EAAG8d,EAAGnc,GAOzB,GAJA9B,EAAIwQ,EAAI,EACRxQ,EAAI4J,EAAI,EACR5J,EAAItD,GAAKwI,EAAMF,GAAO,EAElBE,IAAQF,EACZ,CACI,IAAIiC,EAAI/B,EAAMF,EAEdhF,EAAI4J,EAAI5J,EAAItD,EAAI,GAAMuK,GAAK,EAAI/B,EAAMF,GAAOiC,GAAK/B,EAAMF,GAEnDE,IAAQ/E,EAERH,EAAIwQ,GAAKyN,EAAInc,GAAKmF,GAAKgX,EAAInc,EAAI,EAAI,GAE9BoD,IAAQ+Y,EAEbje,EAAIwQ,GAAK1O,EAAI3B,GAAK8G,EAAI,EAEjB/B,IAAQpD,IAEb9B,EAAIwQ,GAAKrQ,EAAI8d,GAAKhX,EAAI,GAG1BjH,EAAIwQ,GAAK,EAGb,OAAOxQ,GAkBXwwD,SAAU,SAAUhgD,EAAG5G,EAAGlN,EAAGsD,GAczB,GAZKA,GAODA,EAAIG,EAAIzD,EACRsD,EAAIie,EAAIvhB,EACRsD,EAAI8B,EAAIpF,GAPRsD,EAAMnN,EAAO2tB,MAAM+uC,YAAY7yD,EAAGA,EAAGA,GAU/B,IAANkN,EACJ,CACI,IAAI4vD,EAAI98D,EAAI,GAAMA,GAAK,EAAIkN,GAAKlN,EAAIkN,EAAIlN,EAAIkN,EACxC/G,EAAI,EAAInG,EAAI88D,EAChBx5D,EAAIG,EAAItN,EAAO2tB,MAAMwpG,WAAWnnH,EAAG22D,EAAGhpD,EAAI,EAAI,GAC9CxQ,EAAIie,EAAIprB,EAAO2tB,MAAMwpG,WAAWnnH,EAAG22D,EAAGhpD,GACtCxQ,EAAI8B,EAAIjP,EAAO2tB,MAAMwpG,WAAWnnH,EAAG22D,EAAGhpD,EAAI,EAAI,GAalD,OANAxQ,EAAIG,EAAI1H,KAAKI,MAAe,IAARmH,EAAIG,EAAU,GAClCH,EAAIie,EAAIxlB,KAAKI,MAAe,IAARmH,EAAIie,EAAU,GAClCje,EAAI8B,EAAIrJ,KAAKI,MAAe,IAARmH,EAAI8B,EAAU,GAElCjP,EAAO2tB,MAAME,YAAY1gB,GAElBA,GAkBX0pH,SAAU,SAAUvpH,EAAG8d,EAAGnc,EAAG9B,GAEpBA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,YAAYpvD,EAAG8d,EAAGnc,EAAG,MAG5C3B,GAAK,IACL8d,GAAK,IACLnc,GAAK,IAEL,IAAIkD,EAAMvM,KAAKuM,IAAI7E,EAAG8d,EAAGnc,GACrBoD,EAAMzM,KAAKyM,IAAI/E,EAAG8d,EAAGnc,GACrBmF,EAAI/B,EAAMF,EAyBd,OAtBAhF,EAAIwQ,EAAI,EACRxQ,EAAI4J,EAAY,IAAR1E,EAAY,EAAI+B,EAAI/B,EAC5BlF,EAAIkuB,EAAIhpB,EAEJA,IAAQF,IAEJE,IAAQ/E,EAERH,EAAIwQ,GAAKyN,EAAInc,GAAKmF,GAAKgX,EAAInc,EAAI,EAAI,GAE9BoD,IAAQ+Y,EAEbje,EAAIwQ,GAAK1O,EAAI3B,GAAK8G,EAAI,EAEjB/B,IAAQpD,IAEb9B,EAAIwQ,GAAKrQ,EAAI8d,GAAKhX,EAAI,GAG1BjH,EAAIwQ,GAAK,GAGNxQ,GAkBXiqH,SAAU,SAAUz5G,EAAG5G,EAAGskB,EAAGluB,QAEblD,IAARkD,IAAqBA,EAAMnN,EAAO2tB,MAAM+uC,YAAY,EAAG,EAAG,EAAG,EAAG/+C,EAAG5G,EAAG,EAAGskB,IAE7E,IAAI/tB,EAAG8d,EAAGnc,EACNtH,EAAI/B,KAAKI,MAAU,EAAJ2X,GACflT,EAAQ,EAAJkT,EAAQhW,EACZqI,EAAIqrB,GAAK,EAAItkB,GACb4vD,EAAItrC,GAAK,EAAI5wB,EAAIsM,GACjBvP,EAAI6zB,GAAK,GAAK,EAAI5wB,GAAKsM,GAE3B,OAAQpP,EAAI,GAER,KAAK,EACD2F,EAAI+tB,EACJjQ,EAAI5jB,EACJyH,EAAIe,EACJ,MACJ,KAAK,EACD1C,EAAIq5D,EACJv7C,EAAIiQ,EACJpsB,EAAIe,EACJ,MACJ,KAAK,EACD1C,EAAI0C,EACJob,EAAIiQ,EACJpsB,EAAIzH,EACJ,MACJ,KAAK,EACD8F,EAAI0C,EACJob,EAAIu7C,EACJ13D,EAAIosB,EACJ,MACJ,KAAK,EACD/tB,EAAI9F,EACJ4jB,EAAIpb,EACJf,EAAIosB,EACJ,MACJ,KAAK,EACD/tB,EAAI+tB,EACJjQ,EAAIpb,EACJf,EAAI03D,EAUZ,OANAx5D,EAAIG,EAAI1H,KAAKI,MAAU,IAAJsH,GACnBH,EAAIie,EAAIxlB,KAAKI,MAAU,IAAJolB,GACnBje,EAAI8B,EAAIrJ,KAAKI,MAAU,IAAJiJ,GAEnBjP,EAAO2tB,MAAME,YAAY1gB,GAElBA,GAeXgqH,WAAY,SAAUnnH,EAAG22D,EAAGn/D,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAEDwI,EAAc,GAAT22D,EAAI32D,GAASxI,EAGzBA,EAAI,GAEGm/D,EAGPn/D,EAAI,EAAI,EAEDwI,GAAK22D,EAAI32D,IAAM,EAAI,EAAIxI,GAAK,EAGhCwI,GAuBX0sD,YAAa,SAAUpvD,EAAG8d,EAAGnc,EAAGJ,EAAG8O,EAAG5G,EAAGlN,EAAGwxB,GAExC,IAAIluB,GAAQG,EAAGA,GAAK,EAAG8d,EAAGA,GAAK,EAAGnc,EAAGA,GAAK,EAAGJ,EAAGA,GAAK,EAAG8O,EAAGA,GAAK,EAAG5G,EAAGA,GAAK,EAAGlN,EAAGA,GAAK,EAAGwxB,EAAGA,GAAK,EAAGjd,MAAO,EAAGi5G,QAAS,EAAGhsG,KAAM,IAEhI,OAAOrrB,EAAO2tB,MAAME,YAAY1gB,IAYpC0gB,YAAa,SAAU1gB,GAMnB,OAJAA,EAAIke,KAAO,QAAUle,EAAIG,EAAEjG,WAAa,IAAM8F,EAAIie,EAAE/jB,WAAa,IAAM8F,EAAI8B,EAAE5H,WAAa,IAAM8F,EAAI0B,EAAExH,WAAa,IACnH8F,EAAIiR,MAAQpe,EAAO2tB,MAAM2pG,SAASnqH,EAAIG,EAAGH,EAAIie,EAAGje,EAAI8B,GACpD9B,EAAIkqH,QAAUr3H,EAAO2tB,MAAM4pG,WAAmB,IAARpqH,EAAI0B,EAAS1B,EAAIG,EAAGH,EAAIie,EAAGje,EAAI8B,GAE9D9B,GAeXoqH,WAAY,SAAU1oH,EAAGvB,EAAG8d,EAAGnc,GAE3B,OAAOJ,GAAK,GAAKvB,GAAK,GAAK8d,GAAK,EAAInc,GAcxCqoH,SAAU,SAAUhqH,EAAG8d,EAAGnc,GAEtB,OAAO3B,GAAK,GAAK8d,GAAK,EAAInc,GAiB9BuoH,YAAa,SAAUlqH,EAAG8d,EAAGnc,EAAGJ,EAAGijF,GAK/B,YAHU7nF,IAAN4E,IAAmBA,EAAI,UACZ5E,IAAX6nF,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOxkF,GAAK,KAAO8d,GAAK,GAAKnc,GAAG5H,SAAS,IAAIjB,MAAM,GAIhE,KAAOpG,EAAO2tB,MAAM8pG,eAAe5oH,GAAK7O,EAAO2tB,MAAM8pG,eAAenqH,GAAKtN,EAAO2tB,MAAM8pG,eAAersG,GAAKprB,EAAO2tB,MAAM8pG,eAAexoH,IAarJyoH,SAAU,SAAUC,GAEhB,IAAIT,EAAMl3H,EAAO2tB,MAAMiqG,WAAWD,GAElC,GAAIT,EAEA,OAAOl3H,EAAO2tB,MAAM4pG,WAAWL,EAAIroH,EAAGqoH,EAAI5pH,EAAG4pH,EAAI9rG,EAAG8rG,EAAIjoH,IAkBhE2oH,WAAY,SAAUD,EAAKxqH,GAGvBwqH,EAAMA,EAAIzrH,QAAQ,0CAA2C,SAASoK,EAAGhJ,EAAG8d,EAAGnc,GAC3E,OAAO3B,EAAIA,EAAI8d,EAAIA,EAAInc,EAAIA,IAG/B,IAAIqC,EAAS,mDAAmD+qE,KAAKs7C,GAErE,GAAIrmH,EACJ,CACI,IAAIhE,EAAI1C,SAAS0G,EAAO,GAAI,IACxB8Z,EAAIxgB,SAAS0G,EAAO,GAAI,IACxBrC,EAAIrE,SAAS0G,EAAO,GAAI,IAEvBnE,GAMDA,EAAIG,EAAIA,EACRH,EAAIie,EAAIA,EACRje,EAAI8B,EAAIA,GANR9B,EAAMnN,EAAO2tB,MAAM+uC,YAAYpvD,EAAG8d,EAAGnc,GAU7C,OAAO9B,GAeX0qH,WAAY,SAAUC,EAAK3qH,GAElBA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,eAGvB,IAAIprD,EAAS,4EAA4E+qE,KAAKy7C,GAW9F,OATIxmH,IAEAnE,EAAIG,EAAI1C,SAAS0G,EAAO,GAAI,IAC5BnE,EAAIie,EAAIxgB,SAAS0G,EAAO,GAAI,IAC5BnE,EAAI8B,EAAIrE,SAAS0G,EAAO,GAAI,IAC5BnE,EAAI0B,OAAkB5E,IAAdqH,EAAO,GAAmBgsE,WAAWhsE,EAAO,IAAM,EAC1DtR,EAAO2tB,MAAME,YAAY1gB,IAGtBA,GAiBXygB,aAAc,SAAUlkB,EAAOyD,GAS3B,GALKA,IAEDA,EAAMnN,EAAO2tB,MAAM+uC,eAGF,iBAAVhzD,EAEP,OAA6B,IAAzBA,EAAMknB,QAAQ,OAEP5wB,EAAO2tB,MAAMkqG,WAAWnuH,EAAOyD,IAKtCA,EAAI0B,EAAI,EACD7O,EAAO2tB,MAAMiqG,WAAWluH,EAAOyD,IAGzC,GAAqB,iBAAVzD,EAChB,CAGI,IAAIquH,EAAY/3H,EAAO2tB,MAAMqqG,OAAOtuH,GAKpC,OAJAyD,EAAIG,EAAIyqH,EAAUzqH,EAClBH,EAAIie,EAAI2sG,EAAU3sG,EAClBje,EAAI8B,EAAI8oH,EAAU9oH,EAClB9B,EAAI0B,EAAIkpH,EAAUlpH,EAAI,IACf1B,EAIP,OAAOA,GAafsqH,eAAgB,SAAUr5G,GAEtB,IAAIu5G,EAAMv5G,EAAM/W,SAAS,IAEzB,OAAuB,IAAfswH,EAAIjwH,OAAgB,IAAMiwH,EAAMA,GAa5CM,cAAe,SAAUlhH,EAAGskB,QAEdpxB,IAAN8M,IAAmBA,EAAI,QACjB9M,IAANoxB,IAAmBA,EAAI,GAI3B,IAAK,IAFDy7C,KAEKznE,EAAI,EAAGA,GAAK,IAAKA,IAEtBynE,EAAOhkE,KAAK9S,EAAO2tB,MAAMypG,SAAS/nH,EAAI,IAAK0H,EAAGskB,IAGlD,OAAOy7C,GAaXohD,cAAe,SAAUnhH,EAAGlN,QAEdI,IAAN8M,IAAmBA,EAAI,SACjB9M,IAANJ,IAAmBA,EAAI,IAI3B,IAAK,IAFDitE,KAEKznE,EAAI,EAAGA,GAAK,IAAKA,IAEtBynE,EAAOhkE,KAAK9S,EAAO2tB,MAAMgwC,SAAStuD,EAAI,IAAK0H,EAAGlN,IAGlD,OAAOitE,GAgBXqhD,iBAAkB,SAAUC,EAAQC,EAAQC,EAAOC,EAAal6G,QAE9CpU,IAAVoU,IAAuBA,EAAQ,KAEnC,IAAIm6G,EAAOx4H,EAAO2tB,MAAMqqG,OAAOI,GAC3BK,EAAOz4H,EAAO2tB,MAAMqqG,OAAOK,GAC3B/qH,GAAOmrH,EAAK56D,IAAM26D,EAAK36D,KAAO06D,EAAeD,EAASE,EAAK36D,IAC3DzyC,GAAOqtG,EAAK36D,MAAQ06D,EAAK16D,OAASy6D,EAAeD,EAASE,EAAK16D,MAC/D7uD,GAAOwpH,EAAK16D,KAAOy6D,EAAKz6D,MAAQw6D,EAAeD,EAASE,EAAKz6D,KAEjE,OAAO/9D,EAAO2tB,MAAM4pG,WAAWl5G,EAAO/Q,EAAG8d,EAAGnc,IAiBhDypH,wBAAyB,SAAUt6G,EAAO9Q,EAAG8d,EAAGnc,EAAGqpH,EAAOC,GAEtD,IAAI5sH,EAAM3L,EAAO2tB,MAAMqqG,OAAO55G,GAC1Bu6G,GAAQrrH,EAAI3B,EAAIkyD,KAAO06D,EAAeD,EAAS3sH,EAAIkyD,IACnD+6D,GAAQxtG,EAAIzf,EAAImyD,OAASy6D,EAAeD,EAAS3sH,EAAImyD,MACrD+6D,GAAQ5pH,EAAItD,EAAIoyD,MAAQw6D,EAAeD,EAAS3sH,EAAIoyD,KAExD,OAAO/9D,EAAO2tB,MAAM2pG,SAASqB,EAAIC,EAAIC,IAkBzCC,eAAgB,SAAU77D,EAAIC,EAAI9pD,EAAI+pD,EAAIC,EAAI/pD,EAAIilH,EAAOC,GAErD,IAAIjrH,GAAO6vD,EAAKF,GAAMs7D,EAAeD,EAASr7D,EAC1C7xC,GAAOgyC,EAAKF,GAAMq7D,EAAeD,EAASp7D,EAC1CjuD,GAAOoE,EAAKD,GAAMmlH,EAAeD,EAASllH,EAE9C,OAAOpT,EAAO2tB,MAAM2pG,SAAShqH,EAAG8d,EAAGnc,IAgBvC8pH,eAAgB,SAAU5mH,EAAKE,EAAKgM,GAOhC,QALYpU,IAARkI,IAAqBA,EAAM,QACnBlI,IAARoI,IAAqBA,EAAM,UACjBpI,IAAVoU,IAAuBA,EAAQ,KAG/BhM,EAAM,KAAOF,EAAME,EAEnB,OAAOrS,EAAO2tB,MAAM2pG,SAAS,IAAK,IAAK,KAG3C,IAAIz5D,EAAM1rD,EAAMvM,KAAKsI,MAAMtI,KAAKsE,UAAYmI,EAAMF,IAC9C2rD,EAAQ3rD,EAAMvM,KAAKsI,MAAMtI,KAAKsE,UAAYmI,EAAMF,IAChD4rD,EAAO5rD,EAAMvM,KAAKsI,MAAMtI,KAAKsE,UAAYmI,EAAMF,IAEnD,OAAOnS,EAAO2tB,MAAM4pG,WAAWl5G,EAAOw/C,EAAKC,EAAOC,IActDi6D,OAAQ,SAAU55G,GAEd,OAAIA,EAAQ,UAIJC,MAAOD,IAAU,GACjBy/C,IAAKz/C,GAAS,GAAK,IACnB0/C,MAAO1/C,GAAS,EAAI,IACpB2/C,KAAc,IAAR3/C,EACNvP,EAAGuP,IAAU,GACb9Q,EAAG8Q,GAAS,GAAK,IACjBgN,EAAGhN,GAAS,EAAI,IAChBnP,EAAW,IAARmP,IAMHC,MAAO,IACPw/C,IAAKz/C,GAAS,GAAK,IACnB0/C,MAAO1/C,GAAS,EAAI,IACpB2/C,KAAc,IAAR3/C,EACNvP,EAAG,IACHvB,EAAG8Q,GAAS,GAAK,IACjBgN,EAAGhN,GAAS,EAAI,IAChBnP,EAAW,IAARmP,IAcf46G,UAAW,SAAU56G,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAM9Q,EAAEjG,WAAa,IAAM+W,EAAMgN,EAAE/jB,WAAa,IAAM+W,EAAMnP,EAAE5H,WAAa,KAAO+W,EAAMvP,EAAI,KAAKxH,WAAa,IAI/H,IAAI6vH,EAAMl3H,EAAO2tB,MAAMqqG,OAAO55G,GAC9B,MAAO,QAAU84G,EAAI5pH,EAAEjG,WAAa,IAAM6vH,EAAI9rG,EAAE/jB,WAAa,IAAM6vH,EAAIjoH,EAAE5H,WAAa,KAAO6vH,EAAIroH,EAAI,KAAKxH,WAAa,KAa/H4xH,SAAU,SAAU76G,GAChB,OAAOA,IAAU,IAWrB86G,cAAe,SAAU96G,GACrB,OAAQA,IAAU,IAAM,KAW5B+6G,OAAQ,SAAU/6G,GACd,OAAOA,GAAS,GAAK,KAWzBg7G,SAAU,SAAUh7G,GAChB,OAAOA,GAAS,EAAI,KAWxBi7G,QAAS,SAAUj7G,GACf,OAAe,IAARA,GAYXk7G,YAAa,SAAUzqH,GACnB,OAAOA,GAYXszD,aAAc,SAAUtzD,EAAGI,GACvB,OAAQA,EAAIJ,EAAKI,EAAIJ,GAYzBqzD,YAAa,SAAUrzD,EAAGI,GACtB,OAAQA,EAAIJ,EAAKA,EAAII,GAezB8yD,cAAe,SAAUlzD,EAAGI,GACxB,OAAQJ,EAAII,EAAK,KAYrBsqH,aAAc,SAAU1qH,EAAGI,GACvB,OAAQJ,EAAII,GAAK,GAYrB6yD,SAAU,SAAUjzD,EAAGI,GACnB,OAAOrJ,KAAKuM,IAAI,IAAKtD,EAAII,IAY7BuqH,cAAe,SAAU3qH,EAAGI,GACxB,OAAOrJ,KAAKyM,IAAI,EAAGxD,EAAII,EAAI,MAc/BuzD,gBAAiB,SAAU3zD,EAAGI,GAC1B,OAAOrJ,KAAK2J,IAAIV,EAAII,IAYxBwqH,cAAe,SAAU5qH,EAAGI,GACxB,OAAO,IAAMrJ,KAAK2J,IAAI,IAAMV,EAAII,IAcpC+yD,YAAa,SAAUnzD,EAAGI,GACtB,OAAO,MAAS,IAAMJ,IAAM,IAAMI,IAAO,IAa7CwzD,eAAgB,SAAU5zD,EAAGI,GACzB,OAAOJ,EAAII,EAAI,EAAIJ,EAAII,EAAI,KAc/BgzD,aAAc,SAAUpzD,EAAGI,GACvB,OAAOA,EAAI,IAAO,EAAIJ,EAAII,EAAI,IAAQ,IAAM,GAAK,IAAMJ,IAAM,IAAMI,GAAK,KAsB5EszD,eAAgB,SAAU1zD,EAAGI,GACzB,OAAOA,EAAI,IAAO,GAAgB,IAAVJ,GAAK,KAAaI,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVJ,GAAK,MAAa,IAAMI,GAAK,KAuB1GqzD,eAAgB,SAAUzzD,EAAGI,GACzB,OAAOjP,EAAO2tB,MAAMs0C,aAAahzD,EAAGJ,IAaxCuzD,gBAAiB,SAAUvzD,EAAGI,GAC1B,OAAa,MAANA,EAAYA,EAAIrJ,KAAKuM,IAAI,KAAOtD,GAAK,IAAM,IAAMI,KAa5DozD,eAAgB,SAAUxzD,EAAGI,GACzB,OAAa,IAANA,EAAUA,EAAIrJ,KAAKyM,IAAI,EAAI,KAAQ,IAAMxD,GAAM,GAAKI,IAY/DyqH,iBAAkB,SAAU7qH,EAAGI,GAC3B,OAAOjP,EAAO2tB,MAAMm0C,SAASjzD,EAAGI,IAYpC0qH,gBAAiB,SAAU9qH,EAAGI,GAC1B,OAAOjP,EAAO2tB,MAAM6rG,cAAc3qH,EAAGI,IAczC2qH,iBAAkB,SAAU/qH,EAAGI,GAC3B,OAAOA,EAAI,IAAMjP,EAAO2tB,MAAMgsG,gBAAgB9qH,EAAG,EAAII,GAAKjP,EAAO2tB,MAAM+rG,iBAAiB7qH,EAAI,GAAKI,EAAI,OAezG4qH,gBAAiB,SAAUhrH,EAAGI,GAC1B,OAAOA,EAAI,IAAMjP,EAAO2tB,MAAM00C,eAAexzD,EAAG,EAAII,GAAKjP,EAAO2tB,MAAMy0C,gBAAgBvzD,EAAI,GAAKI,EAAI,OAavG6qH,cAAe,SAAUjrH,EAAGI,GACxB,OAAOA,EAAI,IAAMjP,EAAO2tB,MAAMu0C,YAAYrzD,EAAG,EAAII,GAAKjP,EAAO2tB,MAAMw0C,aAAatzD,EAAI,GAAKI,EAAI,OAejG8qH,aAAc,SAAUlrH,EAAGI,GACvB,OAAOjP,EAAO2tB,MAAMksG,gBAAgBhrH,EAAGI,GAAK,IAAM,EAAI,KAY1D+qH,aAAc,SAAUnrH,EAAGI,GACvB,OAAa,MAANA,EAAYA,EAAIrJ,KAAKuM,IAAI,IAAMtD,EAAIA,GAAK,IAAMI,KAYzDgrH,UAAW,SAAUprH,EAAGI,GACpB,OAAOjP,EAAO2tB,MAAMqsG,aAAa/qH,EAAGJ,IAYxCqrH,aAAc,SAAUrrH,EAAGI,GACvB,OAAOrJ,KAAKuM,IAAItD,EAAGI,GAAKrJ,KAAKyM,IAAIxD,EAAGI,GAAK,MAyBjDjP,EAAOmuB,QAAU,SAAUvT,EAAM2Q,GAE7BA,EAASA,MAKT5rB,KAAKib,KAAOA,EAKZjb,KAAK4rB,OAASA,EAKd5rB,KAAKw6H,OAAS,KAKdx6H,KAAKmZ,GAAK,KAKVnZ,KAAKy6H,MAAQ,KAKbz6H,KAAKuwH,MAAQ,KAKbvwH,KAAK06H,SAAW,KAKhB16H,KAAK26H,OAAS,KAEd36H,KAAK6rB,eAQTxrB,EAAOmuB,QAAQC,OAAS,EAMxBpuB,EAAOmuB,QAAQ87B,KAAO,EAMtBjqD,EAAOmuB,QAAQwhG,MAAQ,EAMvB3vH,EAAOmuB,QAAQ0hG,MAAQ,EAMvB7vH,EAAOmuB,QAAQosG,SAAW,EAM1Bv6H,EAAOmuB,QAAQqsG,SAAW,EAE1Bx6H,EAAOmuB,QAAQjoB,WAOXslB,YAAa,WAEH7rB,KAAK4rB,OAAO9iB,eAAe,YAAuC,IAA1B9I,KAAK4rB,OAAe,SAAevrB,EAAOmuB,QAAQ1lB,eAAe,YAG3G9I,KAAKw6H,OAAS,IAAIn6H,EAAOmuB,QAAQ+lC,OAAOv0D,KAAKib,OAG7Cjb,KAAK4rB,OAAO9iB,eAAe,WAAqC,IAAzB9I,KAAK4rB,OAAc,OAAcvrB,EAAOmuB,QAAQ1lB,eAAe,WAEtG9I,KAAKy6H,MAAQ,IAAIp6H,EAAOmuB,QAAQyhG,MAAMjwH,KAAKib,OAG3Cjb,KAAK4rB,OAAO9iB,eAAe,QAA+B,IAAtB9I,KAAK4rB,OAAW,IAAcvrB,EAAOmuB,QAAQ1lB,eAAe,QAEhG9I,KAAKmZ,GAAK,IAAI9Y,EAAOmuB,QAAQssG,GAAG96H,KAAKib,KAAMjb,KAAK4rB,SAGhD5rB,KAAK4rB,OAAO9iB,eAAe,WAAqC,IAAzB9I,KAAK4rB,OAAc,OAAcvrB,EAAOmuB,QAAQ1lB,eAAe,WAEtG9I,KAAKuwH,MAAQ,IAAIlwH,EAAOmuB,QAAQ0hG,MAAMlwH,KAAKib,KAAMjb,KAAK4rB,SAGtD5rB,KAAK4rB,OAAO9iB,eAAe,YAAuC,IAA1B9I,KAAK4rB,OAAe,QAAcvrB,EAAOmuB,QAAQ1lB,eAAe,YAExG9I,KAAK26H,OAAS,IAAIt6H,EAAOmuB,QAAQusG,OAAO/6H,KAAKib,KAAMjb,KAAK4rB,UAyBhEovG,YAAa,SAAUC,GAEfA,IAAW56H,EAAOmuB,QAAQC,OAE1BzuB,KAAKw6H,OAAS,IAAIn6H,EAAOmuB,QAAQ+lC,OAAOv0D,KAAKib,MAExCggH,IAAW56H,EAAOmuB,QAAQ87B,KAEf,OAAZtqD,KAAKmZ,GAELnZ,KAAKmZ,GAAK,IAAI9Y,EAAOmuB,QAAQssG,GAAG96H,KAAKib,KAAMjb,KAAK4rB,QAIhD5rB,KAAKmZ,GAAGgH,QAGP86G,IAAW56H,EAAOmuB,QAAQwhG,MAE/BhwH,KAAKy6H,MAAQ,IAAIp6H,EAAOmuB,QAAQyhG,MAAMjwH,KAAKib,MAEtCggH,IAAW56H,EAAOmuB,QAAQ0hG,MAEZ,OAAflwH,KAAKuwH,MAELvwH,KAAKuwH,MAAQ,IAAIlwH,EAAOmuB,QAAQ2hG,MAAMnwH,KAAKib,KAAMjb,KAAK4rB,QAItD5rB,KAAKuwH,MAAMpwG,QAGV86G,IAAW56H,EAAOmuB,QAAQqsG,WAEX,OAAhB76H,KAAK26H,OAEL36H,KAAK26H,OAAS,IAAIt6H,EAAOmuB,QAAQusG,OAAO/6H,KAAKib,KAAMjb,KAAK4rB,QAIxD5rB,KAAK26H,OAAOx6G,UA0BxBwQ,OAAQ,SAAUyF,EAAQ6kG,EAAQ32G,QAEfha,IAAX2wH,IAAwBA,EAAS56H,EAAOmuB,QAAQC,aACtCnkB,IAAVga,IAAuBA,GAAQ,GAE/B22G,IAAW56H,EAAOmuB,QAAQC,OAE1BzuB,KAAKw6H,OAAO7pG,OAAOyF,GAEd6kG,IAAW56H,EAAOmuB,QAAQ87B,MAAQtqD,KAAKmZ,GAE5CnZ,KAAKmZ,GAAGwX,OAAOyF,EAAQ9R,GAElB22G,IAAW56H,EAAOmuB,QAAQwhG,OAAShwH,KAAKy6H,MAE7Cz6H,KAAKy6H,MAAMS,WAAW9kG,GAEjB6kG,IAAW56H,EAAOmuB,QAAQ0hG,OAASlwH,KAAKuwH,MAE7CvwH,KAAKuwH,MAAM5/F,OAAOyF,GAEb6kG,IAAW56H,EAAOmuB,QAAQqsG,UAAY76H,KAAK26H,OAEhD36H,KAAK26H,OAAOhqG,OAAOyF,GAInB9tB,QAAQG,KAAK2tB,EAAOvsB,IAAM,6EAWlC4T,UAAW,WAIHzd,KAAKmZ,IAELnZ,KAAKmZ,GAAGsE,YAGRzd,KAAKuwH,OAELvwH,KAAKuwH,MAAM9yG,YAGXzd,KAAK26H,QAEL36H,KAAK26H,OAAOl9G,aAWpBuB,OAAQ,WAIAhf,KAAKmZ,IAELnZ,KAAKmZ,GAAG6F,SAGRhf,KAAKuwH,OAELvwH,KAAKuwH,MAAMvxG,SAGXhf,KAAK26H,QAEL36H,KAAK26H,OAAO37G,UAWpBa,iBAAkB,WAEV7f,KAAKw6H,QAELx6H,KAAKw6H,OAAO36G,mBAGZ7f,KAAKy6H,OAELz6H,KAAKy6H,MAAM56G,mBAGX7f,KAAKmZ,IAELnZ,KAAKmZ,GAAG0G,mBAGR7f,KAAKuwH,OAELvwH,KAAKuwH,MAAM1wG,mBAGX7f,KAAK26H,QAEL36H,KAAK26H,OAAO96G,oBAWpBlB,MAAO,WAEC3e,KAAKmZ,IAELnZ,KAAKmZ,GAAGwF,QAGR3e,KAAKuwH,OAELvwH,KAAKuwH,MAAM5xG,QAGX3e,KAAK26H,QAEL36H,KAAK26H,OAAOh8G,SAWpBwB,MAAO,WAECngB,KAAKmZ,IAELnZ,KAAKmZ,GAAGgH,QAGRngB,KAAKuwH,OAELvwH,KAAKuwH,MAAMpwG,QAGXngB,KAAK26H,QAEL36H,KAAK26H,OAAOx6G,SAUpBoE,QAAS,WAEDvkB,KAAKmZ,IAELnZ,KAAKmZ,GAAGoL,UAGRvkB,KAAKuwH,OAELvwH,KAAKuwH,MAAMhsG,UAGXvkB,KAAK26H,QAEL36H,KAAK26H,OAAOp2G,UAGhBvkB,KAAKw6H,OAAS,KACdx6H,KAAKy6H,MAAQ,KACbz6H,KAAKmZ,GAAK,KACVnZ,KAAKuwH,MAAQ,KACbvwH,KAAK26H,OAAS,OAMtBt6H,EAAOmuB,QAAQjoB,UAAU8B,YAAchI,EAAOmuB,QAe9CnuB,EAAOmuB,QAAQ+lC,OAAS,SAAUt5C,GAK9Bjb,KAAKib,KAAOA,EAKZjb,KAAKm7H,QAAU,IAAI96H,EAAOoN,MAK1BzN,KAAKob,OAAS,IAAI/a,EAAO2N,UAAU,EAAG,EAAGiN,EAAKC,MAAM/K,MAAO8K,EAAKC,MAAM9K,QAOtEpQ,KAAKo7H,gBAAmBx5E,IAAI,EAAMnV,MAAM,EAAMhhC,MAAM,EAAMD,OAAO,GAKjExL,KAAKu4F,WAAa,GAKlBv4F,KAAKw4F,UAAY,EAKjBx4F,KAAKq7H,aAAe,EAKpBr7H,KAAKs7H,QAAS,EAMdt7H,KAAKu7H,cAAgBl7H,EAAOmuB,QAAQ+lC,OAAOinE,WAK3Cx7H,KAAKy7H,cAAe,EAKpBz7H,KAAKs/F,UAAW,EAKhBt/F,KAAK6vH,SAAW,IAAIxvH,EAAOi4F,SAASt4F,KAAKib,KAAKC,MAAME,OAAOjV,EAAGnG,KAAKib,KAAKC,MAAME,OAAOlO,EAAGlN,KAAKib,KAAKC,MAAME,OAAOjL,MAAOnQ,KAAKib,KAAKC,MAAME,OAAOhL,OAAQpQ,KAAKu4F,WAAYv4F,KAAKw4F,WAM3Kx4F,KAAK07H,OAAS,EAGd17H,KAAK6f,oBAITxf,EAAOmuB,QAAQ+lC,OAAOhuD,UAAU8B,YAAchI,EAAOmuB,QAAQ+lC,OAQ7Dl0D,EAAOmuB,QAAQ+lC,OAAOonE,UAAY,EAQlCt7H,EAAOmuB,QAAQ+lC,OAAOinE,WAAa,EAQnCn7H,EAAOmuB,QAAQ+lC,OAAOqnE,WAAa,EAQnCv7H,EAAOmuB,QAAQ+lC,OAAOsnE,WAAa,EAQnCx7H,EAAOmuB,QAAQ+lC,OAAOunE,WAAa,EAEnCz7H,EAAOmuB,QAAQ+lC,OAAOhuD,WAWlB2xB,UAAW,SAAU/xB,EAAG+G,EAAGiD,EAAOC,GAE9BpQ,KAAKob,OAAOnN,MAAM9H,EAAG+G,EAAGiD,EAAOC,IASnCyP,iBAAkB,WAEd7f,KAAKob,OAAOlN,SAASlO,KAAKib,KAAKC,MAAME,SAYzCuV,OAAQ,SAAUyF,EAAQ9J,QAELhiB,IAAbgiB,IAA0BA,GAAW,GAEzC,IAAItkB,EAAI,EAER,GAAItB,MAAMa,QAAQ6uB,GAId,IAFApuB,EAAIouB,EAAOruB,OAEJC,KAECouB,EAAOpuB,aAAc3H,EAAO+tB,MAG5BpuB,KAAK2wB,OAAOyF,EAAOpuB,GAAGskB,SAAUA,IAIhCtsB,KAAKsuB,WAAW8H,EAAOpuB,IAEnBskB,GAAY8J,EAAOpuB,GAAGc,eAAe,aAAestB,EAAOpuB,GAAGskB,SAASvkB,OAAS,GAEhF/H,KAAK2wB,OAAOyF,EAAOpuB,IAAI,SAO/BouB,aAAkB/1B,EAAO+tB,MAGzBpuB,KAAK2wB,OAAOyF,EAAO9J,SAAUA,IAI7BtsB,KAAKsuB,WAAW8H,GAEZ9J,GAAY8J,EAAOttB,eAAe,aAAestB,EAAO9J,SAASvkB,OAAS,GAE1E/H,KAAK2wB,OAAOyF,EAAO9J,UAAU,KAiB7CgC,WAAY,SAAU8H,GAEdA,EAAOttB,eAAe,SAA2B,OAAhBstB,EAAO7F,OAExC6F,EAAO7F,KAAO,IAAIlwB,EAAOmuB,QAAQ+lC,OAAOw7D,KAAK35F,GAEzCA,EAAOjM,QAAUiM,EAAOjM,kBAAkB9pB,EAAO+tB,OAEjDgI,EAAOjM,OAAOyG,UAAUwF,KAYpC2lG,aAAc,SAAUxrG,GAEpB,GAAIA,EAAKyrG,cACT,CACI,IAAIC,EAAgBj8H,KAAKk8H,gBAAgB,EAAG3rG,EAAMA,EAAK4rG,gBAAiB5rG,EAAK6rG,oBAAqB7rG,EAAK8rG,YAAa9rG,EAAK+rG,YAAc/rG,EAAK4rG,gBAC5I5rG,EAAK4rG,iBAAmBF,EACxB1rG,EAAKqH,UAAarH,EAAK4rG,gBAAkBn8H,KAAKib,KAAKmE,KAAKunE,eAG5Dp2D,EAAKgsG,SAASp2H,EAAInG,KAAKk8H,gBAAgB,EAAG3rG,EAAMA,EAAKgsG,SAASp2H,EAAGoqB,EAAKisG,aAAar2H,EAAGoqB,EAAKksG,KAAKt2H,EAAGoqB,EAAKmsG,YAAYv2H,GACpHoqB,EAAKgsG,SAASrvH,EAAIlN,KAAKk8H,gBAAgB,EAAG3rG,EAAMA,EAAKgsG,SAASrvH,EAAGqjB,EAAKisG,aAAatvH,EAAGqjB,EAAKksG,KAAKvvH,EAAGqjB,EAAKmsG,YAAYxvH,IAiBxHgvH,gBAAiB,SAAUp8E,EAAMvvB,EAAMgsG,EAAUC,EAAcC,EAAM/pH,GA4CjE,YA1CYpI,IAARoI,IAAqBA,EAAM,KAElB,IAATotC,GAAcvvB,EAAKosG,aAEnBJ,IAAav8H,KAAKm7H,QAAQh1H,EAAIoqB,EAAK4qG,QAAQh1H,GAAKnG,KAAKib,KAAKmE,KAAKunE,eAEjD,IAAT7mC,GAAcvvB,EAAKosG,eAExBJ,IAAav8H,KAAKm7H,QAAQjuH,EAAIqjB,EAAK4qG,QAAQjuH,GAAKlN,KAAKib,KAAKmE,KAAKunE,gBAG/D61C,EAEAD,GAAYC,EAAex8H,KAAKib,KAAKmE,KAAKunE,eAErC81C,GAAQlsG,EAAKqsG,YAIdL,GAFJE,GAAQz8H,KAAKib,KAAKmE,KAAKunE,gBAED,EAElB41C,GAAYE,EAEPF,EAAWE,EAAO,EAEvBF,GAAYE,EAIZF,EAAW,GAIfA,EAAW7pH,EAEX6pH,EAAW7pH,EAEN6pH,GAAY7pH,IAEjB6pH,GAAY7pH,GAGT6pH,GA+BXzqE,QAAS,SAAU+qE,EAASC,EAASC,EAAiBC,EAAiBx5G,GAUnE,OARAu5G,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrCx5G,EAAkBA,GAAmBu5G,EAErC/8H,KAAK07H,OAAS,EAEd17H,KAAKi9H,eAAeJ,EAASC,EAASC,EAAiBC,EAAiBx5G,GAAiB,GAEjFxjB,KAAK07H,OAAS,GAqD1BwB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiBx5G,GAUnE,OARA25G,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrCx5G,EAAkBA,GAAmB25G,EAErCn9H,KAAK07H,OAAS,EAEd17H,KAAKi9H,eAAeJ,EAASC,EAASK,EAAiBH,EAAiBx5G,GAAiB,GAEjFxjB,KAAK07H,OAAS,GAc1B0B,cAAe,SAAUluH,EAAGI,GAExB,OAAKJ,EAAEqhB,MAASjhB,EAAEihB,KAKXrhB,EAAEqhB,KAAKpqB,EAAImJ,EAAEihB,KAAKpqB,EAHd,GAiBfk3H,cAAe,SAAUnuH,EAAGI,GAExB,OAAKJ,EAAEqhB,MAASjhB,EAAEihB,KAKXjhB,EAAEihB,KAAKpqB,EAAI+I,EAAEqhB,KAAKpqB,EAHd,GAiBfm3H,cAAe,SAAUpuH,EAAGI,GAExB,OAAKJ,EAAEqhB,MAASjhB,EAAEihB,KAKXrhB,EAAEqhB,KAAKrjB,EAAIoC,EAAEihB,KAAKrjB,EAHd,GAiBfqwH,cAAe,SAAUruH,EAAGI,GAExB,OAAKJ,EAAEqhB,MAASjhB,EAAEihB,KAKXjhB,EAAEihB,KAAKrjB,EAAIgC,EAAEqhB,KAAKrjB,EAHd,GAoBfkoB,KAAM,SAAUiC,EAAOkkG,GAEgB,OAA/BlkG,EAAM5H,qBAEN8rG,EAAgBlkG,EAAM5H,0BAIAnlB,IAAlBixH,IAA+BA,EAAgBv7H,KAAKu7H,eAGxDA,IAAkBl7H,EAAOmuB,QAAQ+lC,OAAOinE,WAGxCnkG,EAAMvH,KAAKsF,KAAKp1B,KAAKo9H,eAEhB7B,IAAkBl7H,EAAOmuB,QAAQ+lC,OAAOqnE,WAG7CvkG,EAAMvH,KAAKsF,KAAKp1B,KAAKq9H,eAEhB9B,IAAkBl7H,EAAOmuB,QAAQ+lC,OAAOsnE,WAG7CxkG,EAAMvH,KAAKsF,KAAKp1B,KAAKs9H,eAEhB/B,IAAkBl7H,EAAOmuB,QAAQ+lC,OAAOunE,YAG7CzkG,EAAMvH,KAAKsF,KAAKp1B,KAAKu9H,gBAW7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAE3F,IAAK92H,MAAMa,QAAQs1H,IAAYn2H,MAAMa,QAAQu1H,GAEzC,IAAS90H,EAAI,EAAGA,EAAI80H,EAAQ/0H,OAAQC,IAE3B80H,EAAQ90H,IAEbhI,KAAKy9H,eAAeZ,EAASC,EAAQ90H,GAAIm1H,EAAiBH,EAAiBx5G,EAAiBg6G,QAG/F,GAAI92H,MAAMa,QAAQs1H,KAAan2H,MAAMa,QAAQu1H,GAE9C,IAAS90H,EAAI,EAAGA,EAAI60H,EAAQ90H,OAAQC,IAE3B60H,EAAQ70H,IAEbhI,KAAKy9H,eAAeZ,EAAQ70H,GAAI80H,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,QAG/F,GAAI92H,MAAMa,QAAQs1H,IAAYn2H,MAAMa,QAAQu1H,IAE7C,IAAK,IAAI90H,EAAI,EAAGA,EAAI60H,EAAQ90H,OAAQC,IAEhC,GAAK60H,EAAQ70H,GAEb,IAAK,IAAIyQ,EAAI,EAAGA,EAAIqkH,EAAQ/0H,OAAQ0Q,IAE3BqkH,EAAQrkH,IAEbzY,KAAKy9H,eAAeZ,EAAQ70H,GAAI80H,EAAQrkH,GAAI0kH,EAAiBH,EAAiBx5G,EAAiBg6G,QAMvGx9H,KAAKy9H,eAAeZ,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,IAiBjGC,eAAgB,SAAUZ,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAG3F,QAAgBlzH,IAAZwyH,GAAyBD,EAAQluG,cAAgBtuB,EAAOoB,MAIxD,OAFAzB,KAAKo1B,KAAKynG,QACV78H,KAAK09H,mBAAmBb,EAASM,EAAiBH,EAAiBx5G,EAAiBg6G,GAKnFX,GAAYC,GAAYD,EAAQ1xG,QAAW2xG,EAAQ3xG,SAMpDnrB,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOonE,YAEzCkB,EAAQluG,cAAgBtuB,EAAOoB,OAE/BzB,KAAKo1B,KAAKynG,GAGVC,EAAQnuG,cAAgBtuB,EAAOoB,OAE/BzB,KAAKo1B,KAAK0nG,IAKdD,EAAQluG,cAAgBtuB,EAAOa,OAE3B47H,EAAQnuG,cAAgBtuB,EAAOa,OAE/BlB,KAAK29H,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAE3FV,EAAQnuG,cAAgBtuB,EAAOoB,MAEpCzB,KAAK49H,qBAAqBf,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAE1FV,EAAQnuG,cAAgBtuB,EAAOuB,cAEpC5B,KAAK69H,4BAA4BhB,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAIrGX,EAAQluG,cAAgBtuB,EAAOoB,MAEhCq7H,EAAQnuG,cAAgBtuB,EAAOa,OAE/BlB,KAAK49H,qBAAqBd,EAASD,EAASM,EAAiBH,EAAiBx5G,EAAiBg6G,GAE1FV,EAAQnuG,cAAgBtuB,EAAOoB,MAEpCzB,KAAK89H,oBAAoBjB,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAEzFV,EAAQnuG,cAAgBtuB,EAAOuB,cAEpC5B,KAAK+9H,2BAA2BlB,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,GAIpGX,EAAQluG,cAAgBtuB,EAAOuB,eAEhCk7H,EAAQnuG,cAAgBtuB,EAAOa,OAE/BlB,KAAK69H,4BAA4Bf,EAASD,EAASM,EAAiBH,EAAiBx5G,EAAiBg6G,GAEjGV,EAAQnuG,cAAgBtuB,EAAOoB,OAEpCzB,KAAK+9H,2BAA2BjB,EAASD,EAASM,EAAiBH,EAAiBx5G,EAAiBg6G,MAmBjHG,sBAAuB,SAAUK,EAASC,EAASd,EAAiBH,EAAiBx5G,EAAiBg6G,GAElG,SAAKQ,EAAQztG,OAAS0tG,EAAQ1tG,QAK1BvwB,KAAKk+H,SAASF,EAAQztG,KAAM0tG,EAAQ1tG,KAAMysG,EAAiBx5G,EAAiBg6G,KAExEL,GAEAA,EAAgBn2H,KAAKwc,EAAiBw6G,EAASC,GAGnDj+H,KAAK07H,WAGF,IAgBXkC,qBAAsB,SAAUzlG,EAAQd,EAAO8lG,EAAiBH,EAAiBx5G,EAAiBg6G,GAE9F,GAAqB,IAAjBnmG,EAAMtvB,QAAiBowB,EAAO5H,KAKlC,GAAIvwB,KAAKy7H,cAAgBtjG,EAAO5H,KAAKkrG,aAIjC,IAAK,IAFDrgH,KAEKpT,EAAI,EAAGA,EAAIqvB,EAAMvH,KAAK/nB,OAAQC,IACvC,CACI,IAAI60H,EAAUxlG,EAAMvH,KAAK9nB,GAGzB,GAAK60H,GAAYA,EAAQ1xG,QAAW0xG,EAAQtsG,KAA5C,CASA,GAHAnV,EAASyhH,EAAQtsG,KAAKxiB,UAAUqN,GAG5Bpb,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOinE,WACjD,CACI,GAAIrjG,EAAO5H,KAAK/kB,MAAQ4P,EAAOjV,EAE3B,MAEC,GAAIiV,EAAO5P,MAAQ2sB,EAAO5H,KAAKpqB,EAEhC,cAGH,GAAInG,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOqnE,WACtD,CACI,GAAIzjG,EAAO5H,KAAKpqB,EAAIiV,EAAO5P,MAEvB,MAEC,GAAI4P,EAAOjV,EAAIgyB,EAAO5H,KAAK/kB,MAE5B,cAGH,GAAIxL,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOsnE,WACtD,CACI,GAAI1jG,EAAO5H,KAAKnhB,OAASgM,EAAOlO,EAE5B,MAEC,GAAIkO,EAAOhM,OAAS+oB,EAAO5H,KAAKrjB,EAEjC,cAGH,GAAIlN,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOunE,WACtD,CACI,GAAI3jG,EAAO5H,KAAKrjB,EAAIkO,EAAOhM,OAEvB,MAEC,GAAIgM,EAAOlO,EAAIirB,EAAO5H,KAAKnhB,OAE5B,SAIRpP,KAAK29H,sBAAsBxlG,EAAQ0kG,EAASM,EAAiBH,EAAiBx5G,EAAiBg6G,QAIvG,CAEIx9H,KAAK6vH,SAASlxG,QAEd3e,KAAK6vH,SAAS1vG,MAAMngB,KAAKib,KAAKC,MAAME,OAAOjV,EAAGnG,KAAKib,KAAKC,MAAME,OAAOlO,EAAGlN,KAAKib,KAAKC,MAAME,OAAOjL,MAAOnQ,KAAKib,KAAKC,MAAME,OAAOhL,OAAQpQ,KAAKu4F,WAAYv4F,KAAKw4F,WAE3Jx4F,KAAK6vH,SAAS92B,SAAS1hE,GAIvB,IAAK,IAFD8mG,EAAQn+H,KAAK6vH,SAAS32B,SAAS/gE,GAE1BnwB,EAAI,EAAGA,EAAIm2H,EAAMp2H,OAAQC,IAG1BhI,KAAKk+H,SAAS/lG,EAAO5H,KAAM4tG,EAAMn2H,GAAIg1H,EAAiBx5G,EAAiBg6G,KAEnEL,GAEAA,EAAgBn2H,KAAKwc,EAAiB2U,EAAQgmG,EAAMn2H,GAAGmwB,QAG3Dn4B,KAAK07H,YAmBrBgC,mBAAoB,SAAUrmG,EAAO8lG,EAAiBH,EAAiBx5G,EAAiBg6G,GAEpF,GAAqB,IAAjBnmG,EAAMtvB,OAKV,IAAK,IAAIC,EAAI,EAAGA,EAAIqvB,EAAMvH,KAAK/nB,OAAQC,IACvC,CACI,IAAIo2H,KACAvB,EAAUxlG,EAAMvH,KAAK9nB,GAGzB,GAAK60H,GAAYA,EAAQ1xG,QAAW0xG,EAAQtsG,KAA5C,CAMA6tG,EAAUvB,EAAQtsG,KAAKxiB,UAAUqwH,GAEjC,IAAK,IAAI3lH,EAAIzQ,EAAI,EAAGyQ,EAAI4e,EAAMvH,KAAK/nB,OAAQ0Q,IAC3C,CACI,IAAI4lH,KACAvB,EAAUzlG,EAAMvH,KAAKrX,GAGzB,GAAKqkH,GAAYA,EAAQ3xG,QAAW2xG,EAAQvsG,KAA5C,CASA,GAHA8tG,EAAUvB,EAAQvsG,KAAKxiB,UAAUswH,GAG7Br+H,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOinE,WACjD,CACI,GAAI4C,EAAQ5yH,MAAQ6yH,EAAQl4H,EAExB,MAEC,GAAIk4H,EAAQ7yH,MAAQ4yH,EAAQj4H,EAE7B,cAGH,GAAInG,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOqnE,WACtD,CACI,GAAIwC,EAAQj4H,EAAIk4H,EAAQ7yH,MAEpB,SAEC,GAAI6yH,EAAQl4H,EAAIi4H,EAAQ5yH,MAEzB,WAGH,GAAIxL,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOsnE,WACtD,CACI,GAAIuC,EAAQhvH,OAASivH,EAAQnxH,EAEzB,SAEC,GAAImxH,EAAQjvH,OAASgvH,EAAQlxH,EAE9B,WAGH,GAAIlN,KAAKu7H,gBAAkBl7H,EAAOmuB,QAAQ+lC,OAAOunE,WACtD,CACI,GAAIsC,EAAQlxH,EAAImxH,EAAQjvH,OAEpB,SAEC,GAAIivH,EAAQnxH,EAAI2vH,EAAQtsG,KAAKnhB,OAE9B,MAIRpP,KAAK29H,sBAAsBd,EAASC,EAASK,EAAiBH,EAAiBx5G,EAAiBg6G,QAkB5GM,oBAAqB,SAAUQ,EAAQC,EAAQpB,EAAiBH,EAAiBx5G,EAAiBg6G,GAE9F,GAAsB,IAAlBc,EAAOv2H,QAAkC,IAAlBw2H,EAAOx2H,OAKlC,IAAK,IAAIC,EAAI,EAAGA,EAAIs2H,EAAOhyG,SAASvkB,OAAQC,IAEpCs2H,EAAOhyG,SAAStkB,GAAGmjB,SAEfmzG,EAAOhyG,SAAStkB,GAAG2mB,cAAgBtuB,EAAOoB,MAE1CzB,KAAK89H,oBAAoBQ,EAAOhyG,SAAStkB,GAAIu2H,EAAQpB,EAAiBH,EAAiBx5G,EAAiBg6G,GAIxGx9H,KAAK49H,qBAAqBU,EAAOhyG,SAAStkB,GAAIu2H,EAAQpB,EAAiBH,EAAiBx5G,EAAiBg6G,KAmBzHU,SAAU,SAAUM,EAAOC,EAAOzB,EAAiBx5G,EAAiBg6G,GAEhE,IACKgB,EAAM7tG,SACN8tG,EAAM9tG,QACP6tG,EAAMpD,eAAesD,MACrBD,EAAMrD,eAAesD,OACpB1+H,KAAKuP,WAAWivH,EAAOC,GAExB,OAAO,EAIX,GAAIzB,IAAyF,IAAtEA,EAAgBh2H,KAAKwc,EAAiBg7G,EAAMrmG,OAAQsmG,EAAMtmG,QAE7E,OAAO,EAIX,GAAIqmG,EAAMG,UAAYF,EAAME,SAExB,OAAO3+H,KAAK4+H,eAAeJ,EAAOC,EAAOjB,GAO7C,GAAIgB,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAIE,EAAYL,EAAc,SAAIC,EAAQD,EACtCM,EAAcN,EAAc,SAAIA,EAAQC,EAExCxqH,GACA9N,EAAG04H,EAAS14H,EACZ+G,EAAG2xH,EAAS3xH,EACZ1B,MAAOqzH,EAASrzH,MAChB4D,OAAQyvH,EAASzvH,QAGjBqvB,EAASqgG,EAAWC,OAExB,IAAItgG,EAAOvxB,EAAI+G,EAAK/G,GAAKuxB,EAAOvxB,EAAI+G,EAAK7E,UAEjCqvB,EAAOt4B,EAAI8N,EAAK9N,GAAKs4B,EAAOt4B,EAAI8N,EAAKzI,OAErC,OAAOxL,KAAK4+H,eAAeJ,EAAOC,EAAOjB,GAKrD,IAAIwB,GAAU,EACVC,GAAU,EAGVj/H,KAAKs7H,QAAUr1H,KAAK2J,IAAI5P,KAAKm7H,QAAQjuH,EAAIsxH,EAAMrD,QAAQjuH,GAAKjH,KAAK2J,IAAI5P,KAAKm7H,QAAQh1H,EAAIq4H,EAAMrD,QAAQh1H,IAEpG64H,EAAUh/H,KAAKk/H,UAAUV,EAAOC,EAAOjB,GAGnCx9H,KAAKuP,WAAWivH,EAAOC,KAEvBQ,EAAUj/H,KAAKm/H,UAAUX,EAAOC,EAAOjB,MAK3CyB,EAAUj/H,KAAKm/H,UAAUX,EAAOC,EAAOjB,GAGnCx9H,KAAKuP,WAAWivH,EAAOC,KAEvBO,EAAUh/H,KAAKk/H,UAAUV,EAAOC,EAAOjB,KAI/C,IAAI7rH,EAAUqtH,GAAWC,EA8BzB,OA5BIttH,IAEI6rH,GAEIgB,EAAMY,WAENZ,EAAMY,UAAU9/G,SAASk/G,EAAMrmG,OAAQsmG,EAAMtmG,QAG7CsmG,EAAMW,WAENX,EAAMW,UAAU9/G,SAASm/G,EAAMtmG,OAAQqmG,EAAMrmG,UAK7CqmG,EAAMa,WAENb,EAAMa,UAAU//G,SAASk/G,EAAMrmG,OAAQsmG,EAAMtmG,QAG7CsmG,EAAMY,WAENZ,EAAMY,UAAU//G,SAASm/G,EAAMtmG,OAAQqmG,EAAMrmG,UAKlDxmB,GAYXpC,WAAY,SAAUivH,EAAOC,GAEzB,OAAID,IAAUC,IAKVD,EAAMG,SAEFF,EAAME,SAGCt+H,EAAO4F,KAAKqI,SAASkwH,EAAMO,OAAO54H,EAAGq4H,EAAMO,OAAO7xH,EAAGuxH,EAAMM,OAAO54H,EAAGs4H,EAAMM,OAAO7xH,IAAOsxH,EAAM3uH,UAAY4uH,EAAM5uH,UAKjH7P,KAAKs/H,qBAAqBd,EAAOC,GAKxCA,EAAME,SAGC3+H,KAAKs/H,qBAAqBb,EAAOD,KAKpCA,EAAMhzH,OAASizH,EAAMxkH,SAAS9T,OAK9Bq4H,EAAMpvH,QAAUqvH,EAAMxkH,SAAS/M,OAK/BsxH,EAAMvkH,SAAS9T,GAAKs4H,EAAMjzH,UAK1BgzH,EAAMvkH,SAAS/M,GAAKuxH,EAAMrvH,YAmB1CkwH,qBAAsB,SAAU7gG,EAAQlO,GAEpC,IAAIpqB,EAAI9F,EAAO4F,KAAKiQ,MAAMuoB,EAAOsgG,OAAO54H,EAAGoqB,EAAK9kB,KAAM8kB,EAAK/kB,OACvD0B,EAAI7M,EAAO4F,KAAKiQ,MAAMuoB,EAAOsgG,OAAO7xH,EAAGqjB,EAAKphB,IAAKohB,EAAKnhB,QAK1D,OAHUqvB,EAAOsgG,OAAO54H,EAAIA,IAAMs4B,EAAOsgG,OAAO54H,EAAIA,IAC1Cs4B,EAAOsgG,OAAO7xH,EAAIA,IAAMuxB,EAAOsgG,OAAO7xH,EAAIA,IAE/BuxB,EAAO5uB,UAAY4uB,EAAO5uB,WAcnD+uH,eAAgB,SAAUJ,EAAOC,EAAOjB,GAGpCx9H,KAAKu/H,YAAYf,EAAOC,GACxBz+H,KAAKw/H,YAAYhB,EAAOC,GAExB,IAAI3vH,EAAK2vH,EAAMM,OAAO54H,EAAIq4H,EAAMO,OAAO54H,EACnC4I,EAAK0vH,EAAMM,OAAO7xH,EAAIsxH,EAAMO,OAAO7xH,EAEnCuyH,EAAiBx5H,KAAKoN,MAAMtE,EAAID,GAEhCgjD,EAAU,EAEd,GAAI0sE,EAAMG,WAAaF,EAAME,SAC7B,CACI,IAAI1qH,GACA9N,EAAIs4H,EAAc,SAAID,EAAMvkH,SAAS9T,EAAIs4H,EAAMxkH,SAAS9T,EACxD+G,EAAIuxH,EAAc,SAAID,EAAMvkH,SAAS/M,EAAIuxH,EAAMxkH,SAAS/M,EACxD1B,MAAQizH,EAAc,SAAID,EAAMhzH,MAAQizH,EAAMjzH,MAC9C4D,OAASqvH,EAAc,SAAID,EAAMpvH,OAASqvH,EAAMrvH,QAGhDqvB,GACAt4B,EAAIq4H,EAAc,SAAIA,EAAMO,OAAO54H,EAAIs4H,EAAMM,OAAO54H,EACpD+G,EAAIsxH,EAAc,SAAIA,EAAMO,OAAO7xH,EAAIuxH,EAAMM,OAAO7xH,EACpDY,OAAS0wH,EAAc,SAAIA,EAAM3uH,UAAY4uH,EAAM5uH,WAGnD4uB,EAAOvxB,EAAI+G,EAAK/G,EAEZuxB,EAAOt4B,EAAI8N,EAAK9N,EAEhB2rD,EAAUzxD,EAAO4F,KAAKqI,SAASmwB,EAAOt4B,EAAGs4B,EAAOvxB,EAAG+G,EAAK9N,EAAG8N,EAAK/G,GAAKuxB,EAAO3wB,OAEvE2wB,EAAOt4B,EAAI8N,EAAKzI,QAErBsmD,EAAUzxD,EAAO4F,KAAKqI,SAASmwB,EAAOt4B,EAAGs4B,EAAOvxB,EAAG+G,EAAKzI,MAAOyI,EAAK/G,GAAKuxB,EAAO3wB,QAG/E2wB,EAAOvxB,EAAI+G,EAAK7E,SAEjBqvB,EAAOt4B,EAAI8N,EAAK9N,EAEhB2rD,EAAUzxD,EAAO4F,KAAKqI,SAASmwB,EAAOt4B,EAAGs4B,EAAOvxB,EAAG+G,EAAK9N,EAAG8N,EAAK7E,QAAUqvB,EAAO3wB,OAE5E2wB,EAAOt4B,EAAI8N,EAAKzI,QAErBsmD,EAAUzxD,EAAO4F,KAAKqI,SAASmwB,EAAOt4B,EAAGs4B,EAAOvxB,EAAG+G,EAAKzI,MAAOyI,EAAK7E,QAAUqvB,EAAO3wB,SAI7FgkD,IAAY,OAIZA,EAAW0sE,EAAM3uH,UAAY4uH,EAAM5uH,UAAaxP,EAAO4F,KAAKqI,SAASkwH,EAAMO,OAAO54H,EAAGq4H,EAAMO,OAAO7xH,EAAGuxH,EAAMM,OAAO54H,EAAGs4H,EAAMM,OAAO7xH,GAItI,GAAIswH,GAA2B,IAAZ1rE,GAAkB0sE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMmB,iBAAmBlB,EAAMkB,gBAgBvG,OAdgB,IAAZ7tE,IAEI0sE,EAAMY,WAENZ,EAAMY,UAAU9/G,SAASk/G,EAAMrmG,OAAQsmG,EAAMtmG,QAG7CsmG,EAAMW,WAENX,EAAMW,UAAU9/G,SAASm/G,EAAMtmG,OAAQqmG,EAAMrmG,SAKjC,IAAZ25B,EAKZ,IAAIizB,GACA5+E,EAAGq4H,EAAMjC,SAASp2H,EAAIF,KAAK2H,IAAI6xH,GAAkBjB,EAAMjC,SAASrvH,EAAIjH,KAAK4H,IAAI4xH,GAC7EvyH,EAAGsxH,EAAMjC,SAASp2H,EAAIF,KAAK4H,IAAI4xH,GAAkBjB,EAAMjC,SAASrvH,EAAIjH,KAAK2H,IAAI6xH,IAG7Ez6C,GACA7+E,EAAGs4H,EAAMlC,SAASp2H,EAAIF,KAAK2H,IAAI6xH,GAAkBhB,EAAMlC,SAASrvH,EAAIjH,KAAK4H,IAAI4xH,GAC7EvyH,EAAGuxH,EAAMlC,SAASp2H,EAAIF,KAAK4H,IAAI4xH,GAAkBhB,EAAMlC,SAASrvH,EAAIjH,KAAK2H,IAAI6xH,IAI7EG,IAAapB,EAAMqB,KAAOpB,EAAMoB,MAAQ96C,EAAG5+E,EAAI,EAAIs4H,EAAMoB,KAAO76C,EAAG7+E,IAAMq4H,EAAMqB,KAAOpB,EAAMoB,MAC5FC,GAAY,EAAItB,EAAMqB,KAAO96C,EAAG5+E,GAAKs4H,EAAMoB,KAAOrB,EAAMqB,MAAQ76C,EAAG7+E,IAAMq4H,EAAMqB,KAAOpB,EAAMoB,MAgFhG,OA7EKrB,EAAMkB,YAEPlB,EAAMjC,SAASp2H,GAAKy5H,EAAW35H,KAAK2H,IAAI6xH,GAAkB16C,EAAG73E,EAAIjH,KAAK4H,IAAI4xH,IAAmBjB,EAAMuB,OAAO55H,EAC1Gq4H,EAAMjC,SAASrvH,GAAK63E,EAAG73E,EAAIjH,KAAK2H,IAAI6xH,GAAkBG,EAAW35H,KAAK4H,IAAI4xH,IAAmBjB,EAAMuB,OAAO7yH,GAGzGuxH,EAAMiB,YAEPjB,EAAMlC,SAASp2H,GAAK25H,EAAW75H,KAAK2H,IAAI6xH,GAAkBz6C,EAAG93E,EAAIjH,KAAK4H,IAAI4xH,IAAmBhB,EAAMsB,OAAO55H,EAC1Gs4H,EAAMlC,SAASrvH,GAAK83E,EAAG93E,EAAIjH,KAAK2H,IAAI6xH,GAAkBK,EAAW75H,KAAK4H,IAAI4xH,IAAmBhB,EAAMsB,OAAO7yH,GAO1GjH,KAAK2J,IAAI6vH,GAAkBx5H,KAAKsH,GAAK,EAEhCixH,EAAMjC,SAASp2H,EAAI,IAAOq4H,EAAMkB,WAAcjB,EAAMlC,SAASp2H,EAAIq4H,EAAMjC,SAASp2H,EAEjFq4H,EAAMjC,SAASp2H,IAAM,EAEfs4H,EAAMlC,SAASp2H,EAAI,IAAOs4H,EAAMiB,WAAclB,EAAMjC,SAASp2H,EAAIs4H,EAAMlC,SAASp2H,EAEtFs4H,EAAMlC,SAASp2H,IAAM,EAEfq4H,EAAMjC,SAASrvH,EAAI,IAAOsxH,EAAMkB,WAAcjB,EAAMlC,SAASrvH,EAAIsxH,EAAMjC,SAASrvH,EAEtFsxH,EAAMjC,SAASrvH,IAAM,EAEfuxH,EAAMlC,SAASrvH,EAAI,IAAOuxH,EAAMiB,WAAclB,EAAMjC,SAASrvH,EAAIuxH,EAAMlC,SAASrvH,IAEtFuxH,EAAMlC,SAASrvH,IAAM,GAGpBjH,KAAK2J,IAAI6vH,GAAkBx5H,KAAKsH,GAAK,IAErCixH,EAAMjC,SAASp2H,EAAI,IAAOq4H,EAAMkB,WAAcjB,EAAMlC,SAASp2H,EAAIq4H,EAAMjC,SAASp2H,EAEjFq4H,EAAMjC,SAASp2H,IAAM,EAEfs4H,EAAMlC,SAASp2H,EAAI,IAAOs4H,EAAMiB,WAAclB,EAAMjC,SAASp2H,EAAIs4H,EAAMlC,SAASp2H,EAEtFs4H,EAAMlC,SAASp2H,IAAM,EAEfq4H,EAAMjC,SAASrvH,EAAI,IAAOsxH,EAAMkB,WAAcjB,EAAMlC,SAASrvH,EAAIsxH,EAAMjC,SAASrvH,EAEtFsxH,EAAMjC,SAASrvH,IAAM,EAEfuxH,EAAMlC,SAASrvH,EAAI,IAAOuxH,EAAMiB,WAAclB,EAAMjC,SAASp2H,EAAIs4H,EAAMlC,SAASrvH,IAEtFuxH,EAAMlC,SAASrvH,IAAM,IAIxBsxH,EAAMkB,YAEPlB,EAAMr4H,GAAMq4H,EAAMjC,SAASp2H,EAAInG,KAAKib,KAAKmE,KAAKunE,eAAkB70B,EAAU7rD,KAAK2H,IAAI6xH,GACnFjB,EAAMtxH,GAAMsxH,EAAMjC,SAASrvH,EAAIlN,KAAKib,KAAKmE,KAAKunE,eAAkB70B,EAAU7rD,KAAK4H,IAAI4xH,IAGlFhB,EAAMiB,YAEPjB,EAAMt4H,GAAMs4H,EAAMlC,SAASp2H,EAAInG,KAAKib,KAAKmE,KAAKunE,eAAkB70B,EAAU7rD,KAAK2H,IAAI6xH,GACnFhB,EAAMvxH,GAAMuxH,EAAMlC,SAASrvH,EAAIlN,KAAKib,KAAKmE,KAAKunE,eAAkB70B,EAAU7rD,KAAK4H,IAAI4xH,IAGnFjB,EAAMa,WAENb,EAAMa,UAAU//G,SAASk/G,EAAMrmG,OAAQsmG,EAAMtmG,QAG7CsmG,EAAMY,WAENZ,EAAMY,UAAU//G,SAASm/G,EAAMtmG,OAAQqmG,EAAMrmG,SAG1C,GAcXonG,YAAa,SAAUf,EAAOC,EAAOjB,GAEjC,IAAI1rE,EAAU,EACVkuE,EAAaxB,EAAMyB,YAAcxB,EAAMwB,YAAcjgI,KAAKq7H,aA+C9D,OA7CuB,IAAnBmD,EAAMp2F,UAAqC,IAAnBq2F,EAAMr2F,UAG9Bo2F,EAAM0B,UAAW,EACjBzB,EAAMyB,UAAW,GAEZ1B,EAAMp2F,SAAWq2F,EAAMr2F,UAG5B0pB,EAAU0sE,EAAMhzH,MAAQizH,EAAMt4H,GAEf65H,IAAexC,IAA+C,IAA/BgB,EAAMpD,eAAe5vH,QAAiD,IAA9BizH,EAAMrD,eAAe3vH,KAEvGqmD,EAAU,GAIV0sE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAAS30H,OAAQ,EACvBizH,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAAS10H,MAAO,GAGrB+yH,EAAMp2F,SAAWq2F,EAAMr2F,aAG5B0pB,EAAU0sE,EAAMr4H,EAAIs4H,EAAMtuH,MAAQsuH,EAAMt4H,GAExB65H,IAAexC,IAA8C,IAA9BgB,EAAMpD,eAAe3vH,OAAiD,IAA/BgzH,EAAMrD,eAAe5vH,MAEvGsmD,EAAU,GAIV0sE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAAS10H,MAAO,EACtBgzH,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAAS30H,OAAQ,IAK/BgzH,EAAM4B,SAAWtuE,EACjB2sE,EAAM2B,SAAWtuE,EAEVA,GAcX0tE,YAAa,SAAUhB,EAAOC,EAAOjB,GAEjC,IAAI1rE,EAAU,EACVkuE,EAAaxB,EAAM6B,YAAc5B,EAAM4B,YAAcrgI,KAAKq7H,aA+C9D,OA7CuB,IAAnBmD,EAAMt3F,UAAqC,IAAnBu3F,EAAMv3F,UAG9Bs3F,EAAM0B,UAAW,EACjBzB,EAAMyB,UAAW,GAEZ1B,EAAMt3F,SAAWu3F,EAAMv3F,UAG5B4qB,EAAU0sE,EAAMpvH,OAASqvH,EAAMvxH,GAEhB8yH,IAAexC,IAA8C,IAA9BgB,EAAMpD,eAAe3uF,OAA8C,IAA5BgyF,EAAMrD,eAAex5E,GAEtGkQ,EAAU,GAIV0sE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAAS1zF,MAAO,EACtBgyF,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAASv+E,IAAK,GAGnB48E,EAAMt3F,SAAWu3F,EAAMv3F,aAG5B4qB,EAAU0sE,EAAMtxH,EAAIuxH,EAAMrvH,QAEV4wH,IAAexC,IAA4C,IAA5BgB,EAAMpD,eAAex5E,KAA8C,IAA9B68E,EAAMrD,eAAe3uF,KAErGqlB,EAAU,GAIV0sE,EAAM2B,SAASzB,MAAO,EACtBF,EAAM2B,SAASv+E,IAAK,EACpB68E,EAAM0B,SAASzB,MAAO,EACtBD,EAAM0B,SAAS1zF,MAAO,IAK9B+xF,EAAM8B,SAAWxuE,EACjB2sE,EAAM6B,SAAWxuE,EAEVA,GAcXotE,UAAW,SAAUV,EAAOC,EAAOjB,GAE/B,IAAI1rE,EAAU9xD,KAAKu/H,YAAYf,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZ1rE,GAAkB0sE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMmB,iBAAmBlB,EAAMkB,gBAGvG,OAAoB,IAAZ7tE,GAAmB0sE,EAAM0B,UAAYzB,EAAMyB,SAIvD,IAAIn7C,EAAKy5C,EAAMjC,SAASp2H,EACpB6+E,EAAKy5C,EAAMlC,SAASp2H,EAExB,GAAKq4H,EAAMkB,WAAcjB,EAAMiB,UAiBrBlB,EAAMkB,WAaZjB,EAAMt4H,GAAK2rD,EACX2sE,EAAMlC,SAASp2H,EAAI4+E,EAAKC,EAAKy5C,EAAMsB,OAAO55H,EAGtCq4H,EAAM+B,QAEN9B,EAAMvxH,IAAMsxH,EAAMtxH,EAAIsxH,EAAM3iE,KAAK3uD,GAAKsxH,EAAMgC,SAAStzH,KAjBzDsxH,EAAMr4H,GAAK2rD,EACX0sE,EAAMjC,SAASp2H,EAAI6+E,EAAKD,EAAKy5C,EAAMuB,OAAO55H,EAGtCs4H,EAAM8B,QAEN/B,EAAMtxH,IAAMuxH,EAAMvxH,EAAIuxH,EAAM5iE,KAAK3uD,GAAKuxH,EAAM+B,SAAStzH,QAxB7D,CACI4kD,GAAW,GAEX0sE,EAAMr4H,GAAK2rD,EACX2sE,EAAMt4H,GAAK2rD,EAEX,IAAI2uE,EAAMx6H,KAAKqK,KAAM00E,EAAKA,EAAKy5C,EAAMoB,KAAQrB,EAAMqB,OAAU76C,EAAK,EAAK,GAAK,GACxE07C,EAAMz6H,KAAKqK,KAAMy0E,EAAKA,EAAKy5C,EAAMqB,KAAQpB,EAAMoB,OAAU96C,EAAK,EAAK,GAAK,GACxE47C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPnC,EAAMjC,SAASp2H,EAAIw6H,EAAMF,EAAMjC,EAAMuB,OAAO55H,EAC5Cs4H,EAAMlC,SAASp2H,EAAIw6H,EAAMD,EAAMjC,EAAMsB,OAAO55H,EA0BhD,OAAO,GAcXg5H,UAAW,SAAUX,EAAOC,EAAOjB,GAE/B,IAAI1rE,EAAU9xD,KAAKw/H,YAAYhB,EAAOC,EAAOjB,GAG7C,GAAIA,GAA2B,IAAZ1rE,GAAkB0sE,EAAMkB,WAAajB,EAAMiB,WAAclB,EAAMoC,iBAAmBnC,EAAMmC,gBAGvG,OAAoB,IAAZ9uE,GAAmB0sE,EAAM0B,UAAYzB,EAAMyB,SAIvD,IAAIn7C,EAAKy5C,EAAMjC,SAASrvH,EACpB83E,EAAKy5C,EAAMlC,SAASrvH,EAExB,GAAKsxH,EAAMkB,WAAcjB,EAAMiB,UAiBrBlB,EAAMkB,WAaZjB,EAAMvxH,GAAK4kD,EACX2sE,EAAMlC,SAASrvH,EAAI63E,EAAKC,EAAKy5C,EAAMsB,OAAO7yH,EAGtCsxH,EAAM+B,QAEN9B,EAAMt4H,IAAMq4H,EAAMr4H,EAAIq4H,EAAM3iE,KAAK11D,GAAKq4H,EAAMgC,SAASr6H,KAjBzDq4H,EAAMtxH,GAAK4kD,EACX0sE,EAAMjC,SAASrvH,EAAI83E,EAAKD,EAAKy5C,EAAMuB,OAAO7yH,EAGtCuxH,EAAM8B,QAEN/B,EAAMr4H,IAAMs4H,EAAMt4H,EAAIs4H,EAAM5iE,KAAK11D,GAAKs4H,EAAM+B,SAASr6H,QAxB7D,CACI2rD,GAAW,GAEX0sE,EAAMtxH,GAAK4kD,EACX2sE,EAAMvxH,GAAK4kD,EAEX,IAAI2uE,EAAMx6H,KAAKqK,KAAM00E,EAAKA,EAAKy5C,EAAMoB,KAAQrB,EAAMqB,OAAU76C,EAAK,EAAK,GAAK,GACxE07C,EAAMz6H,KAAKqK,KAAMy0E,EAAKA,EAAKy5C,EAAMqB,KAAQpB,EAAMoB,OAAU96C,EAAK,EAAK,GAAK,GACxE47C,EAAoB,IAAbF,EAAMC,GAEjBD,GAAOE,EACPD,GAAOC,EAEPnC,EAAMjC,SAASrvH,EAAIyzH,EAAMF,EAAMjC,EAAMuB,OAAO7yH,EAC5CuxH,EAAMlC,SAASrvH,EAAIyzH,EAAMD,EAAMjC,EAAMsB,OAAO7yH,EA0BhD,OAAO,GAgBX2zH,uBAAwB,SAAUt3G,EAAS8N,EAAOhD,EAAU7Q,GAExD,GAAqB,IAAjB6T,EAAMtvB,QAAiBwhB,EAAQ4B,OAKnC,OAAOnrB,KAAK8gI,qBAAqBv3G,EAAQpjB,EAAGojB,EAAQrc,EAAGmqB,EAAOhD,EAAU7Q,EAAiB+F,IAkB7Fu3G,qBAAsB,SAAU36H,EAAG+G,EAAGmqB,EAAOhD,EAAU7Q,EAAiBu9G,GAEpE/gI,KAAK6vH,SAASlxG,QAEd3e,KAAK6vH,SAAS1vG,MAAMngB,KAAKib,KAAKC,MAAME,OAAOjV,EAAGnG,KAAKib,KAAKC,MAAME,OAAOlO,EAAGlN,KAAKib,KAAKC,MAAME,OAAOjL,MAAOnQ,KAAKib,KAAKC,MAAME,OAAOhL,OAAQpQ,KAAKu4F,WAAYv4F,KAAKw4F,WAE3Jx4F,KAAK6vH,SAAS92B,SAAS1hE,GAOvB,IAAK,IALDpjB,EAAO,IAAI5T,EAAO2N,UAAU7H,EAAG+G,EAAG,EAAG,GACrCsB,KAEA2vH,EAAQn+H,KAAK6vH,SAAS32B,SAASjlF,GAE1BjM,EAAI,EAAGA,EAAIm2H,EAAMp2H,OAAQC,IAE1Bm2H,EAAMn2H,GAAGy7B,QAAQt9B,EAAG+G,KAEhBmnB,GAEAA,EAASrtB,KAAKwc,EAAiBu9G,EAAa5C,EAAMn2H,GAAGmwB,QAGzD3pB,EAAO2E,KAAKgrH,EAAMn2H,GAAGmwB,SAI7B,OAAO3pB,GAmBXwyH,aAAc,SAAUvlH,EAAeqlD,EAAatiC,EAAOyiG,QAEzC32H,IAAVk0B,IAAuBA,EAAQ,SACnBl0B,IAAZ22H,IAAyBA,EAAU,GAEvC,IAAItyH,EAAQ1I,KAAKoN,MAAMytD,EAAY5zD,EAAIuO,EAAcvO,EAAG4zD,EAAY36D,EAAIsV,EAActV,GAUtF,OARI86H,EAAU,IAGVziG,EAAQx+B,KAAKkhI,gBAAgBzlH,EAAeqlD,IAAgBmgE,EAAU,MAG1ExlH,EAAc8U,KAAKgsG,SAAS3mH,WAAWjH,EAAO6vB,GAEvC7vB,GAkBXwyH,cAAe,SAAU1lH,EAAe+iB,EAAOjV,EAAS03G,QAEtC32H,IAAVk0B,IAAuBA,EAAQ,IACnCjV,EAAUA,GAAWvpB,KAAKib,KAAKuF,MAAMuf,mBACrBz1B,IAAZ22H,IAAyBA,EAAU,GAEvC,IAAItyH,EAAQ3O,KAAKohI,eAAe3lH,EAAe8N,GAU/C,OARI03G,EAAU,IAGVziG,EAAQx+B,KAAKqhI,kBAAkB5lH,EAAe8N,IAAY03G,EAAU,MAGxExlH,EAAc8U,KAAKgsG,SAAS3mH,WAAWjH,EAAO6vB,GAEvC7vB,GAoBX2yH,SAAU,SAAU7lH,EAAetV,EAAG+G,EAAGsxB,EAAOyiG,QAE9B32H,IAAVk0B,IAAuBA,EAAQ,SACnBl0B,IAAZ22H,IAAyBA,EAAU,GAEvC,IAAItyH,EAAQ1I,KAAKoN,MAAMnG,EAAIuO,EAAcvO,EAAG/G,EAAIsV,EAActV,GAU9D,OARI86H,EAAU,IAGVziG,EAAQx+B,KAAKuhI,aAAa9lH,EAAetV,EAAG+G,IAAM+zH,EAAU,MAGhExlH,EAAc8U,KAAKgsG,SAAS3mH,WAAWjH,EAAO6vB,GAEvC7vB,GAcX6yH,kBAAmB,SAAU7yH,EAAO6vB,EAAOvvB,GAKvC,YAHc3E,IAAVk0B,IAAuBA,EAAQ,KACnCvvB,EAAQA,GAAS,IAAI5O,EAAOoN,OAEfmI,WAAWjH,EAAO6vB,GAAO,IAc1CijG,qBAAsB,SAAU7pG,EAAU4G,EAAOvvB,GAK7C,YAHc3E,IAAVk0B,IAAuBA,EAAQ,KACnCvvB,EAAQA,GAAS,IAAI5O,EAAOoN,OAEfmI,WAAWgiB,EAAU4G,IActCkjG,yBAA0B,SAAU9pG,EAAU4G,EAAOvvB,GAKjD,YAHc3E,IAAVk0B,IAAuBA,EAAQ,KACnCvvB,EAAQA,GAAS,IAAI5O,EAAOoN,OAEfmI,WAAWgiB,EAAU4G,IAkBtCmjG,mBAAoB,SAAUlmH,EAAeqlD,EAAatiC,EAAOojG,EAAWC,QAE1Dv3H,IAAVk0B,IAAuBA,EAAQ,SACjBl0B,IAAds3H,IAA2BA,EAAY,UACzBt3H,IAAdu3H,IAA2BA,EAAY,KAE3C,IAAIlzH,EAAQ3O,KAAKk1F,aAAaz5E,EAAeqlD,GAK7C,OAHArlD,EAAc8U,KAAKisG,aAAa5mH,WAAWjH,EAAO6vB,GAClD/iB,EAAc8U,KAAKmsG,YAAYzuH,MAAM2zH,EAAWC,GAEzClzH,GAkBXmzH,oBAAqB,SAAUrmH,EAAe8N,EAASiV,EAAOojG,EAAWC,QAEvDv3H,IAAVk0B,IAAuBA,EAAQ,SACnBl0B,IAAZif,IAAyBA,EAAUvpB,KAAKib,KAAKuF,MAAMuf,oBACrCz1B,IAAds3H,IAA2BA,EAAY,UACzBt3H,IAAdu3H,IAA2BA,EAAY,KAE3C,IAAIlzH,EAAQ3O,KAAKohI,eAAe3lH,EAAe8N,GAK/C,OAHA9N,EAAc8U,KAAKisG,aAAa5mH,WAAWjH,EAAO6vB,GAClD/iB,EAAc8U,KAAKmsG,YAAYzuH,MAAM2zH,EAAWC,GAEzClzH,GAmBXozH,eAAgB,SAAUtmH,EAAetV,EAAG+G,EAAGsxB,EAAOojG,EAAWC,QAE/Cv3H,IAAVk0B,IAAuBA,EAAQ,SACjBl0B,IAAds3H,IAA2BA,EAAY,UACzBt3H,IAAdu3H,IAA2BA,EAAY,KAE3C,IAAIlzH,EAAQ3O,KAAKgiI,UAAUvmH,EAAetV,EAAG+G,GAK7C,OAHAuO,EAAc8U,KAAKisG,aAAavuH,MAAMU,EAAO6vB,GAC7C/iB,EAAc8U,KAAKmsG,YAAYzuH,MAAM2zH,EAAWC,GAEzClzH,GAiBXuyH,gBAAiB,SAAU/yH,EAAQjH,EAAQgU,QAEzB5Q,IAAV4Q,IAAuBA,GAAQ,GAEnC,IAAIpM,EAAK,EAAUX,EAAO+M,MAAM/U,EAAIe,EAAOgU,MAAM/U,EAAIgI,EAAOhI,EAAIe,EAAOf,EACnE4I,EAAK,EAAUZ,EAAO+M,MAAMhO,EAAIhG,EAAOgU,MAAMhO,EAAIiB,EAAOjB,EAAIhG,EAAOgG,EAEvE,OAAOjH,KAAKqK,KAAKxB,EAAKA,EAAKC,EAAKA,IAoBpCwyH,aAAc,SAAU9lH,EAAetV,EAAG+G,EAAGgO,QAE3B5Q,IAAV4Q,IAAuBA,GAAQ,GAEnC,IAAIpM,EAAK,EAAU2M,EAAcP,MAAM/U,EAAIA,EAAIsV,EAActV,EAAIA,EAC7D4I,EAAK,EAAU0M,EAAcP,MAAMhO,EAAIA,EAAIuO,EAAcvO,EAAIA,EAEjE,OAAOjH,KAAKqK,KAAKxB,EAAKA,EAAKC,EAAKA,IAmBpCsyH,kBAAmB,SAAU5lH,EAAe8N,EAASrO,QAEjC5Q,IAAZif,IAAyBA,EAAUvpB,KAAKib,KAAKuF,MAAMuf,oBACzCz1B,IAAV4Q,IAAuBA,GAAQ,GAEnC,IAAIpM,EAAK,EAAU2M,EAAcP,MAAM/U,EAAIojB,EAAQwlG,OAAStzG,EAActV,EAAIojB,EAAQwlG,OAClFhgH,EAAK,EAAU0M,EAAcP,MAAMhO,EAAIqc,EAAQylG,OAASvzG,EAAcvO,EAAIqc,EAAQylG,OAEtF,OAAO/oH,KAAKqK,KAAKxB,EAAKA,EAAKC,EAAKA,IAiBpCmmF,aAAc,SAAU/mF,EAAQjH,EAAQgU,GAIpC,YAFc5Q,IAAV4Q,IAAuBA,GAAQ,GAE/BA,EAEOjV,KAAKoN,MAAMnM,EAAOgU,MAAMhO,EAAIiB,EAAO+M,MAAMhO,EAAGhG,EAAOgU,MAAM/U,EAAIgI,EAAO+M,MAAM/U,GAI1EF,KAAKoN,MAAMnM,EAAOgG,EAAIiB,EAAOjB,EAAGhG,EAAOf,EAAIgI,EAAOhI,IAajE87H,oBAAqB,SAAU9zH,EAAQjH,GAEnC,IAAI4H,EAAK5H,EAAOkK,QAAUjD,EAAOiD,QAC7BrC,EAAK7H,EAAOmK,QAAUlD,EAAOkD,QAEjC,OAAOpL,KAAKoN,MAAMtE,EAAID,IAkB1BkzH,UAAW,SAAUvmH,EAAetV,EAAG+G,EAAGgO,GAItC,YAFc5Q,IAAV4Q,IAAuBA,GAAQ,GAE/BA,EAEOjV,KAAKoN,MAAMnG,EAAIuO,EAAcP,MAAMhO,EAAG/G,EAAIsV,EAAcP,MAAM/U,GAI9DF,KAAKoN,MAAMnG,EAAIuO,EAAcvO,EAAG/G,EAAIsV,EAActV,IAkBjEi7H,eAAgB,SAAU3lH,EAAe8N,EAASrO,GAK9C,YAHgB5Q,IAAZif,IAAyBA,EAAUvpB,KAAKib,KAAKuF,MAAMuf,oBACzCz1B,IAAV4Q,IAAuBA,GAAQ,GAE/BA,EAEOjV,KAAKoN,MAAMkW,EAAQylG,OAASvzG,EAAcP,MAAMhO,EAAGqc,EAAQwlG,OAAStzG,EAAcP,MAAM/U,GAIxFF,KAAKoN,MAAMkW,EAAQylG,OAASvzG,EAAcvO,EAAGqc,EAAQwlG,OAAStzG,EAActV,IAc3F+7H,oBAAqB,SAAUzmH,EAAe8N,GAE1C,OAAOvpB,KAAKohI,eAAe3lH,EAAe8N,GAAS,KAoB3DlpB,EAAOmuB,QAAQ+lC,OAAOw7D,KAAO,SAAU53F,GAKnCn4B,KAAKm4B,OAASA,EAKdn4B,KAAKib,KAAOkd,EAAOld,KAKnBjb,KAAKoI,KAAO/H,EAAOmuB,QAAQC,OAM3BzuB,KAAK2wB,QAAS,EASd3wB,KAAK2+H,UAAW,EAWhB3+H,KAAK8N,OAAS,EAKd9N,KAAK6O,OAAS,IAAIxO,EAAOoN,MAMzBzN,KAAKia,SAAW,IAAI5Z,EAAOoN,MAAM0qB,EAAOhyB,EAAGgyB,EAAOjrB,GAMlDlN,KAAK67D,KAAO,IAAIx7D,EAAOoN,MAAMzN,KAAKia,SAAS9T,EAAGnG,KAAKia,SAAS/M,GAM5DlN,KAAKg8H,eAAgB,EAOrBh8H,KAAK43B,SAAWO,EAAOxpB,MAMvB3O,KAAKmiI,YAAchqG,EAAOxpB,MAM1B3O,KAAKmQ,MAAQgoB,EAAOhoB,MAMpBnQ,KAAKoQ,OAAS+nB,EAAO/nB,OAMrBpQ,KAAKu+E,YAAcpmD,EAAOhoB,MAM1BnQ,KAAKw+E,aAAermD,EAAO/nB,OAEvB+nB,EAAO4L,UAEP/jC,KAAKu+E,YAAcpmD,EAAO4L,QAAQzS,MAAMnhB,MACxCnQ,KAAKw+E,aAAermD,EAAO4L,QAAQzS,MAAMlhB,QAO7CpQ,KAAK6P,UAAY5J,KAAK2J,IAAIuoB,EAAOhoB,MAAQ,GAMzCnQ,KAAK+P,WAAa9J,KAAK2J,IAAIuoB,EAAO/nB,OAAS,GAM3CpQ,KAAK++H,OAAS,IAAI1+H,EAAOoN,MAAM0qB,EAAOhyB,EAAInG,KAAK6P,UAAWsoB,EAAOjrB,EAAIlN,KAAK+P,YAK1E/P,KAAKu8H,SAAW,IAAIl8H,EAAOoN,MAM3BzN,KAAKoiI,YAAc,IAAI/hI,EAAOoN,MAK9BzN,KAAKqiI,SAAW,IAAIhiI,EAAOoN,MAK3BzN,KAAKw8H,aAAe,IAAIn8H,EAAOoN,MAM9BzN,KAAK48H,WAAY,EAKlB58H,KAAKy8H,KAAO,IAAIp8H,EAAOoN,MAMvBzN,KAAK28H,cAAe,EAKpB38H,KAAKm7H,QAAU,IAAI96H,EAAOoN,MAK1BzN,KAAK+/H,OAAS,IAAI1/H,EAAOoN,MAQzBzN,KAAKsiI,YAAc,KAYnBtiI,KAAKuiI,cAAgB,KAoBrBviI,KAAKq/H,UAAY,KAoBjBr/H,KAAKo/H,UAAY,KAMjBp/H,KAAK08H,YAAc,IAAIr8H,EAAOoN,MAAM,IAAO,KAK3CzN,KAAKwgI,SAAW,IAAIngI,EAAOoN,MAAM,EAAG,GAMpCzN,KAAKm8H,gBAAkB,EAMvBn8H,KAAKo8H,oBAAsB,EAM3Bp8H,KAAKq8H,YAAc,EAMnBr8H,KAAKs8H,WAAa,IAMlBt8H,KAAK6/H,KAAO,EAMZ7/H,KAAK2O,MAAQ,EAMb3O,KAAKw+B,MAAQ,EAMbx+B,KAAKwiI,OAASniI,EAAOQ,KAMrBb,KAAK0/H,WAAY,EAcjB1/H,KAAKugI,OAAQ,EAQbvgI,KAAK2/H,iBAAkB,EAQvB3/H,KAAK4gI,iBAAkB,EAMvB5gI,KAAKogI,SAAW,EAMhBpgI,KAAKsgI,SAAW,EAMhBtgI,KAAKyiI,SAAW,EAMhBziI,KAAKkgI,UAAW,EAMhBlgI,KAAK0iI,oBAAqB,EAS1B1iI,KAAKo7H,gBAAmBsD,MAAM,EAAO98E,IAAI,EAAMnV,MAAM,EAAMhhC,MAAM,EAAMD,OAAO,GAO9ExL,KAAKmgI,UAAazB,MAAM,EAAM98E,IAAI,EAAOnV,MAAM,EAAOhhC,MAAM,EAAOD,OAAO,GAM1ExL,KAAK2iI,aAAgBjE,MAAM,EAAM98E,IAAI,EAAOnV,MAAM,EAAOhhC,MAAM,EAAOD,OAAO,GAO7ExL,KAAK4iI,SAAYlE,MAAM,EAAM98E,IAAI,EAAOnV,MAAM,EAAOhhC,MAAM,EAAOD,OAAO,GAOzExL,KAAK6iI,YAAc,IAAIxiI,EAAOoN,MAK9BzN,KAAKkoB,OAAQ,EAKbloB,KAAKy7H,cAAe,EAUpBz7H,KAAK8iI,YAAa,EAKlB9iI,KAAK+iI,UAAW,EAKhB/iI,KAAKgjI,uBAAwB,EAM7BhjI,KAAKijI,UAAY,EAMjBjjI,KAAKkjI,aAAe,EAMpBljI,KAAKmjI,aAAe,EAMpBnjI,KAAKojI,WAAa,KAMlBpjI,KAAKqjI,QAAU,KAKfrjI,KAAKsjI,eAAiB,IAAIjjI,EAAOwb,OAKjC7b,KAAKujI,iBAAmB,KAKxBvjI,KAAKwjI,wBAA0B,KAM/BxjI,KAAK+xD,QAAS,EAMd/xD,KAAKyjI,IAAMtrG,EAAO9iB,MAAMlP,EAMxBnG,KAAK0jI,IAAMvrG,EAAO9iB,MAAMnI,EAMxBlN,KAAKq0C,IAAM,EAMXr0C,KAAKs0C,IAAM,GAIfj0C,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,WAQvBo9H,aAAc,WAEV,GAAI3jI,KAAK8iI,WACT,CACI,IAAIxzH,EAAItP,KAAKm4B,OAAOpqB,YACpBuB,EAAEgK,UAEEhK,EAAEa,QAAUnQ,KAAKmQ,OAASb,EAAEc,SAAWpQ,KAAKoQ,SAE5CpQ,KAAKmQ,MAAQb,EAAEa,MACfnQ,KAAKoQ,OAASd,EAAEc,OAChBpQ,KAAK+xD,QAAS,OAItB,CACI,IAAI6xE,EAAM39H,KAAK2J,IAAI5P,KAAKm4B,OAAO9iB,MAAMlP,GACjC09H,EAAM59H,KAAK2J,IAAI5P,KAAKm4B,OAAO9iB,MAAMnI,GAEjC02H,IAAQ5jI,KAAKyjI,KAAOI,IAAQ7jI,KAAK0jI,MAEjC1jI,KAAKmQ,MAAQnQ,KAAKu+E,YAAcqlD,EAChC5jI,KAAKoQ,OAASpQ,KAAKw+E,aAAeqlD,EAClC7jI,KAAKyjI,IAAMG,EACX5jI,KAAK0jI,IAAMG,EACX7jI,KAAK+xD,QAAS,GAIlB/xD,KAAK+xD,SAEL/xD,KAAK6P,UAAY5J,KAAKI,MAAMrG,KAAKmQ,MAAQ,GACzCnQ,KAAK+P,WAAa9J,KAAKI,MAAMrG,KAAKoQ,OAAS,GAC3CpQ,KAAK8jI,iBAWbA,aAAc,WAEV9jI,KAAK++H,OAAO9wH,MAAMjO,KAAKia,SAAS9T,EAAInG,KAAK6P,UAAW7P,KAAKia,SAAS/M,EAAIlN,KAAK+P,aAU/E0N,UAAW,WAEFzd,KAAK2wB,SAAU3wB,KAAKib,KAAK6F,QAAQ05G,OAAOl7B,WAK7Ct/F,KAAKkoB,OAAQ,EAGbloB,KAAK2iI,YAAYjE,KAAO1+H,KAAKmgI,SAASzB,KACtC1+H,KAAK2iI,YAAY/gF,GAAK5hD,KAAKmgI,SAASv+E,GACpC5hD,KAAK2iI,YAAYl2F,KAAOzsC,KAAKmgI,SAAS1zF,KACtCzsC,KAAK2iI,YAAYl3H,KAAOzL,KAAKmgI,SAAS10H,KACtCzL,KAAK2iI,YAAYn3H,MAAQxL,KAAKmgI,SAAS30H,MAEvCxL,KAAKmgI,SAASzB,MAAO,EACrB1+H,KAAKmgI,SAASv+E,IAAK,EACnB5hD,KAAKmgI,SAAS1zF,MAAO,EACrBzsC,KAAKmgI,SAAS10H,MAAO,EACrBzL,KAAKmgI,SAAS30H,OAAQ,EAEtBxL,KAAK4iI,QAAQlE,MAAO,EACpB1+H,KAAK4iI,QAAQhhF,IAAK,EAClB5hD,KAAK4iI,QAAQn2F,MAAO,EACpBzsC,KAAK4iI,QAAQn3H,MAAO,EACpBzL,KAAK4iI,QAAQp3H,OAAQ,EAErBxL,KAAKyiI,SAAW,EAChBziI,KAAKogI,SAAW,EAChBpgI,KAAKsgI,SAAW,EAEhBtgI,KAAKkgI,UAAW,EAEhBlgI,KAAK2jI,eAEL3jI,KAAKia,SAAS9T,EAAKnG,KAAKm4B,OAAOjd,MAAM/U,EAAKnG,KAAKm4B,OAAOpO,OAAO5jB,EAAInG,KAAKm4B,OAAOhoB,MAAUnQ,KAAKm4B,OAAO9iB,MAAMlP,EAAInG,KAAK6O,OAAO1I,EACzHnG,KAAKia,SAAS9T,GAAKnG,KAAKm4B,OAAO9iB,MAAMlP,EAAI,EAAInG,KAAKmQ,MAAQ,EAE1DnQ,KAAKia,SAAS/M,EAAKlN,KAAKm4B,OAAOjd,MAAMhO,EAAKlN,KAAKm4B,OAAOpO,OAAO7c,EAAIlN,KAAKm4B,OAAO/nB,OAAWpQ,KAAKm4B,OAAO9iB,MAAMnI,EAAIlN,KAAK6O,OAAO3B,EAC1HlN,KAAKia,SAAS/M,GAAKlN,KAAKm4B,OAAO9iB,MAAMnI,EAAI,EAAIlN,KAAKoQ,OAAS,EAE3DpQ,KAAK8jI,eAEL9jI,KAAK43B,SAAW53B,KAAKm4B,OAAOxpB,MAE5B3O,KAAKmiI,YAAcniI,KAAK43B,UAEpB53B,KAAK+xD,QAAU/xD,KAAKm4B,OAAOiyB,SAE3BpqD,KAAK67D,KAAK11D,EAAInG,KAAKia,SAAS9T,EAC5BnG,KAAK67D,KAAK3uD,EAAIlN,KAAKia,SAAS/M,GAG5BlN,KAAKugI,QAELvgI,KAAKib,KAAK6F,QAAQ05G,OAAOuB,aAAa/7H,MAEtCA,KAAKoiI,YAAYz1H,IAAI3M,KAAKu8H,SAASp2H,EAAInG,KAAKib,KAAKmE,KAAKunE,eAAgB3mF,KAAKu8H,SAASrvH,EAAIlN,KAAKib,KAAKmE,KAAKunE,gBAEvG3mF,KAAKia,SAAS9T,GAAKnG,KAAKoiI,YAAYj8H,EACpCnG,KAAKia,SAAS/M,GAAKlN,KAAKoiI,YAAYl1H,EACpClN,KAAK8jI,eAED9jI,KAAKia,SAAS9T,IAAMnG,KAAK67D,KAAK11D,GAAKnG,KAAKia,SAAS/M,IAAMlN,KAAK67D,KAAK3uD,IAEjElN,KAAK2O,MAAQ1I,KAAKoN,MAAMrT,KAAKu8H,SAASrvH,EAAGlN,KAAKu8H,SAASp2H,IAG3DnG,KAAKw+B,MAAQv4B,KAAKqK,KAAKtQ,KAAKu8H,SAASp2H,EAAInG,KAAKu8H,SAASp2H,EAAInG,KAAKu8H,SAASrvH,EAAIlN,KAAKu8H,SAASrvH,GAKvFlN,KAAK0iI,oBAED1iI,KAAKkpD,oBAAsBlpD,KAAKuiI,eAEhCviI,KAAKuiI,cAAcjjH,SAAStf,KAAKm4B,OAAQn4B,KAAK4iI,QAAQhhF,GAAI5hD,KAAK4iI,QAAQn2F,KAAMzsC,KAAK4iI,QAAQn3H,KAAMzL,KAAK4iI,QAAQp3H,QAKzHxL,KAAKq0C,IAAMr0C,KAAKooC,SAChBpoC,KAAKs0C,IAAMt0C,KAAKknC,SAEhBlnC,KAAK+xD,QAAS,IAUlBgyE,eAAgB,WAEZ,IAAIpsC,EAAU,EACVqsC,EAA8B,IAAlBhkI,KAAKogI,UAAoC,IAAlBpgI,KAAKsgI,SAiB5C,GAbItgI,KAAKmjI,aAAe,GAEpBnjI,KAAKijI,WAAajjI,KAAKib,KAAKmE,KAAKC,UAEjCs4E,EAAU33F,KAAKijI,UAAYjjI,KAAKmjI,eAIhCnjI,KAAKojI,WAAWryH,IAAIpE,IAAI3M,KAAKia,SAAS9T,EAAGnG,KAAKia,SAAS/M,GAEvDyqF,EAAU33F,KAAKojI,WAAWr7H,OAAS/H,KAAKkjI,cAGxCljI,KAAKujI,iBAEL,IAAI5xH,EAAS3R,KAAKujI,iBAAiBv8H,KAAKhH,KAAKwjI,wBAAyBxjI,KAAMA,KAAKu8H,SAAU5kC,GAG/F,QAAIqsC,GAAYrsC,GAAW,QAAiBrtF,IAAXqH,IAAmC,IAAXA,KAErD3R,KAAKikI,aAActsC,GAAW,GAAO33F,KAAKgjI,uBAAyBgB,IAC5D,IAiBfC,aAAc,SAAUC,GAEhBlkI,KAAK+iI,WAEL/iI,KAAK+iI,UAAW,EAEZmB,GAEAlkI,KAAKu8H,SAAS5vH,IAAI,GAKtB3M,KAAKsjI,eAAehkH,SAAStf,KAAKm4B,OAA2B,IAAlBn4B,KAAKogI,UAAoC,IAAlBpgI,KAAKsgI,YAW/Ev1G,WAAY,WAGH/qB,KAAK2wB,QAAW3wB,KAAKkoB,QAMtBloB,KAAK+iI,UAEL/iI,KAAK+jI,iBAGT/jI,KAAKkoB,OAAQ,EAETloB,KAAKooC,SAAW,EAEhBpoC,KAAKwiI,OAASniI,EAAOS,KAEhBd,KAAKooC,SAAW,IAErBpoC,KAAKwiI,OAASniI,EAAOU,OAGrBf,KAAKknC,SAAW,EAEhBlnC,KAAKwiI,OAASniI,EAAOW,GAEhBhB,KAAKknC,SAAW,IAErBlnC,KAAKwiI,OAASniI,EAAOY,MAGrBjB,KAAKugI,QAELvgI,KAAKq0C,IAAMr0C,KAAKooC,SAChBpoC,KAAKs0C,IAAMt0C,KAAKknC,SAEQ,IAApBlnC,KAAKqiI,SAASl8H,GAAwB,IAAbnG,KAAKq0C,MAE1Br0C,KAAKq0C,IAAM,GAAKr0C,KAAKq0C,KAAOr0C,KAAKqiI,SAASl8H,EAE1CnG,KAAKq0C,KAAOr0C,KAAKqiI,SAASl8H,EAErBnG,KAAKq0C,IAAM,GAAKr0C,KAAKq0C,IAAMr0C,KAAKqiI,SAASl8H,IAE9CnG,KAAKq0C,IAAMr0C,KAAKqiI,SAASl8H,IAIT,IAApBnG,KAAKqiI,SAASn1H,GAAwB,IAAblN,KAAKs0C,MAE1Bt0C,KAAKs0C,IAAM,GAAKt0C,KAAKs0C,KAAOt0C,KAAKqiI,SAASn1H,EAE1ClN,KAAKs0C,KAAOt0C,KAAKqiI,SAASn1H,EAErBlN,KAAKs0C,IAAM,GAAKt0C,KAAKs0C,IAAMt0C,KAAKqiI,SAASn1H,IAE9ClN,KAAKs0C,IAAMt0C,KAAKqiI,SAASn1H,IAIjClN,KAAKm4B,OAAOle,SAAS9T,GAAKnG,KAAKq0C,IAC/Br0C,KAAKm4B,OAAOle,SAAS/M,GAAKlN,KAAKs0C,IAC/Bt0C,KAAK+xD,QAAS,GAGlB/xD,KAAK8jI,eAED9jI,KAAKg8H,gBAELh8H,KAAKm4B,OAAOxpB,OAAS3O,KAAKsoC,UAG9BtoC,KAAK67D,KAAK11D,EAAInG,KAAKia,SAAS9T,EAC5BnG,KAAK67D,KAAK3uD,EAAIlN,KAAKia,SAAS/M,IAWhCg8C,iBAAkB,WAEd,IAAIl0C,EAAMhV,KAAKia,SACXmB,EAASpb,KAAKib,KAAK6F,QAAQ05G,OAAOp/G,OAClC+oH,EAAQnkI,KAAKib,KAAK6F,QAAQ05G,OAAOY,eAEjC3zD,EAAMznE,KAAgB,aAAKA,KAAKsiI,YAAYn8H,GAAKnG,KAAK+/H,OAAO55H,EAC7DuhE,EAAM1nE,KAAgB,aAAKA,KAAKsiI,YAAYp1H,GAAKlN,KAAK+/H,OAAO7yH,EAgCjE,OA9BI8H,EAAI7O,EAAIiV,EAAOjV,GAAKg+H,EAAM14H,MAE1BuJ,EAAI7O,EAAIiV,EAAOjV,EACfnG,KAAKu8H,SAASp2H,GAAKshE,EACnBznE,KAAK4iI,QAAQn3H,MAAO,EACpBzL,KAAK4iI,QAAQlE,MAAO,GAEf1+H,KAAKwL,MAAQ4P,EAAO5P,OAAS24H,EAAM34H,QAExCwJ,EAAI7O,EAAIiV,EAAO5P,MAAQxL,KAAKmQ,MAC5BnQ,KAAKu8H,SAASp2H,GAAKshE,EACnBznE,KAAK4iI,QAAQp3H,OAAQ,EACrBxL,KAAK4iI,QAAQlE,MAAO,GAGpB1pH,EAAI9H,EAAIkO,EAAOlO,GAAKi3H,EAAMviF,IAE1B5sC,EAAI9H,EAAIkO,EAAOlO,EACflN,KAAKu8H,SAASrvH,GAAKw6D,EACnB1nE,KAAK4iI,QAAQhhF,IAAK,EAClB5hD,KAAK4iI,QAAQlE,MAAO,GAEf1+H,KAAKoP,OAASgM,EAAOhM,QAAU+0H,EAAM13F,OAE1Cz3B,EAAI9H,EAAIkO,EAAOhM,OAASpP,KAAKoQ,OAC7BpQ,KAAKu8H,SAASrvH,GAAKw6D,EACnB1nE,KAAK4iI,QAAQn2F,MAAO,EACpBzsC,KAAK4iI,QAAQlE,MAAO,IAGhB1+H,KAAK4iI,QAAQlE,MAkCzB0F,SAAU,SAAU9nH,EAAUkiB,EAAOjgB,GAIjC,QAFcjU,IAAVk0B,IAAuBA,EAAQx+B,KAAKw+B,OAE1B,IAAVA,EAEA,OAAO,EAGX,IAAI7vB,EA+BJ,YA7BkBrE,IAAdiU,GAEA5P,EAAQ3O,KAAK2O,MACb4P,EAAYve,KAAKib,KAAK0E,KAAKvJ,SAASzH,IAIpCA,EAAQ3O,KAAKib,KAAK0E,KAAKnQ,SAAS+O,GAGpCve,KAAKijI,UAAY,EACjBjjI,KAAKmjI,aAAe7mH,EAGF,IAAdiC,GAAiC,MAAdA,EAEnBve,KAAKu8H,SAAS5vH,IAAI1G,KAAK2H,IAAIe,GAAS6vB,EAAO,GAExB,KAAdjgB,GAAkC,MAAdA,EAEzBve,KAAKu8H,SAAS5vH,IAAI,EAAG1G,KAAK4H,IAAIc,GAAS6vB,GAIvCx+B,KAAKu8H,SAAS3mH,WAAWjH,EAAO6vB,GAGpCx+B,KAAK+iI,UAAW,GAET,GAiCX3hE,OAAQ,SAAU9kD,EAAUhO,EAAUiQ,GAElC,IAAIigB,EAAQlwB,GAAYgO,EAAW,KAEnC,GAAc,IAAVkiB,EAEA,OAAO,EAGX,IAAI7vB,EA6CJ,YA3CkBrE,IAAdiU,GAEA5P,EAAQ3O,KAAK2O,MACb4P,EAAYve,KAAKib,KAAK0E,KAAKvJ,SAASzH,IAIpCA,EAAQ3O,KAAKib,KAAK0E,KAAKnQ,SAAS+O,GAGpCjQ,EAAWrI,KAAK2J,IAAItB,GAEpBtO,KAAKmjI,aAAe,EACpBnjI,KAAKkjI,aAAe50H,EAEI,OAApBtO,KAAKojI,aAELpjI,KAAKojI,WAAa,IAAI/iI,EAAOoQ,KAC7BzQ,KAAKqjI,QAAU,IAAIhjI,EAAOoN,OAG9BzN,KAAKojI,WAAW9xH,UAAUtR,KAAKmG,EAAGnG,KAAKkN,EAAGyB,EAAOL,GAEjDtO,KAAKqjI,QAAQ12H,IAAI3M,KAAKojI,WAAWryH,IAAI5K,EAAGnG,KAAKojI,WAAWryH,IAAI7D,GAE5DlN,KAAKojI,WAAWn1H,MAAMjO,KAAKmG,EAAGnG,KAAKkN,EAAGlN,KAAKmG,EAAGnG,KAAKkN,GAGjC,IAAdqR,GAAiC,MAAdA,EAEnBve,KAAKu8H,SAAS5vH,IAAI1G,KAAK2H,IAAIe,GAAS6vB,EAAO,GAExB,KAAdjgB,GAAkC,MAAdA,EAEzBve,KAAKu8H,SAAS5vH,IAAI,EAAG1G,KAAK4H,IAAIc,GAAS6vB,GAIvCx+B,KAAKu8H,SAAS3mH,WAAWjH,EAAO6vB,GAGpCx+B,KAAK+iI,UAAW,GAET,GA4CX7iH,QAAS,SAAU/P,EAAOC,EAAQgnC,EAASC,QAEvB/sC,IAAZ8sC,IAAyBA,EAAUp3C,KAAK6O,OAAO1I,QACnCmE,IAAZ+sC,IAAyBA,EAAUr3C,KAAK6O,OAAO3B,GAEnDlN,KAAKu+E,YAAcpuE,EACnBnQ,KAAKw+E,aAAepuE,EACpBpQ,KAAKmQ,MAAQnQ,KAAKu+E,YAAcv+E,KAAKyjI,IACrCzjI,KAAKoQ,OAASpQ,KAAKw+E,aAAex+E,KAAK0jI,IACvC1jI,KAAK6P,UAAY5J,KAAKI,MAAMrG,KAAKmQ,MAAQ,GACzCnQ,KAAK+P,WAAa9J,KAAKI,MAAMrG,KAAKoQ,OAAS,GAC3CpQ,KAAK6O,OAAOZ,MAAMmpC,EAASC,GAE3Br3C,KAAK8jI,eAEL9jI,KAAK2+H,UAAW,EAChB3+H,KAAK8N,OAAS,GAoBlBu2H,UAAW,SAAUv2H,EAAQspC,EAASC,QAElB/sC,IAAZ8sC,IAAyBA,EAAUp3C,KAAK6O,OAAO1I,QACnCmE,IAAZ+sC,IAAyBA,EAAUr3C,KAAK6O,OAAO3B,GAE/CY,EAAS,GAET9N,KAAK2+H,UAAW,EAChB3+H,KAAK8N,OAASA,EAEd9N,KAAKu+E,YAAuB,EAATzwE,EACnB9N,KAAKw+E,aAAwB,EAAT1wE,EAEpB9N,KAAKmQ,MAAQnQ,KAAKu+E,YAAcv+E,KAAKyjI,IACrCzjI,KAAKoQ,OAASpQ,KAAKw+E,aAAex+E,KAAK0jI,IAEvC1jI,KAAK6P,UAAY5J,KAAKI,MAAMrG,KAAKmQ,MAAQ,GACzCnQ,KAAK+P,WAAa9J,KAAKI,MAAMrG,KAAKoQ,OAAS,GAE3CpQ,KAAK6O,OAAOZ,MAAMmpC,EAASC,GAE3Br3C,KAAK8jI,gBAIL9jI,KAAK2+H,UAAW,GAYxBx+G,MAAO,SAAUha,EAAG+G,GAEhBlN,KAAKu9B,OAELv9B,KAAKia,SAAS9T,EAAKA,EAAKnG,KAAKm4B,OAAOpO,OAAO5jB,EAAInG,KAAKm4B,OAAOhoB,MAAUnQ,KAAKm4B,OAAO9iB,MAAMlP,EAAInG,KAAK6O,OAAO1I,EACvGnG,KAAKia,SAAS9T,GAAKnG,KAAKm4B,OAAO9iB,MAAMlP,EAAI,EAAInG,KAAKmQ,MAAQ,EAE1DnQ,KAAKia,SAAS/M,EAAKA,EAAKlN,KAAKm4B,OAAOpO,OAAO7c,EAAIlN,KAAKm4B,OAAO/nB,OAAWpQ,KAAKm4B,OAAO9iB,MAAMnI,EAAIlN,KAAK6O,OAAO3B,EACxGlN,KAAKia,SAAS/M,GAAKlN,KAAKm4B,OAAO9iB,MAAMnI,EAAI,EAAIlN,KAAKoQ,OAAS,EAE3DpQ,KAAK67D,KAAK11D,EAAInG,KAAKia,SAAS9T,EAC5BnG,KAAK67D,KAAK3uD,EAAIlN,KAAKia,SAAS/M,EAE5BlN,KAAK43B,SAAW53B,KAAKm4B,OAAOxpB,MAC5B3O,KAAKmiI,YAAcniI,KAAK43B,SAExB53B,KAAK2jI,eAEL3jI,KAAK8jI,gBASTvmG,KAAM,WAEFv9B,KAAKu8H,SAAS5vH,IAAI,GAClB3M,KAAKw8H,aAAa7vH,IAAI,GACtB3M,KAAKw+B,MAAQ,EACbx+B,KAAKm8H,gBAAkB,EACvBn8H,KAAKo8H,oBAAsB,GAa/BruH,UAAW,SAAUtE,GAOjB,OALAA,EAAItD,EAAInG,KAAKmG,EACbsD,EAAIyD,EAAIlN,KAAKkN,EACbzD,EAAI+B,MAAQxL,KAAKwL,MACjB/B,EAAI2F,OAASpP,KAAKoP,OAEX3F,GAYXg6B,QAAS,SAAUt9B,EAAG+G,GAElB,OAAQlN,KAAa,SAAIK,EAAO4M,OAAOwB,SAASzO,KAAMmG,EAAG+G,GAAK7M,EAAO2N,UAAUS,SAASzO,KAAMmG,EAAG+G,IAUrGo3H,QAAS,WAEL,OAAOtkI,KAAK4iI,QAAQn2F,MAUxB83F,UAAW,WAEP,OAAOvkI,KAAK4iI,QAAQhhF,IAUxB4iF,OAAQ,WAEJ,OAAQxkI,KAAK4iI,QAAQn3H,MAAQzL,KAAK4iI,QAAQp3H,OAU9Cy0H,UAAW,WAEP,OAAQjgI,KAAKooC,SAAW,EAAIpoC,KAAKooC,UAAYpoC,KAAKooC,UAUtDi4F,UAAW,WAEP,OAAQrgI,KAAKknC,SAAW,EAAIlnC,KAAKknC,UAAYlnC,KAAKknC,UAUtDkB,OAAQ,WAEJ,OAAOpoC,KAAKia,SAAS9T,EAAInG,KAAK67D,KAAK11D,GAUvC+gC,OAAQ,WAEJ,OAAOlnC,KAAKia,SAAS/M,EAAIlN,KAAK67D,KAAK3uD,GAUvCo7B,OAAQ,WAEJ,OAAOtoC,KAAK43B,SAAW53B,KAAKmiI,aAYhC59G,QAAS,WAEDvkB,KAAKm4B,OAAOhO,QAAUnqB,KAAKm4B,OAAOhO,kBAAkB9pB,EAAO+tB,OAE3DpuB,KAAKm4B,OAAOhO,OAAOqG,eAAexwB,KAAKm4B,QAG3Cn4B,KAAKm4B,OAAO5H,KAAO,KACnBvwB,KAAKm4B,OAAS,OAUtB1wB,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,QAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS9T,KAW7BsB,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,SAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS9T,EAAInG,KAAKmQ,SAUtC1I,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,OAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS/M,KAW7BzF,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,UAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS/M,EAAIlN,KAAKoQ,UAUtC3I,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,KAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS9T,GAIzBwG,IAAK,SAAU5C,GAEX/J,KAAKia,SAAS9T,EAAI4D,KAS1BtC,OAAOmF,eAAevM,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAW,KAExDmG,IAAK,WAED,OAAO1M,KAAKia,SAAS/M,GAIzBP,IAAK,SAAU5C,GAEX/J,KAAKia,SAAS/M,EAAInD,KAgB1B1J,EAAOmuB,QAAQ+lC,OAAOw7D,KAAK1uG,OAAS,SAAUyD,EAASyL,EAAM9R,EAAO+vG,EAAQltD,QAEzDh3D,IAAXkkH,IAAwBA,GAAS,GAErC/vG,EAAQA,GAAS,oBAEjBqG,EAAQy3C,UAAY99C,EACpBqG,EAAQy8C,YAAc9iD,EACtBqG,EAAQw8C,UAAYA,GAAa,EAE7B/wC,EAAKouG,UAEL75G,EAAQm8C,YACRn8C,EAAQo8C,IAAI3wC,EAAKwuG,OAAO54H,EAAIoqB,EAAKtV,KAAKoC,OAAOlX,EAAGoqB,EAAKwuG,OAAO7xH,EAAIqjB,EAAKtV,KAAKoC,OAAOnQ,EAAGqjB,EAAK1gB,UAAW,EAAG,EAAI5J,KAAKsH,IAE5GihH,EAEA1pG,EAAQqf,OAIRrf,EAAQ08C,UAKRgtD,EAEA1pG,EAAQ03C,SAASjsC,EAAKtW,SAAS9T,EAAIoqB,EAAKtV,KAAKoC,OAAOlX,EAAGoqB,EAAKtW,SAAS/M,EAAIqjB,EAAKtV,KAAKoC,OAAOnQ,EAAGqjB,EAAKpgB,MAAOogB,EAAKngB,QAI9G0U,EAAQ6pD,WAAWp+C,EAAKtW,SAAS9T,EAAIoqB,EAAKtV,KAAKoC,OAAOlX,EAAGoqB,EAAKtW,SAAS/M,EAAIqjB,EAAKtV,KAAKoC,OAAOnQ,EAAGqjB,EAAKpgB,MAAOogB,EAAKngB,SAe5H/P,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKO,eAAiB,SAAUhsG,EAAOiM,GAEzDjM,EAAM7S,KAAK,MAAQ8e,EAAKpqB,EAAEqjB,QAAQ,GAAI,MAAQ+G,EAAKrjB,EAAEsc,QAAQ,GAAI,UAAY+G,EAAKpgB,MAAO,WAAaogB,EAAKngB,QAC3GkU,EAAM7S,KAAK,eAAiB8e,EAAKgsG,SAASp2H,EAAEqjB,QAAQ,GAAI,MAAQ+G,EAAKgsG,SAASrvH,EAAEsc,QAAQ,GAAI,WAAa+G,EAAK8jB,IAAI7qB,QAAQ,GAAI,WAAa+G,EAAK+jB,IAAI9qB,QAAQ,IAC5JlF,EAAM7S,KAAK,mBAAqB8e,EAAKisG,aAAar2H,EAAEqjB,QAAQ,GAAI,MAAQ+G,EAAKisG,aAAatvH,EAAEsc,QAAQ,GAAI,UAAY+G,EAAKiO,MAAMhV,QAAQ,GAAI,UAAY+G,EAAK5hB,MAAM6a,QAAQ,IAC1KlF,EAAM7S,KAAK,cAAgB8e,EAAK4qG,QAAQh1H,EAAG,MAAQoqB,EAAK4qG,QAAQjuH,EAAG,aAAeqjB,EAAKwvG,OAAO55H,EAAEqjB,QAAQ,GAAI,MAAQ+G,EAAKwvG,OAAO7yH,EAAEsc,QAAQ,IAC1IlF,EAAM7S,KAAK,kBAAoB8e,EAAK4vG,SAAS10H,KAAM,UAAY8kB,EAAK4vG,SAAS30H,MAAO,OAAS+kB,EAAK4vG,SAASv+E,GAAI,SAAWrxB,EAAK4vG,SAAS1zF,MACxInoB,EAAM7S,KAAK,iBAAmB8e,EAAKqyG,QAAQn3H,KAAM,UAAY8kB,EAAKqyG,QAAQp3H,MAAO,OAAS+kB,EAAKqyG,QAAQhhF,GAAI,SAAWrxB,EAAKqyG,QAAQn2F,OAIvIpsC,EAAOmuB,QAAQ+lC,OAAOw7D,KAAKxpH,UAAU8B,YAAchI,EAAOmuB,QAAQ+lC,OAAOw7D,KAczE1vH,EAAOmuB,QAAQ+lC,OAAOkwE,iBAAmB,aAEzCpkI,EAAOmuB,QAAQ+lC,OAAOkwE,iBAAiBl+H,WAKnCm+H,UAAW,GAcX7G,4BAA6B,SAAU1lG,EAAQwsG,EAAcxH,EAAiBH,EAAiBx5G,EAAiBg6G,GAE5G,GAAKrlG,EAAO5H,KAAZ,CAKA,IAAI27E,EAAUy4B,EAAaC,SACvBzsG,EAAO5H,KAAKtW,SAAS9T,EAAIgyB,EAAO5H,KAAKsyG,YAAY18H,EAAIw+H,EAAaE,iBAClE1sG,EAAO5H,KAAKtW,SAAS/M,EAAIirB,EAAO5H,KAAKsyG,YAAY31H,EAAIy3H,EAAaG,iBAClE3sG,EAAO5H,KAAKpgB,MAAQgoB,EAAO5H,KAAKsyG,YAAY18H,EAC5CgyB,EAAO5H,KAAKngB,OAAS+nB,EAAO5H,KAAKsyG,YAAY31H,GAC7C,GAAO,GAEX,GAAuB,IAAnBg/F,EAAQnkG,OAKZ,IAAK,IAAIC,EAAI,EAAGA,EAAIkkG,EAAQnkG,OAAQC,IAE5Bg1H,EAEIA,EAAgBh2H,KAAKwc,EAAiB2U,EAAQ+zE,EAAQlkG,KAElDhI,KAAK+kI,aAAa/8H,EAAGmwB,EAAO5H,KAAM27E,EAAQlkG,GAAI28H,EAAcnH,KAE5Dx9H,KAAK07H,SAEDyB,GAEAA,EAAgBn2H,KAAKwc,EAAiB2U,EAAQ+zE,EAAQlkG,KAO9DhI,KAAK+kI,aAAa/8H,EAAGmwB,EAAO5H,KAAM27E,EAAQlkG,GAAI28H,EAAcnH,KAE5Dx9H,KAAK07H,SAEDyB,GAEAA,EAAgBn2H,KAAKwc,EAAiB2U,EAAQ+zE,EAAQlkG,OAoB1E+1H,2BAA4B,SAAU1mG,EAAOstG,EAAcxH,EAAiBH,EAAiBx5G,EAAiBg6G,GAE1G,GAAqB,IAAjBnmG,EAAMtvB,OAKV,IAAK,IAAIC,EAAI,EAAGA,EAAIqvB,EAAM/K,SAASvkB,OAAQC,IAEnCqvB,EAAM/K,SAAStkB,GAAGmjB,QAElBnrB,KAAK69H,4BAA4BxmG,EAAM/K,SAAStkB,GAAI28H,EAAcxH,EAAiBH,EAAiBx5G,EAAiBg6G,IAgBjIuH,aAAc,SAAU/8H,EAAGuoB,EAAMy0G,EAAML,EAAcnH,GAEjD,IAAKjtG,EAAKI,OAEN,OAAO,EAGX,IAAIs0G,EAAsBN,EAAaE,iBACnCK,EAAsBP,EAAaG,iBAGvC,IAAKE,EAAKz1H,WAAYghB,EAAKtW,SAAS9T,EAAI8+H,EAAuB10G,EAAKtW,SAAS/M,EAAIg4H,EAAuB30G,EAAK/kB,MAAQy5H,EAAuB10G,EAAKnhB,OAAS81H,GAGtJ,OAAO,EAEN,GAAI1H,EAGL,OAAO,EAMX,GAAIwH,EAAKG,oBAAsBH,EAAKG,kBAAkBn+H,KAAKg+H,EAAKI,yBAA0B70G,EAAK4H,OAAQ6sG,GAGnG,OAAO,EAEN,QAAoC,IAAzBA,EAAK5O,MAAMx9E,WAA6BosF,EAAK5O,MAAMx9E,UAAUosF,EAAKj8H,SAAWi8H,EAAK5O,MAAMx9E,UAAUosF,EAAKj8H,OAAOsrB,SAASrtB,KAAKg+H,EAAK5O,MAAMx9E,UAAUosF,EAAKj8H,OAAOya,gBAAiB+M,EAAK4H,OAAQ6sG,GAGvM,OAAO,EAIX,KAAKA,EAAKK,UAAaL,EAAKM,WAAcN,EAAKO,SAAYP,EAAKQ,YAG5D,OAAO,EAGX,IAAI52D,EAAK,EACLC,EAAK,EACLvc,EAAO,EACPC,EAAO,EAoBX,GAlBIhiC,EAAK0vG,YAAc1vG,EAAK8vG,YAGxB/tE,GAAQ,EAEH/hC,EAAK0vG,YAAc1vG,EAAK8vG,cAG7B9tE,GAAQ,GAGU,IAAlBhiC,EAAK6X,UAAoC,IAAlB7X,EAAK2W,WAAmB89F,EAAKK,UAAYL,EAAKM,aAAeN,EAAKO,SAAWP,EAAKQ,cAGzGlzE,EAAOrsD,KAAKuM,IAAIvM,KAAK2J,IAAK2gB,EAAKtW,SAAS9T,EAAI8+H,EAAuBD,EAAKx5H,OAAQvF,KAAK2J,IAAK2gB,EAAK/kB,MAAQy5H,EAAuBD,EAAKv5H,OACnI8mD,EAAOtsD,KAAKuM,IAAIvM,KAAK2J,IAAK2gB,EAAKtW,SAAS/M,EAAIg4H,EAAuBF,EAAK51H,QAASnJ,KAAK2J,IAAK2gB,EAAKnhB,OAAS81H,EAAuBF,EAAK71H,OAGrImjD,EAAOC,EACX,CACI,IAAIyyE,EAAKK,UAAYL,EAAKM,YAKX,KAHX12D,EAAK5uE,KAAKylI,WAAWl1G,EAAMy0G,EAAML,MAGhBK,EAAKz1H,WAAYghB,EAAKtW,SAAS9T,EAAI8+H,EAAuB10G,EAAKtW,SAAS/M,EAAIg4H,EAAuB30G,EAAK/kB,MAAQy5H,EAAuB10G,EAAKnhB,OAAS81H,GAElK,OAAO,GAIXF,EAAKO,SAAWP,EAAKQ,cAErB32D,EAAK7uE,KAAK0lI,WAAWn1G,EAAMy0G,EAAML,QAIzC,CACI,IAAIK,EAAKO,SAAWP,EAAKQ,aAKV,KAHX32D,EAAK7uE,KAAK0lI,WAAWn1G,EAAMy0G,EAAML,MAGhBK,EAAKz1H,WAAYghB,EAAKtW,SAAS9T,EAAI8+H,EAAuB10G,EAAKtW,SAAS/M,EAAIg4H,EAAuB30G,EAAK/kB,MAAQy5H,EAAuB10G,EAAKnhB,OAAS81H,GAElK,OAAO,GAIXF,EAAKK,UAAYL,EAAKM,aAEtB12D,EAAK5uE,KAAKylI,WAAWl1G,EAAMy0G,EAAML,IAIzC,OAAe,IAAP/1D,GAAmB,IAAPC,GAcxB42D,WAAY,SAAUl1G,EAAMy0G,EAAML,GAE9B,IAAI/1D,EAAK,EACLq2D,EAAsBN,EAAaE,iBAyCvC,OAvCIt0G,EAAK6X,SAAW,IAAM7X,EAAKqyG,QAAQn3H,MAAQu5H,EAAKW,cAAgBp1G,EAAK6qG,eAAe3vH,KAGhFu5H,EAAKM,WAAc/0G,EAAKpqB,EAAI8+H,EAAuBD,EAAKx5H,QAExDojE,EAAMr+C,EAAKpqB,EAAI8+H,EAAuBD,EAAKx5H,QAEjCxL,KAAK0kI,YAEX91D,EAAK,GAIRr+C,EAAK6X,SAAW,IAAM7X,EAAKqyG,QAAQp3H,OAASw5H,EAAKY,aAAer1G,EAAK6qG,eAAe5vH,OAGrFw5H,EAAKK,UAAa90G,EAAK/kB,MAAQy5H,EAAuBD,EAAKv5H,OAE3DmjE,EAAMr+C,EAAK/kB,MAAQy5H,EAAuBD,EAAKv5H,MAEtCzL,KAAK0kI,YAEV91D,EAAK,GAKN,IAAPA,IAEIr+C,EAAKovG,gBAELpvG,EAAK6vG,SAAWxxD,EAIhB5uE,KAAK6lI,uBAAuBt1G,EAAMq+C,IAInCA,GAcX82D,WAAY,SAAUn1G,EAAMy0G,EAAML,GAE9B,IAAI91D,EAAK,EACLq2D,EAAsBP,EAAaG,iBAyCvC,OAvCIv0G,EAAK2W,SAAW,IAAM3W,EAAKqyG,QAAQhhF,IAAMojF,EAAKc,aAAev1G,EAAK6qG,eAAex5E,GAG7EojF,EAAKQ,YAAej1G,EAAKrjB,EAAIg4H,EAAuBF,EAAK51H,SAEzDy/D,EAAMt+C,EAAKrjB,EAAIg4H,EAAuBF,EAAK51H,SAEjCpP,KAAK0kI,YAEX71D,EAAK,GAIRt+C,EAAK2W,SAAW,IAAM3W,EAAKqyG,QAAQn2F,MAAQu4F,EAAKe,WAAax1G,EAAK6qG,eAAe3uF,MAGlFu4F,EAAKO,SAAYh1G,EAAKnhB,OAAS81H,EAAuBF,EAAK71H,MAE3D0/D,EAAMt+C,EAAKnhB,OAAS81H,EAAuBF,EAAK71H,KAEvCnP,KAAK0kI,YAEV71D,EAAK,GAKN,IAAPA,IAEIt+C,EAAKqwG,gBAELrwG,EAAK+vG,SAAWzxD,EAIhB7uE,KAAKgmI,uBAAuBz1G,EAAMs+C,IAInCA,GAYXg3D,uBAAwB,SAAUt1G,EAAMpqB,GAEhCA,EAAI,GAEJoqB,EAAKqyG,QAAQn3H,MAAO,EACpB8kB,EAAKqyG,QAAQlE,MAAO,GAEfv4H,EAAI,IAEToqB,EAAKqyG,QAAQp3H,OAAQ,EACrB+kB,EAAKqyG,QAAQlE,MAAO,GAGxBnuG,EAAKtW,SAAS9T,GAAKA,EAEG,IAAlBoqB,EAAKwvG,OAAO55H,EAEZoqB,EAAKgsG,SAASp2H,EAAI,EAIlBoqB,EAAKgsG,SAASp2H,GAAKoqB,EAAKgsG,SAASp2H,EAAIoqB,EAAKwvG,OAAO55H,GAazD6/H,uBAAwB,SAAUz1G,EAAMrjB,GAEhCA,EAAI,GAEJqjB,EAAKqyG,QAAQhhF,IAAK,EAClBrxB,EAAKqyG,QAAQlE,MAAO,GAEfxxH,EAAI,IAETqjB,EAAKqyG,QAAQn2F,MAAO,EACpBlc,EAAKqyG,QAAQlE,MAAO,GAGxBnuG,EAAKtW,SAAS/M,GAAKA,EAEG,IAAlBqjB,EAAKwvG,OAAO7yH,EAEZqjB,EAAKgsG,SAASrvH,EAAI,EAIlBqjB,EAAKgsG,SAASrvH,GAAKqjB,EAAKgsG,SAASrvH,EAAIqjB,EAAKwvG,OAAO7yH,IAQ7D7M,EAAO6I,MAAMmD,eAAehM,EAAOmuB,QAAQ+lC,OAAOhuD,UAAWlG,EAAOmuB,QAAQ+lC,OAAOkwE,iBAAiBl+H,WASpG4S,GAAG42G,KAAKxpH,UAAU4jB,OAAS,KAC3BhR,GAAG8sH,OAAO1/H,UAAU4jB,OAAS,KAW7B9pB,EAAOmuB,QAAQssG,GAAK,SAAU7/G,EAAM2Q,GAKhC5rB,KAAKib,KAAOA,OAEG3Q,IAAXshB,EAEAA,GAAWuvG,SAAU,EAAG,GAAI+K,WAAY,IAAI/sH,GAAGgtH,gBAI1Cv6G,EAAO9iB,eAAe,aAEvB8iB,EAAOuvG,SAAW,EAAG,IAGpBvvG,EAAO9iB,eAAe,gBAEvB8iB,EAAOs6G,WAAa,IAAI/sH,GAAGgtH,gBAQnCnmI,KAAK4rB,OAASA,EAMd5rB,KAAKkb,MAAQ,IAAI/B,GAAG0e,MAAM73B,KAAK4rB,QAM/B5rB,KAAK2oD,UAAY,EAAI,GAMrB3oD,KAAKomI,gBAAiB,EAMtBpmI,KAAKshB,QAAS,EAMdthB,KAAKqmI,aAKLrmI,KAAKm7H,QAAU,IAAI96H,EAAOmuB,QAAQssG,GAAGwL,kBAAkBtmI,KAAMA,KAAKkb,MAAMigH,SAKxEn7H,KAAKumI,OAAU96H,KAAM,KAAMD,MAAO,KAAM2D,IAAK,KAAMC,OAAQ,MAS3DpP,KAAKwmI,YAAc,IAAInmI,EAAOwb,OAS9B7b,KAAKymI,cAAgB,IAAIpmI,EAAOwb,OAShC7b,KAAK0mI,cAAgB,IAAIrmI,EAAOwb,OAShC7b,KAAK2mI,gBAAkB,IAAItmI,EAAOwb,OASlC7b,KAAK4mI,kBAAoB,IAAIvmI,EAAOwb,OASpC7b,KAAK6mI,oBAAsB,IAAIxmI,EAAOwb,OAStC7b,KAAK8mI,uBAAyB,IAAIzmI,EAAOwb,OASzC7b,KAAK+mI,yBAA2B,IAAI1mI,EAAOwb,OAK3C7b,KAAKgnI,uBAAyB,KAK9BhnI,KAAKwjB,gBAAkB,KAYvBxjB,KAAKinI,eAAiB,IAAI5mI,EAAOwb,OAYjC7b,KAAKknI,aAAe,IAAI7mI,EAAOwb,OAG3B+P,EAAO9iB,eAAe,QAAU8iB,EAAO9iB,eAAe,QAAU8iB,EAAO9iB,eAAe,SAAW8iB,EAAO9iB,eAAe,UAEvH9I,KAAKmnI,IAAMv7G,EAAOu7G,IAClBnnI,KAAKonI,KAAOx7G,EAAOw7G,KACnBpnI,KAAKqnI,IAAMz7G,EAAOy7G,IAClBrnI,KAAKsnI,KAAO17G,EAAO07G,MAIvBtnI,KAAKkb,MAAMqsH,GAAG,eAAgBvnI,KAAKwnI,oBAAqBxnI,MACxDA,KAAKkb,MAAMqsH,GAAG,aAAcvnI,KAAKynI,kBAAmBznI,MAKpDA,KAAK0nI,mBAKL1nI,KAAK2nI,sBAAwB,IAAItnI,EAAOmuB,QAAQssG,GAAG8M,eAAe,GAKlE5nI,KAAK6nI,qBAAuB,IAAIxnI,EAAOmuB,QAAQssG,GAAG8M,eAAe,GAKjE5nI,KAAK8nI,yBAA2B,IAAIznI,EAAOmuB,QAAQssG,GAAG8M,eAAe,YAKrE5nI,KAAK+nI,sBAML/nI,KAAKgoI,aAMLhoI,KAAKioI,kBAAoB,EAMzBjoI,KAAKkoI,aAAc,EAMnBloI,KAAKmoI,cAAe,EAMpBnoI,KAAKooI,YAAa,EAMlBpoI,KAAKqoI,eAAgB,EAMrBroI,KAAKsoI,iBAAkB,EAGvBtoI,KAAK6f,kBAAiB,GAAM,GAAM,GAAM,GAAM,IAIlDxf,EAAOmuB,QAAQssG,GAAGv0H,WAQdgiI,mBAAoB,SAAUh4G,GAE1BvwB,KAAKgoI,UAAU70H,KAAKod,IASxB9S,UAAW,WAIP,IAFA,IAAIzV,EAAIhI,KAAKgoI,UAAUjgI,OAEhBC,KAEHhI,KAAKwoI,WAAWxoI,KAAKgoI,UAAUhgI,IAGnChI,KAAKgoI,UAAUjgI,OAAS,GAc5B4oB,OAAQ,SAAUyF,EAAQ9R,EAAOgI,QAEfhiB,IAAVga,IAAuBA,GAAQ,QAClBha,IAAbgiB,IAA0BA,GAAW,GAEzC,IAAItkB,EAAI,EAER,GAAItB,MAAMa,QAAQ6uB,GAId,IAFApuB,EAAIouB,EAAOruB,OAEJC,KAECouB,EAAOpuB,aAAc3H,EAAO+tB,MAG5BpuB,KAAK2wB,OAAOyF,EAAOpuB,GAAGskB,SAAUhI,EAAOgI,IAIvCtsB,KAAKsuB,WAAW8H,EAAOpuB,GAAIsc,GAEvBgI,GAAY8J,EAAOpuB,GAAGc,eAAe,aAAestB,EAAOpuB,GAAGskB,SAASvkB,OAAS,GAEhF/H,KAAK2wB,OAAOyF,EAAOpuB,GAAIsc,GAAO,SAOtC8R,aAAkB/1B,EAAO+tB,MAGzBpuB,KAAK2wB,OAAOyF,EAAO9J,SAAUhI,EAAOgI,IAIpCtsB,KAAKsuB,WAAW8H,EAAQ9R,GAEpBgI,GAAY8J,EAAOttB,eAAe,aAAestB,EAAO9J,SAASvkB,OAAS,GAE1E/H,KAAK2wB,OAAOyF,EAAO9J,SAAUhI,GAAO,KAepDgK,WAAY,SAAU8H,EAAQ9R,GAEtB8R,EAAOttB,eAAe,SAA2B,OAAhBstB,EAAO7F,OAExC6F,EAAO7F,KAAO,IAAIlwB,EAAOmuB,QAAQssG,GAAG/K,KAAK/vH,KAAKib,KAAMmb,EAAQA,EAAOjwB,EAAGiwB,EAAOlpB,EAAG,GAChFkpB,EAAO7F,KAAKjM,MAAQA,OACA,IAAlB8R,EAAOrM,QACjBqM,EAAOrM,OAAOpd,IAAI,MAalB87H,gBAAiB,SAAU9nH,GAEnBA,EAEA3gB,KAAKkb,MAAMqsH,GAAG,SAAUvnI,KAAK0oI,cAAe1oI,MAI5CA,KAAKkb,MAAMytH,IAAI,SAAU3oI,KAAK0oI,cAAe1oI,OAerD4oI,0BAA2B,SAAUv0G,EAAUvP,GAE3C9kB,KAAKgnI,uBAAyB3yG,EAC9Br0B,KAAKwjB,gBAAkBsB,EAEN,OAAbuP,EAEAr0B,KAAKkb,MAAMqsH,GAAG,iBAAkBvnI,KAAK6oI,sBAAuB7oI,MAI5DA,KAAKkb,MAAMytH,IAAI,iBAAkB3oI,KAAK6oI,sBAAuB7oI,OAYrE6oI,sBAAuB,SAAU97G,GAE7B,GAAK/sB,KAAKgnI,wBAAiD,IAAvBj6G,EAAM+7G,MAAM/gI,OAKhD,IAAK,IAAIC,EAAI+kB,EAAM+7G,MAAM/gI,OAAS,EAAGC,GAAK,EAAGA,GAAK,EAE1C+kB,EAAM+7G,MAAM9gI,GAAGmiB,QAAU4C,EAAM+7G,MAAM9gI,EAAE,GAAGmiB,SAAWnqB,KAAKgnI,uBAAuBhgI,KAAKhH,KAAKwjB,gBAAiBuJ,EAAM+7G,MAAM9gI,GAAGmiB,OAAQ4C,EAAM+7G,MAAM9gI,EAAE,GAAGmiB,SAEpJ4C,EAAM+7G,MAAMllH,OAAO5b,EAAG,IAalC0gI,cAAe,SAAU37G,GAErB,GAAIA,EAAMg8G,MAAM5+G,QAAU4C,EAAMi8G,MAAM7+G,OACtC,CAEI,IAAIjb,EAAI6d,EAAMg8G,MAAM5+G,OAChB7a,EAAIyd,EAAMi8G,MAAM7+G,OAEhBjb,EAAE+5H,eAAel8G,EAAMi8G,MAAM7zH,KAE7BjG,EAAE+5H,eAAel8G,EAAMi8G,MAAM7zH,IAAInO,KAAKkI,EAAEg6H,qBAAqBn8G,EAAMi8G,MAAM7zH,IAAKjG,EAAGI,EAAGyd,EAAMo8G,OAAQp8G,EAAMq8G,QAGxG95H,EAAE25H,eAAel8G,EAAMg8G,MAAM5zH,KAE7B7F,EAAE25H,eAAel8G,EAAMg8G,MAAM5zH,IAAInO,KAAKsI,EAAE45H,qBAAqBn8G,EAAMg8G,MAAM5zH,IAAK7F,EAAGJ,EAAG6d,EAAMq8G,OAAQr8G,EAAMo8G,QAIxGj6H,EAAEm6H,gBAAgBt8G,EAAMq8G,OAAOE,iBAE/Bp6H,EAAEm6H,gBAAgBt8G,EAAMq8G,OAAOE,gBAAgBtiI,KAAKkI,EAAEq6H,sBAAsBx8G,EAAMq8G,OAAOE,gBAAiBp6H,EAAGI,EAAGyd,EAAMo8G,OAAQp8G,EAAMq8G,QAGpI95H,EAAE+5H,gBAAgBt8G,EAAMo8G,OAAOG,iBAE/Bh6H,EAAE+5H,gBAAgBt8G,EAAMo8G,OAAOG,gBAAgBtiI,KAAKsI,EAAEi6H,sBAAsBx8G,EAAMo8G,OAAOG,gBAAiBh6H,EAAGJ,EAAG6d,EAAMq8G,OAAQr8G,EAAMo8G,UAYhJ3B,oBAAqB,SAAUz6G,GAEvBA,EAAMg8G,OAASh8G,EAAMi8G,QAErBhpI,KAAKinI,eAAe3nH,SAASyN,EAAMg8G,MAAOh8G,EAAMi8G,MAAOj8G,EAAMo8G,OAAQp8G,EAAMq8G,OAAQr8G,EAAMy8G,kBAErFz8G,EAAMg8G,MAAM5+G,QAEZ4C,EAAMg8G,MAAM5+G,OAAO88G,eAAe3nH,SAASyN,EAAMi8G,MAAM7+G,OAAQ4C,EAAMi8G,MAAOj8G,EAAMo8G,OAAQp8G,EAAMq8G,OAAQr8G,EAAMy8G,kBAG9Gz8G,EAAMi8G,MAAM7+G,QAEZ4C,EAAMi8G,MAAM7+G,OAAO88G,eAAe3nH,SAASyN,EAAMg8G,MAAM5+G,OAAQ4C,EAAMg8G,MAAOh8G,EAAMq8G,OAAQr8G,EAAMo8G,OAAQp8G,EAAMy8G,oBAY1H/B,kBAAmB,SAAU16G,GAErBA,EAAMg8G,OAASh8G,EAAMi8G,QAErBhpI,KAAKknI,aAAa5nH,SAASyN,EAAMg8G,MAAOh8G,EAAMi8G,MAAOj8G,EAAMo8G,OAAQp8G,EAAMq8G,QAErEr8G,EAAMg8G,MAAM5+G,QAEZ4C,EAAMg8G,MAAM5+G,OAAO+8G,aAAa5nH,SAASyN,EAAMi8G,MAAM7+G,OAAQ4C,EAAMi8G,MAAOj8G,EAAMo8G,OAAQp8G,EAAMq8G,QAG9Fr8G,EAAMi8G,MAAM7+G,QAEZ4C,EAAMi8G,MAAM7+G,OAAO+8G,aAAa5nH,SAASyN,EAAMg8G,MAAM5+G,OAAQ4C,EAAMg8G,MAAOh8G,EAAMq8G,OAAQr8G,EAAMo8G,UAiB1GtpH,iBAAkB,SAAUpU,EAAMD,EAAO2D,EAAKC,EAAQq6H,GAElDzpI,KAAKk4B,UAAUl4B,KAAKib,KAAKC,MAAME,OAAOjV,EAAGnG,KAAKib,KAAKC,MAAME,OAAOlO,EAAGlN,KAAKib,KAAKC,MAAME,OAAOjL,MAAOnQ,KAAKib,KAAKC,MAAME,OAAOhL,OAAQ3E,EAAMD,EAAO2D,EAAKC,EAAQq6H,IAc9JC,iBAAkB,SAAUC,EAAUl+H,EAAMD,EAAO2D,EAAKC,QAEvC9E,IAATmB,IAAsBA,GAAO,QACnBnB,IAAVkB,IAAuBA,GAAQ,QACvBlB,IAAR6E,IAAqBA,GAAM,QAChB7E,IAAX8E,IAAwBA,GAAS,GAEjC3D,GAAQzL,KAAKumI,MAAM96H,OAEnBzL,KAAKumI,MAAM96H,KAAKm+H,OAAO,GAAGD,SAAWA,GAGrCn+H,GAASxL,KAAKumI,MAAM/6H,QAEpBxL,KAAKumI,MAAM/6H,MAAMo+H,OAAO,GAAGD,SAAWA,GAGtCx6H,GAAOnP,KAAKumI,MAAMp3H,MAElBnP,KAAKumI,MAAMp3H,IAAIy6H,OAAO,GAAGD,SAAWA,GAGpCv6H,GAAUpP,KAAKumI,MAAMn3H,SAErBpP,KAAKumI,MAAMn3H,OAAOw6H,OAAO,GAAGD,SAAWA,IAa/CE,2BAA4B,SAAUJ,QAERn/H,IAAtBm/H,IAAmCA,GAAoB,GAE3D,IAAIx9E,EAAO,EAAsBjsD,KAAK6nI,qBAAqB57E,KAAOjsD,KAAK8nI,yBAAyB77E,KAE5FjsD,KAAKumI,MAAM96H,OAEXzL,KAAKumI,MAAM96H,KAAKm+H,OAAO,GAAGN,eAAiBr9E,GAG3CjsD,KAAKumI,MAAM/6H,QAEXxL,KAAKumI,MAAM/6H,MAAMo+H,OAAO,GAAGN,eAAiBr9E,GAG5CjsD,KAAKumI,MAAMp3H,MAEXnP,KAAKumI,MAAMp3H,IAAIy6H,OAAO,GAAGN,eAAiBr9E,GAG1CjsD,KAAKumI,MAAMn3H,SAEXpP,KAAKumI,MAAMn3H,OAAOw6H,OAAO,GAAGN,eAAiBr9E,GAGjDjsD,KAAKsoI,gBAAkBmB,GAuB3BvxG,UAAW,SAAU/xB,EAAG+G,EAAGiD,EAAOC,EAAQ3E,EAAMD,EAAO2D,EAAKC,EAAQq6H,QAEnDn/H,IAATmB,IAAsBA,EAAOzL,KAAKkoI,kBACxB59H,IAAVkB,IAAuBA,EAAQxL,KAAKmoI,mBAC5B79H,IAAR6E,IAAqBA,EAAMnP,KAAKooI,iBACrB99H,IAAX8E,IAAwBA,EAASpP,KAAKqoI,oBAChB/9H,IAAtBm/H,IAAmCA,EAAoBzpI,KAAKsoI,iBAEhEtoI,KAAK8pI,UAAUr+H,EAAM,OAAQtF,EAAG+G,EAAG,mBAAoBu8H,GACvDzpI,KAAK8pI,UAAUt+H,EAAO,QAASrF,EAAIgK,EAAOjD,GAAI,mBAAoBu8H,GAClEzpI,KAAK8pI,UAAU36H,EAAK,MAAOhJ,EAAG+G,GAAI,kBAAmBu8H,GACrDzpI,KAAK8pI,UAAU16H,EAAQ,SAAUjJ,EAAG+G,EAAIkD,EAAQ,EAAGq5H,GAGnDzpI,KAAKkoI,YAAcz8H,EACnBzL,KAAKmoI,aAAe38H,EACpBxL,KAAKooI,WAAaj5H,EAClBnP,KAAKqoI,cAAgBj5H,EACrBpP,KAAKsoI,gBAAkBmB,GAiB3BK,UAAW,SAAU3oH,EAAQ4oH,EAAM5jI,EAAG+G,EAAGyB,EAAO86H,GAExCtoH,GAGInhB,KAAKumI,MAAMwD,GAEX/pI,KAAKumI,MAAMwD,GAAM9vH,UAAaja,KAAKsnI,KAAKnhI,GAAInG,KAAKsnI,KAAKp6H,KAItDlN,KAAKumI,MAAMwD,GAAQ,IAAI5wH,GAAG42G,MAAO8P,KAAM,EAAG5lH,UAAYja,KAAKsnI,KAAKnhI,GAAInG,KAAKsnI,KAAKp6H,IAAMyB,MAAOA,IAC3F3O,KAAKumI,MAAMwD,GAAMC,SAAS,IAAI7wH,GAAG8wH,OAEjCjqI,KAAKkb,MAAMgvH,QAAQlqI,KAAKumI,MAAMwD,KAG9BN,IAEAzpI,KAAKumI,MAAMwD,GAAMH,OAAO,GAAGN,eAAiBtpI,KAAK6nI,qBAAqB57E,OAKtEjsD,KAAKumI,MAAMwD,KAEX/pI,KAAKkb,MAAMstH,WAAWxoI,KAAKumI,MAAMwD,IACjC/pI,KAAKumI,MAAMwD,GAAQ,OAW/B9mH,MAAO,WAEHjjB,KAAKshB,QAAS,GASlB6B,OAAQ,WAEJnjB,KAAKshB,QAAS,GASlBtC,OAAQ,WAGAhf,KAAKshB,SAKLthB,KAAKomI,eAELpmI,KAAKkb,MAAMoiB,KAAKt9B,KAAKib,KAAKmE,KAAKunE,gBAI/B3mF,KAAKkb,MAAMoiB,KAAKt9B,KAAK2oD,aAW7BxoC,MAAO,WAEHngB,KAAKkb,MAAMqsH,GAAG,eAAgBvnI,KAAKwnI,oBAAqBxnI,MACxDA,KAAKkb,MAAMqsH,GAAG,aAAcvnI,KAAKynI,kBAAmBznI,MAEpDA,KAAK2nI,sBAAwB,IAAItnI,EAAOmuB,QAAQssG,GAAG8M,eAAe,GAClE5nI,KAAK6nI,qBAAuB,IAAIxnI,EAAOmuB,QAAQssG,GAAG8M,eAAe,GACjE5nI,KAAK8nI,yBAA2B,IAAIznI,EAAOmuB,QAAQssG,GAAG8M,eAAe,YAErE5nI,KAAKioI,kBAAoB,EAEzBjoI,KAAK6f,kBAAiB,GAAM,GAAM,GAAM,GAAM,IAmBlDlB,MAAO,WAEH3e,KAAKkb,MAAMkE,KAAO,EAClBpf,KAAKkb,MAAMivH,cAAgB,EAGvBnqI,KAAKkb,MAAMkvH,QAAUpqI,KAAKkb,MAAMkvH,OAAOC,UAAUtiI,QAEjD/H,KAAKkb,MAAMkvH,OAAOE,qBAMtB,IAAK,IAFDC,EAAKvqI,KAAKkb,MAAMsvH,YAEXxiI,EAAIuiI,EAAGxiI,OAAS,EAAGC,GAAK,EAAGA,IAEhChI,KAAKkb,MAAMuvH,iBAAiBF,EAAGviI,IAMnC,IAAK,IAFD0iI,EAAS1qI,KAAKkb,MAAMwvH,OAEf1iI,EAAI0iI,EAAO3iI,OAAS,EAAGC,GAAK,EAAGA,IAEpChI,KAAKkb,MAAMstH,WAAWkC,EAAO1iI,IAMjC,IAAK,IAFD2iI,EAAU3qI,KAAKkb,MAAMyvH,QAEhB3iI,EAAI2iI,EAAQ5iI,OAAS,EAAGC,GAAK,EAAGA,IAErChI,KAAKkb,MAAM0vH,aAAaD,EAAQ3iI,IAMpC,IAAK,IAFD6iI,EAAM7qI,KAAKkb,MAAM4vH,iBAEZ9iI,EAAI6iI,EAAI9iI,OAAS,EAAGC,GAAK,EAAGA,IAEjChI,KAAKkb,MAAM6vH,sBAAsBF,EAAI7iI,IAGzChI,KAAKkb,MAAMytH,IAAI,eAAgB3oI,KAAKwnI,oBAAqBxnI,MACzDA,KAAKkb,MAAMytH,IAAI,aAAc3oI,KAAKynI,kBAAmBznI,MAErDA,KAAKgnI,uBAAyB,KAC9BhnI,KAAKwjB,gBAAkB,KACvBxjB,KAAKgrI,eAAiB,KAEtBhrI,KAAK0nI,mBACL1nI,KAAKgoI,aACLhoI,KAAK+nI,sBAGL/nI,KAAKumI,OAAU96H,KAAM,KAAMD,MAAO,KAAM2D,IAAK,KAAMC,OAAQ,OAS/DmV,QAAS,WAELvkB,KAAK2e,QAEL3e,KAAKib,KAAO,MAWhBivH,QAAS,SAAU35G,GAEf,OAAIA,EAAK2T,KAAKhpB,QAMVlb,KAAKkb,MAAMgvH,QAAQ35G,EAAK2T,MAExBlkC,KAAKwmI,YAAYlnH,SAASiR,IAEnB,IAYfi4G,WAAY,SAAUj4G,GASlB,OAPIA,EAAK2T,KAAKhpB,QAAUlb,KAAKkb,QAEzBlb,KAAKkb,MAAMstH,WAAWj4G,EAAK2T,MAE3BlkC,KAAKymI,cAAcnnH,SAASiR,IAGzBA,GAWX06G,UAAW,SAAUC,GAajB,OAXIA,aAAkB7qI,EAAOmuB,QAAQssG,GAAGmL,QAAUiF,aAAkB7qI,EAAOmuB,QAAQssG,GAAGqQ,iBAElFnrI,KAAKkb,MAAM+vH,UAAUC,EAAOhnG,MAI5BlkC,KAAKkb,MAAM+vH,UAAUC,GAGzBlrI,KAAK0mI,cAAcpnH,SAAS4rH,GAErBA,GAWXN,aAAc,SAAUM,GAapB,OAXIA,aAAkB7qI,EAAOmuB,QAAQssG,GAAGmL,QAAUiF,aAAkB7qI,EAAOmuB,QAAQssG,GAAGqQ,iBAElFnrI,KAAKkb,MAAM0vH,aAAaM,EAAOhnG,MAI/BlkC,KAAKkb,MAAM0vH,aAAaM,GAG5BlrI,KAAK2mI,gBAAgBrnH,SAAS4rH,GAEvBA,GAgBXE,yBAA0B,SAAUrC,EAAOC,EAAO16H,EAAU+8H,EAAcC,EAAcC,GAKpF,GAHAxC,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKyrI,cAAc,IAAIprI,EAAOmuB,QAAQssG,GAAG4Q,mBAAmB1rI,KAAM+oI,EAAOC,EAAO16H,EAAU+8H,EAAcC,EAAcC,IAJ7HjjI,QAAQG,KAAK,yDAmBrBkjI,qBAAsB,SAAU5C,EAAOC,EAAOr6H,EAAOi9H,GAKjD,GAHA7C,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKyrI,cAAc,IAAIprI,EAAOmuB,QAAQssG,GAAG+Q,eAAe7rI,KAAM+oI,EAAOC,EAAOr6H,EAAOi9H,IAJ1FtjI,QAAQG,KAAK,yDAsBrBqjI,yBAA0B,SAAU/C,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,GAKxE,GAHAlD,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKyrI,cAAc,IAAIprI,EAAOmuB,QAAQssG,GAAGoR,mBAAmBlsI,KAAM+oI,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,IAJjH3jI,QAAQG,KAAK,yDAoBrB0jI,qBAAsB,SAAUpD,EAAOC,EAAOn6H,EAAQF,EAAO48H,GAKzD,GAHAxC,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKyrI,cAAc,IAAIprI,EAAOmuB,QAAQssG,GAAGsR,eAAepsI,KAAM+oI,EAAOC,EAAOn6H,EAAQF,EAAO48H,IAJlGjjI,QAAQG,KAAK,yDAuBrB4jI,0BAA2B,SAAUtD,EAAOC,EAAOsD,EAAcC,EAASC,EAAS1sF,EAAMyrF,GAKrF,GAHAxC,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKyrI,cAAc,IAAIprI,EAAOmuB,QAAQssG,GAAG2R,oBAAoBzsI,KAAM+oI,EAAOC,EAAOsD,EAAcC,EAASC,EAAS1sF,EAAMyrF,IAJ9HjjI,QAAQG,KAAK,yDAgBrBgjI,cAAe,SAAUiB,GAMrB,OAJA1sI,KAAKkb,MAAMuwH,cAAciB,GAEzB1sI,KAAK4mI,kBAAkBtnH,SAASotH,GAEzBA,GAWXjC,iBAAkB,SAAUiC,GAMxB,OAJA1sI,KAAKkb,MAAMuvH,iBAAiBiC,GAE5B1sI,KAAK6mI,oBAAoBvnH,SAASotH,GAE3BA,GAWXC,mBAAoB,SAAUhD,GAM1B,OAJA3pI,KAAKkb,MAAMyxH,mBAAmBhD,GAE9B3pI,KAAK8mI,uBAAuBxnH,SAASqqH,GAE9BA,GAWXoB,sBAAuB,SAAUpB,GAM7B,OAJA3pI,KAAKkb,MAAM6vH,sBAAsBpB,GAEjC3pI,KAAK+mI,yBAAyBznH,SAASqqH,GAEhCA,GAYXiD,mBAAoB,SAAUC,EAAWC,GAErC,OAAO9sI,KAAKkb,MAAM0xH,mBAAmBC,EAAWC,IAWpDC,YAAa,SAAUpD,EAAUe,GAI7B,IAFA,IAAI1iI,EAAI0iI,EAAO3iI,OAERC,KAEH0iI,EAAO1iI,GAAG+kI,YAAYpD,IAe9BqD,eAAgB,SAAUjhI,EAAMwkB,GAE5BxkB,EAAOA,GAAQ,GAEf,IAAI49H,EAAW,IAAItpI,EAAOmuB,QAAQssG,GAAGmS,SAASlhI,GAS9C,OAPA/L,KAAKqmI,UAAUlzH,KAAKw2H,QAEA,IAATp5G,GAEPA,EAAKw8G,YAAYpD,GAGdA,GAaXuD,sBAAuB,SAAUL,EAAWC,EAAWhhI,QAEjCxB,IAAduiI,IAA2BA,EAAY7sI,KAAKgtI,uBAC9B1iI,IAAdwiI,IAA2BA,EAAY9sI,KAAKgtI,kBAEhD,IAAIG,EAAU,IAAI9sI,EAAOmuB,QAAQssG,GAAGsS,gBAAgBP,EAAWC,EAAWhhI,GAE1E,OAAO9L,KAAK2sI,mBAAmBQ,IAUnCE,UAAW,WAKP,IAHA,IAAI7+H,KACAxG,EAAIhI,KAAKkb,MAAMwvH,OAAO3iI,OAEnBC,KAEHwG,EAAO2E,KAAKnT,KAAKkb,MAAMwvH,OAAO1iI,GAAGmiB,QAGrC,OAAO3b,GAWXg9H,QAAS,SAAUp1G,GAEf,OAAIA,aAAkBjd,GAAG42G,KAGd35F,EAEFA,aAAkB/1B,EAAOmuB,QAAQssG,GAAG/K,KAGlC35F,EAAO8N,KAET9N,EAAa,MAAKA,EAAa,KAAEhuB,OAAS/H,EAAOmuB,QAAQ87B,KAGvDl0B,EAAO7F,KAAK2T,KAGhB,MAUXopG,WAAY,WAKR,IAHA,IAAI9+H,KACAxG,EAAIhI,KAAKkb,MAAMyvH,QAAQ5iI,OAEpBC,KAEHwG,EAAO2E,KAAKnT,KAAKkb,MAAMyvH,QAAQ3iI,GAAGmiB,QAGtC,OAAO3b,GAYX++H,eAAgB,WAKZ,IAHA,IAAI/+H,KACAxG,EAAIhI,KAAKkb,MAAMsvH,YAAYziI,OAExBC,KAEHwG,EAAO2E,KAAKnT,KAAKkb,MAAMsvH,YAAYxiI,IAGvC,OAAOwG,GAeXi1B,QAAS,SAAU+pG,EAAY9C,EAAQ+C,EAAWC,QAE/BpjI,IAAXogI,IAAwBA,EAAS1qI,KAAKkb,MAAMwvH,aAC9BpgI,IAAdmjI,IAA2BA,EAAY,QACtBnjI,IAAjBojI,IAA8BA,GAAe,GAOjD,IALA,IAAIC,GAAoB3tI,KAAKsnI,KAAKkG,EAAWrnI,GAAInG,KAAKsnI,KAAKkG,EAAWtgI,IAElE0gI,KACA5lI,EAAI0iI,EAAO3iI,OAERC,KAEC0iI,EAAO1iI,aAAc3H,EAAOmuB,QAAQssG,GAAG/K,QAAU2d,GAAgBhD,EAAO1iI,GAAGk8B,KAAK97B,OAAS+Q,GAAG42G,KAAK8d,QAEjGD,EAAMz6H,KAAKu3H,EAAO1iI,GAAGk8B,MAEhBwmG,EAAO1iI,aAAcmR,GAAG42G,MAAQ2a,EAAO1iI,GAAGmiB,UAAYujH,GAAgBhD,EAAO1iI,GAAGI,OAAS+Q,GAAG42G,KAAK8d,QAEtGD,EAAMz6H,KAAKu3H,EAAO1iI,IAEb0iI,EAAO1iI,aAAc3H,EAAO2uB,QAAU07G,EAAO1iI,GAAGc,eAAe,WAAa4kI,GAAgBhD,EAAO1iI,GAAGuoB,KAAK2T,KAAK97B,OAAS+Q,GAAG42G,KAAK8d,SAEtID,EAAMz6H,KAAKu3H,EAAO1iI,GAAGuoB,KAAK2T,MAIlC,OAAOlkC,KAAKkb,MAAMuoB,QAAQkqG,EAAiBC,EAAOH,IAUtDK,OAAQ,WAEJ,OAAO9tI,KAAKkb,MAAM4yH,UAWtBC,qBAAsB,SAAU33G,GAE5B,IAAI43G,EAAU/nI,KAAKwuF,IAAI,EAAGz0F,KAAKioI,mBAE3BjoI,KAAKumI,MAAM96H,OAEXzL,KAAKumI,MAAM96H,KAAKm+H,OAAO,GAAGqE,cAAgBjuI,KAAKumI,MAAM96H,KAAKm+H,OAAO,GAAGqE,cAAgBD,GAGpFhuI,KAAKumI,MAAM/6H,QAEXxL,KAAKumI,MAAM/6H,MAAMo+H,OAAO,GAAGqE,cAAgBjuI,KAAKumI,MAAM/6H,MAAMo+H,OAAO,GAAGqE,cAAgBD,GAGtFhuI,KAAKumI,MAAMp3H,MAEXnP,KAAKumI,MAAMp3H,IAAIy6H,OAAO,GAAGqE,cAAgBjuI,KAAKumI,MAAMp3H,IAAIy6H,OAAO,GAAGqE,cAAgBD,GAGlFhuI,KAAKumI,MAAMn3H,SAEXpP,KAAKumI,MAAMn3H,OAAOw6H,OAAO,GAAGqE,cAAgBjuI,KAAKumI,MAAMn3H,OAAOw6H,OAAO,GAAGqE,cAAgBD,GAG5FhuI,KAAKioI,oBAEL,IAAI5wG,EAAQ,IAAIh3B,EAAOmuB,QAAQssG,GAAG8M,eAAeoG,GASjD,OAPAhuI,KAAK0nI,gBAAgBv0H,KAAKkkB,GAEtBjB,GAEAp2B,KAAKypI,kBAAkBrzG,EAAQiB,GAG5BA,GAYXoyG,kBAAmB,SAAUrzG,EAAQiB,GAEjC,GAAIjB,aAAkB/1B,EAAO+tB,MAEzB,IAAK,IAAIpmB,EAAI,EAAGA,EAAIouB,EAAOT,MAAO3tB,IAE1BouB,EAAO9J,SAAStkB,GAAS,MAAKouB,EAAO9J,SAAStkB,GAAS,KAAEI,OAAS/H,EAAOmuB,QAAQ87B,MAEjFl0B,EAAO9J,SAAStkB,GAAGuoB,KAAKk5G,kBAAkBpyG,QAMlDjB,EAAO7F,KAAKk5G,kBAAkBpyG,IAoBtC62G,aAAc,SAAUnF,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,GAK1F,GAHA1F,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKirI,UAAU,IAAI5qI,EAAOmuB,QAAQssG,GAAGmL,OAAOjmI,KAAM+oI,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,IAJ/HnmI,QAAQG,KAAK,qDAoBrBimI,uBAAwB,SAAU3F,EAAOC,EAAO2F,EAAWP,EAAWC,GAKlE,GAHAtF,EAAQ/oI,KAAKwrI,QAAQzC,GACrBC,EAAQhpI,KAAKwrI,QAAQxC,GAEhBD,GAAUC,EAMX,OAAOhpI,KAAKirI,UAAU,IAAI5qI,EAAOmuB,QAAQssG,GAAGqQ,iBAAiBnrI,KAAM+oI,EAAOC,EAAO2F,EAAWP,EAAWC,IAJvG/lI,QAAQG,KAAK,gEA0BrBmmI,WAAY,SAAUzoI,EAAG+G,EAAG2yH,EAAMn2G,EAAY5d,EAASo4B,QAEhC55B,IAAfof,IAA4BA,GAAa,GAE7C,IAAI6G,EAAO,IAAIlwB,EAAOmuB,QAAQssG,GAAG/K,KAAK/vH,KAAKib,KAAM,KAAM9U,EAAG+G,EAAG2yH,GAE7D,QAAI37F,IAEa3T,EAAKs+G,WAAW/iI,EAASo4B,MAQtCxa,GAEA1pB,KAAKkb,MAAMgvH,QAAQ35G,EAAK2T,MAGrB3T,IAoBXu+G,eAAgB,SAAU3oI,EAAG+G,EAAG2yH,EAAMn2G,EAAY5d,EAASo4B,QAEpC55B,IAAfof,IAA4BA,GAAa,GAE7C,IAAI6G,EAAO,IAAIlwB,EAAOmuB,QAAQssG,GAAG/K,KAAK/vH,KAAKib,KAAM,KAAM9U,EAAG+G,EAAG2yH,GAE7D,QAAI37F,IAEa3T,EAAKs+G,WAAW/iI,EAASo4B,MAQtCxa,GAEA1pB,KAAKkb,MAAMgvH,QAAQ35G,EAAK2T,MAGrB3T,IAcXw+G,wBAAyB,SAAUC,EAAK5Y,EAAO1sG,QAExBpf,IAAfof,IAA4BA,GAAa,GAI7C,IAAK,IAFDlb,KAEKxG,EAAI,EAAGF,EAAMknI,EAAIC,UAAU7Y,GAAOruH,OAAQC,EAAIF,EAAKE,IAC5D,CAUI,IAAIouB,EAAS44G,EAAIC,UAAU7Y,GAAOpuH,GAE9BuoB,EAAOvwB,KAAK4uI,WAAWx4G,EAAOjwB,EAAGiwB,EAAOlpB,EAAG,EAAGwc,KAAgB0M,EAAO84G,UAErE3+G,GAEA/hB,EAAO2E,KAAKod,GAIpB,OAAO/hB,GAWX2gI,wBAAyB,SAAUH,EAAK5Y,GAEpCA,EAAQ4Y,EAAII,SAAShZ,GAIrB,IAFA,IAAIpuH,EAAIgnI,EAAI9Y,OAAOE,GAAOsU,OAAO3iI,OAE1BC,KAEHgnI,EAAI9Y,OAAOE,GAAOsU,OAAO1iI,GAAGuc,UAGhCyqH,EAAI9Y,OAAOE,GAAOsU,OAAO3iI,OAAS,GAiBtCsnI,eAAgB,SAAUL,EAAK5Y,EAAO1sG,EAAY4lH,GAE9ClZ,EAAQ4Y,EAAII,SAAShZ,QAEF9rH,IAAfof,IAA4BA,GAAa,QAC5Bpf,IAAbglI,IAA0BA,GAAW,GAGzCtvI,KAAKmvI,wBAAwBH,EAAK5Y,GAMlC,IAAK,IAJDjmH,EAAQ,EACR6C,EAAK,EACLC,EAAK,EAEA/F,EAAI,EAAG8Q,EAAIgxH,EAAI9Y,OAAOE,GAAOhmH,OAAQlD,EAAI8Q,EAAG9Q,IACrD,CACIiD,EAAQ,EAER,IAAK,IAAIhK,EAAI,EAAG4X,EAAIixH,EAAI9Y,OAAOE,GAAOjmH,MAAOhK,EAAI4X,EAAG5X,IACpD,CACI,IAAI6+H,EAAOgK,EAAI9Y,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAErC,GAAI6+H,GAAQA,EAAKj8H,OAAS,GAAKi8H,EAAKuK,SAEhC,GAAID,EACJ,CACI,IAAI9jI,EAAQwjI,EAAIQ,aAAapZ,EAAOjwH,EAAG+G,GAEzB,IAAViD,IAEA6C,EAAKgyH,EAAK7+H,EAAI6+H,EAAK70H,MACnB8C,EAAK+xH,EAAK93H,EAAI83H,EAAK50H,OACnBD,EAAQ60H,EAAK70H,OAGb3E,GAASA,EAAM+jI,SAEfp/H,GAAS60H,EAAK70H,QAIVogB,EAAOvwB,KAAK4uI,WAAW57H,EAAIC,EAAI,GAAG,IAEjCw8H,aAAat/H,EAAO60H,EAAK50H,OAAQD,EAAQ,EAAG60H,EAAK50H,OAAS,EAAG,GAE9DsZ,GAEA1pB,KAAKkqI,QAAQ35G,GAGjBy+G,EAAI9Y,OAAOE,GAAOsU,OAAOv3H,KAAKod,GAE9BpgB,EAAQ,OAIhB,CACI,IAAIogB,EAAOvwB,KAAK4uI,WAAW5J,EAAK7+H,EAAI6+H,EAAK70H,MAAO60H,EAAK93H,EAAI83H,EAAK50H,OAAQ,GAAG,GAEzEmgB,EAAKk/G,aAAazK,EAAK70H,MAAO60H,EAAK50H,OAAQ40H,EAAK70H,MAAQ,EAAG60H,EAAK50H,OAAS,EAAG,GAExEsZ,GAEA1pB,KAAKkqI,QAAQ35G,GAGjBy+G,EAAI9Y,OAAOE,GAAOsU,OAAOv3H,KAAKod,KAM9C,OAAOy+G,EAAI9Y,OAAOE,GAAOsU,QAa7BvD,IAAK,SAAUzrG,GAEX,OAAOA,GAAK,IAahB2rG,IAAK,SAAU3rG,GAEX,MAAW,IAAJA,GAaX0rG,KAAM,SAAU1rG,GAEZ,OAAOA,IAAM,IAajB4rG,KAAM,SAAU5rG,GAEZ,OAAY,IAALA,IAUfj0B,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,YAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMw0H,uBAAuBlP,UAI7C7zH,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAMw0H,uBAAuBlP,SAAWz2H,KAUrDtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,eAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMw0H,uBAAuBC,aAI7ChjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAMw0H,uBAAuBC,YAAc5lI,KAUxDtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,mBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMw0H,wBAItB/iI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAMw0H,uBAAyB3lI,KAU5CtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,qBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM00H,mBAItBjjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM00H,kBAAoB7lI,KAUvCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,gBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM20H,cAItBljI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM20H,aAAe9lI,KAUlCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,gBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM40H,cAItBnjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM40H,aAAe/lI,KAUlCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,oBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM60H,kBAItBpjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM60H,iBAAmBhmI,KAWtCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,QAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMkE,QAU1B3X,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,mBAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM80H,iBAItBrjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM80H,gBAAkBjmI,KAYrCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,aAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAM+0H,WAItBtjI,IAAK,SAAU5C,GAEX/J,KAAKkb,MAAM+0H,UAAYlmI,KAW/BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGv0H,UAAW,SAE/CmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMwvH,OAAO3iI,UA4BjC1H,EAAOmuB,QAAQssG,GAAGoV,YAAc,SAAUn5G,GAEjCrwB,MAAMa,QAAQwvB,KAEfA,GAAQA,IAGZ/2B,KAAKmwI,QAAUp5G,EACf/2B,KAAK+gB,OACL/gB,KAAK6X,MAAM7X,KAAKmwI,UAIpB9vI,EAAOmuB,QAAQssG,GAAGoV,YAAY3pI,WAK1Bwa,KAAM,WAMF/gB,KAAKowI,iBAMLpwI,KAAKqwI,mBAMLrwI,KAAKswI,gBASTC,YAAa,SAAUC,EAAKhhC,GAMxBxvG,KAAKywI,YAAYjhC,GAAY7nG,QAJhB,SAAS+nG,GAClBA,EAAQ45B,eAAiBkH,KAYjCE,QAAS,SAAUF,EAAKhhC,GAMpBxvG,KAAKywI,YAAYjhC,GAAY7nG,QAJhB,SAAS+nG,GAClBA,EAAQu+B,cAAgBuC,KAYhCG,UAAW,SAAU5mI,EAAOylG,GAMxBxvG,KAAKywI,YAAYjhC,GAAY7nG,QAJhB,SAAS+nG,GAClBA,EAAQkhC,OAAS7mI,KAYzBgjI,YAAa,SAAUpD,EAAUn6B,GAM7BxvG,KAAKywI,YAAYjhC,GAAY7nG,QAJhB,SAAS+nG,GAClBA,EAAQi6B,SAAWA,KAa3B8G,YAAa,SAAUhkI,GAEnB,IAAIgjG,KAEJ,GAAIhjG,EACJ,CACUA,aAAgB/F,QAElB+F,GAAQA,IAGZ,IAAI8iH,EAAOvvH,KAQX,OAPAyM,EAAK9E,QAAQ,SAASkC,GACd0lH,EAAK6gB,cAAcvmI,IAEnB4lG,EAASt8F,KAAKo8G,EAAK6gB,cAAcvmI,MAIlC7J,KAAKuY,QAAQk3F,GAKpB,OAAOzvG,KAAKswI,aAWpBO,gBAAiB,SAAUhnI,GAEvB,OAAO7J,KAAKowI,cAAcvmI,IAU9BinI,SAAU,SAAUC,GAEhB,OAAO/wI,KAAKqwI,gBAAgBU,IAShCl5H,MAAO,WAEH,IAAIhO,EAAKE,EAAOinI,EAAMC,EACtBD,EAAOhxI,KAAKmwI,QACZc,KAEA,IAAKpnI,KAAOmnI,EAERjnI,EAAQinI,EAAKnnI,GAERy1C,MAAMz1C,EAAM,GAOb7J,KAAKowI,cAAcvmI,GAAO7J,KAAKuY,QAAQxO,IALvC/J,KAAKqwI,gBAAgBxmI,GAAO7J,KAAKqwI,gBAAgBxmI,OACjD7J,KAAKqwI,gBAAgBxmI,GAAO7J,KAAKqwI,gBAAgBxmI,GAAK9C,OAAOgD,IAOjEknI,EAAS99H,KAAKnT,KAAKswI,YAActwI,KAAKuY,QAAQvY,KAAKqwI,mBAW3D93H,QAAS,SAAU5D,GAEf,IAAIhD,EAAQ49G,EAQZ,OAPA59G,KACA49G,EAAOtoH,UAAUiqI,OAEjBv8H,EAAMhN,QAAQ,SAASmlF,GACnB,OAAOpmF,MAAMH,UAAU4M,KAAKhM,MAAMwK,EAASjL,MAAMa,QAAQulF,GAAQyiC,EAAKziC,IAASA,MAG5En7E,IAmBftR,EAAOmuB,QAAQssG,GAAGqW,WAAa,SAAUj2H,EAAO4lD,GAE5C9gE,KAAKkb,MAAQA,EAChBlb,KAAK8gE,YAAcA,GAIpBzgE,EAAOmuB,QAAQssG,GAAGqW,WAAW5qI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGqW,WAMvE1pI,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGqW,WAAW5qI,UAAW,KAE1DmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMisH,IAAInnI,KAAK8gE,YAAY,KAI3Cn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK9gE,KAAKkb,MAAMmsH,IAAIt9H,MAU7CtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGqW,WAAW5qI,UAAW,KAE1DmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMisH,IAAInnI,KAAK8gE,YAAY,KAI3Cn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK9gE,KAAKkb,MAAMmsH,IAAIt9H,MAU7CtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGqW,WAAW5qI,UAAW,MAE1DmG,IAAK,WAED,OAAO1M,KAAK8gE,YAAY,IAI5Bn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK/2D,KAU9BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGqW,WAAW5qI,UAAW,MAE1DmG,IAAK,WAED,OAAO1M,KAAK8gE,YAAY,IAI5Bn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK/2D,KAoB9B1J,EAAOmuB,QAAQssG,GAAGwL,kBAAoB,SAAUprH,EAAO4lD,GAEnD9gE,KAAKkb,MAAQA,EAChBlb,KAAK8gE,YAAcA,GAIpBzgE,EAAOmuB,QAAQssG,GAAGwL,kBAAkB//H,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGwL,kBAM9E7+H,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGwL,kBAAkB//H,UAAW,KAEjEmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMksH,KAAKpnI,KAAK8gE,YAAY,KAI5Cn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK9gE,KAAKkb,MAAMosH,KAAKv9H,MAU9CtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGwL,kBAAkB//H,UAAW,KAEjEmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMksH,KAAKpnI,KAAK8gE,YAAY,KAI5Cn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,GAAK9gE,KAAKkb,MAAMosH,KAAKv9H,MAU9CtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGwL,kBAAkB//H,UAAW,MAEjEmG,IAAK,WAED,OAAO1M,KAAK8gE,YAAY,IAI5Bn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,IAAM/2D,KAU/BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAGwL,kBAAkB//H,UAAW,MAEjEmG,IAAK,WAED,OAAO1M,KAAK8gE,YAAY,IAI5Bn0D,IAAK,SAAU5C,GAEX/J,KAAK8gE,YAAY,IAAM/2D,KA4B/B1J,EAAOmuB,QAAQssG,GAAG/K,KAAO,SAAU90G,EAAMkd,EAAQhyB,EAAG+G,EAAG2yH,GAEnD1nG,EAASA,GAAU,KACnBhyB,EAAIA,GAAK,EACT+G,EAAIA,GAAK,OACI5C,IAATu1H,IAAsBA,EAAO,GAKjC7/H,KAAKib,KAAOA,EAKZjb,KAAKkb,MAAQD,EAAK6F,QAAQ3H,GAK1BnZ,KAAKm4B,OAASA,EAKdn4B,KAAKoI,KAAO/H,EAAOmuB,QAAQ87B,KAK3BtqD,KAAK6O,OAAS,IAAIxO,EAAOoN,MAMzBzN,KAAKkkC,KAAO,IAAI/qB,GAAG42G,MAAO91G,UAAYja,KAAKkb,MAAMosH,KAAKnhI,GAAInG,KAAKkb,MAAMosH,KAAKp6H,IAAM2yH,KAAMA,IAEtF7/H,KAAKkkC,KAAK/Z,OAASnqB,KAKnBA,KAAKu8H,SAAW,IAAIl8H,EAAOmuB,QAAQssG,GAAGwL,kBAAkBtmI,KAAKkb,MAAOlb,KAAKkkC,KAAKq4F,UAK9Ev8H,KAAKse,MAAQ,IAAIje,EAAOmuB,QAAQssG,GAAGwL,kBAAkBtmI,KAAKkb,MAAOlb,KAAKkkC,KAAK5lB,OAK3Ete,KAAKm7H,QAAU,IAAI96H,EAAOoN,MAgB1BzN,KAAKinI,eAAiB,IAAI5mI,EAAOwb,OAejC7b,KAAKknI,aAAe,IAAI7mI,EAAOwb,OAK/B7b,KAAKoxI,gBAKLpxI,KAAKqxI,gBAAiB,EAKtBrxI,KAAKsxI,UAAY,KAKjBtxI,KAAKkoB,OAAQ,EAMbloB,KAAKuxI,qBAAsB,EAM3BvxI,KAAKipI,kBAMLjpI,KAAKkpI,wBAMLlpI,KAAKqpI,mBAMLrpI,KAAKupI,yBAMLvpI,KAAK+xD,QAAS,EAGV55B,IAEAn4B,KAAKwxI,uBAAuBr5G,GAExBA,EAAOhN,QAEPnrB,KAAKib,KAAK6F,QAAQ3H,GAAG+wH,QAAQlqI,QAMzCK,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,WAanBkrI,mBAAoB,SAAUr7G,EAAQ/B,EAAU7Q,GAE5C,IAAIrO,GAAM,EAENihB,EAAW,GAEXjhB,EAAKihB,EAAOjhB,GAEPihB,EAAa,OAElBjhB,EAAKihB,EAAO7F,KAAKpb,IAGjBA,GAAM,IAEW,OAAbkf,UAEQr0B,KAAKipI,eAAe9zH,UACpBnV,KAAKkpI,qBAAqB/zH,KAIlCnV,KAAKipI,eAAe9zH,GAAMkf,EAC1Br0B,KAAKkpI,qBAAqB/zH,GAAMqO,KAkB5CkuH,oBAAqB,SAAUr6G,EAAOhD,EAAU7Q,GAE3B,OAAb6Q,UAEQr0B,KAAKqpI,gBAAgBhyG,EAAM40B,aAC3BjsD,KAAKupI,sBAAsBlyG,EAAM40B,QAIzCjsD,KAAKqpI,gBAAgBhyG,EAAM40B,MAAQ53B,EACnCr0B,KAAKupI,sBAAsBlyG,EAAM40B,MAAQzoC,IAWjDmuH,iBAAkB,WAEd,IAAI1lF,EAAO,EAEPjsD,KAAKuxI,sBAELtlF,EAAOjsD,KAAKib,KAAK6F,QAAQ3H,GAAG0uH,qBAAqB57E,MAGrD,IAAK,IAAIjkD,EAAI,EAAGA,EAAIhI,KAAKoxI,aAAarpI,OAAQC,IAE1CikD,GAAcjsD,KAAKoxI,aAAappI,GAAGikD,KAGvC,OAAOA,GAUX2lF,oBAAqB,SAAUxtG,GAE3B,IAAI6nB,EAAOjsD,KAAK2xI,mBAEhB,QAAcrnI,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGimI,cAAgBhiF,OAKxC7nB,EAAM6pG,cAAgBhiF,GAa9Bw9E,kBAAmB,SAAUpyG,EAAO+M,GAEhC,IAAI6nB,EAAOjsD,KAAK2xI,mBAEhB,QAAcrnI,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGshI,eAAiBjyG,EAAM40B,KAC3CjsD,KAAKkkC,KAAK0lG,OAAO5hI,GAAGimI,cAAgBhiF,OAKxC7nB,EAAMklG,eAAiBjyG,EAAM40B,KAC7B7nB,EAAM6pG,cAAgBhiF,GAa9B4lF,eAAgB,SAAUC,EAAYC,EAAW3tG,GAK7C,QAHmB95B,IAAfwnI,IAA4BA,GAAa,QAC3BxnI,IAAdynI,IAA2BA,GAAY,QAE7BznI,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE1C8pI,IAEA9xI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGshI,eAAiB,MAGrCyI,IAEA/xI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGimI,cAAgB,WAMxC6D,IAEA1tG,EAAMklG,eAAiB,MAGvByI,IAEA3tG,EAAM6pG,cAAgB,MAI1B6D,IAEA9xI,KAAKoxI,aAAarpI,OAAS,IAanCiqI,qBAAsB,SAAU36G,EAAO46G,EAAe7tG,QAE5B95B,IAAlB2nI,IAA+BA,GAAgB,GAEnD,IAAIlpI,EAEJ,GAAIrC,MAAMa,QAAQ8vB,GAEd,IAASrvB,EAAI,EAAGA,EAAIqvB,EAAMtvB,OAAQC,KAE9Be,EAAQ/I,KAAKoxI,aAAangH,QAAQoG,EAAMrvB,MAE3B,IAEThI,KAAKoxI,aAAaxtH,OAAO7a,EAAO,GAE5BkpI,WAEQjyI,KAAKqpI,gBAAgBhyG,EAAM40B,aAC3BjsD,KAAKupI,sBAAsBlyG,EAAM40B,aAOrDljD,EAAQ/I,KAAKoxI,aAAangH,QAAQoG,KAErB,IAETr3B,KAAKoxI,aAAaxtH,OAAO7a,EAAO,GAE5BkpI,WAEQjyI,KAAKqpI,gBAAgBhyG,EAAM40B,aAC3BjsD,KAAKupI,sBAAsBlyG,EAAM40B,QAKrD,IAAIA,EAAOjsD,KAAK2xI,mBAEhB,QAAcrnI,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGimI,cAAgBhiF,OAKxC7nB,EAAM6pG,cAAgBhiF,GAc9BsjF,SAAU,SAAUl4G,EAAOhD,EAAU7Q,EAAiB4gB,GAElD,GAAI19B,MAAMa,QAAQ8vB,GAEd,IAASrvB,EAAI,EAAGA,EAAIqvB,EAAMtvB,OAAQC,KAEe,IAAzChI,KAAKoxI,aAAangH,QAAQoG,EAAMrvB,MAEhChI,KAAKoxI,aAAaj+H,KAAKkkB,EAAMrvB,IAEzBqsB,GAEAr0B,KAAK0xI,oBAAoBr6G,EAAMrvB,GAAIqsB,EAAU7Q,SAOf,IAAtCxjB,KAAKoxI,aAAangH,QAAQoG,KAE1Br3B,KAAKoxI,aAAaj+H,KAAKkkB,GAEnBhD,GAEAr0B,KAAK0xI,oBAAoBr6G,EAAOhD,EAAU7Q,IAKtD,IAAIyoC,EAAOjsD,KAAK2xI,mBAEhB,QAAcrnI,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKkkC,KAAK0lG,OAAO5hI,GAAGimI,cAAgBhiF,OAKxC7nB,EAAM6pG,cAAgBhiF,GAU9BimF,mBAAoB,WAEhBlyI,KAAKkkC,KAAKguG,qBACVlyI,KAAKmyI,gBAYTC,mBAAoB,SAAUzgI,EAAQ0gI,GAElC,OAAOryI,KAAKkkC,KAAKkuG,mBAAmBzgI,EAAQ0gI,IAUhDxC,aAAc,SAAU3+D,GAEpBlxE,KAAKkkC,KAAK2rG,aAAa3+D,IAc3BohE,aAAc,SAAUC,EAASxjB,EAAQC,GAErChvH,KAAKkkC,KAAKouG,aAAaC,GAAUvyI,KAAKkb,MAAMosH,KAAKvY,GAAS/uH,KAAKkb,MAAMosH,KAAKtY,MAe9EwjB,kBAAmB,SAAUD,EAASE,EAAQC,GAE1C1yI,KAAKkkC,KAAKsuG,kBAAkBD,GAAUvyI,KAAKkb,MAAMosH,KAAKmL,GAASzyI,KAAKkb,MAAMosH,KAAKoL,MAenFC,WAAY,SAAUr0H,EAAOywG,EAAQC,GAEjChvH,KAAKkkC,KAAKyuG,WAAWr0H,GAAQte,KAAKkb,MAAMosH,KAAKvY,GAAS/uH,KAAKkb,MAAMosH,KAAKtY,MAS1E4jB,aAAc,WAEV5yI,KAAKkkC,KAAK0uG,gBASdC,gBAAiB,WAEb7yI,KAAKkkC,KAAKi4F,gBAAkB,GAShC2W,gBAAiB,WAEb9yI,KAAKkkC,KAAKq4F,SAAS,GAAK,EACxBv8H,KAAKkkC,KAAKq4F,SAAS,GAAK,GAS5BwW,eAAgB,WAEZ/yI,KAAKkkC,KAAKmqG,QAAU,EACpBruI,KAAKkkC,KAAK8uG,eAAiB,GAW/BC,aAAc,SAAUzlI,EAAKggI,GAEzB,OAAOxtI,KAAKkkC,KAAK+uG,aAAazlI,EAAKggI,IAWvC0F,aAAc,SAAU1lI,EAAKk2B,GAEzB,OAAO1jC,KAAKkkC,KAAKgvG,aAAa1lI,EAAKk2B,IAUvC8vF,WAAY,SAAUh1F,GAElBx+B,KAAKkkC,KAAKi4F,gBAAkBn8H,KAAKkb,MAAMmsH,KAAK7oG,IAUhD+0F,YAAa,SAAU/0F,GAEnBx+B,KAAKkkC,KAAKi4F,gBAAkBn8H,KAAKkb,MAAMmsH,IAAI7oG,IAW/C20G,YAAa,SAAU30G,GAEnB,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKkkC,KAAKq4F,SAAS,GAAK/lH,EAAYvQ,KAAK2H,IAAIe,GAC7C3O,KAAKkkC,KAAKq4F,SAAS,GAAK/lH,EAAYvQ,KAAK4H,IAAIc,IAWjDykI,aAAc,SAAU50G,GAEpB,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKkkC,KAAKq4F,SAAS,IAAO/lH,EAAYvQ,KAAK2H,IAAIe,GAC/C3O,KAAKkkC,KAAKq4F,SAAS,IAAO/lH,EAAYvQ,KAAK4H,IAAIc,IAWnD0kI,OAAQ,SAAU70G,GAEd,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK2H,IAAIe,GAC3C3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK4H,IAAIc,IAW/C2kI,WAAY,SAAU90G,GAElB,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAEtB3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK2H,IAAIe,GAC3C3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK4H,IAAIc,IAW/C4kI,YAAa,SAAU/0G,GAEnB,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAEtB3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK2H,IAAIe,GAC3C3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK4H,IAAIc,IAW/CrF,QAAS,SAAUk1B,GAEf,IAAIhoB,EAAYxW,KAAKkb,MAAMosH,MAAM9oG,GAC7B7vB,EAAQ3O,KAAKkkC,KAAKv1B,MAAQ1I,KAAKsH,GAAK,EAExCvN,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK2H,IAAIe,GAC3C3O,KAAKkkC,KAAK5lB,MAAM,IAAM9H,EAAYvQ,KAAK4H,IAAIc,IAW/C6kI,SAAU,SAAUh1G,GAEhBx+B,KAAKkkC,KAAKq4F,SAAS,GAAKv8H,KAAKkb,MAAMosH,MAAM9oG,IAW7Ci1G,UAAW,SAAUj1G,GAEjBx+B,KAAKkkC,KAAKq4F,SAAS,GAAKv8H,KAAKkb,MAAMosH,KAAK9oG,IAW5C/L,OAAQ,SAAU+L,GAEdx+B,KAAKkkC,KAAKq4F,SAAS,GAAKv8H,KAAKkb,MAAMosH,MAAM9oG,IAW7C9L,SAAU,SAAU8L,GAEhBx+B,KAAKkkC,KAAKq4F,SAAS,GAAKv8H,KAAKkb,MAAMosH,KAAK9oG,IAU5C/gB,UAAW,WAEPzd,KAAKkoB,OAAQ,EAETloB,KAAKqxI,iBAELrxI,KAAKuqD,kBACLvqD,KAAKqxI,gBAAiB,IAW9BtmH,WAAY,WAER/qB,KAAKm4B,OAAOhyB,EAAInG,KAAKkb,MAAMksH,KAAKpnI,KAAKkkC,KAAKjqB,SAAS,IAAMja,KAAK6O,OAAO1I,EACrEnG,KAAKm4B,OAAOjrB,EAAIlN,KAAKkb,MAAMksH,KAAKpnI,KAAKkkC,KAAKjqB,SAAS,IAAMja,KAAK6O,OAAO3B,EAEhElN,KAAK0zI,gBAEN1zI,KAAKm4B,OAAOP,SAAW53B,KAAKkkC,KAAKv1B,OAGjC3O,KAAKsxI,WAELtxI,KAAKsxI,UAAUqC,wBAGnB3zI,KAAKkoB,OAAQ,GAajB/H,MAAO,SAAUha,EAAG+G,EAAG0mI,EAAcC,QAEZvpI,IAAjBspI,IAA8BA,GAAe,QAC/BtpI,IAAdupI,IAA2BA,GAAY,GAE3C7zI,KAAK4yI,eACL5yI,KAAK8yI,kBACL9yI,KAAK6yI,kBAEDe,GAEA5zI,KAAK+yI,iBAGLc,IAEA7zI,KAAK6/H,KAAO,GAGhB7/H,KAAKmG,EAAIA,EACTnG,KAAKkN,EAAIA,GASbwc,WAAY,WAER,GAAI1pB,KAAKib,KAAK6F,QAAQ3H,GAAG6uH,UAErB,IAAK,IAAIhgI,EAAI,EAAGA,EAAIhI,KAAKib,KAAK6F,QAAQ3H,GAAG6uH,UAAUjgI,OAAQC,IAEnDhI,KAAKib,KAAK6F,QAAQ3H,GAAG6uH,UAAUhgI,KAAOhI,MAEtCA,KAAKib,KAAK6F,QAAQ3H,GAAG6uH,UAAUpkH,OAAO5b,EAAG,GAKjDhI,KAAKkkC,KAAKhpB,QAAUlb,KAAKib,KAAK6F,QAAQ3H,GAAG+B,OAEzClb,KAAKib,KAAK6F,QAAQ3H,GAAG+wH,QAAQlqI,OAUrCuqD,gBAAiB,WAETvqD,KAAKkkC,KAAKhpB,QAAUlb,KAAKib,KAAK6F,QAAQ3H,GAAG+B,OAEzClb,KAAKib,KAAK6F,QAAQ3H,GAAGovH,mBAAmBvoI,OAUhDukB,QAAS,WAELvkB,KAAKuqD,kBAELvqD,KAAK8zI,cAEL9zI,KAAKipI,kBACLjpI,KAAKkpI,wBACLlpI,KAAKqpI,mBACLrpI,KAAKupI,yBAEDvpI,KAAKsxI,WAELtxI,KAAKsxI,UAAU/sH,SAAQ,GAAM,GAGjCvkB,KAAKsxI,UAAY,KAEbtxI,KAAKm4B,SAELn4B,KAAKm4B,OAAO5H,KAAO,KACnBvwB,KAAKm4B,OAAS,OAUtB27G,YAAa,WAIT,IAFA,IAAI9rI,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAElBC,KAEHhI,KAAKkkC,KAAK6vG,YAAY/zI,KAAKkkC,KAAK0lG,OAAO5hI,IAG3ChI,KAAKmyI,gBAiBTnI,SAAU,SAAU5lG,EAAOgT,EAASC,EAASzf,GASzC,YAPgBttB,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,QACtB/sC,IAAbstB,IAA0BA,EAAW,GAEzC53B,KAAKkkC,KAAK8lG,SAAS5lG,GAAQpkC,KAAKkb,MAAMosH,KAAKlwF,GAAUp3C,KAAKkb,MAAMosH,KAAKjwF,IAAWzf,GAChF53B,KAAKmyI,aAAav6G,GAEXwM,GAcX4vG,UAAW,SAAUlmI,EAAQspC,EAASC,EAASzf,GAE3C,IAAIwM,EAAQ,IAAIjrB,GAAGlM,QAASa,OAAQ9N,KAAKkb,MAAMmsH,IAAIv5H,KAEnD,OAAO9N,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAelD63G,aAAc,SAAUt/H,EAAOC,EAAQgnC,EAASC,EAASzf,GAErD,IAAIwM,EAAQ,IAAIjrB,GAAG86H,KAAM9jI,MAAOnQ,KAAKkb,MAAMmsH,IAAIl3H,GAAQC,OAAQpQ,KAAKkb,MAAMmsH,IAAIj3H,KAE9E,OAAOpQ,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAalDs8G,SAAU,SAAU98F,EAASC,EAASzf,GAElC,IAAIwM,EAAQ,IAAIjrB,GAAG8wH,MAEnB,OAAOjqI,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAalDu8G,YAAa,SAAU/8F,EAASC,EAASzf,GAErC,IAAIwM,EAAQ,IAAIjrB,GAAGi7H,SAEnB,OAAOp0I,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAgBlDy8G,QAAS,SAAUtsI,EAAQqvC,EAASC,EAASzf,GAEzC,IAAIwM,EAAQ,IAAIjrB,GAAG1I,MAAO1I,OAAQ/H,KAAKkb,MAAMmsH,IAAIt/H,KAEjD,OAAO/H,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAgBlD08G,WAAY,SAAUvsI,EAAQ+F,EAAQspC,EAASC,EAASzf,GAEpD,IAAIwM,EAAQ,IAAIjrB,GAAGo7H,SAAUxsI,OAAQ/H,KAAKkb,MAAMmsH,IAAIt/H,GAAS+F,OAAQ9N,KAAKkb,MAAMmsH,IAAIv5H,KAEpF,OAAO9N,KAAKgqI,SAAS5lG,EAAOgT,EAASC,EAASzf,IAkBlDi3G,WAAY,SAAU/iI,EAAS4L,GAE3B5L,EAAUA,MAELpF,MAAMa,QAAQmQ,KAEfA,EAAShR,MAAMH,UAAUE,MAAMO,KAAKC,UAAW,IAGnD,IAAIksE,KAGJ,GAAsB,IAAlBz7D,EAAO3P,QAAgBrB,MAAMa,QAAQmQ,EAAO,IAE5Cy7D,EAAOz7D,EAAO,GAAGjR,MAAM,QAEtB,GAAIC,MAAMa,QAAQmQ,EAAO,IAE1By7D,EAAOz7D,EAAOjR,aAEb,GAAyB,iBAAdiR,EAAO,GAGnB,IAAK,IAAI1P,EAAI,EAAGF,EAAM4P,EAAO3P,OAAQC,EAAIF,EAAKE,GAAK,EAE/CmrE,EAAKhgE,MAAMuE,EAAO1P,GAAI0P,EAAO1P,EAAI,KAKzC,IAAIu1E,EAAMpK,EAAKprE,OAAS,EAEpBorE,EAAKoK,GAAK,KAAOpK,EAAK,GAAG,IAAMA,EAAKoK,GAAK,KAAOpK,EAAK,GAAG,IAExDA,EAAKlpE,MAIT,IAAK,IAAIoG,EAAI,EAAGA,EAAI8iE,EAAKprE,OAAQsI,IAE7B8iE,EAAK9iE,GAAG,GAAKrQ,KAAKkb,MAAMosH,KAAKn0D,EAAK9iE,GAAG,IACrC8iE,EAAK9iE,GAAG,GAAKrQ,KAAKkb,MAAMosH,KAAKn0D,EAAK9iE,GAAG,IAGzC,IAAIsB,EAAS3R,KAAKkkC,KAAKswG,YAAYrhE,EAAMrnE,GAIzC,OAFA9L,KAAKmyI,eAEExgI,GAWXoiI,YAAa,SAAU3vG,GAEzB,IAAIzyB,EAAS3R,KAAKkkC,KAAK6vG,YAAY3vG,GAI7B,OAFNpkC,KAAKmyI,eAEQxgI,GAaX0yH,UAAW,SAAUv2H,EAAQspC,EAASC,EAASzf,GAI3C,OAFA53B,KAAK8zI,cAEE9zI,KAAKg0I,UAAUlmI,EAAQspC,EAASC,EAASzf,IAiBpD68G,aAAc,SAAUtkI,EAAOC,EAAQgnC,EAASC,EAASzf,GAOrD,YALcttB,IAAV6F,IAAuBA,EAAQ,SACpB7F,IAAX8F,IAAwBA,EAAS,IAErCpQ,KAAK8zI,cAEE9zI,KAAKyvI,aAAat/H,EAAOC,EAAQgnC,EAASC,EAASzf,IAc9D45G,uBAAwB,SAAUr5G,GAM9B,YAJe7tB,IAAX6tB,IAAwBA,EAASn4B,KAAKm4B,QAE1Cn4B,KAAK8zI,cAEE9zI,KAAKyvI,aAAat3G,EAAOhoB,MAAOgoB,EAAO/nB,OAAQ,EAAG,EAAG+nB,EAAOP,WAYvEm1G,YAAa,SAAUpD,EAAUvlG,GAE7B,QAAc95B,IAAV85B,EAEA,IAAK,IAAIp8B,EAAIhI,KAAKkkC,KAAK0lG,OAAO7hI,OAAS,EAAGC,GAAK,EAAGA,IAE9ChI,KAAKkkC,KAAK0lG,OAAO5hI,GAAG2hI,SAAWA,OAKnCvlG,EAAMulG,SAAWA,GAWzBwI,aAAc,SAASv6G,GAEf53B,KAAKkkC,KAAKv1B,MAAMipB,EAChB53B,KAAKsxI,WAELtxI,KAAKsxI,UAAUh1E,QAgBvBo4E,iBAAkB,SAAU7qI,EAAKusB,GAM7B,IAAK,IAJD8N,EAAOlkC,KAAKib,KAAKsF,MAAMgvF,eAAe1lG,EAAKusB,GAC3Cu+G,KAGK3sI,EAAI,EAAGA,EAAIk8B,EAAKn8B,OAAQC,IACjC,CACI,IAAI4sI,EAAc1wG,EAAKl8B,GACnB6sI,EAAkB70I,KAAK80I,WAAWF,GAGtCD,EAAgBC,EAAY//G,OAAOwC,OAASs9G,EAAgBC,EAAY//G,OAAOwC,WAC/Es9G,EAAgBC,EAAY//G,OAAOwC,OAASs9G,EAAgBC,EAAY//G,OAAOwC,OAAOtwB,OAAO8tI,GAGzFD,EAAYplC,aAEZmlC,EAAgBC,EAAYplC,YAAcqlC,GAOlD,OAHA70I,KAAKkkC,KAAK6wG,iBAAkB,EAC5B/0I,KAAKmyI,eAEEwC,GAWXG,WAAY,SAAUF,GAElB,IAAII,KAEJ,GAAIJ,EAAYn2G,OAChB,EACQ2F,EAAQ,IAAIjrB,GAAGlM,QAASa,OAAQ9N,KAAKkb,MAAMmsH,IAAIuN,EAAYn2G,OAAO3wB,WAChEw7H,eAAiBsL,EAAY//G,OAAOogH,aAC1C7wG,EAAM6pG,cAAgB2G,EAAY//G,OAAOqgH,SACzC9wG,EAAMwsG,OAASgE,EAAYO,SAE3B,IAAItmI,EAASsK,GAAGi8H,KAAKj0H,SACrBtS,EAAO,GAAK7O,KAAKkb,MAAMosH,KAAKsN,EAAYn2G,OAAOxkB,SAAS,GAAKja,KAAKm4B,OAAOhoB,MAAM,GAC/EtB,EAAO,GAAK7O,KAAKkb,MAAMosH,KAAKsN,EAAYn2G,OAAOxkB,SAAS,GAAKja,KAAKm4B,OAAO/nB,OAAO,GAEhFpQ,KAAKkkC,KAAK8lG,SAAS5lG,EAAOv1B,GAC1BmmI,EAAgB7hI,KAAKixB,QAOrB,IAAK,IAHDixG,EAAWT,EAAYS,SACvBC,EAAKn8H,GAAGi8H,KAAKj0H,SAERnZ,EAAI,EAAGA,EAAIqtI,EAASttI,OAAQC,IACrC,CAII,IAAK,IAHD4hI,EAASyL,EAASrtI,GAClB0oE,KAEKt5D,EAAI,EAAGA,EAAIwyH,EAAO7hI,OAAQqP,GAAK,EAEpCs5D,EAASv9D,MAAOnT,KAAKkb,MAAMosH,KAAKsC,EAAOxyH,IAAKpX,KAAKkb,MAAMosH,KAAKsC,EAAOxyH,EAAI,MAM3E,IAAK,IAHDgtB,EAAQ,IAAIjrB,GAAGo8H,QAAS7kE,SAAUA,IAG7Bj4D,EAAI,EAAGA,IAAM2rB,EAAMssC,SAAS3oE,OAAQ0Q,IAC7C,CACI,IAAIijB,EAAI0I,EAAMssC,SAASj4D,GACvBU,GAAGi8H,KAAKI,IAAI95G,EAAGA,EAAG0I,EAAMqxG,cAG5Bt8H,GAAGi8H,KAAK//H,MAAMigI,EAAIlxG,EAAMqxG,aAAc,GAEtCH,EAAG,IAAMt1I,KAAKkb,MAAMosH,KAAKtnI,KAAKm4B,OAAOhoB,MAAQ,GAC7CmlI,EAAG,IAAMt1I,KAAKkb,MAAMosH,KAAKtnI,KAAKm4B,OAAO/nB,OAAS,GAE9Cg0B,EAAMsxG,kBACNtxG,EAAMuxG,qBACNvxG,EAAMwxG,uBAENxxG,EAAMklG,eAAiBsL,EAAY//G,OAAOogH,aAC1C7wG,EAAM6pG,cAAgB2G,EAAY//G,OAAOqgH,SACzC9wG,EAAMwsG,OAASgE,EAAYO,SAE3Bn1I,KAAKkkC,KAAK8lG,SAAS5lG,EAAOkxG,GAE1BN,EAAgB7hI,KAAKixB,GAI7B,OAAO4wG,GAqBXa,YAAa,SAAUhsI,EAAKusB,EAAQ/gB,EAAMuiB,GAEtC,GAAY,OAAR/tB,EAEIq6B,EAAO9N,OAIX,IAAI8N,EAAOlkC,KAAKib,KAAKsF,MAAMgvF,eAAe1lG,EAAKusB,GAG9B,iBAAV/gB,IAEPA,EAAQ,GAMZ,IAAK,IAFDigI,EAAKn8H,GAAGi8H,KAAKj0H,SAERnZ,EAAI,EAAGA,EAAIk8B,EAAKn8B,OAAQC,IACjC,CAGI,IAAK,IAFD0oE,KAEKt5D,EAAI,EAAGA,EAAI8sB,EAAKl8B,GAAGo8B,MAAMr8B,OAAQqP,GAAK,EAE3Cs5D,EAASv9D,MACLnT,KAAKkb,MAAMosH,KAAKpjG,EAAKl8B,GAAGo8B,MAAMhtB,GAAK/B,GACnCrV,KAAKkb,MAAMosH,KAAKpjG,EAAKl8B,GAAGo8B,MAAMhtB,EAAI,GAAK/B,KAO/C,IAAK,IAHD3F,EAAI,IAAIyJ,GAAGo8H,QAAS7kE,SAAUA,IAGzBj4D,EAAI,EAAGA,IAAM/I,EAAEghE,SAAS3oE,OAAQ0Q,IACzC,CACI,IAAIijB,EAAIhsB,EAAEghE,SAASj4D,GACnBU,GAAGi8H,KAAKI,IAAI95G,EAAGA,EAAGhsB,EAAE+lI,cAGxBt8H,GAAGi8H,KAAK//H,MAAMigI,EAAI5lI,EAAE+lI,aAAc,GAElCH,EAAG,IAAMt1I,KAAKkb,MAAMosH,KAAKtnI,KAAKm4B,OAAOhoB,MAAQ,GAC7CmlI,EAAG,IAAMt1I,KAAKkb,MAAMosH,KAAKtnI,KAAKm4B,OAAO/nB,OAAS,GAE9CV,EAAEgmI,kBACFhmI,EAAEimI,qBACFjmI,EAAEkmI,uBAEF51I,KAAKkkC,KAAK8lG,SAASt6H,EAAG4lI,GAM1B,OAHAt1I,KAAKkkC,KAAK6wG,iBAAkB,EAC5B/0I,KAAKmyI,aAAav6G,IAEX,IAMfv3B,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAG/K,KAQjE1vH,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,QAAU,EAQjCz1I,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,OAAS,EAQhCxtI,EAAOmuB,QAAQssG,GAAG/K,KAAKgmB,UAAY,EAMnCtuI,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,UAEpDmG,IAAK,WAED,OAAQ1M,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,QAItDlhI,IAAK,SAAU5C,GAEPA,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,QAEnD7tI,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,OACxC7tI,KAAK6/H,KAAO,GAEN91H,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,SAEzD7tI,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,QACxC91I,KAAK6/H,KAAO,MAWxBp4H,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,WAEpDmG,IAAK,WAED,OAAQ1M,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,SAItDnpI,IAAK,SAAU5C,GAEPA,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,SAEnD91I,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,QACxC91I,KAAK6/H,KAAO,GAEN91H,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAK+lB,UAEzD91I,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,OACxC7tI,KAAK6/H,KAAO,MAWxBp4H,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,aAEpDmG,IAAK,WAED,OAAQ1M,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAKgmB,WAItDppI,IAAK,SAAU5C,GAEPA,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAKgmB,WAEnD/1I,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAKgmB,UACxC/1I,KAAK6/H,KAAO,GAEN91H,GAAS/J,KAAKkkC,KAAK97B,OAAS/H,EAAOmuB,QAAQssG,GAAG/K,KAAKgmB,YAEzD/1I,KAAKkkC,KAAK97B,KAAO/H,EAAOmuB,QAAQssG,GAAG/K,KAAK8d,OACxC7tI,KAAK6/H,KAAO,MAWxBp4H,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,cAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK8xG,YAIrBrpI,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKkkC,KAAK8xG,aAEpBh2I,KAAKkkC,KAAK8xG,WAAajsI,MAenCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,SAEpDmG,IAAK,WAED,OAAOrM,EAAO4F,KAAKuiD,UAAUnoD,EAAO4F,KAAKmQ,SAASpW,KAAKkkC,KAAKv1B,SAIhEhC,IAAK,SAAS5C,GAEV/J,KAAKkkC,KAAKv1B,MAAQtO,EAAO4F,KAAKuJ,SAASnP,EAAO4F,KAAKuiD,UAAUz+C,OAWrEtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,kBAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK8uG,gBAIrBrmI,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAK8uG,eAAiBjpI,KAUnCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,gBAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK+xG,cAIrBtpI,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAK+xG,aAAelsI,KAUjCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,mBAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKi4F,iBAIrBxvH,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKi4F,gBAAkBpyH,KAWpCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,WAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKmqG,SAIrB1hI,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKmqG,QAAUtkI,KAU5BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,iBAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKwvG,eAIrB/mI,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKkkC,KAAKwvG,gBAEpB1zI,KAAKkkC,KAAKwvG,cAAgB3pI,MAWtCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,WAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKgyG,SAIrBvpI,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKgyG,QAAUnsI,KAU5BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,QAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK27F,MAIrBlzH,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKkkC,KAAK27F,OAEpB7/H,KAAKkkC,KAAK27F,KAAO91H,EACjB/J,KAAKkkC,KAAKiyG,2BAWtB1uI,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,eAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK97B,MAIrBuE,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKkkC,KAAK97B,OAEpBpI,KAAKkkC,KAAK97B,KAAO2B,MAc7BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,YAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKv1B,OAIrBhC,IAAK,SAAS5C,GAEV/J,KAAKkkC,KAAKv1B,MAAQ5E,KAU1BtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,mBAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAKkyG,iBAIrBzpI,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKkyG,gBAAkBrsI,KAUpCtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,KAEpDmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMksH,KAAKpnI,KAAKkkC,KAAKjqB,SAAS,KAI9CtN,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKjqB,SAAS,GAAKja,KAAKkb,MAAMosH,KAAKv9H,MAUhDtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,KAEpDmG,IAAK,WAED,OAAO1M,KAAKkb,MAAMksH,KAAKpnI,KAAKkkC,KAAKjqB,SAAS,KAI9CtN,IAAK,SAAU5C,GAEX/J,KAAKkkC,KAAKjqB,SAAS,GAAKja,KAAKkb,MAAMosH,KAAKv9H,MAWhDtC,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,MAEpDmG,IAAK,WAED,OAAO1M,KAAKkkC,KAAK/uB,MAUzB1N,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,SAEpDmG,IAAK,WAED,OAA2B,OAAnB1M,KAAKsxI,WAIjB3kI,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKsxI,UAGftxI,KAAKsxI,UAAY,IAAIjxI,EAAOmuB,QAAQssG,GAAGub,UAAUr2I,KAAKib,KAAMjb,KAAKkkC,OAE3Dn6B,GAAS/J,KAAKsxI,YAEpBtxI,KAAKsxI,UAAU/sH,UACfvkB,KAAKsxI,UAAY,SAiB7B7pI,OAAOmF,eAAevM,EAAOmuB,QAAQssG,GAAG/K,KAAKxpH,UAAW,sBAEpDmG,IAAK,WAED,OAAO1M,KAAKuxI,qBAIhB5kI,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKuxI,qBAEfvxI,KAAKuxI,qBAAsB,EAC3BvxI,KAAK4xI,wBAEC7nI,GAAS/J,KAAKuxI,sBAEpBvxI,KAAKuxI,qBAAsB,EAC3BvxI,KAAK4xI,0BA8BjBvxI,EAAOmuB,QAAQssG,GAAGub,UAAY,SAASp7H,EAAMsV,EAAM+lH,GAE/Cj2I,EAAO+tB,MAAMpnB,KAAKhH,KAAMib,GAMxB,IAAIs7H,GACAC,oBAAqBv7H,EAAK6F,QAAQ3H,GAAGguH,IAAI,GACzCsP,eAAe,EACfn1E,UAAW,EACX5iD,MAAO,IAGX1e,KAAKs2I,SAAWj2I,EAAO6I,MAAM2C,OAAO0qI,EAAiBD,GAKrDt2I,KAAK02I,IAAM12I,KAAKs2I,SAASE,oBACzBx2I,KAAK02I,KAAO,EAAI12I,KAAK02I,IAKrB12I,KAAKuwB,KAAOA,EAKZvwB,KAAKisB,OAAS,IAAI5rB,EAAOid,SAASrC,GAElCjb,KAAKisB,OAAOvN,MAAQ1e,KAAKs2I,SAAS53H,MAElC1e,KAAKkS,IAAIlS,KAAKisB,QAEdjsB,KAAKs8D,OAELt8D,KAAK2zI,yBAITtzI,EAAOmuB,QAAQssG,GAAGub,UAAU9vI,UAAYkB,OAAO0Z,OAAO9gB,EAAO+tB,MAAM7nB,WACnElG,EAAOmuB,QAAQssG,GAAGub,UAAU9vI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGub,UAEtEh2I,EAAO6I,MAAM2C,OAAOxL,EAAOmuB,QAAQssG,GAAGub,UAAU9vI,WAO5CotI,sBAAuB,WAEnB3zI,KAAKia,SAAS9T,EAAInG,KAAKuwB,KAAKtW,SAAS,GAAKja,KAAK02I,IAC/C12I,KAAKia,SAAS/M,EAAIlN,KAAKuwB,KAAKtW,SAAS,GAAKja,KAAK02I,IAC/C12I,KAAK43B,SAAW53B,KAAKuwB,KAAK5hB,OAS9B2tD,KAAM,WAEF,IAAI3tD,EAAO4d,EAAO9N,EAAOzW,EAAGyQ,EAAck+H,EAAIltI,EAAKoF,EAAQspB,EAAQuD,EAAG0vC,EAAOwrE,EAAMC,EAAIC,EASvF,GAPArtI,EAAMzJ,KAAKuwB,MACX4H,EAASn4B,KAAKisB,QACPtN,QACPF,EAAQxT,SAASjL,KAAK+2I,kBAAmB,IAC7B,SACZJ,EAAK32I,KAAKshE,UAEN73D,aAAe0P,GAAG42G,MAAQtmH,EAAImgI,OAAO7hI,OACzC,CACI,IAAImC,EAAIT,EAAImgI,OAAO7hI,OAInB,IAFAC,EAAI,EAEGA,IAAMkC,GACb,CAKI,GAJAqiB,EAAQ9iB,EAAImgI,OAAO5hI,GACnB6G,EAAS0d,EAAMtS,UAAY,EAC3BtL,EAAQ,EAEJ4d,aAAiBpT,GAAGlM,OAEpBjN,KAAKizE,WAAW96C,EAAQtpB,EAAO,GAAK7O,KAAK02I,IAAK7nI,EAAO,GAAK7O,KAAK02I,IAAK/nI,EAAO4d,EAAMze,OAAS9N,KAAK02I,IAAKj4H,EAAOk4H,QAE1G,GAAIpqH,aAAiBpT,GAAGo7H,QAEzBv0I,KAAKg3I,YAAY7+G,EAAQtpB,EAAO,GAAK7O,KAAK02I,IAAK7nI,EAAO,GAAK7O,KAAK02I,IAAK/nI,EAAO4d,EAAMxkB,OAAS/H,KAAK02I,IAAKnqH,EAAMze,OAAS9N,KAAK02I,IArBzH,SAqByIj4H,EAAOk4H,QAE/I,GAAIpqH,aAAiBpT,GAAG8wH,MAEzBjqI,KAAKi3I,UAAU9+G,EAAQtpB,EAAO,GAAK7O,KAAK02I,KAAM7nI,EAAO,GAAK7O,KAAK02I,IAAKj4H,EAzBpE,SAyB2F,EAALk4H,EAAa,GAALA,EAAc,GAALA,EAAoB,IAAX32I,KAAK02I,IAAW/nI,QAE/H,GAAI4d,aAAiBpT,GAAG1I,KAEzBzQ,KAAKk3I,SAAS/+G,EAAQ5L,EAAMxkB,OAAS/H,KAAK02I,IA7B1C,SA6B0DC,QAEzD,GAAIpqH,aAAiBpT,GAAG86H,IAEzBj0I,KAAKm3I,cAAch/G,EAAQtpB,EAAO,GAAK7O,KAAK02I,IAAK7nI,EAAO,GAAK7O,KAAK02I,IAAK/nI,EAAO4d,EAAMpc,MAAQnQ,KAAK02I,IAAKnqH,EAAMnc,OAASpQ,KAAK02I,IAjC1H,SAiC0Ij4H,EAAOk4H,QAEhJ,GAAIpqH,aAAiBpT,GAAGo8H,OAC7B,CAII,IAHAnqE,KACAwrE,EAAOz9H,GAAGi8H,KAAKj0H,SAEV1I,EAAIo+H,EAAK,EAAGC,EAAQvqH,EAAMmkD,SAAS3oE,OAAQ,GAAK+uI,EAAQD,EAAKC,EAAQD,EAAKC,EAAOr+H,EAAI,GAAKq+H,IAAUD,IAAOA,EAE5Gn7G,EAAInP,EAAMmkD,SAASj4D,GACnBU,GAAGi8H,KAAK7jI,OAAOqlI,EAAMl7G,EAAG/sB,GACxBy8D,EAAMj4D,OAAOyjI,EAAK,GAAK/nI,EAAO,IAAM7O,KAAK02I,MAAOE,EAAK,GAAK/nI,EAAO,IAAM7O,KAAK02I,MAGhF12I,KAAKo3I,WAAWj/G,EAAQizC,EAAO7+C,EAAM83C,UA/CrC,SA+C2D5lD,EAAOk4H,EAAI32I,KAAKs2I,SAASG,eAAgB5nI,EAAO,GAAK7O,KAAK02I,KAAM7nI,EAAO,GAAK7O,KAAK02I,MAGhJ1uI,OAYZmvI,cAAe,SAAS1rH,EAAGtlB,EAAG+G,EAAGyB,EAAOoP,EAAGC,EAAGS,EAAOysD,EAAW5J,QAE1Ch3D,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,GAEnCgN,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAC9BgN,EAAE7M,UAAUssD,GACZz/C,EAAE5M,SAAS1Y,EAAI4X,EAAI,EAAG7Q,EAAI8Q,EAAI,EAAGD,EAAGC,IAUxCi1D,WAAY,SAASxnD,EAAGtlB,EAAG+G,EAAGyB,EAAOb,EAAQ2Q,EAAO6iD,QAE9Bh3D,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,UACnCgN,EAAEqlD,UAAUxP,EAAW,EAAU,GACjC71C,EAAE7M,UAAUH,EAAO,GACnBgN,EAAEwnD,WAAW9sE,EAAG+G,EAAW,GAAPY,GACpB2d,EAAE3M,UACF2M,EAAE21C,OAAOj7D,EAAG+G,GACZue,EAAE41C,OAAOl7D,EAAI2H,EAAS7H,KAAK2H,KAAKe,GAAQzB,EAAIY,EAAS7H,KAAK4H,KAAKc,KAUnEuoI,SAAU,SAASzrH,EAAG3jB,EAAK2W,EAAO6iD,QAEZh3D,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,GAEnCgN,EAAEqlD,UAAsB,EAAZxP,EAAe7iD,EAAO,GAClCgN,EAAE21C,QAAQt5D,EAAM,EAAG,GACnB2jB,EAAE41C,OAAOv5D,EAAM,EAAG,IAUtBsvI,WAAY,SAAS3rH,EAAG2/C,EAAO/G,EAAW5lD,EAAOysD,EAAW5J,EAAWh9C,EAAOzV,GAE1E,IAAIsoE,EAAQnvE,EAAG0zB,EAAGopD,EAAIC,EAAI5+E,EAAGu+E,EAAIh0E,EAAIxD,EAAG4L,EAAInI,EAK5C,QAHkBrG,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,GAE9B6F,EAiCL,CAII,IAHA6yD,GAAU,SAAU,MAAU,KAC9BnvE,EAAI,EAEGA,IAAMojE,EAAMrjE,OAAS,GAExB+8E,EAAK1Z,EAAMpjE,EAAIojE,EAAMrjE,QACrBg9E,EAAK3Z,GAAOpjE,EAAI,GAAKojE,EAAMrjE,QAC3B28E,EAAKI,EAAG,GACRhsE,EAAKgsE,EAAG,GACRp0E,EAAKq0E,EAAG,GACRp0E,EAAKo0E,EAAG,GACRt5D,EAAEqlD,UAAUxP,EAAW6V,EAAOnvE,EAAImvE,EAAOpvE,QAAS,GAClD0jB,EAAE21C,OAAOsjB,GAAK5rE,GACd2S,EAAE41C,OAAO3wD,GAAKC,GACd8a,EAAEwnD,WAAWyR,GAAK5rE,EAAgB,EAAZwoD,GACtBt5D,IAIJ,OADAyjB,EAAEqlD,UAAUxP,EAAW,EAAU,GAC1B71C,EAAEwnD,WAAWpkE,EAAO,GAAIA,EAAO,GAAgB,EAAZyyD,GA/C1C,IAJA71C,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAC9BgN,EAAE7M,UAAUssD,GACZljE,EAAI,EAEGA,IAAMojE,EAAMrjE,QAGf5B,GADAu1B,EAAI0vC,EAAMpjE,IACJ,GACNkF,EAAIwuB,EAAE,GAEI,IAAN1zB,EAEAyjB,EAAE21C,OAAOj7D,GAAI+G,GAIbue,EAAE41C,OAAOl7D,GAAI+G,GAGjBlF,IAKJ,GAFAyjB,EAAE3M,UAEEssD,EAAMrjE,OAAS,EAGf,OADA0jB,EAAE21C,OAAOgK,EAAMA,EAAMrjE,OAAS,GAAG,IAAKqjE,EAAMA,EAAMrjE,OAAS,GAAG,IACvD0jB,EAAE41C,OAAO+J,EAAM,GAAG,IAAKA,EAAM,GAAG,KAmCnDisE,SAAU,SAAS5rH,EAAG0nD,EAAM10D,EAAOysD,EAAW5J,GAE1C,IAAUt5D,EAAGsvI,EAAOC,EAAOtqE,EAAKC,EAAKC,EAAKC,EAAKC,EAAU3xC,EAAGv1B,EAAG+G,EAe/D,SAdkB5C,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,GAEnCgN,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAEL,iBAAdysD,GAEPz/C,EAAE7M,UAAUssD,GAGhBosE,EAAQ,KACRC,EAAQ,KACRvvI,EAAI,EAEGA,EAAImrE,EAAKprE,QAGZ5B,GADAu1B,EAAIy3C,EAAKnrE,IACH,GACNkF,EAAIwuB,EAAE,GAEFv1B,IAAMmxI,GAASpqI,IAAMqqI,IAEX,IAANvvI,EAEAyjB,EAAE21C,OAAOj7D,EAAG+G,IAIZ+/D,EAAMqqE,EACNpqE,EAAMqqE,EACNpqE,EAAMhnE,EACNinE,EAAMlgE,EACNmgE,EAAM8F,GAAMnrE,EAAI,GAAKmrE,EAAKprE,QAAQ,GAIrB,KAFJolE,EAAMF,IADTkG,GAAMnrE,EAAI,GAAKmrE,EAAKprE,QAAQ,GACLmlE,IAAUG,EAAMJ,IAAQG,EAAMF,IAIvDzhD,EAAE41C,OAAOl7D,EAAG+G,IAGpBoqI,EAAQnxI,EACRoxI,EAAQrqI,GAGZlF,IAIqB,iBAAdkjE,GAEPz/C,EAAE3M,UAGFq0D,EAAKprE,OAAS,GAA0B,iBAAdmjE,IAE1Bz/C,EAAE21C,OAAO+R,EAAKA,EAAKprE,OAAS,GAAG,GAAIorE,EAAKA,EAAKprE,OAAS,GAAG,IACzD0jB,EAAE41C,OAAO8R,EAAK,GAAG,GAAIA,EAAK,GAAG,MAWrC8jE,UAAW,SAASxrH,EAAGi5D,EAAIh0E,EAAI+N,EAAOuvD,EAAW1M,EAAWk2E,EAAYC,EAAUC,EAAW/oI,GAEzF,IAASgpI,EAAIC,OACKttI,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAQ,UAEnCgN,EAAEqlD,UAAUxP,EAAW0M,EAAW,IAClCviD,EAAE7M,UAAUH,GAGZgN,EAAE21C,OAAOsjB,GAAKh0E,GACdinI,EAAKjzD,EAAKz+E,KAAK2H,IAAIe,GAAS3O,KAAKib,KAAK9K,MACtCynI,EAAKlnI,EAAKzK,KAAK4H,IAAIc,GAAS3O,KAAKib,KAAK7K,OACtCqb,EAAE41C,OAAOs2E,GAAKC,GAEdnsH,EAAE21C,OAAOsjB,GAAKh0E,GACdinI,EAAKjzD,EAAKz+E,KAAK2H,IAAIe,IAAU3O,KAAKib,KAAK9K,MACvCynI,EAAKlnI,EAAKzK,KAAK4H,IAAIc,IAAU3O,KAAKib,KAAK7K,OACvCqb,EAAE41C,OAAOs2E,GAAKC,IAUlBZ,YAAa,SAASvrH,EAAGtlB,EAAG+G,EAAGyB,EAAO7G,EAAKgG,EAAQ2Q,EAAOysD,EAAW5J,QAE/Ch3D,IAAdg3D,IAA2BA,EAAY,QAC7Bh3D,IAAVmU,IAAuBA,EAAS,GAEpCgN,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAG9B,IAAI/O,EAAIzJ,KAAK2H,IAAIe,GACbyI,EAAInR,KAAK4H,IAAIc,GAEjB8c,EAAE7M,UAAUssD,EAAW,GACvBz/C,EAAEwnD,YAAYnrE,EAAI,EAAE4H,EAAIvJ,GAAI2B,EAAI,EAAEsP,EAAIlK,EAAa,GAATY,GAC1C2d,EAAEwnD,WAAYnrE,EAAI,EAAE4H,EAAIvJ,EAAI2B,EAAI,EAAEsP,EAAIlK,EAAa,GAATY,GAC1C2d,EAAE3M,UAGF2M,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAC9BgN,EAAE7M,UAAUssD,EAAW,GACvBz/C,EAAE21C,QAAQt5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,GAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE41C,OAAQv5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,EAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE41C,OAAQv5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,EAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE41C,QAAQv5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,GAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE3M,UAGF2M,EAAEqlD,UAAUxP,EAAW7iD,EAAO,GAC9BgN,EAAE21C,QAAQt5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,GAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE41C,OAAQv5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,EAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE21C,QAAQt5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,GAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,GACxDue,EAAE41C,OAAQv5D,EAAI,EAAE4H,EAAI5B,EAAOsJ,EAAIjR,EAAI2B,EAAI,EAAEsP,EAAItJ,EAAO4B,EAAIxC,IAU5D6pI,gBAAiB,WAEb,IAAI34E,EAAMD,EAAO05E,EAAK35E,EAWtB,OAVA25E,GAAO,IAAK,IAAK,KAEjB35E,EAAMj4D,KAAKI,MAAsB,IAAhBJ,KAAKsE,UACtB4zD,EAAQl4D,KAAKI,MAAsB,IAAhBJ,KAAKsE,UACxB6zD,EAAOn4D,KAAKI,MAAsB,IAAhBJ,KAAKsE,UAEvB2zD,EAAMj4D,KAAKI,OAAO63D,EAAM,EAAI25E,EAAI,IAAM,GACtC15E,EAAQl4D,KAAKI,OAAO83D,EAAQ,EAAI05E,EAAI,IAAM,GAC1Cz5E,EAAOn4D,KAAKI,OAAO+3D,EAAO,EAAIy5E,EAAI,IAAM,GAEjC73I,KAAK83I,SAAS55E,EAAKC,EAAOC,IAUrC05E,SAAU,SAASnqI,EAAG8d,EAAGnc,GACrB,OAAOtP,KAAK83H,eAAenqH,GAAK3N,KAAK83H,eAAersG,GAAKzrB,KAAK83H,eAAexoH,IASjFwoH,eAAgB,SAASpoH,GAErB,IAAIsoH,EAGJ,OAAmB,KAFnBA,EAAMtoH,EAAEhI,SAAS,KAETK,OAEGiwH,EAIAA,EAAM,OA6BzB33H,EAAOmuB,QAAQssG,GAAGmL,OAAS,SAAU/qH,EAAO6tH,EAAOC,EAAOmF,EAAYC,EAAWC,EAASC,EAAQC,EAAQC,EAAQC,GAK9GzuI,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,OAEM5Q,IAAf6jI,IAA4BA,EAAa,QAC3B7jI,IAAd8jI,IAA2BA,EAAY,UAC3B9jI,IAAZ+jI,IAAyBA,EAAU,GAIvC,IAAIviI,GACAqiI,WAHJA,EAAajzH,EAAMmsH,IAAI8G,GAInBC,UAAWA,EACXC,QAASA,QAGS,IAAXC,GAAqC,OAAXA,IAEjCxiI,EAAQisI,cAAiB78H,EAAMmsH,IAAIiH,EAAO,IAAKpzH,EAAMmsH,IAAIiH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjCziI,EAAQksI,cAAiB98H,EAAMmsH,IAAIkH,EAAO,IAAKrzH,EAAMmsH,IAAIkH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjC1iI,EAAQu/H,cAAiBnwH,EAAMmsH,IAAImH,EAAO,IAAKtzH,EAAMmsH,IAAImH,EAAO,WAG9C,IAAXC,GAAqC,OAAXA,IAEjC3iI,EAAQw/H,cAAiBpwH,EAAMmsH,IAAIoH,EAAO,IAAKvzH,EAAMmsH,IAAIoH,EAAO,MAMpEzuI,KAAKkkC,KAAO,IAAI/qB,GAAG8+H,aAAalP,EAAOC,EAAOl9H,GAE9C9L,KAAKkkC,KAAK/Z,OAASnqB,MAIvBK,EAAOmuB,QAAQssG,GAAGmL,OAAO1/H,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGmL,OAoBnE5lI,EAAOmuB,QAAQssG,GAAGqQ,iBAAmB,SAAUjwH,EAAO6tH,EAAOC,EAAO2F,EAAWP,EAAWC,GAKtFruI,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,OAEK5Q,IAAdqkI,IAA2BA,EAAY,WACzBrkI,IAAd8jI,IAA2BA,EAAY,UAC3B9jI,IAAZ+jI,IAAyBA,EAAU,GAEnCM,IAEAA,EAAYzzH,EAAMmsH,IAAIsH,IAG1B,IAAI7iI,GACA6iI,UAAWA,EACXP,UAAWA,EACXC,QAASA,GAMbruI,KAAKkkC,KAAO,IAAI/qB,GAAGgyH,iBAAiBpC,EAAOC,EAAOl9H,GAElD9L,KAAKkkC,KAAK/Z,OAASnqB,MAIvBK,EAAOmuB,QAAQssG,GAAGmL,OAAO1/H,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGmL,OAiBnE5lI,EAAOmuB,QAAQssG,GAAGmS,SAAW,SAAUlhI,GAMnC/L,KAAK+L,KAAOA,EAEZoN,GAAG8zH,SAASjmI,KAAKhH,OAIrBK,EAAOmuB,QAAQssG,GAAGmS,SAAS1mI,UAAYkB,OAAO0Z,OAAOhI,GAAG8zH,SAAS1mI,WACjElG,EAAOmuB,QAAQssG,GAAGmS,SAAS1mI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGmS,SAiBrE5sI,EAAOmuB,QAAQssG,GAAGsS,gBAAkB,SAAUP,EAAWC,EAAWhhI,GA0ChEqN,GAAGi0H,gBAAgBpmI,KAAKhH,KAAM6sI,EAAWC,EAAWhhI,IAIxDzL,EAAOmuB,QAAQssG,GAAGsS,gBAAgB7mI,UAAYkB,OAAO0Z,OAAOhI,GAAGi0H,gBAAgB7mI,WAC/ElG,EAAOmuB,QAAQssG,GAAGsS,gBAAgB7mI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGsS,gBAe5E/sI,EAAOmuB,QAAQssG,GAAG8M,eAAiB,SAAUoG,GAKzChuI,KAAKisD,KAAO+hF,GAuBhB3tI,EAAOmuB,QAAQssG,GAAG4Q,mBAAqB,SAAUxwH,EAAO6tH,EAAOC,EAAO16H,EAAU+8H,EAAcC,EAAcC,QAEvFjhI,IAAbgE,IAA0BA,EAAW,UACpBhE,IAAjB+gI,IAA8BA,GAAgB,EAAG,SAChC/gI,IAAjBghI,IAA8BA,GAAgB,EAAG,SACpChhI,IAAbihI,IAA0BA,EAAWxyH,OAAOC,WAKhDhZ,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,EAOb,IAAIpP,GAAYwC,SALhBA,EAAW4M,EAAMmsH,IAAI/4H,GAKe+8H,aAHpCA,GAAiBnwH,EAAMosH,KAAK+D,EAAa,IAAKnwH,EAAMosH,KAAK+D,EAAa,KAGNC,aAFhEA,GAAiBpwH,EAAMosH,KAAKgE,EAAa,IAAKpwH,EAAMosH,KAAKgE,EAAa,KAEsBC,SAAUA,GAEtGpyH,GAAGuyH,mBAAmB1kI,KAAKhH,KAAM+oI,EAAOC,EAAOl9H,IAInDzL,EAAOmuB,QAAQssG,GAAG4Q,mBAAmBnlI,UAAYkB,OAAO0Z,OAAOhI,GAAGuyH,mBAAmBnlI,WACrFlG,EAAOmuB,QAAQssG,GAAG4Q,mBAAmBnlI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAG4Q,mBAmB/ErrI,EAAOmuB,QAAQssG,GAAG+Q,eAAiB,SAAU3wH,EAAO6tH,EAAOC,EAAOr6H,EAAOi9H,QAEvDthI,IAAVqE,IAAuBA,EAAQ,QACrBrE,IAAVshI,IAAuBA,EAAQ,GAKnC5rI,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,EAEb,IAAIpP,GAAY6C,MAAOA,EAAOi9H,MAAOA,GAErCzyH,GAAG0yH,eAAe7kI,KAAKhH,KAAM+oI,EAAOC,EAAOl9H,IAI/CzL,EAAOmuB,QAAQssG,GAAG+Q,eAAetlI,UAAYkB,OAAO0Z,OAAOhI,GAAG0yH,eAAetlI,WAC7ElG,EAAOmuB,QAAQssG,GAAG+Q,eAAetlI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAG+Q,eAoB3ExrI,EAAOmuB,QAAQssG,GAAGsR,eAAiB,SAAUlxH,EAAO6tH,EAAOC,EAAOn6H,EAAQF,EAAO48H,QAE9DjhI,IAAXuE,IAAwBA,GAAU,EAAG,SAC3BvE,IAAVqE,IAAuBA,EAAQ,QAClBrE,IAAbihI,IAA0BA,EAAWxyH,OAAOC,WAKhDhZ,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,EAIb,IAAIpP,GAAYosI,aAFhBrpI,GAAWqM,EAAMmsH,IAAIx4H,EAAO,IAAKqM,EAAMmsH,IAAIx4H,EAAO,KAEZspI,YAAaxpI,EAAO48H,SAAUA,GAEpEpyH,GAAGizH,eAAeplI,KAAKhH,KAAM+oI,EAAOC,EAAOl9H,IAI/CzL,EAAOmuB,QAAQssG,GAAGsR,eAAe7lI,UAAYkB,OAAO0Z,OAAOhI,GAAGizH,eAAe7lI,WAC7ElG,EAAOmuB,QAAQssG,GAAGsR,eAAe7lI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGsR,eAsB3E/rI,EAAOmuB,QAAQssG,GAAG2R,oBAAsB,SAAUvxH,EAAO6tH,EAAOC,EAAOsD,EAAcC,EAASC,EAAS1sF,EAAMyrF,QAEpFjhI,IAAjBgiI,IAA8BA,GAAe,QACjChiI,IAAZiiI,IAAyBA,GAAW,EAAG,SAC3BjiI,IAAZkiI,IAAyBA,GAAW,EAAG,SAC9BliI,IAATw1C,IAAsBA,GAAQ,EAAG,SACpBx1C,IAAbihI,IAA0BA,EAAWxyH,OAAOC,WAKhDhZ,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,EAKb,IAAIpP,GAAYu/H,aAHhBkB,GAAYrxH,EAAMosH,KAAKiF,EAAQ,IAAKrxH,EAAMosH,KAAKiF,EAAQ,KAGhBjB,aAFvCkB,GAAYtxH,EAAMosH,KAAKkF,EAAQ,IAAKtxH,EAAMosH,KAAKkF,EAAQ,KAEO4L,WAAYt4F,EAAMyrF,SAAUA,EAAU8M,uBAAwB/L,GAE5HnzH,GAAGszH,oBAAoBzlI,KAAKhH,KAAM+oI,EAAOC,EAAOl9H,IAIpDzL,EAAOmuB,QAAQssG,GAAG2R,oBAAoBlmI,UAAYkB,OAAO0Z,OAAOhI,GAAGszH,oBAAoBlmI,WACvFlG,EAAOmuB,QAAQssG,GAAG2R,oBAAoBlmI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAG2R,oBAsBhFpsI,EAAOmuB,QAAQssG,GAAGoR,mBAAqB,SAAUhxH,EAAO6tH,EAAOgD,EAAQ/C,EAAOgD,EAAQT,EAAUU,QAE3E3hI,IAAbihI,IAA0BA,EAAWxyH,OAAOC,gBAC7B1O,IAAf2hI,IAA4BA,EAAa,MAK7CjsI,KAAKib,KAAOC,EAAMD,KAKlBjb,KAAKkb,MAAQA,EAEb6wH,GAAW7wH,EAAMosH,KAAKyE,EAAO,IAAK7wH,EAAMosH,KAAKyE,EAAO,KACpDC,GAAW9wH,EAAMosH,KAAK0E,EAAO,IAAK9wH,EAAMosH,KAAK0E,EAAO,KAEhDC,IAEAA,GAAe/wH,EAAMosH,KAAK2E,EAAW,IAAK/wH,EAAMosH,KAAK2E,EAAW,MAGpE,IAAIngI,GAAYmgI,WAAYA,EAAYqM,YAAavM,EAAQwM,YAAavM,EAAQT,SAAUA,GAE5FpyH,GAAG+yH,mBAAmBllI,KAAKhH,KAAM+oI,EAAOC,EAAOl9H,IAInDzL,EAAOmuB,QAAQssG,GAAGoR,mBAAmB3lI,UAAYkB,OAAO0Z,OAAOhI,GAAG+yH,mBAAmB3lI,WACrFlG,EAAOmuB,QAAQssG,GAAGoR,mBAAmB3lI,UAAU8B,YAAchI,EAAOmuB,QAAQssG,GAAGoR,mBAuB/E7rI,EAAOm4I,gBAAkB,SAAUzsI,EAAM0sI,EAAUtoI,EAAOC,EAAQo4F,EAAQC,EAASzrB,SAEjE1yE,IAAV6F,GAAuBA,GAAS,KAAKA,EAAQ,UAClC7F,IAAX8F,GAAwBA,GAAU,KAAKA,EAAS,SACrC9F,IAAXk+F,IAAwBA,EAAS,QACrBl+F,IAAZm+F,IAAyBA,EAAU,GAMvCzoG,KAAK+L,KAAOA,EAOZ/L,KAAKy4I,SAAsB,EAAXA,EAOhBz4I,KAAK04I,WAAqB,EAARvoI,EAOlBnQ,KAAK24I,YAAuB,EAATvoI,EASnBpQ,KAAK44I,YAAuB,EAATpwC,EAQnBxoG,KAAK64I,aAAyB,EAAVpwC,EAMpBzoG,KAAKg9E,WAAaA,MAQlBh9E,KAAKq0G,UAQLr0G,KAAK21B,MAAQ,GAGjBt1B,EAAOm4I,gBAAgBjyI,WASnBuyI,mBAAoB,SAAUC,GAE1B,OACIA,GAAc/4I,KAAKy4I,UACnBM,EAAc/4I,KAAKy4I,SAAWz4I,KAAK21B,OAY3CgnC,SAAU,SAAUq8E,EAAKnvH,GAErB7pB,KAAKq0G,OAAOlhG,MAAO6lI,IAAKA,EAAKnvH,MAAOA,IACpC7pB,KAAK21B,UAMbt1B,EAAOm4I,gBAAgBjyI,UAAU8B,YAAchI,EAAOm4I,gBAoBtDn4I,EAAO44I,KAAO,SAAU7iB,EAAOrtH,EAAO5C,EAAG+G,EAAGiD,EAAOC,GAK/CpQ,KAAKo2H,MAAQA,EAKbp2H,KAAK+I,MAAQA,EAKb/I,KAAKmG,EAAIA,EAKTnG,KAAKkN,EAAIA,EAKTlN,KAAK43B,SAAW,EAKhB53B,KAAKk5I,SAAU,EAKfl5I,KAAK+uH,OAAS5oH,EAAIgK,EAKlBnQ,KAAKgvH,OAAS9hH,EAAIkD,EAKlBpQ,KAAKmQ,MAAQA,EAKbnQ,KAAKoQ,OAASA,EAKdpQ,KAAKoR,QAAUnL,KAAK2J,IAAIO,EAAQ,GAKhCnQ,KAAKqR,QAAUpL,KAAK2J,IAAIQ,EAAS,GAKjCpQ,KAAK0e,MAAQ,EAKb1e,KAAKg9E,cAKLh9E,KAAKm5I,SAAU,EAKfn5I,KAAKulI,SAAU,EAKfvlI,KAAKwlI,YAAa,EAKlBxlI,KAAKqlI,UAAW,EAKhBrlI,KAAKslI,WAAY,EAMjBtlI,KAAK4lI,aAAc,EAMnB5lI,KAAK2lI,cAAe,EAMpB3lI,KAAK+lI,WAAY,EAMjB/lI,KAAK8lI,aAAc,EAMnB9lI,KAAKmlI,kBAAoB,KAMzBnlI,KAAKolI,yBAA2BplI,MAIpCK,EAAO44I,KAAK1yI,WAURiU,cAAe,SAAUrU,EAAG+G,GAExB,QAAS/G,EAAInG,KAAK+uH,QAAU7hH,EAAIlN,KAAKgvH,QAAU7oH,EAAInG,KAAKwL,OAAS0B,EAAIlN,KAAKoP,SAa9EG,WAAY,SAAUpJ,EAAG+G,EAAG1B,EAAO4D,GAE/B,QAAI5D,GAASxL,KAAK+uH,YAKd3/G,GAAUpP,KAAKgvH,YAKf7oH,GAAKnG,KAAK+uH,OAAS/uH,KAAKmQ,UAKxBjD,GAAKlN,KAAKgvH,OAAShvH,KAAKoQ,WAiBhCgpI,qBAAsB,SAAU/kH,EAAUvP,GAEtC9kB,KAAKmlI,kBAAoB9wG,EACzBr0B,KAAKolI,yBAA2BtgH,GASpCP,QAAS,WAELvkB,KAAKmlI,kBAAoB,KACzBnlI,KAAKolI,yBAA2B,KAChCplI,KAAKg9E,WAAa,MAatBq8D,aAAc,SAAU5tI,EAAMD,EAAOo2C,EAAInV,GAErCzsC,KAAK4lI,YAAcn6H,EACnBzL,KAAK2lI,aAAen6H,EACpBxL,KAAK+lI,UAAYnkF,EACjB5hD,KAAK8lI,YAAcr5F,EAEnBzsC,KAAKqlI,SAAW55H,EAChBzL,KAAKslI,UAAY95H,EACjBxL,KAAKulI,QAAU3jF,EACf5hD,KAAKwlI,WAAa/4F,GAStB6sG,eAAgB,WAEZt5I,KAAK4lI,aAAc,EACnB5lI,KAAK2lI,cAAe,EACpB3lI,KAAK+lI,WAAY,EACjB/lI,KAAK8lI,aAAc,EAEnB9lI,KAAKulI,SAAU,EACfvlI,KAAKwlI,YAAa,EAClBxlI,KAAKqlI,UAAW,EAChBrlI,KAAKslI,WAAY,GAYrBiU,cAAe,SAAUhK,EAAUiK,GAE/B,OAAIjK,GAAYiK,EAGJx5I,KAAK4lI,aAAe5lI,KAAK2lI,cAAgB3lI,KAAK+lI,WAAa/lI,KAAK8lI,aAAe9lI,KAAKulI,SAAWvlI,KAAKwlI,YAAcxlI,KAAKqlI,UAAYrlI,KAAKslI,WAAatlI,KAAKmlI,kBAE7JoK,EAGGvvI,KAAK4lI,aAAe5lI,KAAK2lI,cAAgB3lI,KAAK+lI,WAAa/lI,KAAK8lI,cAEnE0T,IAGGx5I,KAAKulI,SAAWvlI,KAAKwlI,YAAcxlI,KAAKqlI,UAAYrlI,KAAKslI,YAazEr5H,KAAM,SAAU+4H,GAEZhlI,KAAK+I,MAAQi8H,EAAKj8H,MAClB/I,KAAK0e,MAAQsmH,EAAKtmH,MAClB1e,KAAKg9E,WAAagoD,EAAKhoD,WAEvBh9E,KAAK+lI,UAAYf,EAAKe,UACtB/lI,KAAK8lI,YAAcd,EAAKc,YACxB9lI,KAAK4lI,YAAcZ,EAAKY,YACxB5lI,KAAK2lI,aAAeX,EAAKW,aAEzB3lI,KAAKmlI,kBAAoBH,EAAKG,kBAC9BnlI,KAAKolI,yBAA2BJ,EAAKI,2BAM7C/kI,EAAO44I,KAAK1yI,UAAU8B,YAAchI,EAAO44I,KAO3CxxI,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,YAEzCmG,IAAK,WACD,OAAQ1M,KAAK4lI,aAAe5lI,KAAK2lI,cAAgB3lI,KAAK+lI,WAAa/lI,KAAK8lI,eAUhFr+H,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,cAEzCmG,IAAK,WACD,OAAQ1M,KAAK4lI,aAAe5lI,KAAK2lI,cAAgB3lI,KAAK+lI,WAAa/lI,KAAK8lI,aAAe9lI,KAAKmlI,qBAUpG19H,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,QAEzCmG,IAAK,WACD,OAAO1M,KAAK+uH,UAUpBtnH,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,SAEzCmG,IAAK,WACD,OAAO1M,KAAK+uH,OAAS/uH,KAAKmQ,SAUlC1I,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,OAEzCmG,IAAK,WACD,OAAO1M,KAAKgvH,UAUpBvnH,OAAOmF,eAAevM,EAAO44I,KAAK1yI,UAAW,UAEzCmG,IAAK,WACD,OAAO1M,KAAKgvH,OAAShvH,KAAKoQ,UAgClC/P,EAAOuwD,QAAU,SAAU31C,EAAMpR,EAAKyrD,EAAWC,EAAYplD,EAAOC,GAKhEpQ,KAAKib,KAAOA,EAKZjb,KAAK6J,IAAMA,EAEX,IAAIq6B,EAAO7jC,EAAOo5I,cAAc5hI,MAAM7X,KAAKib,KAAMpR,EAAKyrD,EAAWC,EAAYplD,EAAOC,GAEvE,OAAT8zB,IAQJlkC,KAAKmQ,MAAQ+zB,EAAK/zB,MAKlBnQ,KAAKoQ,OAAS8zB,EAAK9zB,OAKnBpQ,KAAKs1D,UAAYpxB,EAAKoxB,UAKtBt1D,KAAKu1D,WAAarxB,EAAKqxB,WAKvBv1D,KAAKsqH,YAAcpmF,EAAKomF,YAKxBtqH,KAAKgsG,OAAS9nE,EAAK8nE,OAKnBhsG,KAAK05I,QAAUx1G,EAAKw1G,QAKpB15I,KAAKg9E,WAAa94C,EAAK84C,WAKvBh9E,KAAK25I,cAAgBz1G,EAAKy1G,cAK1B35I,KAAK45I,eAAiB11G,EAAK01G,eAK3B55I,KAAKk2H,OAAShyF,EAAKgyF,OAKnBl2H,KAAK65I,SAAW31G,EAAK21G,SAKrB75I,KAAK85I,iBAAmB51G,EAAK41G,iBAK7B95I,KAAK+5I,MAAQ71G,EAAK61G,MAKlB/5I,KAAK04F,QAAUx0D,EAAKw0D,QAKpB14F,KAAKg6I,kBAKLh6I,KAAKivI,UAAY/qG,EAAK+qG,UAKtBjvI,KAAKq0G,OAASnwE,EAAKmwE,OAKnBr0G,KAAKk6B,aAAc,EAKnBl6B,KAAKi6I,aAAe,EAKpBj6I,KAAKk6I,YAMLl6I,KAAKixI,YAMLjxI,KAAKm6I,OAAS,EAMdn6I,KAAKi8D,OAAS,IAQlB57D,EAAOuwD,QAAQokD,IAAM,EAMrB30G,EAAOuwD,QAAQqkD,WAAa,EAM5B50G,EAAOuwD,QAAQwpF,MAAQ,EAMvB/5I,EAAOuwD,QAAQypF,KAAO,EAMtBh6I,EAAOuwD,QAAQ0pF,MAAQ,EAMvBj6I,EAAOuwD,QAAQ2pF,KAAO,EAEtBl6I,EAAOuwD,QAAQrqD,WAcX4a,OAAQ,SAAUpV,EAAMoE,EAAOC,EAAQklD,EAAWC,EAAYl+B,GAW1D,YATc/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,OAE7Clb,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEdpQ,KAAKw6I,YAAYllF,EAAWC,GAE5Bv1D,KAAKk2H,OAAOnuH,OAAS,EAEd/H,KAAKy6I,iBAAiB1uI,EAAMoE,EAAOC,EAAQklD,EAAWC,EAAYl+B,IAW7EmjH,YAAa,SAAUllF,EAAWC,GAE9Bv1D,KAAKs1D,UAAYA,EACjBt1D,KAAKu1D,WAAaA,EAClBv1D,KAAK25I,cAAgB35I,KAAKmQ,MAAQmlD,EAClCt1D,KAAK45I,eAAiB55I,KAAKoQ,OAASmlD,GAoBxCmlF,gBAAiB,SAAUC,EAAS9wI,EAAKyrD,EAAWC,EAAYqlF,EAAYC,EAAa7B,GAErF,QAAgB1uI,IAAZqwI,EAAyB,OAAO,UAClBrwI,IAAdgrD,IAA2BA,EAAYt1D,KAAKs1D,gBAC7BhrD,IAAfirD,IAA4BA,EAAav1D,KAAKu1D,iBAC/BjrD,IAAfswI,IAA4BA,EAAa,QACzBtwI,IAAhBuwI,IAA6BA,EAAc,QACnCvwI,IAAR0uI,IAAqBA,EAAM,GAGb,IAAd1jF,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,IAGjB,IAAIvE,EAAM,KAOV,QALY1mD,IAART,GAA6B,OAARA,IAErBA,EAAM8wI,GAGN9wI,aAAexJ,EAAOiwD,WAEtBU,EAAMnnD,EAAIoiB,WAGd,CACI,IAAKjsB,KAAKib,KAAKsF,MAAMg/D,cAAc11E,GAG/B,OADAvB,QAAQG,KAAK,6DAA+DoB,EAAM,KAC3E,KAGXmnD,EAAMhxD,KAAKib,KAAKsF,MAAM0wC,SAASpnD,GAGnC,IAAI0zE,EAAMv9E,KAAK86I,gBAAgBH,GAE/B,GAAY,OAARp9D,GAAgBv9E,KAAKgsG,SAAW3rG,EAAOuwD,QAAQqkD,WAG/C,OADA3sG,QAAQG,KAAK,yFAA2FkyI,EAAU,KAC3G,KAGX,GAAI36I,KAAK65I,SAASt8D,GAGd,OADAv9E,KAAK65I,SAASt8D,GAAKw9D,SAAS/pF,GACrBhxD,KAAK65I,SAASt8D,GAIrB,IAAIy9D,EAAS,IAAI36I,EAAO46I,QAAQN,EAAS3B,EAAK1jF,EAAWC,EAAYqlF,EAAYC,MAEjFG,EAAOD,SAAS/pF,GAEhBhxD,KAAK65I,SAAS1mI,KAAK6nI,GAUnB,IAAK,IARDhzI,EAAIhI,KAAK65I,SAAS9xI,OAAS,EAC3B5B,EAAIy0I,EACJ1tI,EAAI0tI,EAEJ39G,EAAQ,EACRi+G,EAAS,EACTC,EAAS,EAEJtzI,EAAImxI,EAAKnxI,EAAImxI,EAAMgC,EAAOrlH,QAE/B31B,KAAK+5I,MAAMlyI,IAAM1B,EAAG+G,EAAGlF,GAEvB7B,GAAKmvD,EAAYulF,IAEjB59G,IAEc+9G,EAAOrlH,WAKrBulH,IAEeF,EAAOI,UAElBj1I,EAAIy0I,EACJ1tI,GAAKqoD,EAAaslF,EAElBK,EAAS,IACTC,IAEeH,EAAOK,OAvBYxzI,KA8B1C,OAAOmzI,GA+BfM,kBAAmB,SAAUvvI,EAAMitI,EAAKnvI,EAAKynB,EAAOnG,EAAQ69B,EAAU3xB,EAAOkkH,EAAaC,GAQtF,QANelxI,IAAX6gB,IAAwBA,GAAS,QACpB7gB,IAAb0+C,IAA0BA,GAAW,QAC3B1+C,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,YACzB5Q,IAAhBixI,IAA6BA,EAAcl7I,EAAO2uB,aACtC1kB,IAAZkxI,IAAyBA,GAAU,GAElCx7I,KAAK04F,QAAQ3sF,GAMlB,IAAK,IAAI/D,EAAI,EAAGA,EAAIhI,KAAK04F,QAAQ3sF,GAAMhE,OAAQC,IAC/C,CACI,IAAIyzI,GAAQ,EACRhyI,EAAMzJ,KAAK04F,QAAQ3sF,GAAM/D,GAe7B,QAbgBsC,IAAZb,EAAIuvI,KAAoC,iBAARA,GAAoBvvI,EAAIuvI,MAAQA,EAEhEyC,GAAQ,OAEQnxI,IAAXb,EAAI0L,IAAmC,iBAAR6jI,GAAoBvvI,EAAI0L,KAAO6jI,EAEnEyC,GAAQ,OAEUnxI,IAAbb,EAAIsC,MAAqC,iBAARitI,GAAoBvvI,EAAIsC,OAASitI,IAEvEyC,GAAQ,GAGRA,EACJ,CACI,IAAItjH,EAAS,IAAIojH,EAAYv7I,KAAKib,KAAM0iE,WAAWl0E,EAAItD,EAAG,IAAKw3E,WAAWl0E,EAAIyD,EAAG,IAAKrD,EAAKynB,GAE3F6G,EAAOpsB,KAAOtC,EAAIsC,KAClBosB,EAAO7c,QAAU7R,EAAI6R,QACrB6c,EAAO6wB,SAAWA,EAClB7wB,EAAOhN,OAASA,EAEZ1hB,EAAI0G,QAEJgoB,EAAOhoB,MAAQ1G,EAAI0G,OAGnB1G,EAAI2G,SAEJ+nB,EAAO/nB,OAAS3G,EAAI2G,QAGpB3G,EAAImuB,WAEJO,EAAOxpB,MAAQlF,EAAImuB,UAGnB4jH,IAEArjH,EAAOjrB,GAAKirB,EAAO/nB,QAGvBinB,EAAMnlB,IAAIimB,GAEV,IAAK,IAAIzE,KAAYjqB,EAAIuzE,WAErB3lD,EAAM1qB,IAAIwrB,EAAQzE,EAAUjqB,EAAIuzE,WAAWtpD,IAAW,GAAO,EAAO,GAAG,SAvD/EprB,QAAQG,KAAK,8DAAgEsD,IA6ErF2vI,gBAAiB,SAAU3B,EAAO4B,EAAc9xI,EAAKusH,EAAO/+F,EAAO2lD,GAE1C,iBAAV+8D,IAAsBA,GAASA,SAErBzvI,IAAjBqxI,GAA+C,OAAjBA,EAE9BA,KAE6B,iBAAjBA,IAEZA,GAAgBA,IAGpBvlB,EAAQp2H,KAAKovI,SAAShZ,QAER9rH,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,YAC1B5Q,IAAf0yE,IAA4BA,WAED1yE,IAA3B0yE,EAAW4+D,cAEX5+D,EAAW4+D,YAAcv7I,EAAO2uB,aAGT1kB,IAAvB0yE,EAAWw+D,UAEXx+D,EAAWw+D,SAAU,GAGzB,IAAI7E,EAAK32I,KAAKk2H,OAAOE,GAAOjmH,MACxB0rI,EAAK77I,KAAKk2H,OAAOE,GAAOhmH,OAI5B,GAFApQ,KAAKiM,KAAK,EAAG,EAAG0qI,EAAIkF,EAAIzlB,GAEpBp2H,KAAKixI,SAASlpI,OAAS,EAEvB,OAAO,EAMX,IAAK,IAFDowB,EADAxC,EAAQ,EAGH3tB,EAAI,EAAGF,EAAM9H,KAAKixI,SAASlpI,OAAQC,EAAIF,EAAKE,IAEjD,IAA+C,IAA3C+xI,EAAM9oH,QAAQjxB,KAAKixI,SAASjpI,GAAGe,OACnC,CACIovB,EAAS,IAAI6kD,EAAW4+D,YAAY57I,KAAKib,KAAMjb,KAAKixI,SAASjpI,GAAG+mH,OAAQ/uH,KAAKixI,SAASjpI,GAAGgnH,OAAQnlH,GAEjG,IAAK,IAAI6pB,KAAYspD,EAEjB7kD,EAAOzE,GAAYspD,EAAWtpD,GAGlC2D,EAAMnlB,IAAIimB,GACVxC,IAKR,GAA4B,IAAxBgmH,EAAa5zI,OAGb,IAAKC,EAAI,EAAGA,EAAI+xI,EAAMhyI,OAAQC,IAE1BhI,KAAKuM,QAAQwtI,EAAM/xI,GAAI2zI,EAAa,GAAI,EAAG,EAAGhF,EAAIkF,EAAIzlB,QAGzD,GAAIulB,EAAa5zI,OAAS,EAG3B,IAAKC,EAAI,EAAGA,EAAI+xI,EAAMhyI,OAAQC,IAE1BhI,KAAKuM,QAAQwtI,EAAM/xI,GAAI2zI,EAAa3zI,GAAI,EAAG,EAAG2uI,EAAIkF,EAAIzlB,GAI9D,OAAOzgG,GAiBXmmH,YAAa,SAAU1lB,EAAOjmH,EAAOC,EAAQinB,QAI3B/sB,IAAV6F,IAAuBA,EAAQnQ,KAAKib,KAAK9K,YAC9B7F,IAAX8F,IAAwBA,EAASpQ,KAAKib,KAAK7K,aACjC9F,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,OAE7C,IAAInS,EAAQqtH,EAOZ,GALqB,iBAAVA,IAEPrtH,EAAQ/I,KAAK+7I,cAAc3lB,MAGjB,OAAVrtH,GAAkBA,EAAQ/I,KAAKk2H,OAAOnuH,QAA1C,MAQcuC,IAAV6F,GAAuBA,GAAS,EAEhCA,EAAQlK,KAAKuM,IAAIxS,KAAKib,KAAK9K,MAAOnQ,KAAKk2H,OAAOntH,GAAO4wI,eAEhDxpI,EAAQnQ,KAAKib,KAAK9K,QAEvBA,EAAQnQ,KAAKib,KAAK9K,YAGP7F,IAAX8F,GAAwBA,GAAU,EAElCA,EAASnK,KAAKuM,IAAIxS,KAAKib,KAAK7K,OAAQpQ,KAAKk2H,OAAOntH,GAAO6wI,gBAElDxpI,EAASpQ,KAAKib,KAAK7K,SAExBA,EAASpQ,KAAKib,KAAK7K,QAGnBpQ,KAAKk6B,cAEL5xB,QAAQ+uB,MAAM,uBACd/uB,QAAQC,IAAI,QAASvI,KAAKk2H,OAAOntH,GAAOgD,MACxCzD,QAAQC,IAAI,QAAS4H,EAAO,IAAKC,GACjC9H,QAAQC,IAAI,WAAYvI,KAAK65I,SAAS,GAAG9tI,KAAM,SAAUhD,IAG7D,IAAIizI,EAAY3kH,EAAMnlB,IAAI,IAAI7R,EAAOwwD,aAAa7wD,KAAKib,KAAMjb,KAAM+I,EAAOoH,EAAOC,IAOjF,OALIpQ,KAAKk6B,aAEL5xB,QAAQ2zI,WAGLD,EAvCH1zI,QAAQG,KAAK,iDAAmD2tH,EAAQ,MAwDhFqkB,iBAAkB,SAAU1uI,EAAMoE,EAAOC,EAAQklD,EAAWC,EAAYl+B,QAEtD/sB,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,OAE7C,CAAA,GAAiC,OAA7Blb,KAAK+7I,cAAchwI,GAAvB,CA4BA,IAAK,IAHDipH,EAnBAoB,GAEArqH,KAAMA,EACN5F,EAAG,EACH+G,EAAG,EACHiD,MAAOA,EACPC,OAAQA,EACRupI,cAAexpI,EAAQmlD,EACvBskF,eAAgBxpI,EAASmlD,EACzB72C,MAAO,EACPpD,SAAS,EACT0hE,cACAk/D,WACAtjG,aACA8xF,UACAxmG,KAAM,MAKN11B,KAEKtB,EAAI,EAAGA,EAAIkD,EAAQlD,IAC5B,CACI8nH,KAEA,IAAK,IAAI7uH,EAAI,EAAGA,EAAIgK,EAAOhK,IAEvB6uH,EAAI7hH,KAAK,IAAI9S,EAAO44I,KAAK7iB,GAAQ,EAAGjwH,EAAG+G,EAAGooD,EAAWC,IAGzD/mD,EAAO2E,KAAK6hH,GAGhBoB,EAAMlyF,KAAO11B,EAEbxO,KAAKk2H,OAAO/iH,KAAKijH,GAEjBp2H,KAAKi6I,aAAej6I,KAAKk2H,OAAOnuH,OAAS,EAEzC,IAAIgW,EAAIq4G,EAAMujB,cACV37H,EAAIo4G,EAAMwjB,eAed,OAbI77H,EAAI/d,KAAKib,KAAK9K,QAEd4N,EAAI/d,KAAKib,KAAK9K,OAGd6N,EAAIhe,KAAKib,KAAK7K,SAEd4N,EAAIhe,KAAKib,KAAK7K,SAGd5B,EAAS,IAAInO,EAAOwwD,aAAa7wD,KAAKib,KAAMjb,KAAMA,KAAKk2H,OAAOnuH,OAAS,EAAGgW,EAAGC,IAC1EjS,KAAOA,EAEPsrB,EAAMnlB,IAAI1D,GA5DblG,QAAQG,KAAK,sEAAwEsD,KAyE7FwmB,SAAU,SAAU8mE,EAAUttF,GAE1B,IAAK,IAAI/D,EAAI,EAAGA,EAAIqxF,EAAStxF,OAAQC,IAEjC,GAAIqxF,EAASrxF,GAAG+D,OAASA,EAErB,OAAO/D,EAIf,OAAO,MAWX+zI,cAAe,SAAUhwI,GAErB,OAAO/L,KAAKuyB,SAASvyB,KAAKk2H,OAAQnqH,IAWtC+uI,gBAAiB,SAAU/uI,GAEvB,OAAO/L,KAAKuyB,SAASvyB,KAAK65I,SAAU9tI,IAWxCowI,cAAe,SAAUpwI,GAErB,OAAO/L,KAAKuyB,SAASvyB,KAAKq0G,OAAQtoG,IAiBtCqwI,qBAAsB,SAAUF,EAAS7nH,EAAU7Q,EAAiB4yG,GAIhE,GAFAA,EAAQp2H,KAAKovI,SAAShZ,GAEC,iBAAZ8lB,EAIPl8I,KAAKk2H,OAAOE,GAAOx9E,UAAUsjG,IAAa7nH,SAAUA,EAAU7Q,gBAAiBA,QAI/E,IAAK,IAAIxb,EAAI,EAAGF,EAAMo0I,EAAQn0I,OAAQC,EAAIF,EAAKE,IAE3ChI,KAAKk2H,OAAOE,GAAOx9E,UAAUsjG,EAAQl0I,KAAQqsB,SAAUA,EAAU7Q,gBAAiBA,IAsB9F64H,wBAAyB,SAAUl2I,EAAG+G,EAAGiD,EAAOC,EAAQikB,EAAU7Q,EAAiB4yG,GAM/E,GAJAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,KAE3Bp2H,KAAKixI,SAASlpI,OAAS,GAK3B,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKixI,SAASlpI,OAAQC,IAEtChI,KAAKixI,SAASjpI,GAAGoxI,qBAAqB/kH,EAAU7Q,IAiBxD61H,aAAc,SAAU6C,EAAS3M,EAAUnZ,EAAOkmB,GAO9C,QALiBhyI,IAAbilI,IAA0BA,GAAW,QACrBjlI,IAAhBgyI,IAA6BA,GAAc,GAE/ClmB,EAAQp2H,KAAKovI,SAAShZ,GAEC,iBAAZ8lB,EAEP,OAAOl8I,KAAKu8I,oBAAoBL,EAAS3M,EAAUnZ,GAAO,GAEzD,GAAI1vH,MAAMa,QAAQ20I,GACvB,CAEI,IAAK,IAAIl0I,EAAI,EAAGA,EAAIk0I,EAAQn0I,OAAQC,IAEhChI,KAAKu8I,oBAAoBL,EAAQl0I,GAAIunI,EAAUnZ,GAAO,GAGtDkmB,GAGAt8I,KAAKw8I,eAAepmB,KAkBhCqmB,oBAAqB,SAAU3rI,EAAOysB,EAAMgyG,EAAUnZ,EAAOkmB,GAOzD,QALiBhyI,IAAbilI,IAA0BA,GAAW,QACrBjlI,IAAhBgyI,IAA6BA,GAAc,GAE/ClmB,EAAQp2H,KAAKovI,SAAShZ,KAElBtlH,EAAQysB,GAAZ,CAKA,IAAK,IAAIx0B,EAAQ+H,EAAO/H,GAASw0B,EAAMx0B,IAEnC/I,KAAKu8I,oBAAoBxzI,EAAOwmI,EAAUnZ,GAAO,GAGjDkmB,GAGAt8I,KAAKw8I,eAAepmB,KAe5BsmB,wBAAyB,SAAUR,EAAS3M,EAAUnZ,EAAOkmB,QAExChyI,IAAbilI,IAA0BA,GAAW,QACrBjlI,IAAhBgyI,IAA6BA,GAAc,GAE/ClmB,EAAQp2H,KAAKovI,SAAShZ,GAGtB,IAAK,IAAIpuH,EAAI,EAAGF,EAAM9H,KAAK+5I,MAAMhyI,OAAQC,EAAIF,EAAKE,KAElB,IAAxBk0I,EAAQjrH,QAAQjpB,IAEhBhI,KAAKu8I,oBAAoBv0I,EAAGunI,EAAUnZ,GAAO,GAIjDkmB,GAGAt8I,KAAKw8I,eAAepmB,IAgB5BmmB,oBAAqB,SAAUxzI,EAAOwmI,EAAUnZ,EAAOkmB,GAMnD,QAJiBhyI,IAAbilI,IAA0BA,GAAW,QAC3BjlI,IAAV8rH,IAAuBA,EAAQp2H,KAAKi6I,mBACpB3vI,IAAhBgyI,IAA6BA,GAAc,GAE3C/M,EAEAvvI,KAAKg6I,eAAe7mI,KAAKpK,OAG7B,CACI,IAAIf,EAAIhI,KAAKg6I,eAAe/oH,QAAQloB,GAEhCf,GAAK,GAELhI,KAAKg6I,eAAep2H,OAAO5b,EAAG,GAItC,IAAK,IAAIkF,EAAI,EAAGA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,OAAQlD,IAE3C,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAKk2H,OAAOE,GAAOjmH,MAAOhK,IAC9C,CACI,IAAI6+H,EAAOhlI,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAElC6+H,GAAQA,EAAKj8H,QAAUA,IAEnBwmI,EAEAvK,EAAKqU,cAAa,GAAM,GAAM,GAAM,GAIpCrU,EAAKsU,iBAGTtU,EAAKO,QAAUgK,EACfvK,EAAKQ,WAAa+J,EAClBvK,EAAKK,SAAWkK,EAChBvK,EAAKM,UAAYiK,GAW7B,OANI+M,GAGAt8I,KAAKw8I,eAAepmB,GAGjBA,GAYXgZ,SAAU,SAAUhZ,GAehB,YAbc9rH,IAAV8rH,EAEAA,EAAQp2H,KAAKi6I,aAES,iBAAV7jB,EAEZA,EAAQp2H,KAAK+7I,cAAc3lB,GAEtBA,aAAiB/1H,EAAOwwD,eAE7BulE,EAAQA,EAAMrtH,OAGXqtH,GAWXumB,sBAAuB,SAAU5yI,GAQ7B,IANc,IAAVA,IAAiD,IAA/B/J,KAAK48I,wBAEvB58I,KAAK48I,uBAAwB,EAC7B58I,KAAK68I,uBAGK,IAAV9yI,IAAkD,IAA/B/J,KAAK48I,sBAC5B,CACI58I,KAAK48I,uBAAwB,EAE7B,IAAK,IAAI50I,KAAKhI,KAAK68I,kBAEf78I,KAAKw8I,eAAex0I,GAGxBhI,KAAK68I,mBAAoB,IAYjCL,eAAgB,SAAUpmB,GAEtB,GAAIp2H,KAAK48I,sBAEL58I,KAAK68I,kBAAkBzmB,IAAS,OASpC,IAAK,IALD0mB,EAAQ,KACRC,EAAQ,KACRtxI,EAAO,KACPD,EAAQ,KAEH0B,EAAI,EAAG8Q,EAAIhe,KAAKk2H,OAAOE,GAAOhmH,OAAQlD,EAAI8Q,EAAG9Q,IAElD,IAAK,IAAI/G,EAAI,EAAG4X,EAAI/d,KAAKk2H,OAAOE,GAAOjmH,MAAOhK,EAAI4X,EAAG5X,IACrD,CACI,IAAI6+H,EAAOhlI,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAElC6+H,IAEA8X,EAAQ98I,KAAKg9I,aAAa5mB,EAAOjwH,EAAG+G,GACpC6vI,EAAQ/8I,KAAKi9I,aAAa7mB,EAAOjwH,EAAG+G,GACpCzB,EAAOzL,KAAKk9I,YAAY9mB,EAAOjwH,EAAG+G,GAClC1B,EAAQxL,KAAKwvI,aAAapZ,EAAOjwH,EAAG+G,GAEhC83H,EAAKuK,WAELvK,EAAKO,SAAU,EACfP,EAAKQ,YAAa,EAClBR,EAAKK,UAAW,EAChBL,EAAKM,WAAY,GAGjBwX,GAASA,EAAMvN,WAGfvK,EAAKO,SAAU,GAGfwX,GAASA,EAAMxN,WAGfvK,EAAKQ,YAAa,GAGlB/5H,GAAQA,EAAK8jI,WAGbvK,EAAKK,UAAW,GAGhB75H,GAASA,EAAM+jI,WAGfvK,EAAKM,WAAY,MAiBrC0X,aAAc,SAAU5mB,EAAOjwH,EAAG+G,GAE9B,OAAIA,EAAI,EAEGlN,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,EAAI,GAAG/G,GAGnC,MAaX82I,aAAc,SAAU7mB,EAAOjwH,EAAG+G,GAE9B,OAAIA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,OAAS,EAEzBpQ,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,EAAI,GAAG/G,GAGnC,MAaX+2I,YAAa,SAAU9mB,EAAOjwH,EAAG+G,GAE7B,OAAI/G,EAAI,EAEGnG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,EAAI,GAGnC,MAaXqpI,aAAc,SAAUpZ,EAAOjwH,EAAG+G,GAE9B,OAAI/G,EAAInG,KAAKk2H,OAAOE,GAAOjmH,MAAQ,EAExBnQ,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,EAAI,GAGnC,MAUXg3I,SAAU,SAAU/mB,GAEhBA,EAAQp2H,KAAKovI,SAAShZ,GAElBp2H,KAAKk2H,OAAOE,KAEZp2H,KAAKi6I,aAAe7jB,IAc5BgnB,QAAS,SAAUj3I,EAAG+G,EAAGkpH,GAIrB,OAFAA,EAAQp2H,KAAKovI,SAAShZ,QAEa9rH,IAA/BtK,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,SAAsD5C,IAAlCtK,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,IAKnEnG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG4C,OAAS,GAanDs0I,WAAY,SAAUl3I,EAAG+G,EAAGkpH,GAIxB,GAFAA,EAAQp2H,KAAKovI,SAAShZ,GAElBjwH,GAAK,GAAKA,EAAInG,KAAKk2H,OAAOE,GAAOjmH,OAASjD,GAAK,GAAKA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,QAEvEpQ,KAAKo9I,QAAQj3I,EAAG+G,EAAGkpH,GACvB,CACI,IAAI4O,EAAOhlI,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAQtC,OANAnG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAK,IAAI9F,EAAO44I,KAAKj5I,KAAKk2H,OAAOE,IAAS,EAAGjwH,EAAG+G,EAAGlN,KAAKs1D,UAAWt1D,KAAKu1D,YAEnGv1D,KAAKk2H,OAAOE,GAAOluG,OAAQ,EAE3BloB,KAAKw8I,eAAepmB,GAEb4O,IAiBnBsY,kBAAmB,SAAUn3I,EAAG+G,EAAGooD,EAAWC,EAAY6gE,GAOtD,OALAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBjwH,EAAInG,KAAKib,KAAK0E,KAAK20E,YAAYnuF,EAAGmvD,GAAaA,EAC/CpoD,EAAIlN,KAAKib,KAAK0E,KAAK20E,YAAYpnF,EAAGqoD,GAAcA,EAEzCv1D,KAAKq9I,WAAWl3I,EAAG+G,EAAGkpH,IAejCmnB,QAAS,SAAUvY,EAAM7+H,EAAG+G,EAAGkpH,GAE3B,GAAa,OAAT4O,EAEA,OAAOhlI,KAAKq9I,WAAWl3I,EAAG+G,EAAGkpH,GAKjC,GAFAA,EAAQp2H,KAAKovI,SAAShZ,GAElBjwH,GAAK,GAAKA,EAAInG,KAAKk2H,OAAOE,GAAOjmH,OAASjD,GAAK,GAAKA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,OAC/E,CACI,IAAIrH,EA0CJ,OAxCIi8H,aAAgB3kI,EAAO44I,MAEvBlwI,EAAQi8H,EAAKj8H,MAET/I,KAAKo9I,QAAQj3I,EAAG+G,EAAGkpH,GAEnBp2H,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG8F,KAAK+4H,GAInChlI,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAK,IAAI9F,EAAO44I,KAAK7iB,EAAOrtH,EAAO5C,EAAG+G,EAAG83H,EAAK70H,MAAO60H,EAAK50H,UAKzFrH,EAAQi8H,EAEJhlI,KAAKo9I,QAAQj3I,EAAG+G,EAAGkpH,GAEnBp2H,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG4C,MAAQA,EAItC/I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAK,IAAI9F,EAAO44I,KAAKj5I,KAAKk2H,OAAOE,GAAQrtH,EAAO5C,EAAG+G,EAAGlN,KAAKs1D,UAAWt1D,KAAKu1D,aAI1Gv1D,KAAKg6I,eAAe/oH,QAAQloB,IAAU,EAEtC/I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAGkzI,cAAa,GAAM,GAAM,GAAM,GAI7Dr5I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAGmzI,iBAGlCt5I,KAAKk2H,OAAOE,GAAOluG,OAAQ,EAE3BloB,KAAKw8I,eAAepmB,GAEbp2H,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAGtC,OAAO,MAgBXq3I,eAAgB,SAAUxY,EAAM7+H,EAAG+G,EAAGooD,EAAWC,EAAY6gE,GAOzD,OALAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBjwH,EAAInG,KAAKib,KAAK0E,KAAK20E,YAAYnuF,EAAGmvD,GAAaA,EAC/CpoD,EAAIlN,KAAKib,KAAK0E,KAAK20E,YAAYpnF,EAAGqoD,GAAcA,EAEzCv1D,KAAKu9I,QAAQvY,EAAM7+H,EAAG+G,EAAGkpH,IAiBpCqnB,gBAAiB,SAAU10I,EAAO20I,EAAMp0I,EAAS8sH,QAEhC9rH,IAATozI,IAAsBA,EAAO,QACjBpzI,IAAZhB,IAAyBA,GAAU,GAEvC8sH,EAAQp2H,KAAKovI,SAAShZ,GAEtB,IAAI1mH,EAAI,EAER,GAAIpG,GAEA,IAAS4D,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,OAAS,EAAGlD,GAAK,EAAGA,IAEhD,IAAS/G,EAAInG,KAAKk2H,OAAOE,GAAOjmH,MAAQ,EAAGhK,GAAK,EAAGA,IAE/C,GAAInG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG4C,QAAUA,EAC5C,CACI,GAAI2G,IAAMguI,EAEN,OAAO19I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAIlCuJ,UAQhB,IAAK,IAAIxC,EAAI,EAAGA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,OAAQlD,IAE3C,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAKk2H,OAAOE,GAAOjmH,MAAOhK,IAE1C,GAAInG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG4C,QAAUA,EAC5C,CACI,GAAI2G,IAAMguI,EAEN,OAAO19I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAIlCuJ,IAOpB,OAAO,MAcXiuI,QAAS,SAAUx3I,EAAG+G,EAAGkpH,EAAOwnB,GAM5B,YAJgBtzI,IAAZszI,IAAyBA,GAAU,GAEvCxnB,EAAQp2H,KAAKovI,SAAShZ,GAElBjwH,GAAK,GAAKA,EAAInG,KAAKk2H,OAAOE,GAAOjmH,OAASjD,GAAK,GAAKA,EAAIlN,KAAKk2H,OAAOE,GAAOhmH,QAE9B,IAAzCpQ,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAAG4C,MAE1B60I,EAEO59I,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAI3B,KAKJnG,KAAKk2H,OAAOE,GAAOlyF,KAAKh3B,GAAG/G,GAK/B,MAiBf03I,eAAgB,SAAU13I,EAAG+G,EAAGooD,EAAWC,EAAY6gE,EAAOwnB,GAU1D,YARkBtzI,IAAdgrD,IAA2BA,EAAYt1D,KAAKs1D,gBAC7BhrD,IAAfirD,IAA4BA,EAAav1D,KAAKu1D,YAElD6gE,EAAQp2H,KAAKovI,SAAShZ,GAEtBjwH,EAAInG,KAAKib,KAAK0E,KAAK20E,YAAYnuF,EAAGmvD,GAAaA,EAC/CpoD,EAAIlN,KAAKib,KAAK0E,KAAK20E,YAAYpnF,EAAGqoD,GAAcA,EAEzCv1D,KAAK29I,QAAQx3I,EAAG+G,EAAGkpH,EAAOwnB,IAerC3xI,KAAM,SAAU9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAEjCA,EAAQp2H,KAAKovI,SAAShZ,GAEtB,CAAA,GAAKp2H,KAAKk2H,OAAOE,GAAjB,MAMU9rH,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,QACb5C,IAAV6F,IAAuBA,EAAQnQ,KAAKk2H,OAAOE,GAAOjmH,YACvC7F,IAAX8F,IAAwBA,EAASpQ,KAAKk2H,OAAOE,GAAOhmH,QAEpDjK,EAAI,IAEJA,EAAI,GAGJ+G,EAAI,IAEJA,EAAI,GAGJiD,EAAQnQ,KAAKk2H,OAAOE,GAAOjmH,QAE3BA,EAAQnQ,KAAKk2H,OAAOE,GAAOjmH,OAG3BC,EAASpQ,KAAKk2H,OAAOE,GAAOhmH,SAE5BA,EAASpQ,KAAKk2H,OAAOE,GAAOhmH,QAGhCpQ,KAAKixI,SAASlpI,OAAS,EAEvB/H,KAAKixI,SAAS99H,MAAOhN,EAAGA,EAAG+G,EAAGA,EAAGiD,MAAOA,EAAOC,OAAQA,EAAQgmH,MAAOA,IAEtE,IAAK,IAAInkH,EAAK/E,EAAG+E,EAAK/E,EAAIkD,EAAQ6B,IAE9B,IAAK,IAAID,EAAK7L,EAAG6L,EAAK7L,EAAIgK,EAAO6B,IAE7BhS,KAAKixI,SAAS99H,KAAKnT,KAAKk2H,OAAOE,GAAOlyF,KAAKjyB,GAAID,IAIvD,OAAOhS,KAAKixI,SAzCRjxI,KAAKixI,SAASlpI,OAAS,IAsD/B+1I,MAAO,SAAU33I,EAAG+G,EAAG6wI,EAAW3nB,GAO9B,QALU9rH,IAANnE,IAAmBA,EAAI,QACjBmE,IAAN4C,IAAmBA,EAAI,GAE3BkpH,EAAQp2H,KAAKovI,SAAShZ,GAEjB2nB,KAAaA,EAAUh2I,OAAS,GAArC,CASA,IAAK,IAHDo6E,EAAQh8E,EAAI43I,EAAU,GAAG53I,EACzBi8E,EAAQl1E,EAAI6wI,EAAU,GAAG7wI,EAEpBlF,EAAI,EAAGA,EAAI+1I,EAAUh2I,OAAQC,IAElChI,KAAKk2H,OAAOE,GAAOlyF,KAAMk+C,EAAQ27D,EAAU/1I,GAAGkF,GAAKi1E,EAAQ47D,EAAU/1I,GAAG7B,GAAI8F,KAAK8xI,EAAU/1I,IAGrGhI,KAAKk2H,OAAOE,GAAOluG,OAAQ,EACrBloB,KAAKw8I,eAAepmB,KAgBxBlkG,KAAM,SAAU8rH,EAAOC,EAAO93I,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAE/CA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAE3Bp2H,KAAKixI,SAASlpI,OAAS,IAK3B/H,KAAKm6I,OAAS6D,EACdh+I,KAAKi8D,OAASgiF,EAEdj+I,KAAKixI,SAAStpI,QAAQ3H,KAAKk+I,YAAal+I,MAExCA,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KAWpC8nB,YAAa,SAAUn0I,GAEfA,EAAMhB,QAAU/I,KAAKm6I,OAGrBpwI,EAAMhB,MAAQ/I,KAAKi8D,OAEdlyD,EAAMhB,QAAU/I,KAAKi8D,SAG1BlyD,EAAMhB,MAAQ/I,KAAKm6I,SAiB3BxyI,QAAS,SAAU0sB,EAAUvP,EAAS3e,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAEvDA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAE3Bp2H,KAAKixI,SAASlpI,OAAS,IAK3B/H,KAAKixI,SAAStpI,QAAQ0sB,EAAUvP,GAEhC9kB,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KAgBpC7pH,QAAS,SAAU4B,EAAQE,EAAMlI,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAMlD,GAJAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,KAE3Bp2H,KAAKixI,SAASlpI,OAAS,GAA3B,CAKA,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKixI,SAASlpI,OAAQC,IAElChI,KAAKixI,SAASjpI,GAAGe,QAAUoF,IAE3BnO,KAAKixI,SAASjpI,GAAGe,MAAQsF,GAIjCrO,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KAcpC7rH,OAAQ,SAAUpE,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAMnC,GAJAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,KAE3Bp2H,KAAKixI,SAASlpI,OAAS,GAA3B,CAOA,IAAK,IAFDm0I,KAEKr0I,EAAI,EAAGA,EAAI7H,KAAKixI,SAASlpI,OAAQF,IAEtC,GAAI7H,KAAKixI,SAASppI,GAAGkB,MACrB,CACI,IAAIw0E,EAAMv9E,KAAKixI,SAASppI,GAAGkB,OAEG,IAA1BmzI,EAAQjrH,QAAQssD,IAEhB2+D,EAAQ/oI,KAAKoqE,GAKzB,IAAK,IAAIv1E,EAAI,EAAGA,EAAIhI,KAAKixI,SAASlpI,OAAQC,IAEtChI,KAAKixI,SAASjpI,GAAGe,MAAQ/I,KAAKib,KAAKsE,IAAI0X,KAAKilH,GAGhDl8I,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KAcpC3+F,QAAS,SAAUtxB,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAMpC,GAJAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,KAE3Bp2H,KAAKixI,SAASlpI,OAAS,GAA3B,CAOA,IAAK,IAFDm0I,KAEKr0I,EAAI,EAAGA,EAAI7H,KAAKixI,SAASlpI,OAAQF,IAElC7H,KAAKixI,SAASppI,GAAGkB,OAEjBmzI,EAAQ/oI,KAAKnT,KAAKixI,SAASppI,GAAGkB,OAItC1I,EAAOs2B,WAAWc,QAAQykH,GAE1B,IAAK,IAAIl0I,EAAI,EAAGA,EAAIhI,KAAKixI,SAASlpI,OAAQC,IAEtChI,KAAKixI,SAASjpI,GAAGe,MAAQmzI,EAAQl0I,EAAI,GAGzChI,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KAepCjyF,KAAM,SAAUp7B,EAAO5C,EAAG+G,EAAGiD,EAAOC,EAAQgmH,GAMxC,GAJAA,EAAQp2H,KAAKovI,SAAShZ,GAEtBp2H,KAAKiM,KAAK9F,EAAG+G,EAAGiD,EAAOC,EAAQgmH,KAE3Bp2H,KAAKixI,SAASlpI,OAAS,GAA3B,CAKA,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKixI,SAASlpI,OAAQC,IAEtChI,KAAKixI,SAASjpI,GAAGe,MAAQA,EAG7B/I,KAAK89I,MAAM33I,EAAG+G,EAAGlN,KAAKixI,SAAU7a,KASpC+nB,gBAAiB,WAEbn+I,KAAKk2H,OAAOnuH,OAAS,EACrB/H,KAAKi6I,aAAe,GASxBmE,KAAM,WAKF,IAAK,IAHDC,EAAM,GACNx3I,GAAQ,IAEHqG,EAAI,EAAGA,EAAIlN,KAAKk2H,OAAOl2H,KAAKi6I,cAAc7pI,OAAQlD,IAC3D,CACI,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAKk2H,OAAOl2H,KAAKi6I,cAAc9pI,MAAOhK,IAEtDk4I,GAAO,OAEHr+I,KAAKk2H,OAAOl2H,KAAKi6I,cAAc/1G,KAAKh3B,GAAG/G,GAAK,EAExCnG,KAAKk6I,SAASl6I,KAAKk2H,OAAOl2H,KAAKi6I,cAAc/1G,KAAKh3B,GAAG/G,IAErDU,EAAKsM,KAAK,eAAiBnT,KAAKk6I,SAASl6I,KAAKk2H,OAAOl2H,KAAKi6I,cAAc/1G,KAAKh3B,GAAG/G,KAIhFU,EAAKsM,KAAK,uBAKdtM,EAAKsM,KAAK,4BAIlBkrI,GAAO,KAGXx3I,EAAK,GAAKw3I,EACV/1I,QAAQC,IAAIpB,MAAMmB,QAASzB,IAU/B0d,QAAS,WAELvkB,KAAKm+I,kBACLn+I,KAAKkkC,QACLlkC,KAAKib,KAAO,OAMpB5a,EAAOuwD,QAAQrqD,UAAU8B,YAAchI,EAAOuwD,QAM9CnpD,OAAOmF,eAAevM,EAAOuwD,QAAQrqD,UAAW,SAE5CmG,IAAK,WAED,OAAO1M,KAAKk2H,OAAOl2H,KAAKi6I,eAI5BttI,IAAK,SAAU5C,GAEPA,IAAU/J,KAAKi6I,cAEfj6I,KAAKm9I,SAASpzI,MA6B1B1J,EAAOwwD,aAAe,SAAU51C,EAAMo6C,EAAStsD,EAAOoH,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEV/P,EAAO2uB,OAAOhoB,KAAKhH,KAAMib,EAAM,EAAG,GAQlCjb,KAAKgvI,IAAM35E,EAQXr1D,KAAK+I,MAAQA,EAQb/I,KAAKo2H,MAAQ/gE,EAAQ6gE,OAAOntH,GAO5B/I,KAAKisB,OAAS5rB,EAAOwhC,WAAW1gB,OAAOnhB,KAAMmQ,EAAOC,GAOpDpQ,KAAK8kB,QAAU9kB,KAAKisB,OAAO6V,WAAW,MAEtC9hC,KAAKqwD,WAAW,IAAItqD,KAAK+qD,QAAQ,IAAI/qD,KAAKi1D,YAAYh7D,KAAKisB,OAAQ,KAAMjsB,KAAKib,KAAKqN,cASnFtoB,KAAKoI,KAAO/H,EAAOuB,aAMnB5B,KAAK2uB,YAActuB,EAAOuB,aAe1B5B,KAAKs+I,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShBz+I,KAAKskB,OAAQ,EAKbtkB,KAAKmrB,QAAS,EAkBdnrB,KAAK0+I,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3Bh/I,KAAKi/I,cAAgB,EAQrBj/I,KAAKk/I,cAAgB,EAOrBl/I,KAAKkoB,OAAQ,EAObloB,KAAKm/I,YAAc,EAOnBn/I,KAAKo/I,OAAQ,EAObp/I,KAAKq/I,KAGDhuB,QAAS,EACTF,QAAS,EACTmuB,YAAa,EACbC,aAAc,EAEdjqF,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAKpBpK,GAAIkK,EAAQC,UACZlK,GAAIiK,EAAQE,WAGZskF,aASJ75I,KAAKw/I,SAAW,EAOhBx/I,KAAKy/I,SAAW,EAMhBz/I,KAAK0/I,WAAa,IAAIr/I,EAAOoN,MAAMzN,KAAKo2H,MAAMh/E,SAAW,EAAGp3C,KAAKo2H,MAAM/+E,SAAW,GAOlFr3C,KAAKixI,YAEAh2H,EAAKqS,OAAO27D,oBAEbjpF,KAAKs+I,eAAeG,WAAap+I,EAAOwwD,aAAa8uF,0BAGzD3/I,KAAK4vB,eAAgB,GAIzBvvB,EAAOwwD,aAAatqD,UAAYkB,OAAO0Z,OAAO9gB,EAAO2uB,OAAOzoB,WAC5DlG,EAAOwwD,aAAatqD,UAAU8B,YAAchI,EAAOwwD,aAEnDxwD,EAAOwwD,aAAatqD,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAQpEpd,EAAOwwD,aAAa+uF,iBAAmB,KAWvCv/I,EAAOwwD,aAAa8uF,uBAAyB,WAOzC,OALK3/I,KAAK4/I,mBAEN5/I,KAAK4/I,iBAAmBv/I,EAAOwhC,WAAW1gB,OAAOnhB,KAAM,EAAG,IAGvDA,KAAK4/I,kBAShBv/I,EAAOwwD,aAAatqD,UAAUkX,UAAY,WAEtC,OAAOzd,KAAKo2D,iBAUhB/1D,EAAOwwD,aAAatqD,UAAUwkB,WAAa,WAEnC/qB,KAAK4vB,gBAEL5vB,KAAKia,SAAS9T,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK6vB,aAAa1pB,GAAKnG,KAAKib,KAAKoC,OAAOhI,MAAMlP,EAC3FnG,KAAKia,SAAS/M,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK6vB,aAAa3iB,GAAKlN,KAAKib,KAAKoC,OAAOhI,MAAMnI,GAG/FlN,KAAKw/I,UAAYx/I,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK0/I,WAAWv5I,GAAKnG,KAAKi/I,cAAgBj/I,KAAKqV,MAAMlP,EAChGnG,KAAKy/I,UAAYz/I,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK0/I,WAAWxyI,GAAKlN,KAAKk/I,cAAgBl/I,KAAKqV,MAAMnI,GAWpG7M,EAAOwwD,aAAatqD,UAAUwzD,cAAgB,SAAUR,GAEhDv5D,KAAK4vB,gBAEL5vB,KAAKia,SAAS9T,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK6vB,aAAa1pB,GAAKnG,KAAKib,KAAKoC,OAAOhI,MAAMlP,EAC3FnG,KAAKia,SAAS/M,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK6vB,aAAa3iB,GAAKlN,KAAKib,KAAKoC,OAAOhI,MAAMnI,GAG/FlN,KAAKw/I,UAAYx/I,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK0/I,WAAWv5I,GAAKnG,KAAKi/I,cAAgBj/I,KAAKqV,MAAMlP,EAChGnG,KAAKy/I,UAAYz/I,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK0/I,WAAWxyI,GAAKlN,KAAKk/I,cAAgBl/I,KAAKqV,MAAMnI,EAEhGlN,KAAKqhB,SAELtb,KAAKipB,OAAOzoB,UAAUwzD,cAAc/yD,KAAKhH,KAAMu5D,IAWnDl5D,EAAOwwD,aAAatqD,UAAU+yD,aAAe,SAAUC,GAE/Cv5D,KAAK4vB,gBAEL5vB,KAAKia,SAAS9T,GAAKnG,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK6vB,aAAa1pB,GAAKnG,KAAKib,KAAKoC,OAAOhI,MAAMlP,EAC3FnG,KAAKia,SAAS/M,GAAKlN,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK6vB,aAAa3iB,GAAKlN,KAAKib,KAAKoC,OAAOhI,MAAMnI,GAG/FlN,KAAKw/I,UAAYx/I,KAAKib,KAAKoC,OAAOlC,KAAKhV,EAAInG,KAAK0/I,WAAWv5I,GAAKnG,KAAKi/I,cAAgBj/I,KAAKqV,MAAMlP,EAChGnG,KAAKy/I,UAAYz/I,KAAKib,KAAKoC,OAAOlC,KAAKjO,EAAIlN,KAAK0/I,WAAWxyI,GAAKlN,KAAKk/I,cAAgBl/I,KAAKqV,MAAMnI,EAEhGlN,KAAKqhB,SAELtb,KAAKipB,OAAOzoB,UAAU+yD,aAAatyD,KAAKhH,KAAMu5D,IASlDl5D,EAAOwwD,aAAatqD,UAAUge,QAAU,WAEpClkB,EAAOwhC,WAAWte,OAAOvjB,MAEzBK,EAAOioD,UAAUmD,QAAQllD,UAAUge,QAAQvd,KAAKhH,OAiBpDK,EAAOwwD,aAAatqD,UAAUiT,OAAS,SAAUrJ,EAAOC,GAEpDpQ,KAAKisB,OAAO9b,MAAQA,EACpBnQ,KAAKisB,OAAO7b,OAASA,EAErBpQ,KAAK+jC,QAAQzS,MAAM9X,OAAOrJ,EAAOC,GAEjCpQ,KAAK+jC,QAAQ5zB,MAAQA,EACrBnQ,KAAK+jC,QAAQ3zB,OAASA,EAEtBpQ,KAAK+jC,QAAQqQ,KAAKjkC,MAAQA,EAC1BnQ,KAAK+jC,QAAQqQ,KAAKhkC,OAASA,EAE3BpQ,KAAK+jC,QAAQC,YAAY7zB,MAAQA,EACjCnQ,KAAK+jC,QAAQC,YAAY5zB,OAASA,EAElCpQ,KAAK+jC,QAAQC,YAAY9b,QACzBloB,KAAK+jC,QAAQ87G,gBAAiB,EAE9B7/I,KAAK+jC,QAAQsnB,aAEbrrD,KAAKkoB,OAAQ,GAUjB7nB,EAAOwwD,aAAatqD,UAAUu5I,YAAc,WAExC9/I,KAAKib,KAAKC,MAAMgd,UAAU,EAAG,EAAGl4B,KAAKo2H,MAAMujB,cAAgB35I,KAAKqV,MAAMlP,EAAGnG,KAAKo2H,MAAMwjB,eAAiB55I,KAAKqV,MAAMnI,IAWpH7M,EAAOwwD,aAAatqD,UAAUs+H,eAAiB,WAE3C,OAAO7kI,KAAK0/I,WAAWv5I,IAAQnG,KAAK4vB,cAAmC,EAAlB5vB,KAAKia,SAAS9T,IAWvE9F,EAAOwwD,aAAatqD,UAAUu+H,eAAiB,WAE3C,OAAO9kI,KAAK0/I,WAAWxyI,IAAQlN,KAAK4vB,cAAmC,EAAlB5vB,KAAKia,SAAS/M,IAYvE7M,EAAOwwD,aAAatqD,UAAUw5I,MAAQ,SAAU55I,GAE5C,OAA2B,IAAvBnG,KAAKi/I,eAA+C,IAAvBj/I,KAAKi/I,eAA2C,IAApBj/I,KAAKia,SAAS9T,EAEhEA,EAIgB,IAAvBnG,KAAKi/I,eAA2C,IAApBj/I,KAAKia,SAAS9T,EAEnCA,EAAInG,KAAKia,SAAS9T,EAGtBnG,KAAKw/I,UAAYr5I,EAAKnG,KAAKw/I,SAAWx/I,KAAKi/I,gBAYtD5+I,EAAOwwD,aAAatqD,UAAUy5I,QAAU,SAAU75I,GAE9C,OAA2B,IAAvBnG,KAAKi/I,cAEE94I,EAGHnG,KAAKw/I,SAAWx/I,KAAKi/I,eAAkB94I,EAAInG,KAAKw/I,WAY5Dn/I,EAAOwwD,aAAatqD,UAAU05I,MAAQ,SAAU/yI,GAE5C,OAA2B,IAAvBlN,KAAKk/I,eAA+C,IAAvBl/I,KAAKk/I,eAA2C,IAApBl/I,KAAKia,SAAS/M,EAEhEA,EAIgB,IAAvBlN,KAAKk/I,eAA2C,IAApBl/I,KAAKia,SAAS/M,EAEnCA,EAAIlN,KAAKia,SAAS/M,EAGtBlN,KAAKy/I,UAAYvyI,EAAKlN,KAAKy/I,SAAWz/I,KAAKk/I,gBAYtD7+I,EAAOwwD,aAAatqD,UAAU25I,QAAU,SAAUhzI,GAE9C,OAA2B,IAAvBlN,KAAKk/I,cAEEhyI,EAGHlN,KAAKy/I,SAAWz/I,KAAKk/I,eAAkBhyI,EAAIlN,KAAKy/I,WAY5Dp/I,EAAOwwD,aAAatqD,UAAU45I,SAAW,SAAUh6I,GAG/C,OAAOF,KAAKI,MAAMrG,KAAK+/I,MAAM55I,GAAKnG,KAAKq/I,IAAI/pF,YAY/Cj1D,EAAOwwD,aAAatqD,UAAU65I,SAAW,SAAUlzI,GAG/C,OAAOjH,KAAKI,MAAMrG,KAAKigJ,MAAM/yI,GAAKlN,KAAKq/I,IAAI9pF,aAc/Cl1D,EAAOwwD,aAAatqD,UAAU85I,UAAY,SAAUl6I,EAAG+G,EAAG+B,GAKtD,OAHAA,EAAM9I,EAAInG,KAAKmgJ,SAASh6I,GACxB8I,EAAM/B,EAAIlN,KAAKogJ,SAASlzI,GAEjB+B,GAeX5O,EAAOwwD,aAAatqD,UAAU+5I,gBAAkB,SAAU7uI,EAAMqB,EAAUy8H,EAAUgR,GAE3EztI,IAAYA,EAAW9S,KAAKm/I,kBAChB70I,IAAbilI,IAA0BA,GAAW,QACjBjlI,IAApBi2I,IAAiCA,GAAkB,GAGvD,IAAIxG,EAAQ/5I,KAAK4kI,SAASnzH,EAAKtL,EAAGsL,EAAKvE,EAAGuE,EAAKtB,MAAOsB,EAAKrB,OAAQm/H,EAAUgR,GAE7E,GAAqB,IAAjBxG,EAAMhyI,OAEN,SAOJ,IAAK,IAHD2pH,EAASjgH,EAAKoB,kBAAkBC,GAChCC,KAEK/K,EAAI,EAAGA,EAAI+xI,EAAMhyI,OAAQC,IAE9B,IAAK,IAAIH,EAAI,EAAGA,EAAI6pH,EAAO3pH,OAAQF,IACnC,CACI,IAAIm9H,EAAO+U,EAAM/xI,GACbw4I,EAAQ9uB,EAAO7pH,GACnB,GAAIm9H,EAAKxqH,cAAcgmI,EAAM,GAAIA,EAAM,IACvC,CACIztI,EAAQI,KAAK6xH,GACb,OAKZ,OAAOjyH,GAiBX1S,EAAOwwD,aAAatqD,UAAUq+H,SAAW,SAAUz+H,EAAG+G,EAAGiD,EAAOC,EAAQm/H,EAAUgR,QAG7Dj2I,IAAbilI,IAA0BA,GAAW,QACjBjlI,IAApBi2I,IAAiCA,GAAkB,GAEvD,IAAIE,IAAalR,GAAYgR,GAG7Bp6I,EAAInG,KAAK+/I,MAAM55I,GACf+G,EAAIlN,KAAKigJ,MAAM/yI,GASf,IANA,IAAI8E,EAAK/L,KAAKI,MAAMF,GAAKnG,KAAKq/I,IAAIl0F,GAAKnrD,KAAKqV,MAAMlP,IAC9C8L,EAAKhM,KAAKI,MAAM6G,GAAKlN,KAAKq/I,IAAIj0F,GAAKprD,KAAKqV,MAAMnI,IAE9Ck6E,EAAKnhF,KAAKG,MAAMD,EAAIgK,IAAUnQ,KAAKq/I,IAAIl0F,GAAKnrD,KAAKqV,MAAMlP,IAAM6L,EAC7Dq1E,EAAKphF,KAAKG,MAAM8G,EAAIkD,IAAWpQ,KAAKq/I,IAAIj0F,GAAKprD,KAAKqV,MAAMnI,IAAM+E,EAE3DjS,KAAKixI,SAASlpI,QAEjB/H,KAAKixI,SAAShnI,MAGlB,IAAK,IAAIy2I,EAAKzuI,EAAIyuI,EAAKzuI,EAAKo1E,EAAIq5D,IAE5B,IAAK,IAAIC,EAAK3uI,EAAI2uI,EAAK3uI,EAAKo1E,EAAIu5D,IAChC,CACI,IAAI3rB,EAAMh1H,KAAKo2H,MAAMlyF,KAAKw8G,GAEtB1rB,GAAOA,EAAI2rB,KAEPF,GAAYzrB,EAAI2rB,GAAIpH,cAAchK,EAAUgR,KAE5CvgJ,KAAKixI,SAAS99H,KAAK6hH,EAAI2rB,IAMvC,OAAO3gJ,KAAKixI,SAASxqI,SAazBpG,EAAOwwD,aAAatqD,UAAUq6I,eAAiB,SAAUC,GAErD,IAAIhH,EAAW75I,KAAKq/I,IAAIxF,SAGxB,GAAIgH,EAAY,IAEZ,KAAOhH,EAAS9xI,OAAS84I,GAErBhH,EAAS1mI,UAAK7I,GAItB,IAAIw2I,EAAW9gJ,KAAKgvI,IAAI+K,MAAM8G,IAAc7gJ,KAAKgvI,IAAI+K,MAAM8G,GAAW,GAEtE,GAAiB,OAAbC,EACJ,CACI,IAAInG,EAAU36I,KAAKgvI,IAAI6K,SAASiH,GAEhC,GAAInG,GAAWA,EAAQoG,kBAAkBF,GAErC,OAAQhH,EAASgH,GAAalG,EAItC,OAAQd,EAASgH,GAAa,MAYlCxgJ,EAAOwwD,aAAatqD,UAAUy6I,kBAAoB,WAI9C,IAFA,IAAInH,EAAW75I,KAAKq/I,IAAIxF,SAEjBA,EAAS9xI,QAEZ8xI,EAAS5vI,OAYjB5J,EAAOwwD,aAAatqD,UAAU06I,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,EAEnB,IAAK,IAAIh0I,EAAI,EAAGA,EAAIlN,KAAKo2H,MAAMlyF,KAAKn8B,OAAQmF,IAIxC,IAAK,IAFD8nH,EAAMh1H,KAAKo2H,MAAMlyF,KAAKh3B,GAEjB/G,EAAI,EAAGA,EAAI6uH,EAAIjtH,OAAQ5B,IAChC,CACI,IAAI6+H,EAAOhQ,EAAI7uH,GAEf6+H,EAAK70H,MAAQnQ,KAAKgvI,IAAI15E,UAAY4rF,EAClClc,EAAK50H,OAASpQ,KAAKgvI,IAAIz5E,WAAa4rF,EAEpCnc,EAAKjW,OAASiW,EAAK7+H,EAAI6+H,EAAK70H,MAC5B60H,EAAKhW,OAASgW,EAAK93H,EAAI83H,EAAK50H,OAIpCpQ,KAAKqV,MAAMpH,MAAMizI,EAAQC,IAe7B9gJ,EAAOwwD,aAAatqD,UAAU66I,YAAc,SAAUt8H,EAAS3e,EAAG+G,GAE9D,IAAI+e,EAASnH,EAAQmH,OACjBo1H,EAAQp1H,EAAO9b,MAAQlK,KAAK2J,IAAIzJ,GAChCm7I,EAAQr1H,EAAO7b,OAASnK,KAAK2J,IAAI1C,GAGjC4B,EAAK,EACLC,EAAK,EACLiE,EAAK7M,EACL8M,EAAK/F,EAEL/G,EAAI,IAEJ2I,GAAM3I,EACN6M,EAAK,GAGL9F,EAAI,IAEJ6B,GAAM7B,EACN+F,EAAK,GAGT,IAAIwrI,EAAaz+I,KAAKs+I,eAAeG,WAErC,GAAIA,EACJ,EAGQA,EAAWtuI,MAAQkxI,GAAS5C,EAAWruI,OAASkxI,KAEhD7C,EAAWtuI,MAAQkxI,EACnB5C,EAAWruI,OAASkxI,GAGxB,IAAIC,EAAc9C,EAAW38G,WAAW,MACxCy/G,EAAYhtG,UAAU,EAAG,EAAG8sG,EAAOC,GACnCC,EAAY/sG,UAAUvoB,EAAQnd,EAAIC,EAAIsyI,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAEjEx8H,EAAQyvB,UAAUvhC,EAAIC,EAAIouI,EAAOC,GACjCx8H,EAAQ0vB,UAAUiqG,EAAY,EAAG,EAAG4C,EAAOC,EAAOtuI,EAAIC,EAAIouI,EAAOC,QAMjEx8H,EAAQC,OACRD,EAAQy+C,yBAA2B,OACnCz+C,EAAQ0vB,UAAUvoB,EAAQnd,EAAIC,EAAIsyI,EAAOC,EAAOtuI,EAAIC,EAAIouI,EAAOC,GAC/Dx8H,EAAQG,WAkBhB5kB,EAAOwwD,aAAatqD,UAAUi7I,aAAe,SAAUnwB,EAASF,EAAS1lH,EAAM0D,EAAK3D,EAAO4D,GAEvF,IAAI0V,EAAU9kB,KAAK8kB,QAEf3U,EAAQnQ,KAAKo2H,MAAMjmH,MACnBC,EAASpQ,KAAKo2H,MAAMhmH,OACpBg3E,EAAKpnF,KAAKq/I,IAAI/pF,UACd+xB,EAAKrnF,KAAKq/I,IAAI9pF,WAEdskF,EAAW75I,KAAKq/I,IAAIxF,SACpB4H,EAAYruB,IAEXpzH,KAAKo/I,QAEF3zI,GAAQD,IAERC,EAAOxF,KAAKyM,IAAI,EAAGjH,GACnBD,EAAQvF,KAAKuM,IAAIrC,EAAQ,EAAG3E,IAE5B2D,GAAOC,IAEPD,EAAMlJ,KAAKyM,IAAI,EAAGvD,GAClBC,EAASnJ,KAAKuM,IAAIpC,EAAS,EAAGhB,KAKtC,IAUI4C,EAAIC,EAAI9L,EAAG+G,EAAGw0I,EAAMC,EAVpBC,EAASn2I,EAAO27E,EAAMiqC,EAItBwwB,GAAcp2I,GAAS,GAAK,IAAM0E,GAAUA,EAQhD,IAAKjD,GAPaiC,GAAQ,GAAK,IAAMiB,GAAWA,EAO3BuxI,EAAOvyI,EAASD,EAAK8C,EAX7B9C,EAAMk4E,EAAM8pC,EAW6BwwB,GAAQ,EAAGz0I,IAAKy0I,IAAQ1vI,GAAMo1E,EACpF,CACQn6E,GAAKkD,IAELlD,GAAKkD,GAGT,IAAI4kH,EAAMh1H,KAAKo2H,MAAMlyF,KAAKh3B,GAE1B,IAAK/G,EAAI07I,EAAYH,EAAOl2I,EAAQC,EAAMuG,EAAK4vI,EAAOF,GAAQ,EAAGv7I,IAAKu7I,IAAQ1vI,GAAMo1E,EACpF,CACQjhF,GAAKgK,IAELhK,GAAKgK,GAGT,IAAI60H,EAAOhQ,EAAI7uH,GAEf,GAAK6+H,KAAQA,EAAKj8H,MAAQ,GAA1B,CAKA,IAAIA,EAAQi8H,EAAKj8H,MAEb4D,EAAMktI,EAAS9wI,QAEPuB,IAARqC,IAEAA,EAAM3M,KAAK4gJ,eAAe73I,IAI1Bi8H,EAAKtmH,QAAU+iI,GAAczhJ,KAAKskB,QAElCQ,EAAQk1C,YAAcgrE,EAAKtmH,MAC3B+iI,EAAYzc,EAAKtmH,OAGjB/R,EAEIq4H,EAAKptG,UAAYotG,EAAKkU,SAEtBp0H,EAAQC,OACRD,EAAQ1P,UAAUpD,EAAKgzH,EAAK5zH,QAASa,EAAK+yH,EAAK3zH,SAC/CyT,EAAQvT,OAAOyzH,EAAKptG,UAEhBotG,EAAKkU,SAELp0H,EAAQzP,OAAO,EAAG,GAGtB1I,EAAI2vD,KAAKx3C,GAAUkgH,EAAK5zH,SAAU4zH,EAAK3zH,QAAStI,GAChD+b,EAAQG,WAIRtY,EAAI2vD,KAAKx3C,EAAS9S,EAAIC,EAAIlJ,GAGzB/I,KAAK0+I,cAAcC,mBAExB75H,EAAQy3C,UAAYv8D,KAAK0+I,cAAcC,iBACvC75H,EAAQ03C,SAASxqD,EAAIC,EAAIm1E,EAAIC,IAG7B29C,EAAK1gH,OAAStkB,KAAK0+I,cAAcE,uBAEjC95H,EAAQy3C,UAAYv8D,KAAK0+I,cAAcE,qBACvC95H,EAAQ03C,SAASxqD,EAAIC,EAAIm1E,EAAIC,QAe7ChnF,EAAOwwD,aAAatqD,UAAUu7I,kBAAoB,SAAUC,EAAQC,GAEhE,IAAI3wB,EAAUrxH,KAAKq/I,IAAIhuB,QACnBF,EAAUnxH,KAAKq/I,IAAIluB,QAEnB8wB,EAAUjiJ,KAAKisB,OAAO9b,MACtB+xI,EAAUliJ,KAAKisB,OAAO7b,OAEtBg3E,EAAKpnF,KAAKq/I,IAAI/pF,UACd+xB,EAAKrnF,KAAKq/I,IAAI9pF,WAKd9pD,EAAO,EACPD,GAAS47E,EACTj4E,EAAM,EACNC,GAAUi4E,EAgCd,GA9BI06D,EAAS,GAETt2I,EAAOw2I,EAAUF,EACjBv2I,EAAQy2I,EAAU,GAEbF,EAAS,IAGdv2I,EAAQu2I,GAGRC,EAAS,GAET7yI,EAAM+yI,EAAUF,EAChB5yI,EAAS8yI,EAAU,GAEdF,EAAS,IAGd5yI,EAAS4yI,GAGbhiJ,KAAKohJ,YAAYphJ,KAAK8kB,QAASi9H,EAAQC,GAGvCv2I,EAAOxF,KAAKI,OAAOoF,EAAO4lH,GAAWjqC,GACrC57E,EAAQvF,KAAKI,OAAOmF,EAAQ6lH,GAAWjqC,GACvCj4E,EAAMlJ,KAAKI,OAAO8I,EAAMgiH,GAAW9pC,GACnCj4E,EAASnJ,KAAKI,OAAO+I,EAAS+hH,GAAW9pC,GAErC57E,GAAQD,EACZ,CAEIxL,KAAK8kB,QAAQyvB,UAAY9oC,EAAO27E,EAAMiqC,EAAU,GAAI7lH,EAAQC,EAAO,GAAK27E,EAAI86D,GAE5E,IAAIC,EAAUl8I,KAAKI,OAAO,EAAI8qH,GAAW9pC,GACrC+6D,EAAan8I,KAAKI,OAAO67I,EAAU,EAAI/wB,GAAW9pC,GACtDrnF,KAAKwhJ,aAAanwB,EAASF,EAAS1lH,EAAM02I,EAAS32I,EAAO42I,GAG9D,GAAIjzI,GAAOC,EACX,CAEIpP,KAAK8kB,QAAQyvB,UAAU,EAAKplC,EAAMk4E,EAAM8pC,EAAU8wB,GAAU7yI,EAASD,EAAM,GAAKk4E,GAEhF,IAAIg7D,EAAWp8I,KAAKI,OAAO,EAAIgrH,GAAWjqC,GACtCk7D,EAAYr8I,KAAKI,OAAO47I,EAAU,EAAI5wB,GAAWjqC,GACrDpnF,KAAKwhJ,aAAanwB,EAASF,EAASkxB,EAAUlzI,EAAKmzI,EAAWlzI,KAWtE/O,EAAOwwD,aAAatqD,UAAUg8I,WAAa,WAEvC,IAAIlxB,EAAUrxH,KAAKq/I,IAAIhuB,QACnBF,EAAUnxH,KAAKq/I,IAAIluB,QAEnB8wB,EAAUjiJ,KAAKisB,OAAO9b,MACtB+xI,EAAUliJ,KAAKisB,OAAO7b,OAEtBg3E,EAAKpnF,KAAKq/I,IAAI/pF,UACd+xB,EAAKrnF,KAAKq/I,IAAI9pF,WAEd9pD,EAAOxF,KAAKI,MAAMgrH,EAAUjqC,GAC5B57E,EAAQvF,KAAKI,OAAO47I,EAAU,EAAI5wB,GAAWjqC,GAC7Cj4E,EAAMlJ,KAAKI,MAAM8qH,EAAU9pC,GAC3Bj4E,EAASnJ,KAAKI,OAAO67I,EAAU,EAAI/wB,GAAW9pC,GAElDrnF,KAAK8kB,QAAQyvB,UAAU,EAAG,EAAG0tG,EAASC,GAEtCliJ,KAAKwhJ,aAAanwB,EAASF,EAAS1lH,EAAM0D,EAAK3D,EAAO4D,IAU1D/O,EAAOwwD,aAAatqD,UAAU8a,OAAS,WAEnC,IAAImhI,GAAY,EAEhB,GAAKxiJ,KAAKsb,QAAV,EAKItb,KAAKkoB,OAASloB,KAAKo2H,MAAMluG,SAEzBloB,KAAKo2H,MAAMluG,OAAQ,EACnBs6H,GAAY,GAGhB,IAAIlD,EAAct/I,KAAKisB,OAAO9b,MAC1BovI,EAAev/I,KAAKisB,OAAO7b,OAG3BihH,EAA0B,EAAhBrxH,KAAKw/I,SACfruB,EAA0B,EAAhBnxH,KAAKy/I,SAEfgD,EAAKziJ,KAAKq/I,IACV0C,EAASU,EAAGpxB,QAAUA,EACtB2wB,EAASS,EAAGtxB,QAAUA,EAE1B,GAAKqxB,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGnD,cAAgBA,GAAemD,EAAGlD,eAAiBA,EAoD1D,OA9CAv/I,KAAK8kB,QAAQC,OAEb09H,EAAGpxB,QAAUA,EACboxB,EAAGtxB,QAAUA,EAETsxB,EAAGnD,cAAgBA,GAAemD,EAAGlD,eAAiBA,IAGtDkD,EAAGnD,YAAcA,EACjBmD,EAAGlD,aAAeA,GAGlBv/I,KAAKskB,QAELtkB,KAAK8kB,QAAQk1C,YAAch6D,KAAK0+I,cAAcI,WAE1C9+I,KAAK0+I,cAAcG,kBAEnB2D,GAAY,KAIfA,GACDxiJ,KAAKs+I,eAAeC,mBACnBt4I,KAAK2J,IAAImyI,GAAU97I,KAAK2J,IAAIoyI,GAAW/7I,KAAKuM,IAAI8sI,EAAaC,GAE9Dv/I,KAAK8hJ,kBAAkBC,EAAQC,GAK/BhiJ,KAAKuiJ,aAGLviJ,KAAKskB,QAELtkB,KAAK8kB,QAAQk1C,YAAc,EAC3Bh6D,KAAK0iJ,eAGT1iJ,KAAK+jC,QAAQC,YAAY9b,QAEzBloB,KAAKkoB,OAAQ,EAEbloB,KAAK8kB,QAAQG,WAEN,IAYX5kB,EAAOwwD,aAAatqD,UAAUm8I,YAAc,WAExC,IAuBI1wI,EAAIC,EAAI9L,EAAG+G,EAAGw0I,EAAMC,EAvBpBtwB,EAAUrxH,KAAKq/I,IAAIhuB,QACnBF,EAAUnxH,KAAKq/I,IAAIluB,QAEnBrsG,EAAU9kB,KAAK8kB,QACfm9H,EAAUjiJ,KAAKisB,OAAO9b,MACtB+xI,EAAUliJ,KAAKisB,OAAO7b,OAEtBD,EAAQnQ,KAAKo2H,MAAMjmH,MACnBC,EAASpQ,KAAKo2H,MAAMhmH,OACpBg3E,EAAKpnF,KAAKq/I,IAAI/pF,UACd+xB,EAAKrnF,KAAKq/I,IAAI9pF,WAEd9pD,EAAOxF,KAAKI,MAAMgrH,EAAUjqC,GAC5B57E,EAAQvF,KAAKI,OAAO47I,EAAU,EAAI5wB,GAAWjqC,GAC7Cj4E,EAAMlJ,KAAKI,MAAM8qH,EAAU9pC,GAC3Bj4E,EAASnJ,KAAKI,OAAO67I,EAAU,EAAI/wB,GAAW9pC,GAE9Cu6D,EAASn2I,EAAO27E,EAAMiqC,EACtBsxB,EAASxzI,EAAMk4E,EAAM8pC,EAErB0wB,GAAcp2I,GAAS,GAAK,IAAM0E,GAAUA,EAC5CyyI,GAAczzI,GAAQ,GAAK,IAAMiB,GAAWA,EAMhD,IAFA0U,EAAQy8C,YAAcvhE,KAAK0+I,cAAcK,iBAEpC7xI,EAAI01I,EAAYjB,EAAOvyI,EAASD,EAAK8C,EAAK0wI,EAAOhB,GAAQ,EAAGz0I,IAAKy0I,IAAQ1vI,GAAMo1E,EACpF,CACQn6E,GAAKkD,IAELlD,GAAKkD,GAGT,IAAI4kH,EAAMh1H,KAAKo2H,MAAMlyF,KAAKh3B,GAE1B,IAAK/G,EAAI07I,EAAYH,EAAOl2I,EAAQC,EAAMuG,EAAK4vI,EAAOF,GAAQ,EAAGv7I,IAAKu7I,IAAQ1vI,GAAMo1E,EACpF,CACQjhF,GAAKgK,IAELhK,GAAKgK,GAGT,IAAI60H,EAAOhQ,EAAI7uH,IACV6+H,GAAQA,EAAKj8H,MAAQ,IAAMi8H,EAAKuK,WAKjCvvI,KAAK0+I,cAAcM,wBAEnBl6H,EAAQy3C,UAAYv8D,KAAK0+I,cAAcM,sBACvCl6H,EAAQ03C,SAASxqD,EAAIC,EAAIjS,KAAKq/I,IAAIl0F,GAAInrD,KAAKq/I,IAAIj0F,KAG/CprD,KAAK0+I,cAAcK,mBAEnBj6H,EAAQm8C,YAEJ+jE,EAAKO,UAELzgH,EAAQs8C,OAAOpvD,EAAIC,GACnB6S,EAAQu8C,OAAOrvD,EAAKhS,KAAKq/I,IAAIl0F,GAAIl5C,IAGjC+yH,EAAKQ,aAEL1gH,EAAQs8C,OAAOpvD,EAAIC,EAAKjS,KAAKq/I,IAAIj0F,IACjCtmC,EAAQu8C,OAAOrvD,EAAKhS,KAAKq/I,IAAIl0F,GAAIl5C,EAAKjS,KAAKq/I,IAAIj0F,KAG/C45E,EAAKK,WAELvgH,EAAQs8C,OAAOpvD,EAAIC,GACnB6S,EAAQu8C,OAAOrvD,EAAIC,EAAKjS,KAAKq/I,IAAIj0F,KAGjC45E,EAAKM,YAELxgH,EAAQs8C,OAAOpvD,EAAKhS,KAAKq/I,IAAIl0F,GAAIl5C,GACjC6S,EAAQu8C,OAAOrvD,EAAKhS,KAAKq/I,IAAIl0F,GAAIl5C,EAAKjS,KAAKq/I,IAAIj0F,KAGnDtmC,EAAQq8C,YAERr8C,EAAQ08C,cAiBxB/5D,OAAOmF,eAAevM,EAAOwwD,aAAatqD,UAAW,QAEjDmG,IAAK,WACD,OAAO1M,KAAKo/I,OAGhBzyI,IAAK,SAAU5C,GACX/J,KAAKo/I,MAAQr1I,EACb/J,KAAKkoB,OAAQ,KAYrBzgB,OAAOmF,eAAevM,EAAOwwD,aAAatqD,UAAW,WAEjDmG,IAAK,WACD,OAAO1M,KAAKw/I,UAGhB7yI,IAAK,SAAU5C,GACX/J,KAAKw/I,SAAWz1I,KAYxBtC,OAAOmF,eAAevM,EAAOwwD,aAAatqD,UAAW,WAEjDmG,IAAK,WACD,OAAO1M,KAAKy/I,UAGhB9yI,IAAK,SAAU5C,GACX/J,KAAKy/I,SAAW11I,KAYxBtC,OAAOmF,eAAevM,EAAOwwD,aAAatqD,UAAW,kBAEjDmG,IAAK,WACD,OAAO1M,KAAKq/I,IAAIl0F,IAGpBx+C,IAAK,SAAU5C,GACX/J,KAAKq/I,IAAIl0F,GAAa,EAARphD,EACd/J,KAAKkoB,OAAQ,KAYrBzgB,OAAOmF,eAAevM,EAAOwwD,aAAatqD,UAAW,mBAEjDmG,IAAK,WACD,OAAO1M,KAAKq/I,IAAIj0F,IAGpBz+C,IAAK,SAAU5C,GACX/J,KAAKq/I,IAAIj0F,GAAa,EAARrhD,EACd/J,KAAKkoB,OAAQ,KAiBrB7nB,EAAOo5I,eAaHoJ,aAAa,EAcbhrI,MAAO,SAAUoD,EAAMpR,EAAKyrD,EAAWC,EAAYplD,EAAOC,GAOtD,QALkB9F,IAAdgrD,IAA2BA,EAAY,SACxBhrD,IAAfirD,IAA4BA,EAAa,SAC/BjrD,IAAV6F,IAAuBA,EAAQ,SACpB7F,IAAX8F,IAAwBA,EAAS,SAEzB9F,IAART,EAEA,OAAO7J,KAAK8iJ,eAGhB,GAAY,OAARj5I,EAEA,OAAO7J,KAAK8iJ,aAAaxtF,EAAWC,EAAYplD,EAAOC,GAG3D,IAAI4+H,EAAM/zH,EAAKsF,MAAMovF,eAAe9lG,GAEpC,GAAImlI,EACJ,CACI,GAAIA,EAAIhjC,SAAW3rG,EAAOuwD,QAAQokD,IAE9B,OAAOh1G,KAAK+iJ,SAASl5I,EAAKmlI,EAAI9qG,KAAMoxB,EAAWC,GAE9C,IAAKy5E,EAAIhjC,QAAUgjC,EAAIhjC,SAAW3rG,EAAOuwD,QAAQqkD,WAElD,OAAOj1G,KAAKgjJ,eAAehU,EAAI9qG,WAKnC57B,QAAQG,KAAK,0DAA4DoB,IAejFk5I,SAAU,SAAUl5I,EAAKq6B,EAAMoxB,EAAWC,GAYtC,IAAK,IAVDy5E,EAAMhvI,KAAK8iJ,eAKXt0I,KACA6sI,GAHJn3G,EAAOA,EAAKiQ,QAGI9qC,MAAM,MAClB+G,EAASirI,EAAKtzI,OACdoI,EAAQ,EAEHjD,EAAI,EAAGA,EAAImuI,EAAKtzI,OAAQmF,IACjC,CACIsB,EAAOtB,MAIP,IAAK,IAFD+1I,EAAS5H,EAAKnuI,GAAG7D,MAAM,KAElBlD,EAAI,EAAGA,EAAI88I,EAAOl7I,OAAQ5B,IAE/BqI,EAAOtB,GAAG/G,GAAK,IAAI9F,EAAO44I,KAAKjK,EAAI9Y,OAAO,GAAIjrH,SAASg4I,EAAO98I,GAAI,IAAKA,EAAG+G,EAAGooD,EAAWC,GAG9E,IAAVplD,IAEAA,EAAQ8yI,EAAOl7I,QAmBvB,OAfAinI,EAAIhjC,OAAS3rG,EAAOuwD,QAAQokD,IAC5Bg6B,EAAIjjI,KAAOlC,EACXmlI,EAAI7+H,MAAQA,EACZ6+H,EAAI5+H,OAASA,EACb4+H,EAAI15E,UAAYA,EAChB05E,EAAIz5E,WAAaA,EACjBy5E,EAAI2K,cAAgBxpI,EAAQmlD,EAC5B05E,EAAI4K,eAAiBxpI,EAASmlD,EAE9By5E,EAAI9Y,OAAO,GAAG/lH,MAAQA,EACtB6+H,EAAI9Y,OAAO,GAAG9lH,OAASA,EACvB4+H,EAAI9Y,OAAO,GAAGyjB,cAAgB3K,EAAI2K,cAClC3K,EAAI9Y,OAAO,GAAG0jB,eAAiB5K,EAAI4K,eACnC5K,EAAI9Y,OAAO,GAAGhyF,KAAO11B,EAEdwgI,GAUX8T,aAAc,SAAUxtF,EAAWC,EAAYplD,EAAOC,GAElD,OACID,WAAkB7F,IAAV6F,GAAiC,OAAVA,EAAkBA,EAAQ,EACzDC,YAAoB9F,IAAX8F,GAAmC,OAAXA,EAAmBA,EAAS,EAC7DklD,eAA0BhrD,IAAdgrD,GAAyC,OAAdA,EAAsBA,EAAY,EACzEC,gBAA4BjrD,IAAfirD,GAA2C,OAAfA,EAAuBA,EAAa,EAC7E+0D,YAAa,aACbovB,QAAS,IACT18D,cACA28D,cAAe,EACfC,eAAgB,EAChB1jB,SAEQnqH,KAAM,QACN5F,EAAG,EACH+G,EAAG,EACHiD,MAAO,EACPC,OAAQ,EACRupI,cAAe,EACfC,eAAgB,EAChBl7H,MAAO,EACPpD,SAAS,EACT0hE,cACAk/D,WACAtjG,aACA8xF,UACAxmG,UAGRmwE,UACA3b,WACAu2C,aACA4K,YACAE,WAWRiJ,eAAgB,SAAUp6C,GA4TtB,SAASniG,EAAOgD,EAAKy5I,GAEjB,IAAIC,KAEJ,IAAK,IAAI7oG,KAAK4oG,EACd,CACI,IAAIr5I,EAAMq5I,EAAO5oG,QAEO,IAAb7wC,EAAII,KAEXs5I,EAAOt5I,GAAOJ,EAAII,IAI1B,OAAOs5I,EAxUX,GAAyB,eAArBv6C,EAAK0hB,YAGL,OADAhiH,QAAQG,KAAK,oGACN,KAoBX,IAAK,IAhBDumI,GACA7+H,MAAOy4F,EAAKz4F,MACZC,OAAQw4F,EAAKx4F,OACbklD,UAAWszC,EAAKO,UAChB5zC,WAAYqzC,EAAKM,WACjBohB,YAAa1hB,EAAK0hB,YAClBte,OAAQ3rG,EAAOuwD,QAAQqkD,WACvBykC,QAAS9wC,EAAK8wC,QACd18D,WAAY4rB,EAAK5rB,WACjB28D,cAAe/wC,EAAKz4F,MAAQy4F,EAAKO,UACjCywC,eAAgBhxC,EAAKx4F,OAASw4F,EAAKM,YAInCgtB,KAEKluH,EAAI,EAAGA,EAAI4gG,EAAKstB,OAAOnuH,OAAQC,IAEpC,GAA4B,cAAxB4gG,EAAKstB,OAAOluH,GAAGI,KAAnB,CAKA,IAAIg7I,EAAOx6C,EAAKstB,OAAOluH,GAKvB,IAAKo7I,EAAKjvC,aAAeivC,EAAKC,UAA8B,WAAlBD,EAAKC,SAC/C,CAOI,IAAK,IANDC,EAAer7I,OAAOs7I,KAAKH,EAAKl/G,MAChCp8B,EAAMw7I,EAAav7I,OACnBy7I,EAAQ,IAAI98I,MAAMoB,GAIb2Q,EAAI,EAAGA,EAAI3Q,EAAK2Q,GAAG,EAExB+qI,EAAM/qI,EAAI,IACN6qI,EAAalhG,WAAW3pC,GACxB6qI,EAAalhG,WAAW3pC,EAAI,IAAM,EAClC6qI,EAAalhG,WAAW3pC,EAAI,IAAM,GAClC6qI,EAAalhG,WAAW3pC,EAAI,IAAM,MAChC,EAGV2qI,EAAKl/G,KAAOs/G,SAELJ,EAAKC,cAEX,GAAID,EAAKjvC,YACd,CACI7rG,QAAQG,KAAK,oFAAuF26I,EAAKr3I,KAAO,KAChH,SAGAqqH,GAEArqH,KAAMq3I,EAAKr3I,KACX5F,EAAGi9I,EAAKj9I,EACR+G,EAAGk2I,EAAKl2I,EACRiD,MAAOizI,EAAKjzI,MACZC,OAAQgzI,EAAKhzI,OACbupI,cAAeyJ,EAAKjzI,MAAQy4F,EAAKO,UACjCywC,eAAgBwJ,EAAKhzI,OAASw4F,EAAKM,WACnCxqF,MAAO0kI,EAAKK,QACZrsG,QAASgsG,EAAKM,QACdrsG,QAAS+rG,EAAKO,QACdroI,QAAS8nI,EAAK9nI,QACd0hE,cACAk/D,WACAtjG,aACA8xF,WAIA0Y,EAAKpmE,aAELo5C,EAAMp5C,WAAaomE,EAAKpmE,YAc5B,IAAK,IARDplD,EAAUshH,EAAS0K,EAHnBz9I,EAAI,EACJ6uH,KACAxmH,KASK3G,EAAI,EAAGC,EAAMs7I,EAAKl/G,KAAKn8B,OAAQF,EAAIC,EAAKD,IACjD,CAOI,GANA+vB,EAAW,EACXshH,GAAU,EACVF,EAAMoK,EAAKl/G,KAAKr8B,GAChB+7I,EAAa,EAGT5K,EAAM,UAuBN,OApBIA,EAAM,aAENA,GAAO,WACP4K,GAAc,GAId5K,EAAM,aAENA,GAAO,WACP4K,GAAc,GAId5K,EAAM,YAENA,GAAO,UACP4K,GAAc,GAGVA,GAEJ,KAAK,EACDhsH,EAAW3xB,KAAKsH,GAAK,EACrB,MAEJ,KAAK,EACDqqB,EAAW3xB,KAAKsH,GAChB,MAEJ,KAAK,EACDqqB,EAAW,EAAI3xB,KAAKsH,GAAK,EACzB,MAEJ,KAAK,EACDqqB,EAAW,EACXshH,GAAU,EACV,MAEJ,KAAK,EACDthH,EAAW3xB,KAAKsH,GAAK,EACrB2rI,GAAU,EACV,MAEJ,KAAK,EACDthH,EAAW3xB,KAAKsH,GAChB2rI,GAAU,EACV,MAEJ,KAAK,EACDthH,EAAW,EAAI3xB,KAAKsH,GAAK,EACzB2rI,GAAU,EAMlBF,EAAM,IAEFhU,EAAO,IAAI3kI,EAAO44I,KAAK7iB,EAAO4iB,EAAK7yI,EAAGqI,EAAOzG,OAAQ6gG,EAAKO,UAAWP,EAAKM,aAEzEtxE,SAAWA,EAChBotG,EAAKkU,QAAUA,EAEI,IAAf0K,IAGA5e,EAAK4e,WAAaA,GAGtB5uB,EAAI7hH,KAAK6xH,IAIL3kI,EAAOo5I,cAAcoJ,YAErB7tB,EAAI7hH,KAAK,MAIT6hH,EAAI7hH,KAAK,IAAI9S,EAAO44I,KAAK7iB,GAAQ,EAAGjwH,EAAGqI,EAAOzG,OAAQ6gG,EAAKO,UAAWP,EAAKM,eAInF/iG,IAEUi9I,EAAKjzI,QAEX3B,EAAO2E,KAAK6hH,GACZ7uH,EAAI,EACJ6uH,MAIRoB,EAAMlyF,KAAO11B,EAEb0nH,EAAO/iH,KAAKijH,GAGhB4Y,EAAI9Y,OAASA,EAKb,IAAK,IAFD7hB,KAEKrsG,EAAI,EAAGA,EAAI4gG,EAAKstB,OAAOnuH,OAAQC,IAEpC,GAA4B,eAAxB4gG,EAAKstB,OAAOluH,GAAGI,KAAnB,CAKA,IAAIy7I,EAAOj7C,EAAKstB,OAAOluH,GAEnB6hB,GAEA9d,KAAM83I,EAAK93I,KACX8d,MAAOg6H,EAAKh6H,MACZ1jB,EAAG09I,EAAK19I,EACR+G,EAAG22I,EAAK32I,EACRwR,MAAOmlI,EAAKJ,QACZnoI,QAASuoI,EAAKvoI,QACd0hE,eAIA6mE,EAAK7mE,aAELnzD,EAAMmzD,WAAa6mE,EAAK7mE,YAG5Bq3B,EAAOlhG,KAAK0W,GAIhBmlH,EAAI36B,OAASA,EAOb,IAAK,IAJDwlC,KACAC,KACAgK,EAAU,KAEL97I,EAAI,EAAGA,EAAI4gG,EAAKixC,SAAS9xI,OAAQC,IAC1C,CAII,IAFI2E,EAAMi8F,EAAKixC,SAAS7xI,IAEhBmG,OAEJ7F,QAAQG,KAAK,+HAAiIkE,EAAIwB,aAEjJ,GAAIxB,EAAIkd,MACb,CACI,IAAImxH,EAAS,IAAI36I,EAAO46I,QAAQtuI,EAAIZ,KAAMY,EAAI8rI,SAAU9rI,EAAIw8F,UAAWx8F,EAAIu8F,WAAYv8F,EAAI67F,OAAQ77F,EAAI87F,QAAS97F,EAAIqwE,YAEhHrwE,EAAIo3I,iBAEJ/I,EAAOgJ,eAAiBr3I,EAAIo3I,gBAKhC/I,EAAOiJ,eAAet3I,EAAIu3I,WAAYv3I,EAAIw3I,aAE1CtK,EAAS1mI,KAAK6nI,OAEb,CAAA,IAAIruI,EAAIotI,MAeT,MAAM,IAAIpiI,MAAM,WAAahL,EAAIZ,KAAO,wCAbxC,IAAIq4I,EAAgB,IAAI/jJ,EAAOm4I,gBAAgB7rI,EAAIZ,KAAMY,EAAI8rI,SAAU9rI,EAAIw8F,UAAWx8F,EAAIu8F,WAAYv8F,EAAI67F,OAAQ77F,EAAI87F,QAAS97F,EAAIqwE,YAEnI,IAAK,IAAIqnE,KAAM13I,EAAIotI,MACnB,CACI,IAAIlwH,EAAQld,EAAIotI,MAAMsK,GAAIx6H,MACtBmvH,EAAMrsI,EAAI8rI,SAAWxtI,SAASo5I,EAAI,IACtCD,EAAcznF,SAASq8E,EAAKnvH,GAGhCiwH,EAAiB3mI,KAAKixI,GAQtBN,IAEAA,EAAQQ,QAAU33I,EAAI8rI,SAAW,GAGrCqL,EAAUn3I,EAGd,GAAwB,IAApBktI,EAAS9xI,QAA4C,IAA5B+xI,EAAiB/xI,OAE1C,MAAM,IAAI4P,MAAM,iCAGpBq3H,EAAI6K,SAAWA,EACf7K,EAAI8K,iBAAmBA,EAuBvB,IAAK,IApBDphD,KACAu2C,KAmBKjnI,EAAI,EAAGA,EAAI4gG,EAAKstB,OAAOnuH,OAAQC,IAEpC,GAA4B,gBAAxB4gG,EAAKstB,OAAOluH,GAAGI,KAAnB,CAKA,IAAIm8I,EAAO37C,EAAKstB,OAAOluH,GAEvB0wF,EAAQ6rD,EAAKx4I,SACbkjI,EAAUsV,EAAKx4I,SAEf,IAAK,IAAI2vB,EAAI,EAAG5zB,EAAMy8I,EAAK7rD,QAAQ3wF,OAAQ2zB,EAAI5zB,EAAK4zB,IAGhD,GAAI6oH,EAAK7rD,QAAQh9D,GAAGs9G,IACpB,CACQ5iH,GAEA4iH,IAAKuL,EAAK7rD,QAAQh9D,GAAGs9G,IACrBjtI,KAAMw4I,EAAK7rD,QAAQh9D,GAAG3vB,KACtB3D,KAAMm8I,EAAK7rD,QAAQh9D,GAAG5yB,eAAe,QAAUy7I,EAAK7rD,QAAQh9D,GAAGtzB,KAAO,GACtEjC,EAAGo+I,EAAK7rD,QAAQh9D,GAAGv1B,EACnB+G,EAAGq3I,EAAK7rD,QAAQh9D,GAAGxuB,EACnBiD,MAAOo0I,EAAK7rD,QAAQh9D,GAAGvrB,MACvBC,OAAQm0I,EAAK7rD,QAAQh9D,GAAGtrB,OACxBkL,QAASipI,EAAK7rD,QAAQh9D,GAAGpgB,QACzB0hE,WAAYunE,EAAK7rD,QAAQh9D,GAAGshD,YAI5BunE,EAAK7rD,QAAQh9D,GAAG9D,WAEhBxB,EAAOwB,SAAW2sH,EAAK7rD,QAAQh9D,GAAG9D,UAGtC8gE,EAAQ6rD,EAAKx4I,MAAMoH,KAAKijB,QAEvB,GAAImuH,EAAK7rD,QAAQh9D,GAAGwzG,SACzB,CACQ94G,GAEArqB,KAAMw4I,EAAK7rD,QAAQh9D,GAAG3vB,KACtB3D,KAAMm8I,EAAK7rD,QAAQh9D,GAAGtzB,KACtBjC,EAAGo+I,EAAK7rD,QAAQh9D,GAAGv1B,EACnB+G,EAAGq3I,EAAK7rD,QAAQh9D,GAAGxuB,EACnBiD,MAAOo0I,EAAK7rD,QAAQh9D,GAAGvrB,MACvBC,OAAQm0I,EAAK7rD,QAAQh9D,GAAGtrB,OACxBkL,QAASipI,EAAK7rD,QAAQh9D,GAAGpgB,QACzB0hE,WAAYunE,EAAK7rD,QAAQh9D,GAAGshD,YAI5BunE,EAAK7rD,QAAQh9D,GAAG9D,WAEhBxB,EAAOwB,SAAW2sH,EAAK7rD,QAAQh9D,GAAG9D,UAGtCxB,EAAO84G,YAGP,IAAS7+H,EAAI,EAAGA,EAAIk0I,EAAK7rD,QAAQh9D,GAAGwzG,SAASnnI,OAAQsI,IAEjD+lB,EAAO84G,SAAS/7H,MAAOoxI,EAAK7rD,QAAQh9D,GAAGwzG,SAAS7+H,GAAGlK,EAAGo+I,EAAK7rD,QAAQh9D,GAAGwzG,SAAS7+H,GAAGnD,IAGtF+hI,EAAUsV,EAAKx4I,MAAMoH,KAAKijB,GAC1BsiE,EAAQ6rD,EAAKx4I,MAAMoH,KAAKijB,QAGvB,GAAImuH,EAAK7rD,QAAQh9D,GAAG8oH,QACzB,EACQpuH,EAAS3vB,EAAM89I,EAAK7rD,QAAQh9D,IAAK,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,gBAG/E8oH,WAEP,IAAK,IAAIn0I,EAAI,EAAGA,EAAIk0I,EAAK7rD,QAAQh9D,GAAG8oH,QAAQz8I,OAAQsI,IAEhD+lB,EAAOouH,QAAQrxI,MAAMoxI,EAAK7rD,QAAQh9D,GAAG8oH,QAAQn0I,GAAGlK,EAAGo+I,EAAK7rD,QAAQh9D,GAAG8oH,QAAQn0I,GAAGnD,IAGlFwrF,EAAQ6rD,EAAKx4I,MAAMoH,KAAKijB,QAIvB,GAAImuH,EAAK7rD,QAAQh9D,GAAG+oH,QACzB,CACI,IAAIruH,EAAS3vB,EAAM89I,EAAK7rD,QAAQh9D,IAAK,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,eACpHg9D,EAAQ6rD,EAAKx4I,MAAMoH,KAAKijB,QAKpBA,EAAS3vB,EAAM89I,EAAK7rD,QAAQh9D,IAAK,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,gBAClG+yF,WAAY,EACnB/1B,EAAQ6rD,EAAKx4I,MAAMoH,KAAKijB,GAKpC44G,EAAIt2C,QAAUA,EACds2C,EAAIC,UAAYA,EAEhBD,EAAI+K,SAGJ,IAAS/xI,EAAI,EAAGA,EAAIgnI,EAAI6K,SAAS9xI,OAAQC,IAWrC,IAAK,IAPD7B,GAFAwG,EAAMqiI,EAAI6K,SAAS7xI,IAEX4yI,WACR1tI,EAAIP,EAAIiuI,WAER39G,EAAQ,EACRi+G,EAAS,EACTC,EAAS,EAEJtzI,EAAI8E,EAAI8rI,SAAU5wI,EAAI8E,EAAI8rI,SAAW9rI,EAAIgpB,QAG9Cq5G,EAAI+K,MAAMlyI,IAAM1B,EAAG+G,EAAGlF,GAEtB7B,GAAKwG,EAAI2oD,UAAY3oD,EAAIkuI,cAEzB59G,IAEctwB,EAAIgpB,WAKlBulH,IAEevuI,EAAIyuI,UAEfj1I,EAAIwG,EAAIiuI,WACR1tI,GAAKP,EAAI4oD,WAAa5oD,EAAIkuI,YAE1BK,EAAS,IACTC,IAEexuI,EAAI0uI,OAxB8BxzI,KAyC7D,IAAK,IANDuuH,EACA4O,EACA0f,EACA/3I,EAGK3E,EAAI,EAAGA,EAAIgnI,EAAI9Y,OAAOnuH,OAAQC,IACvC,CACIouH,EAAQ4Y,EAAI9Y,OAAOluH,GAEnB2E,EAAM,KAGN,IAAS8L,EAAI,EAAGA,EAAI29G,EAAMlyF,KAAKn8B,OAAQ0Q,IACvC,CACIu8G,EAAMoB,EAAMlyF,KAAKzrB,GAGjB,IAAK,IAAI6hC,EAAI,EAAGA,EAAI06E,EAAIjtH,OAAQuyC,IAIf,QAFb0qF,EAAOhQ,EAAI16E,KAEU0qF,EAAKj8H,MAAQ,IAOlC27I,EAAM1V,EAAI+K,MAAM/U,EAAKj8H,OAAO,IAC5B4D,EAAMqiI,EAAI6K,SAAS6K,IAKXV,gBAAkBr3I,EAAIq3I,eAAehf,EAAKj8H,MAAQ4D,EAAI8rI,YAE1DzT,EAAKhoD,WAAa38E,EAAO6I,MAAMoD,MAAMK,EAAIq3I,eAAehf,EAAKj8H,MAAQ4D,EAAI8rI,UAAWzT,EAAKhoD,eAOzG,OAAOgyD,IA2Bf3uI,EAAO46I,QAAU,SAAUlvI,EAAM0sI,EAAUtoI,EAAOC,EAAQo4F,EAAQC,EAASzrB,SAEzD1yE,IAAV6F,GAAuBA,GAAS,KAAKA,EAAQ,UAClC7F,IAAX8F,GAAwBA,GAAU,KAAKA,EAAS,SACrC9F,IAAXk+F,IAAwBA,EAAS,QACrBl+F,IAAZm+F,IAAyBA,EAAU,GAMvCzoG,KAAK+L,KAAOA,EAOZ/L,KAAKy4I,SAAsB,EAAXA,EAOhBz4I,KAAKs1D,UAAoB,EAARnlD,EAOjBnQ,KAAKu1D,WAAsB,EAATnlD,EASlBpQ,KAAK46I,WAAsB,EAATpyC,EAQlBxoG,KAAK66I,YAAwB,EAAVpyC,EAMnBzoG,KAAKg9E,WAAaA,MAQlBh9E,KAAK6pB,MAAQ,KAQb7pB,KAAKq7I,KAAO,EAQZr7I,KAAKo7I,QAAU,EAQfp7I,KAAK21B,MAAQ,EAQb31B,KAAK2kJ,eAITtkJ,EAAO46I,QAAQ10I,WAYX+1D,KAAM,SAAUx3C,EAAS3e,EAAG+G,EAAGnE,GAG3B,IAAI67I,EAAc77I,EAAQ/I,KAAKy4I,UAAa,EAExCmM,GAAc,GAAMA,EAAa,EAAK5kJ,KAAK2kJ,WAAW58I,QAEtD+c,EAAQ0vB,UACJx0C,KAAK6pB,MACL7pB,KAAK2kJ,WAAWC,GAChB5kJ,KAAK2kJ,WAAWC,EAAa,GAC7B5kJ,KAAKs1D,UACLt1D,KAAKu1D,WACLpvD,EACA+G,EACAlN,KAAKs1D,UACLt1D,KAAKu1D,aAajBwrF,kBAAmB,SAAUF,GAEzB,OACIA,GAAa7gJ,KAAKy4I,UAClBoI,EAAa7gJ,KAAKy4I,SAAWz4I,KAAK21B,OAY1ColH,SAAU,SAAUlxH,GAEhB7pB,KAAK6pB,MAAQA,EACb7pB,KAAKikJ,eAAep6H,EAAM1Z,MAAO0Z,EAAMzZ,SAY3Cy0I,WAAY,SAAUr8C,EAAQC,GAE1BzoG,KAAK46I,WAAsB,EAATpyC,EAClBxoG,KAAK66I,YAAwB,EAAVpyC,EAEfzoG,KAAK6pB,OAEL7pB,KAAKikJ,eAAejkJ,KAAK6pB,MAAM1Z,MAAOnQ,KAAK6pB,MAAMzZ,SAazD6zI,eAAgB,SAAUvL,EAAYC,GAGlC,IAAImM,GAAYnM,EAAgC,EAAlB34I,KAAK46I,WAAiB56I,KAAK66I,cAAgB76I,KAAKu1D,WAAav1D,KAAK66I,aAC5FkK,GAAYrM,EAA+B,EAAlB14I,KAAK46I,WAAiB56I,KAAK66I,cAAgB76I,KAAKs1D,UAAYt1D,KAAK66I,aAE1FiK,EAAW,GAAM,GAAKC,EAAW,GAAM,GAEvCz8I,QAAQG,KAAK,oBAAsBzI,KAAK+L,KAAO,yDAKnD+4I,EAAW7+I,KAAKI,MAAMy+I,GACtBC,EAAW9+I,KAAKI,MAAM0+I,IAEjB/kJ,KAAKq7I,MAAQr7I,KAAKq7I,OAASyJ,GAAc9kJ,KAAKo7I,SAAWp7I,KAAKo7I,UAAY2J,IAE3Ez8I,QAAQG,KAAK,+EAGjBzI,KAAKq7I,KAAOyJ,EACZ9kJ,KAAKo7I,QAAU2J,EACf/kJ,KAAK21B,MAAQmvH,EAAWC,EAExB/kJ,KAAK2kJ,WAAW58I,OAAS,EAKzB,IAAK,IAHDiK,EAAKhS,KAAK46I,WACV3oI,EAAKjS,KAAK46I,WAEL1tI,EAAI,EAAGA,EAAIlN,KAAKq7I,KAAMnuI,IAC/B,CACI,IAAK,IAAI/G,EAAI,EAAGA,EAAInG,KAAKo7I,QAASj1I,IAE9BnG,KAAK2kJ,WAAWxxI,KAAKnB,GACrBhS,KAAK2kJ,WAAWxxI,KAAKlB,GACrBD,GAAMhS,KAAKs1D,UAAYt1D,KAAK66I,YAGhC7oI,EAAKhS,KAAK46I,WACV3oI,GAAMjS,KAAKu1D,WAAav1D,KAAK66I,eAOzCx6I,EAAO46I,QAAQ10I,UAAU8B,YAAchI,EAAO46I,QAoB9C56I,EAAO+zI,SAAW,SAAUn5H,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEzCjxB,EAAO2uB,OAAOhoB,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAM1CtxB,KAAKglJ,WAAY,EAMjBhlJ,KAAKilJ,UAAY,KAMjBjlJ,KAAKklJ,GAAK,EAMVllJ,KAAKmlJ,WAAY,EAMjBnlJ,KAAKolJ,UAAY,KAMjBplJ,KAAKqlJ,GAAK,GAIdhlJ,EAAO+zI,SAAS7tI,UAAYkB,OAAO0Z,OAAO9gB,EAAO2uB,OAAOzoB,WACxDlG,EAAO+zI,SAAS7tI,UAAU8B,YAAchI,EAAO+zI,SAQ/C/zI,EAAO+zI,SAAS7tI,UAAUyY,OAAS,WAE3Bhf,KAAKglJ,cAELhlJ,KAAKklJ,GAIDllJ,KAAKqV,MAAM1I,IAAI3M,KAAKilJ,UAAUjlJ,KAAKklJ,IAAI/+I,EAAGnG,KAAKilJ,UAAUjlJ,KAAKklJ,IAAIh4I,GAIlElN,KAAKglJ,WAAY,GAIrBhlJ,KAAKmlJ,cAELnlJ,KAAKqlJ,GAIDrlJ,KAAK0e,MAAQ1e,KAAKolJ,UAAUplJ,KAAKqlJ,IAAI3pH,EAIrC17B,KAAKmlJ,WAAY,IAY7B9kJ,EAAO+zI,SAAS7tI,UAAU++I,OAAS,aASnCjlJ,EAAO+zI,SAAS7tI,UAAUg/I,aAAe,SAASrhH,GAE9ClkC,KAAKolJ,UAAYlhH,EACjBlkC,KAAKqlJ,GAAKnhH,EAAKn8B,OAAS,EACxB/H,KAAK0e,MAAQ1e,KAAKolJ,UAAUplJ,KAAKqlJ,IAAI3pH,EACrC17B,KAAKmlJ,WAAY,GAUrB9kJ,EAAO+zI,SAAS7tI,UAAUi/I,aAAe,SAASthH,GAE9ClkC,KAAKilJ,UAAY/gH,EACjBlkC,KAAKklJ,GAAKhhH,EAAKn8B,OAAS,EACxB/H,KAAKqV,MAAM1I,IAAI3M,KAAKilJ,UAAUjlJ,KAAKklJ,IAAI/+I,EAAGnG,KAAKilJ,UAAUjlJ,KAAKklJ,IAAIh4I,GAClElN,KAAKglJ,WAAY,GAgBrB3kJ,EAAO+zI,SAAS7tI,UAAU4Z,MAAQ,SAASha,EAAG+G,EAAG0hD,GAU7C,OARAvuD,EAAOioD,UAAU0J,MAAMzrD,UAAU4Z,MAAMnZ,KAAKhH,KAAMmG,EAAG+G,EAAG0hD,GAExD5uD,KAAK0e,MAAQ,EACb1e,KAAKqV,MAAM1I,IAAI,GAEf3M,KAAKglJ,WAAY,EACjBhlJ,KAAKmlJ,WAAY,EAEVnlJ,MAiBXK,EAAO26B,UAAY,SAAU/f,GAKzBjb,KAAKib,KAAOA,EAKZjb,KAAKylJ,YAMLzlJ,KAAK0lJ,GAAK,GAIdrlJ,EAAO26B,UAAUz0B,WAQb2L,IAAK,SAAUmiD,GAEX,OADAr0D,KAAKylJ,SAASpxF,EAAQl/C,IAAMk/C,EACrBA,GAQX9wC,OAAQ,SAAU8wC,UACPr0D,KAAKylJ,SAASpxF,EAAQl/C,KAYjC6J,OAAQ,WACJ,IAAK,IAAInV,KAAO7J,KAAKylJ,SAEbzlJ,KAAKylJ,SAAS57I,GAAKshB,QAEnBnrB,KAAKylJ,SAAS57I,GAAKmV,WAQnC3e,EAAO26B,UAAUz0B,UAAU8B,YAAchI,EAAO26B,UAahD36B,EAAO26B,UAAUu5B,UAoBjBl0D,EAAO26B,UAAUu5B,OAAOC,QAAU,SAAUv5C,EAAM9U,EAAG+G,EAAGonD,GAMpDt0D,KAAKs0D,aAAeA,GAAgB,GAEpCj0D,EAAO+tB,MAAMpnB,KAAKhH,KAAMib,GAMxBjb,KAAK46G,IAAM56G,KAAKib,KAAK4F,UAAU6kI,KAK/B1lJ,KAAK+L,KAAO,UAAY/L,KAAKmV,GAM7BnV,KAAKoI,KAAO/H,EAAOwB,QAMnB7B,KAAK2uB,YAActuB,EAAOoB,MAM1BzB,KAAKkY,KAAO,IAAI7X,EAAO2N,UAAU7H,EAAG+G,EAAG,EAAG,GAM1ClN,KAAK2lJ,SAAW,KAMhB3lJ,KAAK4lJ,SAAW,KAMhB5lJ,KAAK6lJ,SAAW,EAMhB7lJ,KAAK8lJ,SAAW,IAMhB9lJ,KAAK+lJ,iBAAmB,IAAI1lJ,EAAOoN,OAAO,KAAM,KAMhDzN,KAAKgmJ,iBAAmB,IAAI3lJ,EAAOoN,MAAM,IAAK,KAM9CzN,KAAKimJ,iBAAmB,EAMxBjmJ,KAAKkmJ,iBAAmB,EAKxBlmJ,KAAKilJ,UAAY,KAMjBjlJ,KAAKmmJ,aAAe,IAMpBnmJ,KAAKomJ,YAAc,IAMnBpmJ,KAAKqmJ,iBAAmB,EAMxBrmJ,KAAKsmJ,iBAAmB,EAKxBtmJ,KAAKolJ,UAAY,KAMjBplJ,KAAKumJ,cAAgBlmJ,EAAO+zI,SAK5Bp0I,KAAKwmJ,aAAe,IAAInmJ,EAAOoN,MAM/BzN,KAAKq8H,YAAc,EAMnBr8H,KAAK82F,UAAY,IAMjB92F,KAAK4vD,SAAW,IAKhB5vD,KAAK+/H,OAAS,IAAI1/H,EAAOoN,MAMzBzN,KAAKunI,IAAK,EAMVvnI,KAAKymJ,eAAiB,IAAIpmJ,EAAOoN,MAAM,GAAK,IAM5CzN,KAAKm/D,UAAY9+D,EAAOoE,WAAWC,OAQnC1E,KAAK0mJ,MAAQvgJ,EAQbnG,KAAK2mJ,MAAQz5I,EAKblN,KAAKglJ,WAAY,EAKjBhlJ,KAAKmlJ,WAAY,EAMjBnlJ,KAAK4mJ,oBAAqB,EAM1B5mJ,KAAK6mJ,oBAAqB,EAS1B7mJ,KAAKi9B,OACD6pH,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,YAAa,GAOjBjnJ,KAAKknJ,SAAW,IAAI7mJ,EAAOoN,MAAM,EAAG,KAMpCzN,KAAKmnJ,kBAAoB,IAAI9mJ,EAAOoN,MAAM,EAAG,GAM7CzN,KAAKonJ,kBAAoB,IAAI/mJ,EAAOoN,MAAM,EAAG,GAM7CzN,KAAK07H,OAAS,EAMd17H,KAAKqnJ,OAAS,EAMdrnJ,KAAKsnJ,SAAW,EAMhBtnJ,KAAKunJ,cAAgB,EAMrBvnJ,KAAKwnJ,WAAa,EAMlBxnJ,KAAKynJ,UAAW,EAMhBznJ,KAAKimG,QAAU,MAInB5lG,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAYkB,OAAO0Z,OAAO9gB,EAAO+tB,MAAM7nB,WACvElG,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU8B,YAAchI,EAAO26B,UAAUu5B,OAAOC,QAOhFn0D,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUyY,OAAS,WAK/C,GAHAhf,KAAKi9B,MAAM6pH,QAAU,EACrB9mJ,KAAKi9B,MAAM8pH,OAAS,EAEhB/mJ,KAAKunI,IAAMvnI,KAAKib,KAAKmE,KAAKA,MAAQpf,KAAKqnJ,OAIvC,GAFArnJ,KAAKqnJ,OAASrnJ,KAAKib,KAAKmE,KAAKA,KAAOpf,KAAK82F,UAAY92F,KAAKib,KAAKmE,KAAKyd,WAE5C,IAApB78B,KAAKwnJ,WAEL,GAAIxnJ,KAAKunJ,cAAgB,GAErB,IAASv/I,EAAI,EAAGA,EAAIhI,KAAKunJ,cAAev/I,IAEpC,GAAIhI,KAAK0nJ,iBAEL1nJ,KAAKsnJ,YAEoB,IAArBtnJ,KAAKwnJ,YAAqBxnJ,KAAKsnJ,UAAYtnJ,KAAKwnJ,YACpD,CACIxnJ,KAAKunI,IAAK,EACV,YAORvnI,KAAK0nJ,iBAEL1nJ,KAAKsnJ,YAEoB,IAArBtnJ,KAAKwnJ,YAAqBxnJ,KAAKsnJ,UAAYtnJ,KAAKwnJ,aAEhDxnJ,KAAKunI,IAAK,SAOlBvnI,KAAK0nJ,iBAEL1nJ,KAAKsnJ,WAEDtnJ,KAAK07H,OAAS,GAAK17H,KAAKsnJ,UAAYtnJ,KAAK07H,SAEzC17H,KAAKunI,IAAK,IAS1B,IAFA,IAAIv/H,EAAIhI,KAAKssB,SAASvkB,OAEfC,KAEChI,KAAKssB,SAAStkB,GAAGmjB,QAEjBnrB,KAAKssB,SAAStkB,GAAGgX,UAmB7B3e,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUohJ,cAAgB,SAAUl7I,EAAM41E,EAAQ7wD,EAAU0rG,EAASwF,EAAoBklB,QAEtGt9I,IAAX+3E,IAAwBA,EAAS,QACpB/3E,IAAbknB,IAA0BA,EAAWxxB,KAAKs0D,mBAC9BhqD,IAAZ4yH,IAAyBA,GAAU,QACZ5yH,IAAvBo4H,IAAoCA,GAAqB,QACnCp4H,IAAtBs9I,IAAmCA,EAAoB,MAE3D,IAAIC,EACA7/I,EAAI,EACJ8/I,EAASr7I,EACTs7I,EAAW1lE,EAQf,IAPAriF,KAAKimG,QAAU5jB,EAEX7wD,EAAWxxB,KAAKs0D,eAEhBt0D,KAAKs0D,aAAe9iC,GAGjBxpB,EAAIwpB,GAEH9qB,MAAMa,QAAQkF,KAEdq7I,EAAS9nJ,KAAKib,KAAKsE,IAAI0X,KAAKxqB,IAG5B/F,MAAMa,QAAQ86E,KAEd0lE,EAAW/nJ,KAAKib,KAAKsE,IAAI0X,KAAKorD,IAGlCwlE,EAAW,IAAI7nJ,KAAKumJ,cAAcvmJ,KAAKib,KAAM,EAAG,EAAG6sI,EAAQC,EAAUH,GAErE5nJ,KAAKib,KAAK6F,QAAQ05G,OAAO7pG,OAAOk3H,GAAU,GAE1CA,EAASt3H,KAAK6qG,eAAesD,MAAQxB,EACrC2qB,EAASt3H,KAAKmyG,mBAAqBA,EACnCmlB,EAASt3H,KAAKkrG,cAAe,EAE7BosB,EAAS18H,QAAS,EAClB08H,EAASvsI,SAAU,EACnBusI,EAAS99H,OAAO7b,SAASlO,KAAKymJ,gBAE9BzmJ,KAAKkS,IAAI21I,GAET7/I,IAGJ,OAAOhI,MAUXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUwoD,KAAO,WAM7C,OAJA/uD,KAAKunI,IAAK,EACVvnI,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EAEPnrB,MAUXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUupD,OAAS,WAK/C,OAHA9vD,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EAEPnrB,MAYXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUyhJ,QAAU,SAAUp4F,EAAUp+B,GAUpE,YARiBlnB,IAAbknB,IACAA,EAAWxxB,KAAKs0D,cAGpBt0D,KAAKwnJ,WAAa,EAElBxnJ,KAAK8Q,OAAM,EAAM8+C,EAAU,EAAGp+B,GAAU,GAEjCxxB,MAsBXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU0hJ,KAAO,SAAUr4F,EAAUknC,EAAWtlE,EAAUmE,EAAO0oC,GA6B7F,YA3BkB/zD,IAAdwsF,GAAyC,OAAdA,IAAsBA,EAAY,UAChDxsF,IAAbknB,GAAuC,IAAbA,IAAkBA,EAAW,QAC7ClnB,IAAVqrB,IAAuBA,GAAS,QAClBrrB,IAAd+zD,IAA2BA,GAAY,GAEvC7sC,EAAWxxB,KAAKs0D,eAEhB9iC,EAAWxxB,KAAKs0D,cAGpBt0D,KAAKsnJ,SAAW,EAChBtnJ,KAAKunJ,cAAgB/1H,EACrBxxB,KAAKwnJ,WAAa7xH,EAEd0oC,GAEAr+D,KAAK8Q,OAAM,EAAM8+C,EAAUknC,EAAWtlE,GAEtCxxB,KAAKsnJ,UAAY91H,EACjBxxB,KAAKunI,IAAK,EACVvnI,KAAKqnJ,OAASrnJ,KAAKib,KAAKmE,KAAKA,KAAO03E,EAAY92F,KAAKib,KAAKmE,KAAKyd,YAI/D78B,KAAK8Q,OAAM,EAAO8+C,EAAUknC,EAAWtlE,GAGpCxxB,MAiCXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUuK,MAAQ,SAAUk3I,EAASp4F,EAAUknC,EAAWnhE,EAAOuyH,GAoB7F,QAlBgB59I,IAAZ09I,IAAyBA,GAAU,QACtB19I,IAAbslD,IAA0BA,EAAW,QACvBtlD,IAAdwsF,GAAyC,OAAdA,IAAsBA,EAAY,UACnDxsF,IAAVqrB,IAAuBA,EAAQ,QACbrrB,IAAlB49I,IAA+BA,GAAgB,GAE/CvyH,EAAQ31B,KAAKs0D,eAEb3+B,EAAQ31B,KAAKs0D,cAGjBt0D,KAAK8vD,SAEL9vD,KAAKsb,SAAU,EAEftb,KAAK4vD,SAAWA,EAChB5vD,KAAK82F,UAAYA,EAEbkxD,GAAWE,EAEX,IAAK,IAAIlgJ,EAAI,EAAGA,EAAI2tB,EAAO3tB,IAEvBhI,KAAK0nJ,oBAKT1nJ,KAAKunI,IAAK,EACVvnI,KAAK07H,OAAS/lG,EACd31B,KAAKsnJ,SAAW,EAChBtnJ,KAAKqnJ,OAASrnJ,KAAKib,KAAKmE,KAAKA,KAAO03E,EAAY92F,KAAKib,KAAKmE,KAAKyd,WAGnE,OAAO78B,MAkBXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUmhJ,aAAe,SAAUvhJ,EAAG+G,EAAGrD,EAAKynB,QAEhEhnB,IAANnE,IAAmBA,EAAI,WACjBmE,IAAN4C,IAAmBA,EAAI,MAE3B,IAAI26I,EAAW7nJ,KAAK41B,gBAAe,GAEnC,GAAiB,OAAbiyH,EAKA,OAHA7nJ,KAAKi9B,MAAM8pH,SACX/mJ,KAAKi9B,MAAMgqH,eAEJ,EAGXjnJ,KAAKi9B,MAAM6pH,UACX9mJ,KAAKi9B,MAAM+pH,eAEX,IAAIznI,EAAMvf,KAAKib,KAAKsE,SAERjV,IAART,QAA+BS,IAAVgnB,EAErBu2H,EAAS7xH,YAAYnsB,EAAKynB,QAEbhnB,IAART,IAELg+I,EAAS7xH,YAAYnsB,GACrBg+I,EAASv2H,MAAQ5qB,MAAMa,QAAQvH,KAAKimG,SAAW1mF,EAAI0X,KAAKj3B,KAAKimG,SAAWjmG,KAAKimG,SAGjF,IAAIygD,EAAQ1mJ,KAAK0mJ,MACbC,EAAQ3mJ,KAAK2mJ,MAsBjB,OApBU,OAANxgJ,EAEAugJ,EAAQvgJ,EAEHnG,KAAKmQ,MAAQ,IAElBu2I,EAAQnnI,EAAI+Y,QAAQt4B,KAAKyL,KAAMzL,KAAKwL,QAG9B,OAAN0B,EAEAy5I,EAAQz5I,EAEHlN,KAAKoQ,OAAS,IAEnBu2I,EAAQpnI,EAAI+Y,QAAQt4B,KAAKmP,IAAKnP,KAAKoP,SAGvCpP,KAAKmoJ,cAAcN,EAAUnB,EAAOC,IAE7B,GAYXtmJ,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU4hJ,cAAgB,SAAUN,EAAU1hJ,EAAG+G,GAE7E,IAAIqS,EAAMvf,KAAKib,KAAKsE,IAEpBsoI,EAAS1nI,MAAMha,EAAG+G,GAElB26I,EAASl5I,MAAQ,EACjBk5I,EAASj4F,SAAW5vD,KAAK4vD,SAErB5vD,KAAK4mJ,mBAEL5mJ,KAAKsyB,WAAWu1H,GAEX7nJ,KAAK6mJ,oBAEV7mJ,KAAKwyB,WAAWq1H,GAGhB7nJ,KAAKglJ,UAEL6C,EAASrC,aAAaxlJ,KAAKilJ,WAEI,IAA1BjlJ,KAAKimJ,kBAAoD,IAA1BjmJ,KAAKkmJ,iBAEzC2B,EAASxyI,MAAM1I,IAAI4S,EAAI24E,YAAYl4F,KAAKimJ,iBAAkBjmJ,KAAKkmJ,mBAEzDlmJ,KAAKmnJ,kBAAkBhhJ,IAAMnG,KAAKonJ,kBAAkBjhJ,GAAOnG,KAAKmnJ,kBAAkBj6I,IAAMlN,KAAKonJ,kBAAkBl6I,EAErH26I,EAASxyI,MAAM1I,IAAI4S,EAAI24E,YAAYl4F,KAAKmnJ,kBAAkBhhJ,EAAGnG,KAAKonJ,kBAAkBjhJ,GAAIoZ,EAAI24E,YAAYl4F,KAAKmnJ,kBAAkBj6I,EAAGlN,KAAKonJ,kBAAkBl6I,IAIzJ26I,EAASxyI,MAAM1I,IAAI3M,KAAKmnJ,kBAAkBhhJ,EAAGnG,KAAKmnJ,kBAAkBj6I,GAGpElN,KAAKmlJ,UAEL0C,EAAStC,aAAavlJ,KAAKolJ,WAI3ByC,EAASnpI,MAAQa,EAAI24E,YAAYl4F,KAAKqmJ,iBAAkBrmJ,KAAKsmJ,kBAGjEuB,EAAS1oF,UAAYn/D,KAAKm/D,UAE1B,IAAI5uC,EAAOs3H,EAASt3H,KAEpBA,EAAKozG,eAELpzG,EAAKwvG,OAAO7xH,SAASlO,KAAK+/H,QAC1BxvG,EAAKksG,KAAKvuH,SAASlO,KAAKwmJ,cAEH,MAAjBxmJ,KAAK2lJ,UAAqC,MAAjB3lJ,KAAK4lJ,SAE9B5lJ,KAAKib,KAAK6F,QAAQ05G,OAAOgH,kBACpBxhI,KAAK2lJ,WAAa3lJ,KAAK4lJ,SAAY5lJ,KAAK2lJ,SAAWpmI,EAAI+Y,QAAQt4B,KAAK2lJ,SAAU3lJ,KAAK4lJ,UACnF5lJ,KAAK6lJ,WAAa7lJ,KAAK8lJ,SAAY9lJ,KAAK6lJ,SAAWtmI,EAAI+Y,QAAQt4B,KAAK6lJ,SAAU7lJ,KAAK8lJ,UACpFv1H,EAAKgsG,WAKThsG,EAAKgsG,SAASp2H,EAAIoZ,EAAI+Y,QAAQt4B,KAAK+lJ,iBAAiB5/I,EAAGnG,KAAKgmJ,iBAAiB7/I,GAC7EoqB,EAAKgsG,SAASrvH,EAAIqS,EAAI+Y,QAAQt4B,KAAK+lJ,iBAAiB74I,EAAGlN,KAAKgmJ,iBAAiB94I,IAGjFqjB,EAAK4rG,gBAAkB58G,EAAI+Y,QAAQt4B,KAAKmmJ,YAAanmJ,KAAKomJ,aAC1D71H,EAAK4qG,QAAQjtH,SAASlO,KAAKm7H,SAC3B5qG,EAAK8rG,YAAcr8H,KAAKq8H,YAExBwrB,EAASvC,UASbjlJ,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUge,QAAU,WAEhDvkB,KAAKib,KAAK4F,UAAU0C,OAAOvjB,MAE3BK,EAAO+tB,MAAM7nB,UAAUge,QAAQvd,KAAKhH,MAAM,GAAM,IAYpDK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU2Z,QAAU,SAAU/P,EAAOC,GAKjE,OAHApQ,KAAKkY,KAAK/H,MAAQA,EAClBnQ,KAAKkY,KAAK9H,OAASA,EAEZpQ,MAWXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU6hJ,UAAY,SAAU51I,EAAKE,GAQjE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb1S,KAAK+lJ,iBAAiB5/I,EAAIqM,EAC1BxS,KAAKgmJ,iBAAiB7/I,EAAIuM,EAEnB1S,MAWXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU8hJ,UAAY,SAAU71I,EAAKE,GAQjE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb1S,KAAK+lJ,iBAAiB74I,EAAIsF,EAC1BxS,KAAKgmJ,iBAAiB94I,EAAIwF,EAEnB1S,MAYXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU+hJ,YAAc,SAAU91I,EAAKE,GAQnE,OANAF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEb1S,KAAKmmJ,YAAc3zI,EACnBxS,KAAKomJ,YAAc1zI,EAEZ1S,MAiBXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUgiJ,SAAW,SAAU/1I,EAAKE,EAAK81I,EAAM7oD,EAAMC,GAYjF,QAVYt1F,IAARkI,IAAqBA,EAAM,QACnBlI,IAARoI,IAAqBA,EAAM,QAClBpI,IAATk+I,IAAsBA,EAAO,QACpBl+I,IAATq1F,IAAsBA,EAAOt/F,EAAOm6F,OAAOK,OAAOC,WACzCxwF,IAATs1F,IAAsBA,GAAO,GAEjC5/F,KAAKqmJ,iBAAmB7zI,EACxBxS,KAAKsmJ,iBAAmB5zI,EACxB1S,KAAKmlJ,WAAY,EAEbqD,EAAO,GAAKh2I,IAAQE,EACxB,CACI,IAAI+1I,GAAc/sH,EAAGlpB,GACjB2gD,EAAQnzD,KAAKib,KAAKqF,KAAK6yC,MAAMs1F,GAAW7/I,IAAM8yB,EAAGhpB,GAAO81I,EAAM7oD,GAClExsC,EAAMysC,KAAKA,GAEX5/F,KAAKolJ,UAAYjyF,EAAM4tC,aAAa,IAGpC/gG,KAAKolJ,UAAU97I,UACftJ,KAAKmlJ,WAAY,EAGrB,OAAOnlJ,MAmBXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAU06I,SAAW,SAAU3uF,EAAME,EAAMD,EAAME,EAAM+1F,EAAM7oD,EAAMC,GAmB/F,QAjBat1F,IAATgoD,IAAsBA,EAAO,QACpBhoD,IAATkoD,IAAsBA,EAAO,QACpBloD,IAATioD,IAAsBA,EAAO,QACpBjoD,IAATmoD,IAAsBA,EAAO,QACpBnoD,IAATk+I,IAAsBA,EAAO,QACpBl+I,IAATq1F,IAAsBA,EAAOt/F,EAAOm6F,OAAOK,OAAOC,WACzCxwF,IAATs1F,IAAsBA,GAAO,GAGjC5/F,KAAKimJ,iBAAmB,EACxBjmJ,KAAKkmJ,iBAAmB,EAExBlmJ,KAAKmnJ,kBAAkBx6I,IAAI2lD,EAAMC,GACjCvyD,KAAKonJ,kBAAkBz6I,IAAI6lD,EAAMC,GAEjCzyD,KAAKglJ,WAAY,EAEbwD,EAAO,IAAOl2F,IAASE,GAAUD,IAASE,GAC9C,CACI,IAAIg2F,GAActiJ,EAAGmsD,EAAMplD,EAAGqlD,GAC1BY,EAAQnzD,KAAKib,KAAKqF,KAAK6yC,MAAMs1F,GAAW7/I,IAAMzC,EAAGqsD,EAAMtlD,EAAGulD,GAAQ+1F,EAAM7oD,GAC5ExsC,EAAMysC,KAAKA,GAEX5/F,KAAKilJ,UAAY9xF,EAAM4tC,aAAa,IAGpC/gG,KAAKilJ,UAAU37I,UACftJ,KAAKglJ,WAAY,EAGrB,OAAOhlJ,MAkBXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUmiJ,SAAW,SAAU/C,EAAUC,EAAUC,EAAUC,GAQzF,OANA9lJ,KAAK2lJ,SAAWA,EAChB3lJ,KAAK4lJ,SAAWA,EAEA,MAAZC,IAAoB7lJ,KAAK6lJ,SAAWA,GACxB,MAAZC,IAAoB9lJ,KAAK8lJ,SAAWA,GAEjC9lJ,MAYXK,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAUoiJ,GAAK,SAAUvyH,GAarD,OAXIA,EAAO2oG,QAEP/+H,KAAK0mJ,MAAQtwH,EAAO2oG,OAAO54H,EAC3BnG,KAAK2mJ,MAAQvwH,EAAO2oG,OAAO7xH,IAI3BlN,KAAK0mJ,MAAQtwH,EAAOlb,MAAM/U,EAAKiwB,EAAOrM,OAAO5jB,EAAIiwB,EAAOjmB,MACxDnQ,KAAK2mJ,MAAQvwH,EAAOlb,MAAMhO,EAAKkpB,EAAOrM,OAAO7c,EAAIkpB,EAAOhmB,QAGrDpQ,MAQXyH,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,WAE7DmG,IAAK,WACD,OAAO1M,KAAKknJ,UAGhBv6I,IAAK,SAAU5C,GACU,iBAAVA,EAEP/J,KAAKknJ,SAASh6I,EAAInD,EAIlB/J,KAAKknJ,SAAWn9I,KAW5BtC,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,MAC7DmG,IAAK,WACD,OAAO1M,KAAK46G,OAQpBnzG,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,SAE7DmG,IAAK,WACD,OAAO1M,KAAKkY,KAAK/H,OAGrBxD,IAAK,SAAU5C,GACX/J,KAAKkY,KAAK/H,MAAQpG,KAS1BtC,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,UAE7DmG,IAAK,WACD,OAAO1M,KAAKkY,KAAK9H,QAGrBzD,IAAK,SAAU5C,GACX/J,KAAKkY,KAAK9H,OAASrG,KAS3BtC,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,KAE7DmG,IAAK,WACD,OAAO1M,KAAK0mJ,OAGhB/5I,IAAK,SAAU5C,GACX/J,KAAK0mJ,MAAQ38I,KASrBtC,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,KAE7DmG,IAAK,WACD,OAAO1M,KAAK2mJ,OAGhBh6I,IAAK,SAAU5C,GACX/J,KAAK2mJ,MAAQ58I,KAUrBtC,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,QAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKmG,EAAKnG,KAAKkY,KAAK/H,MAAQ,MAUtD1I,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,SAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKmG,EAAKnG,KAAKkY,KAAK/H,MAAQ,MAUtD1I,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,OAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKkN,EAAKlN,KAAKkY,KAAK9H,OAAS,MAUvD3I,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,UAE7DmG,IAAK,WACD,OAAOzG,KAAKI,MAAMrG,KAAKkN,EAAKlN,KAAKkY,KAAK9H,OAAS,MAUvD3I,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,UAE7DmG,IAAK,WACD,OAAO,IAAO1M,KAAKunJ,cAAgBvnJ,KAAK82F,aAUhDrvF,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,kBAE7DmG,IAAK,WACD,OAA0B,IAAlB1M,KAAK4vD,SAAiBgX,EAAAA,EAAW5mE,KAAK4vD,UAAY5vD,KAAKunJ,cAAgBvnJ,KAAK82F,aAU5FrvF,OAAOmF,eAAevM,EAAO26B,UAAUu5B,OAAOC,QAAQjuD,UAAW,aAE7DmG,IAAK,WACD,OAAO1M,KAAKs0D,aAAet0D,KAAK4oJ,kBAmCxCvoJ,EAAOyyD,OAAS,SAAU73C,EAAMkP,GAE5B9pB,EAAO6pB,OAAOljB,KAAKhH,KAAMib,EAAMkP,GAM/BnqB,KAAK6oJ,QAAU,KAOf7oJ,KAAK8oJ,wBAAyB,EAO9B9oJ,KAAK+oJ,UAAW,EAQhB/oJ,KAAKgpJ,MAAQ,EAQbhpJ,KAAKipJ,UAAY,EAMjBjpJ,KAAKkpJ,SAAW,IAShBlpJ,KAAKmpJ,iBAAmB,EAQxBnpJ,KAAKopJ,SAAW,IAAI/oJ,EAAO2N,UAAU,EAAG,EAAG,EAAG,GAO9ChO,KAAKqpJ,UAAYhpJ,EAAO+C,SAMxBpD,KAAKspJ,0BAA2B,EAOhCtpJ,KAAKupJ,gBAAkB,GAOvBvpJ,KAAKwpJ,mBAAoB,EAUzBxpJ,KAAKypJ,kBAAmB,EAOxBzpJ,KAAK0pJ,iBAAkB,EAQvB1pJ,KAAK2pJ,uBAAyB,EAS9B3pJ,KAAK4pJ,kBAAoB,EASzB5pJ,KAAK6pJ,oBAAsB,EAO3B7pJ,KAAK8pJ,YAAc,IAQnB9pJ,KAAK+pJ,oBAAsB,EAQ3B/pJ,KAAKgqJ,eAAiB,EAOtBhqJ,KAAKiqJ,mBAAqB,EAO1BjqJ,KAAKkqJ,cAAgB,IAAI7pJ,EAAOoN,MAAM,EAAG,GAQzCzN,KAAKmqJ,wBAAyB,EAO9BnqJ,KAAKoqJ,UAAY,GAOjBpqJ,KAAKqqJ,YAAc,GAOnBrqJ,KAAKsqJ,aAAejqJ,EAAOkqJ,OAO3BvqJ,KAAKwqJ,2BAA4B,EAOjCxqJ,KAAKyqJ,gBAAkBpqJ,EAAOyyD,OAAO43F,kBAQrC1qJ,KAAKi+E,OACD0sE,YAAY,EACZx6I,MAAO,EACPC,OAAQ,EACRgnC,QAAS,EACTC,QAAS,GAWbr3C,KAAKob,OAAS,IAAI/a,EAAO2N,UAQzBhO,KAAK4qJ,aAAe3vI,EAAKC,MAAME,OAQ/Bpb,KAAK6qJ,gBAQL7qJ,KAAK8qJ,iBAAmB,EAOxB9qJ,KAAK+qJ,SASL/qJ,KAAKgrJ,OAAS,IAAI3qJ,EAAOwb,OASzB7b,KAAKirJ,OAAS,IAAI5qJ,EAAOwb,OAUzB7b,KAAKkrJ,YAAc,IAAI7qJ,EAAOwb,OAQ9B7b,KAAKmrJ,cAAgB,KAQrBnrJ,KAAKorJ,eAAiB,KAWtBprJ,KAAKqrJ,WAAY,EAOjBrrJ,KAAKsrJ,WAAY,EASjBtrJ,KAAKurJ,eAAgB,EAUrBvrJ,KAAKwrJ,YAAc,IAAInrJ,EAAOoN,MAQ9BzN,KAAKyrJ,UAAY,EAQjBzrJ,KAAK0rJ,cAAgB,EAQrB1rJ,KAAK2rJ,cAAgB,IAAItrJ,EAAOoN,OAIpCpN,EAAOyyD,OAAOvsD,UAAYkB,OAAO0Z,OAAO9gB,EAAO6pB,OAAO3jB,WACtDlG,EAAOyyD,OAAOvsD,UAAU8B,YAAchI,EAAOyyD,OAO7CzyD,EAAOyyD,OAAO84F,WAAa,EAO3BvrJ,EAAOyyD,OAAO+4F,cAAgB,EAQ9BxrJ,EAAOyyD,OAAOg5F,cAAgB,EAO9BzrJ,EAAOyyD,OAAOi5F,mBAAqB,EAOnC1rJ,EAAOyyD,OAAOk5F,mBAAqB,EAOnC3rJ,EAAOyyD,OAAO43F,kBAAoB,EAOlCrqJ,EAAOyyD,OAAOm5F,mBAAqB,EA4BnC5rJ,EAAOyyD,OAAOvsD,UAAUwsD,cAAgB,SAAUvhC,EAAU3nB,EAAKynB,EAAO+F,GA2BpE,YAzBiB/sB,IAAbknB,IAA0BA,EAAW,QAC3BlnB,IAAV+sB,IAAuBA,EAAQr3B,KAAKib,KAAKC,OAExClb,KAAK6oJ,UAEN7oJ,KAAK6oJ,QAAU7oJ,KAAKib,KAAK/I,IAAIkhD,aAAa/yD,EAAOmuB,QAAQC,OAAQ4I,GACjEr3B,KAAK6oJ,QAAQ95H,UAAY/uB,KAAKsqJ,cAGjB,IAAb94H,KAEkB,IAAdA,IAEAxxB,KAAK8oJ,wBAAyB,EAC9Bt3H,EAAW,GAGfxxB,KAAK6oJ,QAAQt3H,eAAeC,EAAU3nB,EAAKynB,GAE3CtxB,KAAK6oJ,QAAQx1H,OAAO,qBAAsBrzB,MAE1CA,KAAKoqJ,UAAYvgJ,EACjB7J,KAAKqqJ,YAAc/4H,GAGhBtxB,MAeXK,EAAOyyD,OAAOvsD,UAAUoB,QAAU,SAAU0sB,EAAU7Q,GAIlD,OAFAxjB,KAAK6oJ,QAAQ7zH,cAAcX,EAAU7Q,EAAiBvc,WAE/CjH,MAYXK,EAAOyyD,OAAOvsD,UAAUm4F,SAAW,WAI/B,OAFA1+F,KAAK6oJ,QAAQx1H,OAAO,eAAe,GAE5BrzB,MAYXK,EAAOyyD,OAAOvsD,UAAUo4F,UAAY,WAIhC,OAFA3+F,KAAK6oJ,QAAQx1H,OAAO,eAAe,GAE5BrzB,MAWXK,EAAOyyD,OAAOvsD,UAAUwtB,QAAU,WAM9B,OAJA/zB,KAAK6oJ,QAAQ70H,cAAc,QAAQ,GAEnCh0B,KAAK6oJ,QAAQx1H,OAAO,eAAe,GAE5BrzB,MAYXK,EAAOyyD,OAAOvsD,UAAU2lJ,WAAa,SAAUC,GAS3C,OAPAnsJ,KAAKgpJ,MAAQ,OAEI1+I,IAAb6hJ,IAEAnsJ,KAAKipJ,UAAYkD,GAGdnsJ,MAUXK,EAAOyyD,OAAOvsD,UAAUge,QAAU,WAE9BvkB,KAAKmqB,OAAO5G,OAAOvjB,MAAM,GAEzBA,KAAK6oJ,QAAQtkI,UAEbvkB,KAAKib,KAAO,KACZjb,KAAKmqB,OAAS,KACdnqB,KAAKslB,QAAS,EACdtlB,KAAKsb,SAAU,GAUnBjb,EAAOyyD,OAAOvsD,UAAUyY,OAAS,WAEzBhf,KAAKyqJ,kBAAoBpqJ,EAAOyyD,OAAOi5F,qBAEnC/rJ,KAAKmrJ,eAELnrJ,KAAKmrJ,cAAc3+H,kBACnBxsB,KAAKob,OAAOrJ,SAAS/R,KAAKmrJ,cAAczrI,cAAcvZ,EAAGnG,KAAKmrJ,cAAczrI,cAAcxS,IAErFlN,KAAKorJ,gBAEVprJ,KAAKob,OAAOrJ,SAAS/R,KAAKorJ,eAAer8B,OAAQ/uH,KAAKorJ,eAAep8B,SAIzEhvH,KAAK+oJ,UAEL/oJ,KAAKosJ,QAWb/rJ,EAAOyyD,OAAOvsD,UAAUkkB,WAAa,WAE5BzqB,KAAKqrJ,WAAcrrJ,KAAKsrJ,YAK7BtrJ,KAAKsrJ,WAAY,EAEjBtrJ,KAAKyrJ,UAAYzrJ,KAAK0rJ,gBAqB1BrrJ,EAAOyyD,OAAOvsD,UAAU8lJ,YAAc,SAAUl0H,EAAQif,EAASC,EAASk0G,GAYtE,YAVgBjhJ,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,QACjB/sC,IAAlBihJ,IAA+BA,GAAgB,GAEnDvrJ,KAAKorJ,eAAiB,KACtBprJ,KAAKmrJ,cAAgBhzH,EACrBn4B,KAAKurJ,cAAgBA,EAErBvrJ,KAAKwrJ,YAAY7+I,IAAIyqC,EAASC,GAEvBr3C,MAoBXK,EAAOyyD,OAAOvsD,UAAU+lJ,aAAe,SAAU/iI,EAAS6tB,EAASC,GAY/D,YAVgB/sC,IAAZif,IAAyBA,EAAUvpB,KAAKib,KAAKuF,MAAMuf,oBACvCz1B,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,GAEvCr3C,KAAKorJ,eAAiB7hI,EACtBvpB,KAAKmrJ,cAAgB,KACrBnrJ,KAAKurJ,eAAgB,EAErBvrJ,KAAKwrJ,YAAY7+I,IAAIyqC,EAASC,GAEvBr3C,MA0BXK,EAAOyyD,OAAOvsD,UAAUgmJ,SAAW,SAAUC,EAAW3/I,GAEpD7M,KAAKqrJ,WAAY,EAEjB,IAAIxC,KAEA3hI,EAAQlnB,KAmBZ,OAjBI6M,GAAQ7M,KAAKmrJ,eAAiBnrJ,KAAKorJ,eAEnCoB,EAAU7kJ,QAAQ,SAASkH,GAEvBg6I,EAAQ11I,KAAK+T,EAAMklI,KAAKv/I,EAAM,KAAM,KAAMgC,EAAO1I,EAAG0I,EAAO3B,MAM/Ds/I,EAAU7kJ,QAAQ,SAASsS,GAEvB4uI,EAAQ11I,KAAK+T,EAAMklI,KAAKnyI,MAKzB4uI,GAyBXxoJ,EAAOyyD,OAAOvsD,UAAUkmJ,WAAa,SAAUr1G,EAASC,GAKpD,YAHgB/sC,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,GAEhCr3C,KAAKosJ,KAAK,KAAM,KAAM,KAAMh1G,EAASC,IA+BhDh3C,EAAOyyD,OAAOvsD,UAAU6lJ,KAAO,SAAUv/I,EAAM1G,EAAG+G,EAAGkqC,EAASC,GAK1D,QAHU/sC,IAANnE,IAAmBA,EAAI,WACjBmE,IAAN4C,IAAmBA,EAAI,MAEvBlN,KAAKib,KAAKmE,KAAKgb,IAAMp6B,KAAKyrJ,WAAczrJ,KAAKipJ,UAAY,GAAKjpJ,KAAKgpJ,QAAUhpJ,KAAKipJ,UAElF,OAAO,KAGX,IAAIzqH,EAAQx+B,KAAK8pJ,YAGgB,IAA7B9pJ,KAAK+pJ,sBAELvrH,GAASn+B,EAAO4F,KAAKqyB,SAASt4B,KAAK+pJ,oBAAqB/pJ,KAAK+pJ,sBAG7Dl9I,EAEI7M,KAAKopJ,SAASj5I,MAAQ,EAEtBnQ,KAAKopJ,SAASr3I,SAASlF,EAAK1G,EAAG0G,EAAKK,IAIpClN,KAAKopJ,SAASjjJ,EAAI0G,EAAK1G,EACvBnG,KAAKopJ,SAASl8I,EAAIL,EAAKK,GAGtBlN,KAAKmrJ,eAENnrJ,KAAKurJ,eAELvrJ,KAAK2rJ,cAAch/I,IAAI3M,KAAKmrJ,cAAcjwI,MAAM/U,EAAInG,KAAKwrJ,YAAYrlJ,EAAGnG,KAAKmrJ,cAAcjwI,MAAMhO,EAAIlN,KAAKwrJ,YAAYt+I,GACtHlN,KAAK2rJ,cAAcp6I,OAAOvR,KAAKmrJ,cAAcjwI,MAAM/U,EAAGnG,KAAKmrJ,cAAcjwI,MAAMhO,EAAGlN,KAAKmrJ,cAAclrF,eAEjGjgE,KAAKopJ,SAASj5I,MAAQ,EAEtBnQ,KAAKopJ,SAASr3I,SAAS/R,KAAK2rJ,cAAcxlJ,EAAGnG,KAAK2rJ,cAAcz+I,IAIhElN,KAAKopJ,SAASjjJ,EAAInG,KAAK2rJ,cAAcxlJ,EACrCnG,KAAKopJ,SAASl8I,EAAIlN,KAAK2rJ,cAAcz+I,IAKrClN,KAAKopJ,SAASj5I,MAAQ,EAEtBnQ,KAAKopJ,SAASr3I,SAAS/R,KAAKmrJ,cAAcjwI,MAAM/U,EAAInG,KAAKwrJ,YAAYrlJ,EAAGnG,KAAKmrJ,cAAcjwI,MAAMhO,EAAIlN,KAAKwrJ,YAAYt+I,IAItHlN,KAAKopJ,SAASjjJ,EAAInG,KAAKmrJ,cAAcjwI,MAAM/U,EAAInG,KAAKwrJ,YAAYrlJ,EAChEnG,KAAKopJ,SAASl8I,EAAIlN,KAAKmrJ,cAAcjwI,MAAMhO,EAAIlN,KAAKwrJ,YAAYt+I,GAIpElN,KAAKspJ,2BAEL9qH,GAASx+B,KAAKmrJ,cAAc56H,KAAKiO,QAGhCx+B,KAAKorJ,iBAENprJ,KAAKopJ,SAASj5I,MAAQ,EAEtBnQ,KAAKopJ,SAASr3I,SAAS/R,KAAKorJ,eAAelwI,MAAM/U,EAAInG,KAAKwrJ,YAAYrlJ,EAAGnG,KAAKorJ,eAAelwI,MAAMhO,EAAIlN,KAAKwrJ,YAAYt+I,IAIxHlN,KAAKopJ,SAASjjJ,EAAInG,KAAKorJ,eAAelwI,MAAM/U,EAAInG,KAAKwrJ,YAAYrlJ,EACjEnG,KAAKopJ,SAASl8I,EAAIlN,KAAKorJ,eAAelwI,MAAMhO,EAAIlN,KAAKwrJ,YAAYt+I,SAIzD5C,IAAZ8sC,IAEAp3C,KAAKopJ,SAASjjJ,GAAKixC,QAGP9sC,IAAZ+sC,IAEAr3C,KAAKopJ,SAASl8I,GAAKmqC,GAGvB,IAAIs0B,EAAS3rE,KAAKopJ,SAASj5I,MAAQ,EAAKnQ,KAAKopJ,SAAStvI,QAAU9Z,KAAKopJ,SAASjjJ,EAC1EylE,EAAS5rE,KAAKopJ,SAASh5I,OAAS,EAAKpQ,KAAKopJ,SAASrvI,QAAU/Z,KAAKopJ,SAASl8I,EAE3EyB,EAAS3O,KAAkB,cAAIA,KAAKmrJ,cAAcx8I,MAAQ3O,KAAKqpJ,UAGzD,OAANljJ,GAAoB,OAAN+G,IAEdyB,EAAQ3O,KAAKib,KAAK0E,KAAKvJ,SAASnQ,KAAKoN,MAAMnG,EAAI0+D,EAAOzlE,EAAIwlE,KAI7B,IAA7B3rE,KAAK6pJ,sBAELl7I,GAAStO,EAAO4F,KAAKqyB,SAASt4B,KAAK6pJ,oBAAqB7pJ,KAAK6pJ,sBAGjE,IAAI6C,EAAQ,EACRC,EAAQ,EAGE,IAAVh+I,GAAyB,MAAVA,EAEf+9I,EAAQzmJ,KAAK2H,IAAI5N,KAAKib,KAAK0E,KAAKnQ,SAASb,IAAU6vB,EAEpC,KAAV7vB,GAA0B,MAAVA,EAErBg+I,EAAQ1mJ,KAAK4H,IAAI7N,KAAKib,KAAK0E,KAAKnQ,SAASb,IAAU6vB,GAInDkuH,EAAQzmJ,KAAK2H,IAAI5N,KAAKib,KAAK0E,KAAKnQ,SAASb,IAAU6vB,EACnDmuH,EAAQ1mJ,KAAK4H,IAAI7N,KAAKib,KAAK0E,KAAKnQ,SAASb,IAAU6vB,GAGvD,IAAIouH,EAAS,KAab,GAXI5sJ,KAAK8oJ,wBAEL8D,EAAS5sJ,KAAK6oJ,QAAQjzH,gBAAe,GAAO,EAAM+1C,EAAOC,EAAO5rE,KAAKoqJ,UAAWpqJ,KAAKqqJ,cAE9EnmH,KAAK2oH,cAAgB7sJ,KAI5B4sJ,EAAS5sJ,KAAK6oJ,QAAQjzH,gBAAe,GAGrCg3H,EACJ,CAiBI,GAhBAA,EAAOzsI,MAAMwrD,EAAOC,GAEpBghF,EAAO1oH,KAAKynC,MAAQA,EACpBihF,EAAO1oH,KAAK0nC,MAAQA,EACpBghF,EAAO1oH,KAAK4oH,SAAW9sJ,KAAK+sJ,eAC5BH,EAAO1oH,KAAK8oH,aAAehtJ,KAAKiqJ,mBAChC2C,EAAO1oH,KAAK+oH,iBAAmBjtJ,KAAKmqJ,uBAEhCnqJ,KAAK+sJ,iBAAmB1sJ,EAAOyyD,OAAO+4F,gBAEtCe,EAAOh9F,SAAW5vD,KAAKgqJ,gBAG3B4C,EAAOj+I,MAAQA,EAAQ3O,KAAK4pJ,kBAGC,KAAzB5pJ,KAAKupJ,gBACT,CACI,GAA6D,OAAzDqD,EAAO9jG,WAAW68C,aAAa3lG,KAAKupJ,iBACxC,CACI,IAAInkD,EAAOplG,KAAK+qJ,MAAM/qJ,KAAKupJ,iBAE3BqD,EAAO9jG,WAAW52C,IAAIkzF,EAAKr5F,KAAMq5F,EAAK/iB,OAAQ+iB,EAAKz8C,UAAWy8C,EAAKx8C,KAAMw8C,EAAKE,iBAGlFsnD,EAAO9jG,WAAWJ,KAAK1oD,KAAKupJ,sBAIxBvpJ,KAAKypJ,kBAELmD,EAAOt7H,MAAQtxB,KAAK6qJ,aAAa7qJ,KAAK8qJ,oBAEtC9qJ,KAAK8qJ,kBAEwB9qJ,KAAK6qJ,aAAa9iJ,SAE3C/H,KAAK8qJ,iBAAmB,IAGvB9qJ,KAAKwpJ,oBAEVoD,EAAOt7H,MAAQtxB,KAAK6qJ,aAAa5kJ,KAAKI,MAAMJ,KAAKsE,SAAWvK,KAAK6qJ,aAAa9iJ,UAIlF6kJ,EAAO1oH,KAAKgpH,YAERltJ,KAAKi+E,MAAM0sE,YAEXiC,EAAOr8H,KAAKrQ,QAAQlgB,KAAKi+E,MAAM9tE,MAAOnQ,KAAKi+E,MAAM7tE,OAAQpQ,KAAKi+E,MAAM7mC,QAASp3C,KAAKi+E,MAAM5mC,SAG5Fu1G,EAAOr8H,KAAKmyG,mBAAqB1iI,KAAKmtJ,yBAEtCP,EAAO1oH,KAAKgpH,WAAY,GAG5BN,EAAOr8H,KAAKgsG,SAAS5vH,IAAI+/I,EAAOC,GAChCC,EAAOr8H,KAAK4qG,QAAQxuH,IAAI3M,KAAKkqJ,cAAc/jJ,EAAGnG,KAAKkqJ,cAAch9I,GAEjE,IAAI8kB,EAAO,EAEX,GAAiC,IAA7BhyB,KAAK+pJ,oBACT,CACI,IAAIvB,EAAOxoJ,KAAKkpJ,UAEhBV,GAAQnoJ,EAAO4F,KAAKqyB,SAASt4B,KAAKmpJ,iBAAkBnpJ,KAAKmpJ,mBAE9C,IAEPX,EAAO,GAGXx2H,EAAOhyB,KAAKib,KAAKmE,KAAKgb,IAAMouH,OAI5Bx2H,EAAOhyB,KAAKib,KAAKmE,KAAKgb,IAAMp6B,KAAKkpJ,SAGjClpJ,KAAKqrJ,UAEArrJ,KAAKsrJ,YAGNtrJ,KAAKsrJ,WAAY,EACjBtrJ,KAAK0rJ,cAAgB15H,EACrBhyB,KAAKgpJ,UAKThpJ,KAAKyrJ,UAAYz5H,EAEjBhyB,KAAKgpJ,SAGThpJ,KAAKgrJ,OAAO1rI,SAASstI,EAAQ5sJ,KAAMw+B,GAE/Bx+B,KAAKipJ,UAAY,GAAKjpJ,KAAKgpJ,QAAUhpJ,KAAKipJ,WAE1CjpJ,KAAKkrJ,YAAY5rI,SAAStf,KAAMA,KAAKipJ,WAI7C,OAAO2D,GAYXvsJ,EAAOyyD,OAAOvsD,UAAU6mJ,cAAgB,SAAU7jI,GAI9C,YAFgBjf,IAAZif,IAAyBA,EAAUvpB,KAAKib,KAAKuF,MAAMuf,eAEhD//B,KAAKosJ,KAAK,KAAM7iI,EAAQwlG,OAAQxlG,EAAQylG,SAYnD3uH,EAAOyyD,OAAOvsD,UAAU8mJ,aAAe,SAAUl1H,GAE7C,OAAOn4B,KAAKosJ,KAAK,KAAMj0H,EAAOjd,MAAM/U,EAAGgyB,EAAOjd,MAAMhO,IAaxD7M,EAAOyyD,OAAOvsD,UAAU+mJ,SAAW,SAAUnnJ,EAAG+G,GAE5C,OAAOlN,KAAKosJ,KAAK,KAAMjmJ,EAAG+G,IA0B9B7M,EAAOyyD,OAAOvsD,UAAUgnJ,oBAAsB,SAAUp9I,EAAOC,EAAQgnC,EAASC,GAe5E,YAbgB/sC,IAAZ8sC,IAAyBA,EAAU,QACvB9sC,IAAZ+sC,IAAyBA,EAAU,GAEvCr3C,KAAKi+E,MAAM0sE,YAAa,EACxB3qJ,KAAKi+E,MAAM9tE,MAAQA,EACnBnQ,KAAKi+E,MAAM7tE,OAASA,EACpBpQ,KAAKi+E,MAAM7mC,QAAUA,EACrBp3C,KAAKi+E,MAAM5mC,QAAUA,EAGrBr3C,KAAK6oJ,QAAQr0H,QAAQ,eAAgB,OAAQrkB,EAAOC,EAAQgnC,EAASC,GACrEr3C,KAAK6oJ,QAAQx1H,OAAO,kBAAkB,GAE/BrzB,MAsBXK,EAAOyyD,OAAOvsD,UAAUinJ,gBAAkB,SAAUh7I,EAAKE,EAAK+6I,EAAOljJ,GAYjE,YAVcD,IAAVmjJ,IAAuBA,GAAQ,QACpBnjJ,IAAXC,IAAwBA,GAAS,GAErCvK,KAAK6qJ,aAAexqJ,EAAOs2B,WAAW88F,YAAYjhH,EAAKE,GAEvD1S,KAAK8qJ,iBAAmB,EAExB9qJ,KAAKypJ,iBAAmBgE,EACxBztJ,KAAKwpJ,kBAAoBj/I,EAElBvK,MAuBXK,EAAOyyD,OAAOvsD,UAAUmnJ,mBAAqB,SAAU3hJ,EAAMs2E,EAAQ15B,EAAWC,EAAM08C,GAelF,OAbAtlG,KAAK+qJ,MAAMh/I,IACPA,KAAMA,EACNs2E,OAAQA,EACR15B,UAAWA,EACXC,KAAMA,EACN08C,gBAAiBA,GAIrBtlG,KAAK6oJ,QAAQr0H,QAAQ,iBAAkB,aAAczoB,EAAMs2E,EAAQ15B,EAAWC,EAAM08C,GAEpFtlG,KAAKupJ,gBAAkBx9I,EAEhB/L,MAaXK,EAAOyyD,OAAOvsD,UAAU+d,MAAQ,SAAUne,EAAG+G,EAAGygJ,QAElCrjJ,IAANnE,IAAmBA,EAAI,SACjBmE,IAAN4C,IAAmBA,EAAI,SACP5C,IAAhBqjJ,IAA6BA,GAAc,GAE/C3tJ,KAAKib,KAAKqJ,MAAMuvC,KAAK,gBAAiB1tD,EAAG+G,GACzClN,KAAKib,KAAKqJ,MAAMuvC,KAAK,kBAAoB7zD,KAAK6oJ,QAAQlzH,MAAQ,aAAe31B,KAAK6oJ,QAAQ9gJ,OAAQ5B,EAAG+G,EAAI,IAErGygJ,GAEA3tJ,KAAK6oJ,QAAQ7zH,cAAch1B,KAAKib,KAAKqJ,MAAMiM,KAAMvwB,KAAKib,KAAKqJ,MAAO,2BAc1E7c,OAAOmF,eAAevM,EAAOyyD,OAAOvsD,UAAW,eAE3CmG,IAAK,WAED,OAAO1M,KAAKsqJ,cAIhB39I,IAAK,SAAUoiB,GAEX/uB,KAAKsqJ,aAAev7H,EAGhB/uB,KAAK6oJ,UACL7oJ,KAAK6oJ,QAAQ95H,UAAY/uB,KAAKsqJ,iBAqC1C7iJ,OAAOmF,eAAevM,EAAOyyD,OAAOvsD,UAAW,kBAE3CmG,IAAK,WAED,OAAO1M,KAAKyqJ,iBAIhB99I,IAAK,SAAUvE,GAEX,OAAQA,GAEJ,KAAK/H,EAAOyyD,OAAOm5F,mBACnB,KAAK5rJ,EAAOyyD,OAAOi5F,mBACf/rJ,KAAK4qJ,aAAe5qJ,KAAKob,OACzB,MAEJ,KAAK/a,EAAOyyD,OAAOk5F,mBACfhsJ,KAAK4qJ,aAAe5qJ,KAAKib,KAAKoC,OAAOlC,KACrC,MAEJ,KAAK9a,EAAOyyD,OAAO43F,kBACf1qJ,KAAK4qJ,aAAe5qJ,KAAKib,KAAKC,MAAME,OAI5Cpb,KAAKyqJ,gBAAkBriJ,KAY/BX,OAAOmF,eAAevM,EAAOyyD,OAAOvsD,UAAW,4BAE3CmG,IAAK,WAED,OAAO1M,KAAKwqJ,2BAIhB79I,IAAK,SAAU5C,GAEX/J,KAAKwqJ,0BAA4BzgJ,EAEjC/J,KAAK6oJ,QAAQx1H,OAAO,0BAA2BtpB,GAC/C/J,KAAK6oJ,QAAQx1H,OAAO,kBAAkB,MAa9C5rB,OAAOmF,eAAevM,EAAOyyD,OAAOvsD,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKopJ,SAASjjJ,GAIzBwG,IAAK,SAAU5C,GAEX/J,KAAKopJ,SAASjjJ,EAAI4D,KAY1BtC,OAAOmF,eAAevM,EAAOyyD,OAAOvsD,UAAW,KAE3CmG,IAAK,WAED,OAAO1M,KAAKopJ,SAASl8I,GAIzBP,IAAK,SAAU5C,GAEX/J,KAAKopJ,SAASl8I,EAAInD,KAwB1B1J,EAAOkqJ,OAAS,SAAUtvI,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAEvCjxB,EAAO2uB,OAAOhoB,KAAKhH,KAAMib,EAAM9U,EAAG+G,EAAGrD,EAAKynB,GAE1CtxB,KAAK+pB,OAAOpd,IAAI,IAEhB3M,KAAKkkC,MACD2oH,cAAe,KACflhF,MAAO,EACPC,MAAO,EACPshF,WAAW,EACXD,kBAAkB,EAClBH,SAAU,EACVE,aAAc,IAKtB3sJ,EAAOkqJ,OAAOhkJ,UAAYkB,OAAO0Z,OAAO9gB,EAAO2uB,OAAOzoB,WACtDlG,EAAOkqJ,OAAOhkJ,UAAU8B,YAAchI,EAAOkqJ,OAS7ClqJ,EAAOkqJ,OAAOhkJ,UAAUwoD,KAAO,WAQ3B,OANA/uD,KAAK4uB,OAAQ,EACb5uB,KAAKmrB,QAAS,EACdnrB,KAAKsb,SAAU,EAEftb,KAAKkkC,KAAK2oH,cAAc5B,OAAO3rI,SAAStf,MAEjCA,MAUXK,EAAOkqJ,OAAOhkJ,UAAUyY,OAAS,WAExBhf,KAAKmrB,SAKNnrB,KAAKkkC,KAAK4oH,SAAWzsJ,EAAOyyD,OAAO+4F,gBAE/B7rJ,KAAKkkC,KAAK4oH,WAAazsJ,EAAOyyD,OAAOg5F,cAEjC9rJ,KAAKib,KAAK6F,QAAQ05G,OAAO+G,aAAavhI,KAAMA,KAAKkkC,KAAKynC,MAAO3rE,KAAKkkC,KAAK0nC,OAAO,GAAQ5rE,KAAKkkC,KAAK8oH,cAEhGhtJ,KAAK+uD,OAKJ/uD,KAAKkkC,KAAK2oH,cAAcjC,aAAar7I,WAAWvP,OAEjDA,KAAK+uD,QAKb/uD,KAAKkkC,KAAK+oH,mBAEVjtJ,KAAK43B,SAAW3xB,KAAKoN,MAAMrT,KAAKuwB,KAAKgsG,SAASrvH,EAAGlN,KAAKuwB,KAAKgsG,SAASp2H,IAGpEnG,KAAKkkC,KAAK2oH,cAAcnD,iBAExB1pJ,KAAKib,KAAKC,MAAM5H,KAAKtT,KAAMA,KAAKkkC,KAAK2oH,cAAclD,0BAoB3D5jJ,KAAK6nJ,eAAiB,SAASn0F,GAO7Bz5D,KAAKgG,KAAO3F,EAAO2F,OAMnBhG,KAAKy5D,GAAKA,EAOVz5D,KAAK6tJ,QAAU,KAOf7tJ,KAAK+nB,aACH,oCACA,2BACA,8BACA,+BACA,uBAGA,8BACA,oBACA,iEACA,KAQF/nB,KAAK8tJ,WACH,kCACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BACA,uBACA,qBACA,8BACA,+BACA,uBAEA,oBACA,+DACA,4BACA,qGACA,oCACA,oCACA,4DACA,KAGF9tJ,KAAK+gB,QAGPhb,KAAK6nJ,eAAernJ,UAAU8B,YAActC,KAAK6nJ,eAOjD7nJ,KAAK6nJ,eAAernJ,UAAUwa,KAAO,WAEnC,IAAI04C,EAAKz5D,KAAKy5D,GACVo0F,EAAU9nJ,KAAKgoJ,eAAet0F,EAAIz5D,KAAK8tJ,UAAW9tJ,KAAK+nB,aAC3D0xC,EAAGu0F,WAAWH,GAGd7tJ,KAAKiuJ,SAAWloJ,KAAKmoJ,0BACnBz0F,EAAG00F,mBAAmBN,EAAS,oBAC/Bp0F,EAAG00F,mBAAmBN,EAAS,YAGjC7tJ,KAAKupE,iBAAmB9P,EAAG00F,mBAAmBN,EAAS,oBACvD7tJ,KAAKwpE,aAAe/P,EAAG00F,mBAAmBN,EAAS,gBACnD7tJ,KAAKiqE,eAAiBxQ,EAAG20F,kBAAkBP,EAAS,UACpD7tJ,KAAKquJ,cAAgB50F,EAAG20F,kBAAkBP,EAAS,iBAInD7tJ,KAAK+pE,gBAAkBtQ,EAAG20F,kBAAkBP,EAAS,mBACrD7tJ,KAAK2jF,cAAgBlqB,EAAG20F,kBAAkBP,EAAS,iBAEnD7tJ,KAAK0pG,YAAc1pG,KAAK+pE,gBAAiB/pE,KAAK2jF,cAAe3jF,KAAKquJ,eAElEruJ,KAAKmpE,kBAAoB1P,EAAG00F,mBAAmBN,EAAS,qBACxD7tJ,KAAK0e,MAAQ+6C,EAAG00F,mBAAmBN,EAAS,SAC5C7tJ,KAAK0pE,UAAYjQ,EAAG00F,mBAAmBN,EAAS,QAEhD7tJ,KAAK6tJ,QAAUA,GAQjB9nJ,KAAK6nJ,eAAernJ,UAAUge,QAAU,WACtCvkB,KAAKy5D,GAAG60F,cAActuJ,KAAK6tJ,SAC3B7tJ,KAAK8nB,SAAW,KAChB9nB,KAAKy5D,GAAK,KAEVz5D,KAAKuuJ,UAAY,MAuCnBluJ,EAAOwjC,SAAW,SAAU5oB,EAAM9U,EAAG+G,EAAGrD,EAAKqpD,EAAMs7F,EAAWC,GAe1D,GAVAzuJ,KAAKib,KAAOA,OAEM3Q,IAAdkkJ,IAA2BA,EAAY,WAM3CxuJ,KAAKoI,KAAO/H,EAAOwC,SAEdoY,EAAKsF,MAAMuuF,aAAa57C,GAA7B,CAMA,IAAIw7F,EAAWzzI,EAAKsF,MAAM0sF,QAAQ/5C,GAwBlC,GAlBAlzD,KAAK2uJ,UAAY,IAAI9qH,SAAS6qH,EAAUD,GAKxCzuJ,KAAKwuJ,UAAY,IAAII,kBAAkBF,EAAUF,EAAWxuJ,KAAK2uJ,WAKjE3uJ,KAAK4+F,QAAU,IAAIiwD,gBAAgB7uJ,KAAK2uJ,WAMxC3uJ,KAAK8uJ,UAAY,IAEE,iBAARjlJ,EAEHk6B,EAAU,IAAIh+B,KAAK+qD,QAAQ71C,EAAKsF,MAAMwsF,eAAeljG,SAIzD,IAAIk6B,EAAUl6B,EAMlB7J,KAAK+jC,QAAUA,EAEfh+B,KAAKklB,uBAAuBjkB,KAAKhH,MAEjCA,KAAKkoB,OAAQ,EACbloB,KAAKm/D,UAAYp5D,KAAKtB,WAAWC,OAMjC1E,KAAK+uJ,kBAAoB,IAAI1uJ,EAAOoN,MAMpCzN,KAAKgvJ,kBAAoB,IAAI3uJ,EAAOoN,MAEpC,IAAIvG,EAASlH,KAAK4+F,QAAQqwD,gBAM1BjvJ,KAAK0wE,SAAW,IAAI37D,aAAoC,EAAvB7N,EAAOgoJ,eAMxClvJ,KAAK2iF,IAAM,IAAI5tE,aAAoC,EAAvB7N,EAAOgoJ,eAMnClvJ,KAAKgpE,QAAU,IAAIuF,YAAYrnE,EAAOioJ,eAAepnJ,QAErD,IAAK,IAAIC,EAAI,EAAGA,EAAIhI,KAAKgpE,QAAQjhE,OAAQC,IAErChI,KAAKgpE,QAAQhhE,GAAKd,EAAOioJ,eAAennJ,GAO5ChI,KAAKm3E,OAAS,IAAIpiE,cAAc,EAAG,EAAG,EAAG,IAGzC/U,KAAKovJ,iBAAiBloJ,EAAOmoJ,WAAYnoJ,EAAOooJ,YAEhDtvJ,KAAK4+F,QAAQ2wD,aAAavvJ,KAAKwuJ,WAC/BxuJ,KAAK4+F,QAAQ4wD,uBAAuBhB,GAAW,GAE/CnuJ,EAAOioD,UAAUkB,KAAKzoC,KAAK/Z,KAAKhH,KAAMib,EAAM9U,EAAG+G,GAO/ClN,KAAKkkC,KAAKonB,KAAO,SAMjBtrD,KAAKkkC,KAAKxlB,MAAQ,OA7GdpW,QAAQG,KAAK,uEAiHrBpI,EAAOwjC,SAASt9B,UAAYkB,OAAO0Z,OAAOpb,KAAKklB,uBAAuB1kB,WACtElG,EAAOwjC,SAASt9B,UAAU8B,YAAchI,EAAOwjC,SAE/CxjC,EAAOioD,UAAUkB,KAAKE,QAAQ1iD,KAAK3G,EAAOwjC,SAASt9B,WAC/C,QACA,WACA,aACA,UACA,gBACA,WACA,QACA,iBAGJlG,EAAOwjC,SAASt9B,UAAU4vD,iBAAmB91D,EAAOioD,UAAU8G,QAAQ3xC,UACtEpd,EAAOwjC,SAASt9B,UAAU6vD,cAAgB/1D,EAAOioD,UAAUkB,KAAK/rC,UAQhEpd,EAAOwjC,SAASt9B,UAAUkX,UAAY,WAElC,QAAKzd,KAAKm2D,qBAKVn2D,KAAK4+F,QAAQ6wD,OAAOzvJ,KAAK8uJ,WAEzB9uJ,KAAK0vJ,aAEE1vJ,KAAKo2D,kBAWhB/1D,EAAOwjC,SAASt9B,UAAU68E,WAAa,SAAU7pB,GAG7C,IAAIE,EAAKF,EAAcE,GAEvBz5D,KAAKmjF,cAAgB1pB,EAAGyU,eACxBluE,KAAKujF,aAAe9pB,EAAGyU,eACvBluE,KAAKwjF,UAAY/pB,EAAGyU,eACpBluE,KAAKyjF,aAAehqB,EAAGyU,eAEvBzU,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK0wE,SAAUjX,EAAGiqB,cAEjDjqB,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAG2U,WAAW3U,EAAGoQ,aAAe7pE,KAAK2iF,IAAKlpB,EAAGiqB,cAE7CjqB,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKyjF,cACpChqB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAKm3E,OAAQ1d,EAAG4U,aAE/C5U,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,cAC5C9pB,EAAG2U,WAAW3U,EAAGyQ,qBAAsBlqE,KAAKgpE,QAASvP,EAAG4U,cAS5DhuE,EAAOwjC,SAASt9B,UAAU+yD,aAAe,SAAUC,IAG1Cv5D,KAAKsb,SAAWtb,KAAK0e,OAAS,IAKnC66C,EAAclG,YAAY91B,OAGrBv9B,KAAKmjF,eAENnjF,KAAKojF,WAAW7pB,GAGpBA,EAAcI,cAAcC,UAAUL,EAAcI,cAAcg2F,gBAElE3vJ,KAAK4vJ,gBAAgBr2F,GAErBA,EAAclG,YAAYviD,UAS9BzQ,EAAOwjC,SAASt9B,UAAUqpJ,gBAAkB,SAAUr2F,GAElD,IAAIE,EAAKF,EAAcE,GAEnB4O,EAAa9O,EAAc8O,WAC3Bx5D,EAAS0qD,EAAc1qD,OACvBy5D,EAAS/O,EAAcI,cAAcg2F,eAEzCp2F,EAAcma,iBAAiBC,aAAa3zE,KAAKm/D,WAGjD1F,EAAGyP,iBAAiBZ,EAAOa,mBAAmB,EAAOnpE,KAAKorB,eAAevW,SAAQ,IACjF4kD,EAAG6P,UAAUhB,EAAOiB,iBAAkBlB,EAAWliE,GAAIkiE,EAAWn7D,GAChEusD,EAAG6P,UAAUhB,EAAOkB,cAAe36D,EAAO1I,GAAI0I,EAAO3B,GACrDusD,EAAG2P,UAAUd,EAAO5pD,MAAO1e,KAAKysB,YAChCgtC,EAAGgQ,WAAWnB,EAAOoB,UAAWrpE,EAAO2tB,MAAM27C,cAAc3pE,KAAKsrD,OAChEmO,EAAG2P,UAAUd,EAAO5pD,MAAO1e,KAAK0e,OAE3B1e,KAAKkoB,OA4BNloB,KAAKkoB,OAAQ,EAEbuxC,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK0wE,SAAUjX,EAAGiqB,cACjDjqB,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAG2U,WAAW3U,EAAGoQ,aAAc7pE,KAAK2iF,IAAKlpB,EAAGiqB,cAC5CjqB,EAAGqQ,oBAAoBxB,EAAOqb,cAAe,EAAGlqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGmqB,cAAcnqB,EAAGoqB,UAGhB7jF,KAAK+jC,QAAQC,YAAY6xC,OAAOpc,EAAGtkD,IAEnCokD,EAAc/gC,SAASwiD,cAAch7E,KAAK+jC,QAAQC,aAIlDy1B,EAAGqqB,YAAYrqB,EAAGsqB,WAAY/jF,KAAK+jC,QAAQC,YAAY0xC,YAAYjc,EAAGtkD,KAI1EskD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,cAC5C9pB,EAAG2U,WAAW3U,EAAGyQ,qBAAsBlqE,KAAKgpE,QAASvP,EAAG4U,eAnDxD5U,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKmjF,eACpC1pB,EAAGuqB,cAAcvqB,EAAGoQ,aAAc,EAAG7pE,KAAK0wE,UAC1CjX,EAAGqQ,oBAAoBxB,EAAOyB,gBAAiB,EAAGtQ,EAAGuQ,OAAO,EAAO,EAAG,GAGtEvQ,EAAGmQ,WAAWnQ,EAAGoQ,aAAc7pE,KAAKwjF,WACpC/pB,EAAGqQ,oBAAoBxB,EAAOqb,cAAe,EAAGlqB,EAAGuQ,OAAO,EAAO,EAAG,GAEpEvQ,EAAGmqB,cAAcnqB,EAAGoqB,UAGhB7jF,KAAK+jC,QAAQC,YAAY6xC,OAAOpc,EAAGtkD,IAEnCokD,EAAc/gC,SAASwiD,cAAch7E,KAAK+jC,QAAQC,aAKlDy1B,EAAGqqB,YAAYrqB,EAAGsqB,WAAY/jF,KAAK+jC,QAAQC,YAAY0xC,YAAYjc,EAAGtkD,KAI1EskD,EAAGmQ,WAAWnQ,EAAGyQ,qBAAsBlqE,KAAKujF,eAgChD9pB,EAAGoP,aAAapP,EAAGqpB,UAAW9iF,KAAKgpE,QAAQjhE,OAAQ0xD,EAAGsP,eAAgB,IAS1E1oE,EAAOwjC,SAASt9B,UAAUspJ,qBAAuB,WAG7C,IAAI3oJ,EAASlH,KAAK4+F,QAAQqwD,gBAE1B/nJ,EAAO4oJ,wBAEP9vJ,KAAK+uJ,kBAAkBpiJ,IAAIzF,EAAO6oJ,aAAa,IAAK7oJ,EAAO6oJ,aAAa,IACxE/vJ,KAAKgvJ,kBAAkBriJ,IAAIzF,EAAO8oJ,aAAa,IAAK9oJ,EAAO8oJ,aAAa,IAExEhwJ,KAAKorB,eAAejkB,MAAMnH,KAAK+uJ,kBAAmB/uJ,KAAK+uJ,mBACvD/uJ,KAAKorB,eAAejkB,MAAMnH,KAAKgvJ,kBAAmBhvJ,KAAKgvJ,oBAS3D3uJ,EAAOwjC,SAASt9B,UAAUmpJ,WAAa,WAEnC,IAAIxoJ,EAASlH,KAAK4+F,QAAQqwD,gBAEtBgB,EAAW/oJ,EAAOgpJ,WAClBC,EAAWjpJ,EAAOooJ,WAEtBtvJ,KAAKovJ,iBAAiBa,EAAUE,GAChCnwJ,KAAK6vJ,uBAEL7vJ,KAAKkoB,OAAQ,GASjB7nB,EAAOwjC,SAASt9B,UAAU6oJ,iBAAmB,SAAUhkF,EAAOuX,GAS1D,IAAK,IAPDz7E,EAASlH,KAAK4+F,QAAQqwD,gBAEtBmB,EAAW,EACXC,EAAW,EAEXC,EAAiB,EAEZtoJ,EAAI,EAAGA,EAAId,EAAOgoJ,cAAelnJ,IAEtChI,KAAK0wE,SAAS4/E,GAAkBllF,EAAMglF,GACtCpwJ,KAAK0wE,SAAS4/E,EAAiB,IAAMllF,EAAMglF,EAAW,GAEtDpwJ,KAAK2iF,IAAI0tE,GAAY1tE,EAAI0tE,GACzBrwJ,KAAK2iF,IAAI0tE,EAAW,GAAK1tE,EAAI0tE,EAAW,GAExCD,GAAY,EACZC,GAAY,EAEZC,GAAkB,GAY1BjwJ,EAAOwjC,SAASt9B,UAAUgqJ,aAAe,SAAU1mJ,GAE/C7J,KAAKkkC,KAAKta,QAAU,KACpB5pB,KAAKkkC,KAAKva,QAAU,KACpB3pB,KAAKkkC,KAAKsqH,UAAY3kJ,EACtB7J,KAAK4+F,QAAQ4wD,uBAAuB3lJ,GAAK,IAW7CxJ,EAAOwjC,SAASt9B,UAAUiqJ,sBAAwB,SAAUhyH,GAEtDA,IACFx+B,KAAK8uJ,UAAYtwH,IAYrBn+B,EAAOwjC,SAASt9B,UAAUmiD,KAAO,SAAUE,QAE1Bt+C,IAATs+C,IAAsBA,GAAO,GAEjC5oD,KAAK4oD,KAAOA,EAEZ5oD,KAAK4+F,QAAQ6xD,cAAa,GAC1BzwJ,KAAK4+F,QAAQ8xD,UAAU,IAU3BrwJ,EAAOwjC,SAASt9B,UAAUg3B,KAAO,WAE7Bv9B,KAAK4+F,QAAQ6xD,cAAa,IAQ9BhpJ,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,aAE7CmG,IAAK,WAED,OAAO1M,KAAK4+F,QAAQ+xD,gBAIxBhkJ,IAAK,SAAS5C,GAEV/J,KAAK4+F,QAAQ6xD,aAAa1mJ,MAUlCtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,QAE7CmG,IAAK,WAED,OAAO1M,KAAK4+F,QAAQgyD,aAIxBjkJ,IAAK,SAAS5C,GAEV/J,KAAK4+F,QAAQiyD,cAAc9mJ,MAUnCtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,UAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAK9zB,QAInBzD,IAAK,SAAS5C,GAEZ,IAAI7C,EAASlH,KAAK4+F,QAAQqwD,gBAEtB9+I,EAAQnQ,KAAKkkC,KAAK/zB,MAAQnQ,KAAKkkC,KAAK/zB,MAAQ,EAE5C2gJ,EAAS5pJ,EAAO6pJ,gBAAgB5gJ,EAAOpG,GAC3C/J,KAAKqV,MAAM1I,IAAImkJ,EAAO,GAAIA,EAAO,IACjC9wJ,KAAKkkC,KAAK9zB,OAASrG,KAUvBtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,SAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAK/zB,OAInBxD,IAAK,SAAS5C,GAEZ,IAAI7C,EAASlH,KAAK4+F,QAAQqwD,gBAEtB7+I,EAASpQ,KAAKkkC,KAAK9zB,OAASpQ,KAAKkkC,KAAK9zB,OAAS,EAE/C0gJ,EAAS5pJ,EAAO6pJ,gBAAgBhnJ,EAAOqG,GAC3CpQ,KAAKqV,MAAM1I,IAAImkJ,EAAO,GAAIA,EAAO,IACjC9wJ,KAAKkkC,KAAK/zB,MAAQpG,KAWtBtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,WAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAKva,SAInBhd,IAAK,SAAS5C,GAUZ,GARc,IAAVA,IACAA,EAAQ,KAGE,IAAVA,IACAA,EAAQ,KAGRA,IAAU/J,KAAKkkC,KAAKva,QAAxB,CAIA,IAAIziB,EAASlH,KAAK4+F,QAAQqwD,gBAE1BjvJ,KAAKu9B,OACLv9B,KAAK4+F,QAAQ8xD,UAAU,GAEnB1wJ,KAAKkkC,KAAKva,UACZziB,EAAO8pJ,gBAAgBhxJ,KAAKkkC,KAAKva,QAAS,KAAM3pB,KAAKkkC,KAAKsqH,WAExDxuJ,KAAK0oD,MAAK,GACV1oD,KAAKu9B,OACLv9B,KAAK4+F,QAAQ8xD,UAAU,IAG3BxpJ,EAAO8pJ,eAAejnJ,EAAO,KAAM/J,KAAKkkC,KAAKsqH,WAC7CxuJ,KAAK0oD,MAAK,GAEV1oD,KAAKkkC,KAAKva,QAAU5f,MASxBtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,WAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAKta,SAInBjd,IAAK,SAAS5C,GAUZ,GARc,IAAVA,IACAA,EAAQ,KAGE,IAAVA,IACAA,EAAQ,KAGRA,IAAU/J,KAAKkkC,KAAKta,QAAxB,CAIA,IAAI1iB,EAASlH,KAAK4+F,QAAQqwD,gBAE1BjvJ,KAAKu9B,OACLv9B,KAAK4+F,QAAQ8xD,UAAU,GAEnB1wJ,KAAKkkC,KAAKta,UACV1iB,EAAO8pJ,eAAe,MAAOhxJ,KAAKkkC,KAAKta,QAAS5pB,KAAKkkC,KAAKsqH,WAE1DxuJ,KAAK0oD,MAAK,GACV1oD,KAAKu9B,OACLv9B,KAAK4+F,QAAQ8xD,UAAU,IAG3BxpJ,EAAO8pJ,eAAe,KAAMjnJ,EAAO/J,KAAKkkC,KAAKsqH,WAC7CxuJ,KAAK0oD,MAAK,GAEV1oD,KAAKkkC,KAAKta,QAAU7f,MASxBtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,QAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAKonB,MAInB3+C,IAAK,SAAS5C,GAEZ/J,KAAKkkC,KAAKonB,KAAOvhD,KASrBtC,OAAOmF,eAAevM,EAAOwjC,SAASt9B,UAAW,SAE/CmG,IAAK,WAEH,OAAO1M,KAAKkkC,KAAKxlB,OAInB/R,IAAK,SAAS5C,GAEZ/J,KAAKkkC,KAAKxlB,MAAQ3U,KAWtB1J,EAAOwjC,SAASt9B,UAAU0qJ,sBAAwB,SAASlnJ,GAC5C/J,KAAK4+F,QAAQqwD,gBACnBiC,sBAAsBnnJ,IAO/B1J,EAAOwjC,SAASt9B,UAAU4qJ,oBAAsB,SAAUj+F,GAEtD,GAAKlzD,KAAKib,KAAKsF,MAAMuuF,aAAa57C,GAAlC,CAMA,IAAIw7F,EAAW1uJ,KAAKib,KAAKsF,MAAM0sF,QAAQ/5C,GAEvClzD,KAAK4+F,QAAQwyD,oBAAoB1C,QAN7BpmJ,QAAQG,KAAK,uEA8CrBpI,EAAOurD,MAAQ,SAAU3wC,EAAMpR,EAAKgsD,GAgMhC,QA9LYvrD,IAART,IAAqBA,EAAM,WACnBS,IAARurD,IAAqBA,EAAM,MAK/B71D,KAAKib,KAAOA,EAMZjb,KAAK6J,IAAMA,EAMX7J,KAAKmQ,MAAQ,EAMbnQ,KAAKoQ,OAAS,EAMdpQ,KAAKoI,KAAO/H,EAAOyC,MAKnB9C,KAAKq7D,sBAAuB,EAM5Br7D,KAAK6rG,aAAc,EAKnB7rG,KAAK2gH,OAAS,IAAItgH,EAAOwb,OAKzB7b,KAAK6rD,eAAiB,IAAIxrD,EAAOwb,OAKjC7b,KAAKo/F,WAAa,IAAI/+F,EAAOwb,OAK7B7b,KAAKqxJ,SAAW,IAAIhxJ,EAAOwb,OAK3B7b,KAAKsxJ,QAAU,IAAIjxJ,EAAOwb,OAO1B7b,KAAKuxJ,UAAY,IAAIlxJ,EAAOwb,OAM5B7b,KAAK04G,QAAU,KAMf14G,KAAK8yF,WAAa,KAKlB9yF,KAAK41D,MAAQ,KAKb51D,KAAKwxJ,YAAc,KAKnBxxJ,KAAKyxJ,aAAc,EASnBzxJ,KAAK0xJ,WAAa,GAMlB1xJ,KAAK2xJ,MAAQ,EAMb3xJ,KAAK4xJ,cAAgB,IAMrB5xJ,KAAK6xJ,SAAW,KAOhB7xJ,KAAK+iH,YAAa,EAOlB/iH,KAAKihH,QAAS,EAOdjhH,KAAKy5B,aAAc,EAOnBz5B,KAAKw5B,SAAU,EAOfx5B,KAAK8xJ,UAAW,EAOhB9xJ,KAAK+xJ,sBAAuB,EAO5B/xJ,KAAKgyJ,WAAY,EAMjBhyJ,KAAKiyJ,aAAe,KAMpBjyJ,KAAKkyJ,cAAgB,KAEjBroJ,GAAO7J,KAAKib,KAAKsF,MAAMyuF,cAAcnlG,GACzC,CACI,IAAIsoJ,EAASnyJ,KAAKib,KAAKsF,MAAMuvF,SAASjmG,GAElCsoJ,EAAO7kD,OAEPttG,KAAKoyJ,oBAAoBD,EAAOjuH,MAIhClkC,KAAK41D,MAAQu8F,EAAOjuH,KAGxBlkC,KAAKmQ,MAAQnQ,KAAK41D,MAAMy8F,WACxBryJ,KAAKoQ,OAASpQ,KAAK41D,MAAM08F,iBAEpBz8F,GAEL71D,KAAKuyJ,mBAAmB18F,GAAK,GAO7B71D,KAAK41D,QAAUC,GAEf71D,KAAKgkC,YAAc,IAAIj+B,KAAKi1D,YAAYh7D,KAAK41D,MAAO,KAAM51D,KAAKib,KAAKqN,YACpEtoB,KAAKgkC,YAAYwuH,YAAYxyJ,KAAKmQ,MAAOnQ,KAAKoQ,UAI9CpQ,KAAKgkC,YAAc,IAAIj+B,KAAKi1D,YAAY36D,EAAOypB,MAAMlkB,QAAQo+B,YAAY71B,OAAQ,KAAMnO,KAAKib,KAAKqN,YACjGtoB,KAAKgkC,YAAYwuH,YAAYxyJ,KAAKmQ,MAAOnQ,KAAKoQ,SAOlDpQ,KAAK+jC,QAAU,IAAIh+B,KAAK+qD,QAAQ9wD,KAAKgkC,aAMrChkC,KAAKk7D,aAAe,IAAI76D,EAAO+6D,MAAM,EAAG,EAAG,EAAGp7D,KAAKmQ,MAAOnQ,KAAKoQ,OAAQ,SAEvEpQ,KAAK+jC,QAAQmsB,SAASlwD,KAAKk7D,cAE3Bl7D,KAAK+jC,QAAQ4sB,OAAQ,EAET,OAAR9mD,GAAgB7J,KAAK41D,QAErB51D,KAAK+jC,QAAQ4sB,MAAQ3wD,KAAK41D,MAAMkiD,SAWpC93G,KAAKyyJ,SAAW,KAEZpyJ,EAAOiwD,aAEPtwD,KAAKyyJ,SAAW,IAAIpyJ,EAAOiwD,WAAWtwD,KAAKib,KAAM,GAAIjb,KAAKmQ,MAAOnQ,KAAKoQ,SAGtEpQ,KAAKib,KAAKqS,OAAO+jE,mBAEjBrxF,KAAKyjH,eAID0uC,IAEAA,EAAOrtH,QAAS,IAM5BzkC,EAAOurD,MAAMrlD,WAUTmsJ,qBAAsB,SAAU98F,EAAO+8F,GAcnC,OAZI/8F,GAAS+8F,IAET3yJ,KAAK41D,MAAQA,EACb51D,KAAKwxJ,YAAcmB,EAEnB3yJ,KAAKyxJ,aAAc,EACnBzxJ,KAAKgkC,YAAY71B,OAASnO,KAAK41D,MAC/B51D,KAAKg7E,cAAc,KAAMh7E,KAAK41D,MAAMy8F,WAAYryJ,KAAK41D,MAAM08F,aAE3DtyJ,KAAKqxJ,SAAS/xI,SAAStf,OAGpBA,MAuBX4yJ,iBAAkB,SAAUC,EAAc1iJ,EAAOC,GAM7C,QAJqB9F,IAAjBuoJ,IAA8BA,GAAe,QACnCvoJ,IAAV6F,IAAuBA,EAAQ,WACpB7F,IAAX8F,IAAwBA,EAAS,OAEhCpQ,KAAKib,KAAKqS,OAAOq8D,aAGlB,OADA3pF,KAAKsxJ,QAAQhyI,SAAStf,KAAM,oBACrB,EAGc,OAArBA,KAAKwxJ,cAEDxxJ,KAAKwxJ,YAAoB,OAEzBxxJ,KAAKwxJ,YAAYlsI,QAAS,EAI1BtlB,KAAKwxJ,YAAYj0H,QAIzBv9B,KAAK8yJ,qBAEL9yJ,KAAK41D,MAAQlpC,SAASkxD,cAAc,SACpC59E,KAAK41D,MAAMm9F,aAAa,WAAY,YAEtB,OAAV5iJ,IAEAnQ,KAAK41D,MAAMzlD,MAAQA,GAGR,OAAXC,IAEApQ,KAAK41D,MAAMxlD,OAASA,GAKxBpQ,KAAK8yF,WAAa7qF,OAAO2kF,WAAW5sF,KAAKgzJ,oBAAoBxsJ,KAAKxG,MAAOA,KAAK04G,SAE9E,IACIhhE,UAAUiyC,cACJp2B,MAASs/F,EAAcj9F,OAAS,GAClC51D,KAAKizJ,oBAAoBzsJ,KAAKxG,MAC9BA,KAAKkzJ,kBAAkB1sJ,KAAKxG,OAGpC,MAAO4tF,GAEH5tF,KAAKkzJ,kBAAkBtlE,GAG3B,OAAO5tF,MAQXgzJ,oBAAqB,WAEjB7/D,aAAanzF,KAAK8yF,YAElB9yF,KAAKuxJ,UAAUjyI,SAAStf,OAQ5BkzJ,kBAAmB,SAAUnmI,GAEzBomE,aAAanzF,KAAK8yF,YAElB9yF,KAAKsxJ,QAAQhyI,SAAStf,KAAM+sB,IAQhCkmI,oBAAqB,SAAUN,GAE3Bx/D,aAAanzF,KAAK8yF,YAGlB9yF,KAAKwxJ,YAAcmB,OAGaroJ,IAA5BtK,KAAK41D,MAAMu9F,aAEXnzJ,KAAK41D,MAAMu9F,aAAeR,EAI1B3yJ,KAAK41D,MAAM5pD,IAAO/D,OAAO6nF,KAAO7nF,OAAO6nF,IAAIsjE,gBAAgBT,IAAYA,EAG3E,IAAIpjC,EAAOvvH,KAEXA,KAAK41D,MAAMy9F,aAAe,WAItB,SAASC,IAEL,GAAI3B,EAAQ,EAER,GAAIpiC,EAAK35D,MAAMy8F,WAAa,EAC5B,CAEI,IAAIliJ,EAAQo/G,EAAK35D,MAAMy8F,WACnBjiJ,EAASm/G,EAAK35D,MAAM08F,YAEpBhzG,MAAMiwE,EAAK35D,MAAM08F,eAEjBliJ,EAASD,GAAS,EAAE,IAGxBo/G,EAAK35D,MAAMlN,OAEX6mE,EAAKkiC,aAAc,EACnBliC,EAAKvrF,YAAY71B,OAASohH,EAAK35D,MAC/B25D,EAAKv0C,cAAc,KAAM7qE,EAAOC,GAChCm/G,EAAK8hC,SAAS/xI,SAASiwG,QAIvBtnH,OAAO2kF,WAAW0mE,EAAa,UAKnChrJ,QAAQG,KAAK,oDAGjBkpJ,IAlCJ,IAAIA,EAAQ,GAqCZ2B,MAcRlB,oBAAqB,SAAUxwD,GAE3B,IAAI16E,EAAQlnB,KASZ,OAPAA,KAAK41D,MAAQlpC,SAASkxD,cAAc,SACpC59E,KAAK41D,MAAM+hD,UAAW,EACtB33G,KAAK41D,MAAMm9F,aAAa,WAAY,YACpC/yJ,KAAK41D,MAAM3oC,iBAAiB,aAAc,SAAUF,GAAS7F,EAAM8zD,cAAcjuD,KAAW,GAC5F/sB,KAAK41D,MAAM5pD,IAAM/D,OAAO6nF,IAAIsjE,gBAAgBxxD,GAC5C5hG,KAAK41D,MAAMkiD,SAAU,EAEd93G,MAYXuyJ,mBAAoB,SAAU18F,EAAK+hD,GA8B/B,YA5BiBttG,IAAbstG,IAA0BA,GAAW,GAGrC53G,KAAK+jC,UAEL/jC,KAAK+jC,QAAQ4sB,OAAQ,GAGzB3wD,KAAK41D,MAAQlpC,SAASkxD,cAAc,SACpC59E,KAAK41D,MAAM+hD,UAAW,EAElBC,GAEA53G,KAAK41D,MAAMm9F,aAAa,WAAY,YAGxC/yJ,KAAK41D,MAAM5pD,IAAM6pD,EAEjB71D,KAAK41D,MAAMkiD,SAAU,EAErB93G,KAAK41D,MAAMn1C,OAEXzgB,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAElB1xJ,KAAK6xJ,SAAW5pJ,OAAO2kF,WAAW5sF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAE3E5xJ,KAAK6J,IAAMgsD,EAEJ71D,MAaXg7E,cAAe,SAAUjuD,EAAO5c,EAAOC,GAEnC,IAAIojJ,GAAS,OAEClpJ,IAAV6F,GAAiC,OAAVA,IAAkBA,EAAQnQ,KAAK41D,MAAMy8F,WAAYmB,GAAS,QACtElpJ,IAAX8F,GAAmC,OAAXA,IAAmBA,EAASpQ,KAAK41D,MAAM08F,aAEnEtyJ,KAAKmQ,MAAQA,EACbnQ,KAAKoQ,OAASA,EAEVpQ,KAAKgkC,YAAY71B,SAAWnO,KAAK41D,QAEjC51D,KAAKgkC,YAAY71B,OAASnO,KAAK41D,OAGnC51D,KAAKgkC,YAAYwuH,YAAYriJ,EAAOC,GAEpCpQ,KAAK+jC,QAAQzS,MAAM9X,OAAOrJ,EAAOC,GAEjCpQ,KAAK+jC,QAAQ5zB,MAAQA,EACrBnQ,KAAK+jC,QAAQ3zB,OAASA,EAEtBpQ,KAAK+jC,QAAQ4sB,OAAQ,EAEjB3wD,KAAKyyJ,UAELzyJ,KAAKyyJ,SAASj5I,OAAOrJ,EAAOC,GAG5BojJ,GAAuB,OAAbxzJ,KAAK6J,MAEf7J,KAAK6rD,eAAevsC,SAAStf,KAAMmQ,EAAOC,GAEtCpQ,KAAKgyJ,YAELhyJ,KAAK41D,MAAMlN,OACX1oD,KAAK2gH,OAAOrhG,SAAStf,KAAMA,KAAK4oD,KAAM5oD,KAAKyzJ,iBAYvDxzD,SAAU,WAENjgG,KAAKo/F,WAAW9/E,SAAStf,OAc7B0oD,KAAM,SAAUE,EAAM6qG,GAElB,OAAIzzJ,KAAK+xJ,qBAEE/xJ,WAGEsK,IAATs+C,IAAsBA,GAAO,QACZt+C,IAAjBmpJ,IAA8BA,EAAe,GAE7CzzJ,KAAKib,KAAKyF,MAAMmgG,SAEhB7gH,KAAKib,KAAKyF,MAAMmgG,OAAO3uG,IAAIlS,KAAK29B,QAAS39B,MACzCA,KAAKib,KAAKyF,MAAMmiG,SAAS3wG,IAAIlS,KAAK89B,UAAW99B,MAEzCA,KAAKib,KAAKyF,MAAMyhG,MAEhBniH,KAAK29B,WAIb39B,KAAKib,KAAK+H,QAAQ9Q,IAAIlS,KAAK0zJ,SAAU1zJ,MACrCA,KAAKib,KAAKiI,SAAShR,IAAIlS,KAAK2zJ,UAAW3zJ,MAEvCA,KAAKiyJ,aAAejyJ,KAAKigG,SAASz5F,KAAKxG,MAEvCA,KAAK41D,MAAM3oC,iBAAiB,QAASjtB,KAAKiyJ,cAAc,GACxDjyJ,KAAK41D,MAAM3oC,iBAAiB,sBAAuBjtB,KAAKiyJ,cAAc,GAIlEjyJ,KAAK41D,MAAMhN,KAFXA,EAEkB,OAIA,GAGtB5oD,KAAK41D,MAAM69F,aAAeA,EAEtBzzJ,KAAK6rG,YAEL7rG,KAAK8xJ,UAAW,GAIhB9xJ,KAAK8xJ,UAAW,EAEC,OAAb9xJ,KAAK6J,MAEyB,IAA1B7J,KAAK41D,MAAM+2B,YAEX3sF,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAClB1xJ,KAAK6xJ,SAAW5pJ,OAAO2kF,WAAW5sF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,iBAI3E5xJ,KAAKkyJ,cAAgBlyJ,KAAK4zJ,YAAYptJ,KAAKxG,MAC3CA,KAAK41D,MAAM3oC,iBAAiB,UAAWjtB,KAAKkyJ,eAAe,KAInElyJ,KAAK41D,MAAMlN,OAEX1oD,KAAK2gH,OAAOrhG,SAAStf,KAAM4oD,EAAM6qG,IAG9BzzJ,OAUX4zJ,YAAa,WAET5zJ,KAAK41D,MAAMznC,oBAAoB,UAAWnuB,KAAKkyJ,eAAe,GAE9DlyJ,KAAKg7E,iBAkBTz9C,KAAM,WA8DF,OA5DIv9B,KAAKib,KAAKyF,MAAMmgG,SAEhB7gH,KAAKib,KAAKyF,MAAMmgG,OAAOt9F,OAAOvjB,KAAK29B,QAAS39B,MAC5CA,KAAKib,KAAKyF,MAAMmiG,SAASt/F,OAAOvjB,KAAK89B,UAAW99B,OAGpDA,KAAKib,KAAK+H,QAAQO,OAAOvjB,KAAK0zJ,SAAU1zJ,MACxCA,KAAKib,KAAKiI,SAASK,OAAOvjB,KAAK2zJ,UAAW3zJ,MAItCA,KAAKyxJ,aAEDzxJ,KAAK41D,MAAMu9F,cAEXnzJ,KAAK41D,MAAMu9F,aAAa51H,OACxBv9B,KAAK41D,MAAM5pD,IAAM,OAIjBhM,KAAK41D,MAAM5pD,IAAM,GAEbhM,KAAKwxJ,YAAoB,OAEzBxxJ,KAAKwxJ,YAAYlsI,QAAS,EAItBtlB,KAAKwxJ,YAAYqC,UAEjB7zJ,KAAKwxJ,YAAYqC,YAAYlsJ,QAAQ,SAAUmsJ,GAC3CA,EAAMv2H,SAKVv9B,KAAKwxJ,YAAYj0H,QAK7Bv9B,KAAKwxJ,YAAc,KACnBxxJ,KAAKyxJ,aAAc,IAInBzxJ,KAAK41D,MAAMznC,oBAAoB,QAASnuB,KAAKiyJ,cAAc,GAC3DjyJ,KAAK41D,MAAMznC,oBAAoB,sBAAuBnuB,KAAKiyJ,cAAc,GACzEjyJ,KAAK41D,MAAMznC,oBAAoB,UAAWnuB,KAAKkyJ,eAAe,GAE1DlyJ,KAAK6rG,YAEL7rG,KAAK8xJ,UAAW,EAIhB9xJ,KAAK41D,MAAM3yC,SAIZjjB,MAYXkS,IAAK,SAAUkkB,GAEX,GAAI1vB,MAAMa,QAAQ6uB,GAEd,IAAK,IAAIpuB,EAAI,EAAGA,EAAIouB,EAAOruB,OAAQC,IAE3BouB,EAAOpuB,GAAgB,aAEvBouB,EAAOpuB,GAAGguB,YAAYh2B,WAM9Bo2B,EAAOJ,YAAYh2B,MAGvB,OAAOA,MAgBX0pB,WAAY,SAAUvjB,EAAG+G,EAAGyc,EAASC,EAASm1C,EAAQC,GAElDD,EAASA,GAAU,EACnBC,EAASA,GAAU,EAEnB,IAAIn1C,EAAQ7pB,KAAKib,KAAK/I,IAAI2X,MAAM1jB,EAAG+G,EAAGlN,MAKtC,OAHA6pB,EAAME,OAAOpd,IAAIgd,EAASC,GAC1BC,EAAMxU,MAAM1I,IAAIoyD,EAAQC,GAEjBn1C,GAWXxI,OAAQ,YAECrhB,KAAKq7D,sBAAwBr7D,KAAK+zJ,SAEnC/zJ,KAAKgkC,YAAY9b,SAWzByV,QAAS,WAED39B,KAAKihH,SAKTjhH,KAAKihH,QAAS,EAEdjhH,KAAK41D,MAAMssD,OAAQ,IAUvBpkF,UAAW,WAEF99B,KAAKihH,SAAUjhH,KAAK+iH,aAKzB/iH,KAAKihH,QAAS,EAEdjhH,KAAK41D,MAAMssD,OAAQ,IAUvBwxC,SAAU,WAEF1zJ,KAAKw5B,SAAWx5B,KAAK6rG,cAKzB7rG,KAAKw5B,SAAU,EAEfx5B,KAAK41D,MAAM3yC,UAUf0wI,UAAW,YAEF3zJ,KAAKw5B,SAAWx5B,KAAKy5B,aAAez5B,KAAK6rG,cAK9C7rG,KAAKw5B,SAAU,EAEVx5B,KAAK41D,MAAMo+F,OAEZh0J,KAAK41D,MAAMlN,SA0BnBurG,aAAc,SAAUjoJ,EAAK4rG,GA0BzB,YAxBiBttG,IAAbstG,IAA0BA,GAAW,GAGzC53G,KAAK+jC,QAAQ4sB,OAAQ,EAErB3wD,KAAK41D,MAAM3yC,QAEXjjB,KAAK+xJ,sBAAuB,EAE5B/xJ,KAAK2xJ,MAAQ3xJ,KAAK0xJ,WAElB1xJ,KAAK6xJ,SAAW5pJ,OAAO2kF,WAAW5sF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAE3E5xJ,KAAK41D,MAAM5pD,IAAMA,EAEjBhM,KAAK41D,MAAMn1C,OAEXzgB,KAAKgyJ,UAAYp6C,EAEZA,IAED53G,KAAKshB,QAAS,GAGXthB,MAUXuzJ,mBAAoB,WAGc,IAA1BvzJ,KAAK41D,MAAM+2B,YAEX3sF,KAAK+xJ,sBAAuB,EAG5B/xJ,KAAKg7E,mBAILh7E,KAAK2xJ,MAEY,EAEb3xJ,KAAK6xJ,SAAW5pJ,OAAO2kF,WAAW5sF,KAAKuzJ,mBAAmB/sJ,KAAKxG,MAAOA,KAAK4xJ,eAI3EtpJ,QAAQG,KAAK,0DAA2DzI,KAAKyxJ,cAYzFhuC,aAAc,WAEVzjH,KAAKib,KAAKuF,MAAM2hB,qBAAqBniC,KAAK0jH,OAAQ1jH,MAClDA,KAAK6rG,aAAc,GAWvB6X,OAAQ,WAQJ,GANA1jH,KAAK6rG,aAAc,EAEnB7rG,KAAK41D,MAAMlN,OAEX1oD,KAAK2gH,OAAOrhG,SAAStf,KAAMA,KAAK4oD,KAAM5oD,KAAKyzJ,cAEvCzzJ,KAAK6J,IACT,CACI,IAAIsoJ,EAASnyJ,KAAKib,KAAKsF,MAAMuvF,SAAS9vG,KAAK6J,KAEvCsoJ,IAAWA,EAAO7kD,SAElB6kD,EAAOrtH,QAAS,GAIxB,OAAO,GAiBXovH,KAAM,SAAUv1I,EAAOD,EAAOygD,GAM1B,QAJc70D,IAAVqU,IAAuBA,GAAQ,QACrBrU,IAAVoU,IAAuBA,EAAQ,QACjBpU,IAAd60D,IAA2BA,EAAY,MAErB,OAAlBn/D,KAAKyyJ,SAaT,OAPI9zI,GAEA3e,KAAKyyJ,SAASn3F,MAGlBt7D,KAAKyyJ,SAASxmJ,KAAKjM,KAAK41D,MAAO,EAAG,EAAG51D,KAAKmQ,MAAOnQ,KAAKoQ,OAAQ,EAAG,EAAGpQ,KAAKmQ,MAAOnQ,KAAKoQ,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGsO,EAAOygD,GAE5Gn/D,KAAKyyJ,SAXRnqJ,QAAQG,KAAK,mEAqBrBqqJ,mBAAoB,WAEhB,GAAK9yJ,KAAK41D,MAAV,CAUA,IALI51D,KAAK41D,MAAMq8B,YAEXjyF,KAAK41D,MAAMq8B,WAAWl/D,YAAY/yB,KAAK41D,OAGpC51D,KAAK41D,MAAMu+F,iBAEdn0J,KAAK41D,MAAM7iC,YAAY/yB,KAAK41D,MAAMw+F,YAGtCp0J,KAAK41D,MAAMy+F,gBAAgB,YAC3Br0J,KAAK41D,MAAMy+F,gBAAgB,OAE3Br0J,KAAK41D,MAAQ,OAUjBrxC,QAAS,WAELvkB,KAAKu9B,OAELv9B,KAAK8yJ,qBAED9yJ,KAAK6rG,aAEL7rG,KAAKib,KAAKuF,MAAM0f,MAAMmC,wBAAwBriC,KAAK0jH,OAAQ1jH,MAG3DA,KAAK6xJ,UAEL5pJ,OAAOkrF,aAAanzF,KAAK6xJ,YAWrCpqJ,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,eAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK41D,MAAMwpD,YAAc,GAInDzyG,IAAK,SAAU5C,GAEX/J,KAAK41D,MAAMwpD,YAAcr1G,KAWjCtC,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,YAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK41D,MAAMt5C,SAAW,KAWpD7U,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,YAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAKA,KAAK41D,MAAMwpD,YAAcp/G,KAAK41D,MAAMt5C,SAAY,KAU/E7U,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,QAE1CmG,IAAK,WAED,OAAO1M,KAAKihH,QAIhBt0G,IAAK,SAAU5C,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAI/J,KAAKihH,OAEL,OAGJjhH,KAAK+iH,YAAa,EAClB/iH,KAAK29B,cAGT,CACI,IAAK39B,KAAKihH,OAEN,OAGJjhH,KAAK+iH,YAAa,EAClB/iH,KAAK89B,gBAajBr2B,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,UAE1CmG,IAAK,WAED,OAAO1M,KAAKw5B,SAIhB7sB,IAAK,SAAU5C,GAIX,GAFAA,EAAQA,GAAS,MAEb/J,KAAK6rG,YAKT,GAAI9hG,EACJ,CACI,GAAI/J,KAAKw5B,QAEL,OAGJx5B,KAAKy5B,aAAc,EACnBz5B,KAAK0zJ,eAGT,CACI,IAAK1zJ,KAAKw5B,QAEN,OAGJx5B,KAAKy5B,aAAc,EACnBz5B,KAAK2zJ,gBAUjBlsJ,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,UAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK41D,MAAMn7C,OAAS,GAI9C9N,IAAK,SAAU5C,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGR/J,KAAK41D,QAEL51D,KAAK41D,MAAMn7C,OAAS1Q,MAWhCtC,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,gBAE1CmG,IAAK,WAED,OAAQ1M,KAAU,MAAIA,KAAK41D,MAAM69F,aAAe,GAIpD9mJ,IAAK,SAAU5C,GAEP/J,KAAK41D,QAEL51D,KAAK41D,MAAM69F,aAAe1pJ,MAetCtC,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,QAE1CmG,IAAK,WAED,QAAQ1M,KAAU,OAAIA,KAAK41D,MAAMhN,MAIrCj8C,IAAK,SAAU5C,GAEPA,GAAS/J,KAAK41D,MAEd51D,KAAK41D,MAAMhN,KAAO,OAEb5oD,KAAK41D,QAEV51D,KAAK41D,MAAMhN,KAAO,OAY9BnhD,OAAOmF,eAAevM,EAAOurD,MAAMrlD,UAAW,WAE1CmG,IAAK,WAED,QAAQ1M,KAAU,SAAMA,KAAK41D,MAAMt0C,QAAUthB,KAAK41D,MAAMo+F,UAMhE3zJ,EAAOurD,MAAMrlD,UAAU8B,YAAchI,EAAOurD,WAWpBthD,IAApBvE,KAAKtB,aAELsB,KAAKtB,WAAapE,EAAOoE,iBAGL6F,IAApBvE,KAAKJ,aAELI,KAAKJ,WAAatF,EAAOsF,iBAGK2E,IAA9BvE,KAAK+qD,QAAQwjG,eAEbvuJ,KAAK+qD,QAAQwjG,aAAe,IAAIvuJ,KAAK+qD,QAAQ,IAAI/qD,KAAKi1D,mBAGnB1wD,IAAnCvE,KAAKwuJ,cAAc9+E,cAEnB1vE,KAAKwuJ,cAAc9+E,YAAc,IAAIp1E,EAAOmU,QAGhDzO,KAAKyuJ,mBAAoB,EAGzBzuJ,KAAK0uJ,0BAA4B,WAC7B,OAAOp0J,EAAO44B,OAAOkwD,gBASE,oBAAZurE,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAUr0J,GAE/Bq0J,QAAQr0J,OAASA,GACQ,oBAAXu0J,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+Bx0J,EAAKC,OAASA,GAEpDD,EAAKC,OAASA,EAGXA,IACR2G,KAAKhH","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 e0ce77b52..30df47785 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction(a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),n.reset(r,a),n.angle=0,n.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(n):this.particleSendToBack&&this.sendToBack(n),this.autoScale?n.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?n.scale.set(o.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?n.scale.set(o.realInRange(this._minParticleScale.x,this._maxParticleScale.x),o.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):n.scale.set(this._minParticleScale.x,this._minParticleScale.y),void 0===s&&(Array.isArray(this._frames)?n.frame=this.game.rnd.pick(this._frames):n.frame=this._frames),this.autoAlpha?n.setAlphaData(this.alphaData):n.alpha=o.realInRange(this.minParticleAlpha,this.maxParticleAlpha),n.blendMode=this.blendMode;var h=n.body;return h.updateBounds(),h.bounce.copyFrom(this.bounce),h.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:o.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:o.between(this.minSpeed,this.maxSpeed),h.velocity):(h.velocity.x=o.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),h.velocity.y=o.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),h.angularVelocity=o.between(this.minRotation,this.maxRotation),h.gravity.copyFrom(this.gravity),h.angularDrag=this.angularDrag,n.onEmit(),!0},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction(a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# 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 db51ab9ff..bf08ae306 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:41 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:42 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1697,7 +1697,7 @@ Object.defineProperty(PIXI.Sprite.prototype, 'height', { */ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) { - if (destroyBase !== undefined) + if (destroyBase) { this.texture.baseTexture.destroy(); } @@ -7597,7 +7597,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.4', + VERSION: '2.8.5', /** * An array of Phaser game instances. @@ -20225,11 +20225,30 @@ Object.defineProperty(Phaser.Group.prototype, "bottom", { // This function is set at the bottom of src/gameobjects/components/Bounds.js /** -* A display object is any object that can be rendered in the Phaser/pixi.js scene graph. -* -* This includes {@link Phaser.Group} (groups are display objects!), -* {@link Phaser.Sprite}, {@link Phaser.Button}, {@link Phaser.Text} -* as well as {@link PIXI.DisplayObject} and all derived types. +* A display object is any object that can be rendered in the Phaser/pixi.js scene graph: +* +* - {@link PIXI.DisplayObject} +* - {@link PIXI.DisplayObjectContainer} +* - {@link Phaser.BitmapText} +* - {@link Phaser.Creature} +* - {@link Phaser.Graphics} +* - {@link Phaser.Group} +* - {@link Phaser.FlexLayer} +* - {@link Phaser.Particles.Arcade.Emitter} +* - {@link Phaser.Physics.P2.BodyDebug} +* - {@link Phaser.SpriteBatch} +* - {@link Phaser.World} +* - {@link Phaser.Rope} +* - {@link Phaser.Stage} +* - {@link PIXI.Sprite} +* - {@link Phaser.Image} +* - {@link Phaser.Button} +* - {@link Phaser.Sprite} +* - {@link Phaser.Bullet} +* - {@link Phaser.Particle} +* - {@link Phaser.Text} +* - {@link Phaser.TilemapLayer} +* - {@link Phaser.TileSprite} * * @typedef {object} DisplayObject */ @@ -20660,42 +20679,29 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * In it's most simplest form, a Phaser game can be created by providing the arguments * to the constructor: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create }); * ``` * * In the example above it is passing in a State object directly. You can also use the State * Manager to do this: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO); * game.state.add('Boot', BasicGame.Boot); * game.state.add('Preloader', BasicGame.Preloader); * game.state.add('MainMenu', BasicGame.MainMenu); * game.state.add('Game', BasicGame.Game); * game.state.start('Boot'); -* * ``` +* * In the example above, 4 States are added to the State Manager, and Phaser is told to * start running the `Boot` state when it has finished initializing. There are example * project templates you can use in the Phaser GitHub repo, inside the `resources` folder. * -* @class Phaser.Game -* @constructor -* @param {number|string} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. -* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. -* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). -* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. -* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. -* @param {boolean} [transparent=false] - Use a transparent canvas background or not. -* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. -* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. -*/ - -/** -* Instead of specifying arguments you can also pass a single object instead: +* Instead of specifying arguments you can also pass {@link GameConfig a single object} instead: * -* ``` +* ```javascript * var config = { * width: 800, * height: 600, @@ -20714,23 +20720,14 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * * @class Phaser.Game * @constructor -* @param {object} [config] - A single configuration object -* @param {number|string} [config.antialias=true] -* @param {number|string} [config.height=600] -* @param {boolean} [config.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. -* @param {number} [config.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. -* @param {DOMElement} [config.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. -* @param {boolean} [config.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `renderer: Phaser.WEBGL_MULTI`. -* @param {string|HTMLElement} [config.parent=''] -* @param {object} [config.physicsConfig=null] -* @param {boolean} [config.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. -* @param {number} [config.renderer=Phaser.AUTO] -* @param {number} [config.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. -* @param {number} [config.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. -* @param {number} [config.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @param {object} [config.state=null] -* @param {boolean} [config.transparent=false] -* @param {number|string} [config.width=800] +* @param {number|string|GameConfig} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. +* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. +* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). +* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. +* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. +* @param {boolean} [transparent=false] - Use a transparent canvas background or not. +* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. +* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. */ Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias, physicsConfig) { @@ -20760,7 +20757,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Width in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} width * @readonly @@ -20771,7 +20768,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Height in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} height * @readonly @@ -21160,6 +21157,29 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant }; +/** +* A configuration object for {@link Phaser.Game}. +* +* @typedef {object} GameConfig +* @property {number|string} [GameConfig.antialias=true] +* @property {number|string} [GameConfig.height=600] +* @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. +* @property {DOMElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. +* @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. +* @property {string|HTMLElement} [GameConfig.parent=''] +* @property {object} [GameConfig.physicsConfig=null] +* @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. +* @property {number} [GameConfig.renderer=Phaser.AUTO] +* @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. +* @property {object} [GameConfig.state=null] +* @property {boolean} [GameConfig.transparent=false] +* @property {number|string} [GameConfig.width=800] +*/ +// Documentation stub for linking. + Phaser.Game.prototype = { /** @@ -22539,8 +22559,9 @@ Phaser.Input.prototype = { * @method Phaser.Input#executeTouchLockCallbacks * @private * @param {boolean} onEnd - Execute the touchend/pointerup callbacks (true) or the touchstart/pointerdown callbacks (false). Required! + * @param {Event} event - The native event from the browser. */ - executeTouchLockCallbacks: function (onEnd) { + executeTouchLockCallbacks: function (onEnd, event) { var i = this.touchLockCallbacks.length; while (i--) @@ -24097,7 +24118,7 @@ Phaser.MSPointer.prototype = { */ onPointerDown: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -24173,7 +24194,7 @@ Phaser.MSPointer.prototype = { */ onPointerUp: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -26158,7 +26179,7 @@ Phaser.Touch.prototype = { */ onTouchStart: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -26303,7 +26324,7 @@ Phaser.Touch.prototype = { */ onTouchEnd: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -37370,6 +37391,9 @@ Phaser.QuadTree.prototype.constructor = Phaser.QuadTree; * It allows you to exclude the default Net from your build, without making Game crash. */ +/** +* No-operation for Phaser Net stub. +*/ var netNoop = function () {}; Phaser.Net = netNoop; @@ -49583,6 +49607,9 @@ Object.defineProperty(Phaser.ScaleManager.prototype, "isGameLandscape", { * It allows you to exclude the default Debug from your build, without making Game crash. */ +/** +* No-operation for Phaser Debug stub. +*/ var debugNoop = function () {}; Phaser.Utils.Debug = debugNoop; @@ -50499,7 +50526,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -50536,7 +50563,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -50558,7 +50585,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -50580,7 +50607,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index 915dc9a3a..1178a2131 100644 --- a/build/custom/phaser-minimum.map +++ b/build/custom/phaser-minimum.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","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","getFirst","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","k","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","onload","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","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","pixelWidth","pixelHeight","palette","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","red","green","blue","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","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","getFirst","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","k","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","onload","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","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","pixelWidth","pixelHeight","palette","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","red","green","blue","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index 0ea429109..5a46c9c80 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,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,R=w*y+_*m+C,A=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=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(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=(this.currentBatchSize,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.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,b=C+6.123233995736766e-17*E,_=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+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,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*_+A*S+L,m[C++]=O*S+R*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*_+A*w+L,m[C++]=O*w+R*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,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,R=w*y+_*m+C,A=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=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(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=(this.currentBatchSize,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.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,b=C+6.123233995736766e-17*E,_=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+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,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*_+A*S+L,m[C++]=O*S+R*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*_+A*w+L,m[C++]=O*w+R*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# 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 44c9a50cc..041cd64e6 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:35 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:37 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1697,7 +1697,7 @@ Object.defineProperty(PIXI.Sprite.prototype, 'height', { */ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) { - if (destroyBase !== undefined) + if (destroyBase) { this.texture.baseTexture.destroy(); } @@ -7597,7 +7597,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.4', + VERSION: '2.8.5', /** * An array of Phaser game instances. @@ -20225,11 +20225,30 @@ Object.defineProperty(Phaser.Group.prototype, "bottom", { // This function is set at the bottom of src/gameobjects/components/Bounds.js /** -* A display object is any object that can be rendered in the Phaser/pixi.js scene graph. -* -* This includes {@link Phaser.Group} (groups are display objects!), -* {@link Phaser.Sprite}, {@link Phaser.Button}, {@link Phaser.Text} -* as well as {@link PIXI.DisplayObject} and all derived types. +* A display object is any object that can be rendered in the Phaser/pixi.js scene graph: +* +* - {@link PIXI.DisplayObject} +* - {@link PIXI.DisplayObjectContainer} +* - {@link Phaser.BitmapText} +* - {@link Phaser.Creature} +* - {@link Phaser.Graphics} +* - {@link Phaser.Group} +* - {@link Phaser.FlexLayer} +* - {@link Phaser.Particles.Arcade.Emitter} +* - {@link Phaser.Physics.P2.BodyDebug} +* - {@link Phaser.SpriteBatch} +* - {@link Phaser.World} +* - {@link Phaser.Rope} +* - {@link Phaser.Stage} +* - {@link PIXI.Sprite} +* - {@link Phaser.Image} +* - {@link Phaser.Button} +* - {@link Phaser.Sprite} +* - {@link Phaser.Bullet} +* - {@link Phaser.Particle} +* - {@link Phaser.Text} +* - {@link Phaser.TilemapLayer} +* - {@link Phaser.TileSprite} * * @typedef {object} DisplayObject */ @@ -20660,42 +20679,29 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * In it's most simplest form, a Phaser game can be created by providing the arguments * to the constructor: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create }); * ``` * * In the example above it is passing in a State object directly. You can also use the State * Manager to do this: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO); * game.state.add('Boot', BasicGame.Boot); * game.state.add('Preloader', BasicGame.Preloader); * game.state.add('MainMenu', BasicGame.MainMenu); * game.state.add('Game', BasicGame.Game); * game.state.start('Boot'); -* * ``` +* * In the example above, 4 States are added to the State Manager, and Phaser is told to * start running the `Boot` state when it has finished initializing. There are example * project templates you can use in the Phaser GitHub repo, inside the `resources` folder. * -* @class Phaser.Game -* @constructor -* @param {number|string} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. -* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. -* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). -* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. -* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. -* @param {boolean} [transparent=false] - Use a transparent canvas background or not. -* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. -* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. -*/ - -/** -* Instead of specifying arguments you can also pass a single object instead: +* Instead of specifying arguments you can also pass {@link GameConfig a single object} instead: * -* ``` +* ```javascript * var config = { * width: 800, * height: 600, @@ -20714,23 +20720,14 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * * @class Phaser.Game * @constructor -* @param {object} [config] - A single configuration object -* @param {number|string} [config.antialias=true] -* @param {number|string} [config.height=600] -* @param {boolean} [config.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. -* @param {number} [config.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. -* @param {DOMElement} [config.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. -* @param {boolean} [config.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `renderer: Phaser.WEBGL_MULTI`. -* @param {string|HTMLElement} [config.parent=''] -* @param {object} [config.physicsConfig=null] -* @param {boolean} [config.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. -* @param {number} [config.renderer=Phaser.AUTO] -* @param {number} [config.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. -* @param {number} [config.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. -* @param {number} [config.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @param {object} [config.state=null] -* @param {boolean} [config.transparent=false] -* @param {number|string} [config.width=800] +* @param {number|string|GameConfig} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. +* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. +* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). +* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. +* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. +* @param {boolean} [transparent=false] - Use a transparent canvas background or not. +* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. +* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. */ Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias, physicsConfig) { @@ -20760,7 +20757,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Width in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} width * @readonly @@ -20771,7 +20768,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Height in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} height * @readonly @@ -21160,6 +21157,29 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant }; +/** +* A configuration object for {@link Phaser.Game}. +* +* @typedef {object} GameConfig +* @property {number|string} [GameConfig.antialias=true] +* @property {number|string} [GameConfig.height=600] +* @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. +* @property {DOMElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. +* @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. +* @property {string|HTMLElement} [GameConfig.parent=''] +* @property {object} [GameConfig.physicsConfig=null] +* @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. +* @property {number} [GameConfig.renderer=Phaser.AUTO] +* @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. +* @property {object} [GameConfig.state=null] +* @property {boolean} [GameConfig.transparent=false] +* @property {number|string} [GameConfig.width=800] +*/ +// Documentation stub for linking. + Phaser.Game.prototype = { /** @@ -22539,8 +22559,9 @@ Phaser.Input.prototype = { * @method Phaser.Input#executeTouchLockCallbacks * @private * @param {boolean} onEnd - Execute the touchend/pointerup callbacks (true) or the touchstart/pointerdown callbacks (false). Required! + * @param {Event} event - The native event from the browser. */ - executeTouchLockCallbacks: function (onEnd) { + executeTouchLockCallbacks: function (onEnd, event) { var i = this.touchLockCallbacks.length; while (i--) @@ -24097,7 +24118,7 @@ Phaser.MSPointer.prototype = { */ onPointerDown: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -24173,7 +24194,7 @@ Phaser.MSPointer.prototype = { */ onPointerUp: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -26158,7 +26179,7 @@ Phaser.Touch.prototype = { */ onTouchStart: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -26303,7 +26324,7 @@ Phaser.Touch.prototype = { */ onTouchEnd: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -40452,7 +40473,7 @@ Phaser.Graphics.prototype.destroy = function (destroyChildren) { }; /** -* Draws a single {Phaser.Polygon} triangle from a {Phaser.Point} array +* Draws a single {@link Phaser.Polygon} triangle from a {@link Phaser.Point} array * * @method Phaser.Graphics#drawTriangle * @param {Array} points - An array of Phaser.Points that make up the three vertices of this triangle @@ -40484,11 +40505,11 @@ Phaser.Graphics.prototype.drawTriangle = function (points, cull) { }; /** -* Draws {Phaser.Polygon} triangles +* Draws {@link Phaser.Polygon} triangles * * @method Phaser.Graphics#drawTriangles * @param {Array|Array} vertices - An array of Phaser.Points or numbers that make up the vertices of the triangles -* @param {Array} {indices=null} - An array of numbers that describe what order to draw the vertices in +* @param {Array} [indices=null] - An array of numbers that describe what order to draw the vertices in * @param {boolean} [cull=false] - Should we check if the triangle is back-facing */ Phaser.Graphics.prototype.drawTriangles = function (vertices, indices, cull) { @@ -70410,7 +70431,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -70447,7 +70468,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -70469,7 +70490,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -70491,7 +70512,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index e966aa6ac..2f60f7dd5 100644 --- a/build/custom/phaser-no-physics.map +++ b/build/custom/phaser-no-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","prop","parts","val","setProperty","last","l","current","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index 8b88d97a2..1f5fc420d 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,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=_*g+T*v+C,E=w*v+b*g+S,A=_*m+T*v+C,R=w*v+b*m+S,M=_*m+T*y+C,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,m=P>(m=C>(m=T>(m=_>m?_:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=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),m=this.positions,g=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var m=s;ml&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+m*b)*i+t,(f*-b+m*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=u)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);l[c]=g,h+=m}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*_-x*y-v*g-m*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=m*l+u*y+g*c-l*y-u*g-m*c,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*_-d*x*y-v*g*f-m*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=m>(b=p>b?p:b)?m:b)?y:b)?x:b,T=_>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=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=_*g+T*v+C,E=w*v+b*g+S,A=_*m+T*v+C,R=w*v+b*m+S,M=_*m+T*y+C,I=w*y+b*m+S,L=_*g+T*y+C,O=w*y+b*g+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,m=P>(m=C>(m=T>(m=_>m?_:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=v*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=y):(L[m++]=v*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,I[m++]=k,L[m++]=y,L[m++]=v*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,I[m++]=k,L[m++]=y,L[m++]=v*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,I[m++]=k,L[m++]=y,L[m++]=v*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,I[m++]=k,L[m++]=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),m=this.positions,g=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;m[S++]=A*T+M*C+L,m[S++]=I*C+R*T+O,m[S++]=o.x0,m[S++]=o.y0,g[S++]=f,m[S++]=r,m[S++]=A*b+M*C+L,m[S++]=I*C+R*b+O,m[S++]=o.x1,m[S++]=o.y1,g[S++]=f,m[S++]=r,m[S++]=A*b+M*w+L,m[S++]=I*w+R*b+O,m[S++]=o.x2,m[S++]=o.y2,g[S++]=f,m[S++]=r,m[S++]=A*T+M*w+L,m[S++]=I*w+R*T+O,m[S++]=o.x3,m[S++]=o.y3,g[S++]=f,m[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,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),u=h*t.x-a*t.y,l=a*t.x+h*t.y;t.x=u+e,t.y=l+s}else{var c=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(c),t.y=s+o*Math.sin(c)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var m=s;ml&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+m*b)*i+t,(f*-b+m*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=u)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);l[c]=g,h+=m}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:c,chars:u};n+=(p.xAdvance+m)*e,u.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*_-x*y-v*g-m*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=m*l+u*y+g*c-l*y-u*g-m*c,I=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*_-d*x*y-v*g*f-m*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=m>(b=p>b?p:b)?m:b)?y:b)?x:b,T=_>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,u=(a.green-o.green)*n/s+o.green,l=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,u,l)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# 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 4bc6df4c9..a7b5b4424 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:47 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:48 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.4', + VERSION: '2.8.5', /** * An array of Phaser game instances. @@ -12681,11 +12681,30 @@ Object.defineProperty(Phaser.Group.prototype, "bottom", { // This function is set at the bottom of src/gameobjects/components/Bounds.js /** -* A display object is any object that can be rendered in the Phaser/pixi.js scene graph. -* -* This includes {@link Phaser.Group} (groups are display objects!), -* {@link Phaser.Sprite}, {@link Phaser.Button}, {@link Phaser.Text} -* as well as {@link PIXI.DisplayObject} and all derived types. +* A display object is any object that can be rendered in the Phaser/pixi.js scene graph: +* +* - {@link PIXI.DisplayObject} +* - {@link PIXI.DisplayObjectContainer} +* - {@link Phaser.BitmapText} +* - {@link Phaser.Creature} +* - {@link Phaser.Graphics} +* - {@link Phaser.Group} +* - {@link Phaser.FlexLayer} +* - {@link Phaser.Particles.Arcade.Emitter} +* - {@link Phaser.Physics.P2.BodyDebug} +* - {@link Phaser.SpriteBatch} +* - {@link Phaser.World} +* - {@link Phaser.Rope} +* - {@link Phaser.Stage} +* - {@link PIXI.Sprite} +* - {@link Phaser.Image} +* - {@link Phaser.Button} +* - {@link Phaser.Sprite} +* - {@link Phaser.Bullet} +* - {@link Phaser.Particle} +* - {@link Phaser.Text} +* - {@link Phaser.TilemapLayer} +* - {@link Phaser.TileSprite} * * @typedef {object} DisplayObject */ @@ -13116,42 +13135,29 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * In it's most simplest form, a Phaser game can be created by providing the arguments * to the constructor: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create }); * ``` * * In the example above it is passing in a State object directly. You can also use the State * Manager to do this: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO); * game.state.add('Boot', BasicGame.Boot); * game.state.add('Preloader', BasicGame.Preloader); * game.state.add('MainMenu', BasicGame.MainMenu); * game.state.add('Game', BasicGame.Game); * game.state.start('Boot'); -* * ``` +* * In the example above, 4 States are added to the State Manager, and Phaser is told to * start running the `Boot` state when it has finished initializing. There are example * project templates you can use in the Phaser GitHub repo, inside the `resources` folder. * -* @class Phaser.Game -* @constructor -* @param {number|string} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. -* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. -* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). -* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. -* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. -* @param {boolean} [transparent=false] - Use a transparent canvas background or not. -* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. -* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. -*/ - -/** -* Instead of specifying arguments you can also pass a single object instead: +* Instead of specifying arguments you can also pass {@link GameConfig a single object} instead: * -* ``` +* ```javascript * var config = { * width: 800, * height: 600, @@ -13170,23 +13176,14 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * * @class Phaser.Game * @constructor -* @param {object} [config] - A single configuration object -* @param {number|string} [config.antialias=true] -* @param {number|string} [config.height=600] -* @param {boolean} [config.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. -* @param {number} [config.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. -* @param {DOMElement} [config.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. -* @param {boolean} [config.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `renderer: Phaser.WEBGL_MULTI`. -* @param {string|HTMLElement} [config.parent=''] -* @param {object} [config.physicsConfig=null] -* @param {boolean} [config.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. -* @param {number} [config.renderer=Phaser.AUTO] -* @param {number} [config.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. -* @param {number} [config.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. -* @param {number} [config.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @param {object} [config.state=null] -* @param {boolean} [config.transparent=false] -* @param {number|string} [config.width=800] +* @param {number|string|GameConfig} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. +* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. +* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). +* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. +* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. +* @param {boolean} [transparent=false] - Use a transparent canvas background or not. +* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. +* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. */ Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias, physicsConfig) { @@ -13216,7 +13213,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Width in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} width * @readonly @@ -13227,7 +13224,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Height in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} height * @readonly @@ -13616,6 +13613,29 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant }; +/** +* A configuration object for {@link Phaser.Game}. +* +* @typedef {object} GameConfig +* @property {number|string} [GameConfig.antialias=true] +* @property {number|string} [GameConfig.height=600] +* @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. +* @property {DOMElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. +* @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. +* @property {string|HTMLElement} [GameConfig.parent=''] +* @property {object} [GameConfig.physicsConfig=null] +* @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. +* @property {number} [GameConfig.renderer=Phaser.AUTO] +* @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. +* @property {object} [GameConfig.state=null] +* @property {boolean} [GameConfig.transparent=false] +* @property {number|string} [GameConfig.width=800] +*/ +// Documentation stub for linking. + Phaser.Game.prototype = { /** @@ -14995,8 +15015,9 @@ Phaser.Input.prototype = { * @method Phaser.Input#executeTouchLockCallbacks * @private * @param {boolean} onEnd - Execute the touchend/pointerup callbacks (true) or the touchstart/pointerdown callbacks (false). Required! + * @param {Event} event - The native event from the browser. */ - executeTouchLockCallbacks: function (onEnd) { + executeTouchLockCallbacks: function (onEnd, event) { var i = this.touchLockCallbacks.length; while (i--) @@ -16553,7 +16574,7 @@ Phaser.MSPointer.prototype = { */ onPointerDown: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -16629,7 +16650,7 @@ Phaser.MSPointer.prototype = { */ onPointerUp: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -18614,7 +18635,7 @@ Phaser.Touch.prototype = { */ onTouchStart: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -18759,7 +18780,7 @@ Phaser.Touch.prototype = { */ onTouchEnd: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -32908,7 +32929,7 @@ Phaser.Graphics.prototype.destroy = function (destroyChildren) { }; /** -* Draws a single {Phaser.Polygon} triangle from a {Phaser.Point} array +* Draws a single {@link Phaser.Polygon} triangle from a {@link Phaser.Point} array * * @method Phaser.Graphics#drawTriangle * @param {Array} points - An array of Phaser.Points that make up the three vertices of this triangle @@ -32940,11 +32961,11 @@ Phaser.Graphics.prototype.drawTriangle = function (points, cull) { }; /** -* Draws {Phaser.Polygon} triangles +* Draws {@link Phaser.Polygon} triangles * * @method Phaser.Graphics#drawTriangles * @param {Array|Array} vertices - An array of Phaser.Points or numbers that make up the vertices of the triangles -* @param {Array} {indices=null} - An array of numbers that describe what order to draw the vertices in +* @param {Array} [indices=null] - An array of numbers that describe what order to draw the vertices in * @param {boolean} [cull=false] - Should we check if the triangle is back-facing */ Phaser.Graphics.prototype.drawTriangles = function (vertices, indices, cull) { @@ -62866,7 +62887,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -62903,7 +62924,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -62925,7 +62946,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -62947,7 +62968,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate @@ -66103,7 +66124,7 @@ Phaser.Physics.Arcade.prototype = { }, /** - * Checks for collision between two game objects and separates them if colliding. If you don't require separation then use {@link #overlap} instead. + * Checks for collision between two game objects and separates them if colliding ({@link https://gist.github.com/samme/cbb81dd19f564dcfe2232761e575063d details}). If you don't require separation then use {@link #overlap} instead. * * You can perform Sprite vs. Sprite, Sprite vs. Group, Group vs. Group, Sprite vs. Tilemap Layer or Group vs. Tilemap Layer collisions. * Both the `object1` and `object2` can be arrays of objects, of differing types. @@ -66124,16 +66145,18 @@ Phaser.Physics.Arcade.prototype = { * * ##### Examples * - * collide(group); - * collide(group, undefined); // equivalent + * ```javascript + * collide(group); + * collide(group, undefined); // equivalent * - * collide(sprite1, sprite2); + * collide(sprite1, sprite2); * - * collide(sprite, group); + * collide(sprite, group); * - * collide(group1, group2); + * collide(group1, group2); * - * collide([sprite1, sprite2], [sprite3, sprite4]); // 1v3, 1v4, 2v3, 2v4 + * collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4 + * ``` * * ##### Tilemaps * @@ -68142,7 +68165,7 @@ Phaser.Physics.Arcade.Body = function (sprite) { this.maxVelocity = new Phaser.Point(10000, 10000); /** - * @property {Phaser.Point} friction - If this Body is moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. + * @property {Phaser.Point} friction - If this Body is {@link #immovable} and moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. */ this.friction = new Phaser.Point(1, 0); @@ -80437,7 +80460,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.physicsType = Phaser.GROUP; /** - * @property {Phaser.Rectangle} area - The area of the emitter. Particles can be randomly generated from anywhere within this rectangle. + * @property {Phaser.Rectangle} area - The {@link #setSize size} of the emitter's emit area. The **actual** emit area is a rectangle of this size centered on (emitX, emitY): `{x: this.left, y: this.top, width: this.area.width, height: this.area.height}`. Particles are generated at a random position within this area. * @default */ this.area = new Phaser.Rectangle(x, y, 1, 1); @@ -80615,7 +80638,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count + * @property {object} count - Records emitter activity. * @property {number} count.emitted - How many particles were emitted during the last update. * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). * @property {number} count.totalEmitted - How many particles have been emitted. @@ -80647,10 +80670,10 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._maxParticleScale = new Phaser.Point(1, 1); /** - * @property {number} _quantity - Internal helper for deciding how many particles to launch. + * @property {number} _total - Internal helper for deciding how many particles to launch (via {@link #start}). * @private */ - this._quantity = 0; + this._total = 0; /** * @property {number} _timer - Internal helper for deciding when to launch particles or kill them. @@ -80671,7 +80694,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._flowQuantity = 0; /** - * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total. + * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total (via {@link #flow}). * @private */ this._flowTotal = 0; @@ -80744,7 +80767,7 @@ Phaser.Particles.Arcade.Emitter.prototype.update = function () { { this._counter++; - if (this._quantity > 0 && this._counter >= this._quantity) + if (this._total > 0 && this._counter >= this._total) { this.on = false; } @@ -80884,17 +80907,20 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity }; /** -* Call this function to start emitting a flow of particles at the given frequency. -* It will carry on going until the total given is reached. -* Each time the flow is run the quantity number of particles will be emitted together. -* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 x 5 = 20 total) -* If you set the total to be -1 then no quantity cap is used and it will keep emitting. +* Call this function to start emitting a flow of particles. +* `quantity` particles are released every interval of `frequency` ms until `total` particles have been released (or forever). +* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 × 5 = 20 total) and then turn {@link #on off}. +* If you set the total to be -1 then no quantity cap is used and it will keep emitting (as long as there are inactive particles available). +* +* {@link #output}, {@link #lifespanOutput}, and {@link #remainder} describe the particle flow rate. +* During a stable flow, the number of active particles approaches {@link #lifespanOutput} and the number of inactive particles approaches {@link #remainder}. +* If {@link #remainder} is less than 0, there will likely be no particles available for a portion of the flow (see {@link #count}). * * @method Phaser.Particles.Arcade.Emitter#flow * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit the particles, given in ms. -* @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. -* @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. +* @param {number} [frequency=250] - The interval between each release of particles, given in ms. Values between 0 and 16.66 will behave the same (60 releases per second). +* @param {number} [quantity=1] - How many particles to launch at each interval. Not larger than {@link #maxParticles}. +* @param {number} [total=-1] - Turn {@link #on off} after launching this many particles in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ @@ -80938,34 +80964,39 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * * There are two patterns, based on the `explode` argument: * -* - `start(true, lifespan=0, null, quantity)` -* - `start(false, lifespan=0, frequency=250, quantity=0)` +* ##### explode=true * -* When `explode` is true or `forceQuantity` is true, `start` emits `quantity` particles immediately. You should pass a nonzero `quantity`. +* start(true, lifespan=0, null, total) * -* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `quantity` is not zero, the emitter turns itself off after `quantity` particles have been released. If `quantity` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. +* When `explode` is true or `forceQuantity` is true, `start` emits `total` particles immediately. You should pass a nonzero `total`. +* +* ##### explode=false +* +* start(false, lifespan=0, frequency=250, total=0) +* +* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `total` is not zero, the emitter turns itself off after `total` particles have been released. If `total` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. * * `forceQuantity` seems equivalent to `explode` and can probably be avoided. * * @method Phaser.Particles.Arcade.Emitter#start * @param {boolean} [explode=true] - Whether the particles should all burst out at once (true) or at the frequency given (false). * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit 1 particle when `explode` is false. Value given in ms. Ignored if `explode` is set to true. -* @param {number} [quantity=0] - How many particles to launch in total (not larger than {@link Phaser.Particles.Arcade.Emitter#maxParticles maxParticles}). +* @param {number} [frequency=250] - The interval between each release of 1 particle, when `explode` is false. Value given in ms. Ignored if `explode` is set to true. +* @param {number} [total=0] - Turn {@link #on off} after launching this many particles in total. * @param {number} [forceQuantity=false] - Equivalent to `explodes`. * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ -Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { +Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, total, forceQuantity) { if (explode === undefined) { explode = true; } if (lifespan === undefined) { lifespan = 0; } if (frequency === undefined || frequency === null) { frequency = 250; } - if (quantity === undefined) { quantity = 0; } + if (total === undefined) { total = 0; } if (forceQuantity === undefined) { forceQuantity = false; } - if (quantity > this.maxParticles) + if (total > this.maxParticles) { - quantity = this.maxParticles; + total = this.maxParticles; } this.revive(); @@ -80977,7 +81008,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f if (explode || forceQuantity) { - for (var i = 0; i < quantity; i++) + for (var i = 0; i < total; i++) { this.emitParticle(); } @@ -80985,7 +81016,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f else { this.on = true; - this._quantity = quantity; + this._total = total; this._counter = 0; this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } @@ -81035,6 +81066,7 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr else if (key !== undefined) { particle.loadTexture(key); + particle.frame = Array.isArray(this._frames) ? rnd.pick(this._frames) : this._frames; } var emitX = this.emitX; @@ -81058,7 +81090,25 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr emitY = rnd.between(this.top, this.bottom); } - particle.reset(emitX, emitY); + this.resetParticle(particle, emitX, emitY); + + return true; + +}; + +/** + * Helper for {@link #emitParticle}. Sets particle properties and calls {@link Particle#onEmit}. + * + * @private + * @param {Phaser.Particle} particle + * @param {number} x + * @param {number} y + */ +Phaser.Particles.Arcade.Emitter.prototype.resetParticle = function (particle, x, y) { + + var rnd = this.game.rnd; + + particle.reset(x, y); particle.angle = 0; particle.lifespan = this.lifespan; @@ -81089,18 +81139,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.scale.set(this._minParticleScale.x, this._minParticleScale.y); } - if (frame === undefined) - { - if (Array.isArray(this._frames)) - { - particle.frame = this.game.rnd.pick(this._frames); - } - else - { - particle.frame = this._frames; - } - } - if (this.autoAlpha) { particle.setAlphaData(this.alphaData); @@ -81139,8 +81177,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.onEmit(); - return true; - }; /** @@ -81351,8 +81387,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAngle = function (minAngle, maxAngl }; /** -* Change the emitters center to match the center of any object with a `center` property, such as a Sprite. -* If the object doesn't have a center property it will be set to object.x + object.width / 2 +* Change the emitter's center to match the center of any object with a `center` property, such as an Arcade Body. +* If the object doesn't have a `center` property it will be set to the object's anchor-adjusted world position (`object.world`). * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index 60a79964b..ded883934 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","Infinity","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","prop","parts","val","key","setProperty","value","last","pop","l","current","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","name","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","Ellipse","width","height","p","sqrt","normx","normy","Line","x1","y1","x2","y2","start","end","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","atan2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","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","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","limit","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","y0","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","inflatePoint","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","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","h","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","Color","valueToColor","updateColor","removeEventListener","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","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addChildAt","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","reviveAll","resetAll","checkExists","resetChild","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","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","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","count","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","k","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","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","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","Infinity","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","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","x0","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","clip","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","getFirst","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","edge","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","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","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","flushCount","maxTextures","maxTextureSize","maxTextureAvailableSpace","currentBatchedTextures","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","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index 445b9027f..550f0d145 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,R/A,O/A,E/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction(a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(k>2147483648&&(k-=2147483648,p+=4),k>1073741824&&(k-=1073741824,p+=2),k>536870912&&(k-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}k>0?((G=new i.Tile(U,k,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=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._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),n.reset(r,a),n.angle=0,n.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(n):this.particleSendToBack&&this.sendToBack(n),this.autoScale?n.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?n.scale.set(o.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?n.scale.set(o.realInRange(this._minParticleScale.x,this._maxParticleScale.x),o.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):n.scale.set(this._minParticleScale.x,this._minParticleScale.y),void 0===s&&(Array.isArray(this._frames)?n.frame=this.game.rnd.pick(this._frames):n.frame=this._frames),this.autoAlpha?n.setAlphaData(this.alphaData):n.alpha=o.realInRange(this.minParticleAlpha,this.maxParticleAlpha),n.blendMode=this.blendMode;var h=n.body;return h.updateBounds(),h.bounce.copyFrom(this.bounce),h.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:o.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:o.between(this.minSpeed,this.maxSpeed),h.velocity):(h.velocity.x=o.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),h.velocity.y=o.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),h.angularVelocity=o.between(this.minRotation,this.maxRotation),h.gravity.copyFrom(this.gravity),h.angularDrag=this.angularDrag,n.onEmit(),!0},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,o,r){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==o&&null!==o||(o=0),void 0!==r&&null!==r||(r=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=o,this.ty=r,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,o){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=o,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,o=t.y;return e.x=this.d*s*n+-this.c*s*o+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*o+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,o=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=o*e-this.ty*i,this.ty=o*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,o,r){if(o&&(n=i.Math.degToRad(n)),void 0===r){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+r*Math.cos(u),t.y=s+r*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,o=[];return e.forEach(function(e){i.forEach(function(i){for(var r=0;rthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=[],this.points=r,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,this.points=r,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,R/A,O/A,E/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction(a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o){void 0===o&&(o=255);var r=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-r.red)*n/s+r.red,l=(a.green-r.green)*n/s+r.green,c=(a.blue-r.blue)*n/s+r.blue;return i.Color.getColor32(o,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=l,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}U={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&&(U.properties=r.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=r.data.length;y536870912)switch(k>2147483648&&(k-=2147483648,p+=4),k>1073741824&&(k-=1073741824,p+=2),k>536870912&&(k-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}k>0?((G=new i.Tile(U,k,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===r.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],o=0;o=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# sourceMappingURL=phaser-split.map \ No newline at end of file diff --git a/build/custom/pixi.js b/build/custom/pixi.js index c4f1a2298..75aec1aee 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:56 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:57 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1697,7 +1697,7 @@ Object.defineProperty(PIXI.Sprite.prototype, 'height', { */ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) { - if (destroyBase !== undefined) + if (destroyBase) { this.texture.baseTexture.destroy(); } diff --git a/build/custom/pixi.map b/build/custom/pixi.map index 2bfb64f7f..d1e6584d7 100644 --- a/build/custom/pixi.map +++ b/build/custom/pixi.map @@ -1 +1 @@ -{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file +{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index 1636d9b68..8cbc3898c 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var d=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/d):-Math.acos(r/d),this.worldScale.x=d,this.worldScale.y=u/d}else if(s||o){var c=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/c):-Math.acos(s/c)),this.worldScale.x=u/c,this.worldScale.y=c}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?d:n,c=c>h?c:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,w=y*v+_*p+A,P=E*g+S*v+b,U=y*v+_*g+A;d=R,c=M,u=M,l=P<(l=B<(l=C<(l=R)?C:l)?B:l)?P:l,u=U<(u=w<(u=L(d=B>(d=C>d?C:d)?B:d)?P:d,c=U>(c=w>(c=L>c?L:c)?w:c)?U:c}if(x.x=l,x.y=u,x.width=d-l,x.height=c-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,d,c=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-c*x.width)+r.crop.width,u=(d=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-c),l=r.frame.width*-c,u=r.frame.height*(1-f),d=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,r.crop.height);if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,T=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=d,u=B,d=L}var w=this.colors,P=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(P[p++]=T*l+E*d+S|0,P[p++]=_*d+m*l+y|0,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S|0,P[p++]=_*d+m*h+y|0,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S|0,P[p++]=_*u+m*h+y|0,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S|0,P[p++]=_*u+m*l+y|0,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v):(P[p++]=T*l+E*d+S,P[p++]=_*d+m*l+y,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S,P[p++]=_*d+m*h+y,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S,P[p++]=_*u+m*h+y,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S,P[p++]=_*u+m*l+y,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),d=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),c=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*d-l,a.y1=0-u,a.x2=1*d-l,a.y2=1*c-u,a.x3=0-l,a.y3=1*c-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,w=M.d/R,P=M.tx,U=M.ty;p[A++]=C*S+B*b+P,p[A++]=w*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+P,p[A++]=w*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+P,p[A++]=w*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+P,p[A++]=w*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,d=null,c=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(d,l,u),u=g,l=0,d=o,x&&(c=a,this.renderSession.blendModeManager.setBlendMode(c)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(d,l,u),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(c,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); +(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var d=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/d):-Math.acos(r/d),this.worldScale.x=d,this.worldScale.y=u/d}else if(s||o){var c=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/c):-Math.acos(s/c)),this.worldScale.x=u/c,this.worldScale.y=c}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?d:n,c=c>h?c:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,w=y*v+_*p+A,P=E*g+S*v+b,U=y*v+_*g+A;d=R,c=M,u=M,l=P<(l=B<(l=C<(l=R)?C:l)?B:l)?P:l,u=U<(u=w<(u=L(d=B>(d=C>d?C:d)?B:d)?P:d,c=U>(c=w>(c=L>c?L:c)?w:c)?U:c}if(x.x=l,x.y=u,x.width=d-l,x.height=c-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,d,c=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-c*x.width)+r.crop.width,u=(d=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-c),l=r.frame.width*-c,u=r.frame.height*(1-f),d=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,r.crop.height);if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,T=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=d,u=B,d=L}var w=this.colors,P=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(P[p++]=T*l+E*d+S|0,P[p++]=_*d+m*l+y|0,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S|0,P[p++]=_*d+m*h+y|0,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S|0,P[p++]=_*u+m*h+y|0,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S|0,P[p++]=_*u+m*l+y|0,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v):(P[p++]=T*l+E*d+S,P[p++]=_*d+m*l+y,P[p++]=n.x0,P[p++]=n.y0,w[p++]=F,P[p++]=v,P[p++]=T*h+E*d+S,P[p++]=_*d+m*h+y,P[p++]=n.x1,P[p++]=n.y1,w[p++]=F,P[p++]=v,P[p++]=T*h+E*u+S,P[p++]=_*u+m*h+y,P[p++]=n.x2,P[p++]=n.y2,w[p++]=F,P[p++]=v,P[p++]=T*l+E*u+S,P[p++]=_*u+m*l+y,P[p++]=n.x3,P[p++]=n.y3,w[p++]=F,P[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),d=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),c=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*d-l,a.y1=0-u,a.x2=1*d-l,a.y2=1*c-u,a.x3=0-l,a.y3=1*c-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,w=M.d/R,P=M.tx,U=M.ty;p[A++]=C*S+B*b+P,p[A++]=w*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+P,p[A++]=w*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+P,p[A++]=w*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+P,p[A++]=w*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,d=null,c=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(d,l,u),u=g,l=0,d=o,x&&(c=a,this.renderSession.blendModeManager.setBlendMode(c)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(d,l,u),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}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 0a9eb379f..cc48aa43b 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.8.4 "2017-08-15" - Built: Tue Aug 15 2017 23:50:19 +* v2.8.5 "2017-08-30" - Built: Wed Aug 30 2017 16:40:20 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -15335,7 +15335,7 @@ Object.defineProperty(PIXI.Sprite.prototype, 'height', { */ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) { - if (destroyBase !== undefined) + if (destroyBase) { this.texture.baseTexture.destroy(); } @@ -21235,7 +21235,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.8.4', + VERSION: '2.8.5', /** * An array of Phaser game instances. @@ -33863,11 +33863,30 @@ Object.defineProperty(Phaser.Group.prototype, "bottom", { // This function is set at the bottom of src/gameobjects/components/Bounds.js /** -* A display object is any object that can be rendered in the Phaser/pixi.js scene graph. -* -* This includes {@link Phaser.Group} (groups are display objects!), -* {@link Phaser.Sprite}, {@link Phaser.Button}, {@link Phaser.Text} -* as well as {@link PIXI.DisplayObject} and all derived types. +* A display object is any object that can be rendered in the Phaser/pixi.js scene graph: +* +* - {@link PIXI.DisplayObject} +* - {@link PIXI.DisplayObjectContainer} +* - {@link Phaser.BitmapText} +* - {@link Phaser.Creature} +* - {@link Phaser.Graphics} +* - {@link Phaser.Group} +* - {@link Phaser.FlexLayer} +* - {@link Phaser.Particles.Arcade.Emitter} +* - {@link Phaser.Physics.P2.BodyDebug} +* - {@link Phaser.SpriteBatch} +* - {@link Phaser.World} +* - {@link Phaser.Rope} +* - {@link Phaser.Stage} +* - {@link PIXI.Sprite} +* - {@link Phaser.Image} +* - {@link Phaser.Button} +* - {@link Phaser.Sprite} +* - {@link Phaser.Bullet} +* - {@link Phaser.Particle} +* - {@link Phaser.Text} +* - {@link Phaser.TilemapLayer} +* - {@link Phaser.TileSprite} * * @typedef {object} DisplayObject */ @@ -34298,42 +34317,29 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * In it's most simplest form, a Phaser game can be created by providing the arguments * to the constructor: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create }); * ``` * * In the example above it is passing in a State object directly. You can also use the State * Manager to do this: * -* ``` +* ```javascript * var game = new Phaser.Game(800, 600, Phaser.AUTO); * game.state.add('Boot', BasicGame.Boot); * game.state.add('Preloader', BasicGame.Preloader); * game.state.add('MainMenu', BasicGame.MainMenu); * game.state.add('Game', BasicGame.Game); * game.state.start('Boot'); -* * ``` +* * In the example above, 4 States are added to the State Manager, and Phaser is told to * start running the `Boot` state when it has finished initializing. There are example * project templates you can use in the Phaser GitHub repo, inside the `resources` folder. * -* @class Phaser.Game -* @constructor -* @param {number|string} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. -* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. -* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). -* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. -* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. -* @param {boolean} [transparent=false] - Use a transparent canvas background or not. -* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. -* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. -*/ - -/** -* Instead of specifying arguments you can also pass a single object instead: +* Instead of specifying arguments you can also pass {@link GameConfig a single object} instead: * -* ``` +* ```javascript * var config = { * width: 800, * height: 600, @@ -34352,23 +34358,14 @@ Object.defineProperty(Phaser.World.prototype, "randomY", { * * @class Phaser.Game * @constructor -* @param {object} [config] - A single configuration object -* @param {number|string} [config.antialias=true] -* @param {number|string} [config.height=600] -* @param {boolean} [config.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. -* @param {number} [config.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. -* @param {DOMElement} [config.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. -* @param {boolean} [config.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `renderer: Phaser.WEBGL_MULTI`. -* @param {string|HTMLElement} [config.parent=''] -* @param {object} [config.physicsConfig=null] -* @param {boolean} [config.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. -* @param {number} [config.renderer=Phaser.AUTO] -* @param {number} [config.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. -* @param {number} [config.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. -* @param {number} [config.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @param {object} [config.state=null] -* @param {boolean} [config.transparent=false] -* @param {number|string} [config.width=800] +* @param {number|string|GameConfig} [width=800] - The width of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage width of the parent container, or the browser window if no parent is given. +* @param {number|string} [height=600] - The height of your game in game pixels. If given as a string the value must be between 0 and 100 and will be used as the percentage height of the parent container, or the browser window if no parent is given. +* @param {number} [renderer=Phaser.AUTO] - Which renderer to use: Phaser.AUTO will auto-detect, Phaser.WEBGL, Phaser.WEBGL_MULTI, Phaser.CANVAS or Phaser.HEADLESS (no rendering at all). +* @param {string|HTMLElement} [parent=''] - The DOM element into which this games canvas will be injected. Either a DOM ID (string) or the element itself. +* @param {object} [state=null] - The default state object. A object consisting of Phaser.State functions (preload, create, update, render) or null. +* @param {boolean} [transparent=false] - Use a transparent canvas background or not. +* @param {boolean} [antialias=true] - Draw all image textures anti-aliased or not. The default is for smooth textures, but disable if your game features pixel art. +* @param {object} [physicsConfig=null] - A physics configuration object to pass to the Physics world on creation. */ Phaser.Game = function (width, height, renderer, parent, state, transparent, antialias, physicsConfig) { @@ -34398,7 +34395,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Width in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} width * @readonly @@ -34409,7 +34406,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant /** * The current Game Height in pixels. * - * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - eg. `game.scale.setGameSize(width, height)` - instead. + * _Do not modify this property directly:_ use {@link Phaser.ScaleManager#setGameSize} - e.g. `game.scale.setGameSize(width, height)` - instead. * * @property {integer} height * @readonly @@ -34798,6 +34795,29 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant }; +/** +* A configuration object for {@link Phaser.Game}. +* +* @typedef {object} GameConfig +* @property {number|string} [GameConfig.antialias=true] +* @property {number|string} [GameConfig.height=600] +* @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. +* @property {DOMElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. +* @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. +* @property {string|HTMLElement} [GameConfig.parent=''] +* @property {object} [GameConfig.physicsConfig=null] +* @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. +* @property {number} [GameConfig.renderer=Phaser.AUTO] +* @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. +* @property {object} [GameConfig.state=null] +* @property {boolean} [GameConfig.transparent=false] +* @property {number|string} [GameConfig.width=800] +*/ +// Documentation stub for linking. + Phaser.Game.prototype = { /** @@ -36177,8 +36197,9 @@ Phaser.Input.prototype = { * @method Phaser.Input#executeTouchLockCallbacks * @private * @param {boolean} onEnd - Execute the touchend/pointerup callbacks (true) or the touchstart/pointerdown callbacks (false). Required! + * @param {Event} event - The native event from the browser. */ - executeTouchLockCallbacks: function (onEnd) { + executeTouchLockCallbacks: function (onEnd, event) { var i = this.touchLockCallbacks.length; while (i--) @@ -37735,7 +37756,7 @@ Phaser.MSPointer.prototype = { */ onPointerDown: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -37811,7 +37832,7 @@ Phaser.MSPointer.prototype = { */ onPointerUp: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -39796,7 +39817,7 @@ Phaser.Touch.prototype = { */ onTouchStart: function (event) { - this.game.input.executeTouchLockCallbacks(false); + this.game.input.executeTouchLockCallbacks(false, event); this.event = event; @@ -39941,7 +39962,7 @@ Phaser.Touch.prototype = { */ onTouchEnd: function (event) { - this.game.input.executeTouchLockCallbacks(true); + this.game.input.executeTouchLockCallbacks(true, event); this.event = event; @@ -54090,7 +54111,7 @@ Phaser.Graphics.prototype.destroy = function (destroyChildren) { }; /** -* Draws a single {Phaser.Polygon} triangle from a {Phaser.Point} array +* Draws a single {@link Phaser.Polygon} triangle from a {@link Phaser.Point} array * * @method Phaser.Graphics#drawTriangle * @param {Array} points - An array of Phaser.Points that make up the three vertices of this triangle @@ -54122,11 +54143,11 @@ Phaser.Graphics.prototype.drawTriangle = function (points, cull) { }; /** -* Draws {Phaser.Polygon} triangles +* Draws {@link Phaser.Polygon} triangles * * @method Phaser.Graphics#drawTriangles * @param {Array|Array} vertices - An array of Phaser.Points or numbers that make up the vertices of the triangles -* @param {Array} {indices=null} - An array of numbers that describe what order to draw the vertices in +* @param {Array} [indices=null] - An array of numbers that describe what order to draw the vertices in * @param {boolean} [cull=false] - Should we check if the triangle is back-facing */ Phaser.Graphics.prototype.drawTriangles = function (vertices, indices, cull) { @@ -84048,7 +84069,7 @@ Phaser.ArrayUtils = { }, /** - * Snaps a value to the nearest value in an array. + * Snaps a value to the nearest value in a sorted numeric array. * The result will always be in the range `[first_value, last_value]`. * * @method Phaser.ArrayUtils.findClosest @@ -84085,7 +84106,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ F, A, B, C, D, E ]` - * + * * See also Phaser.ArrayUtils.rotateLeft. * * @method Phaser.ArrayUtils.rotateRight @@ -84107,7 +84128,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotateLeft @@ -84129,7 +84150,7 @@ Phaser.ArrayUtils = { * * Before: `[ A, B, C, D, E, F ]` * After: `[ B, C, D, E, F, A ]` - * + * * See also Phaser.ArrayUtils.rotateRight * * @method Phaser.ArrayUtils.rotate @@ -87285,7 +87306,7 @@ Phaser.Physics.Arcade.prototype = { }, /** - * Checks for collision between two game objects and separates them if colliding. If you don't require separation then use {@link #overlap} instead. + * Checks for collision between two game objects and separates them if colliding ({@link https://gist.github.com/samme/cbb81dd19f564dcfe2232761e575063d details}). If you don't require separation then use {@link #overlap} instead. * * You can perform Sprite vs. Sprite, Sprite vs. Group, Group vs. Group, Sprite vs. Tilemap Layer or Group vs. Tilemap Layer collisions. * Both the `object1` and `object2` can be arrays of objects, of differing types. @@ -87306,16 +87327,18 @@ Phaser.Physics.Arcade.prototype = { * * ##### Examples * - * collide(group); - * collide(group, undefined); // equivalent + * ```javascript + * collide(group); + * collide(group, undefined); // equivalent * - * collide(sprite1, sprite2); + * collide(sprite1, sprite2); * - * collide(sprite, group); + * collide(sprite, group); * - * collide(group1, group2); + * collide(group1, group2); * - * collide([sprite1, sprite2], [sprite3, sprite4]); // 1v3, 1v4, 2v3, 2v4 + * collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4 + * ``` * * ##### Tilemaps * @@ -89324,7 +89347,7 @@ Phaser.Physics.Arcade.Body = function (sprite) { this.maxVelocity = new Phaser.Point(10000, 10000); /** - * @property {Phaser.Point} friction - If this Body is moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. + * @property {Phaser.Point} friction - If this Body is {@link #immovable} and moving, and another Body is 'riding' this one, this is the amount of motion the riding Body receives on each axis. */ this.friction = new Phaser.Point(1, 0); @@ -101619,7 +101642,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.physicsType = Phaser.GROUP; /** - * @property {Phaser.Rectangle} area - The area of the emitter. Particles can be randomly generated from anywhere within this rectangle. + * @property {Phaser.Rectangle} area - The {@link #setSize size} of the emitter's emit area. The **actual** emit area is a rectangle of this size centered on (emitX, emitY): `{x: this.left, y: this.top, width: this.area.width, height: this.area.height}`. Particles are generated at a random position within this area. * @default */ this.area = new Phaser.Rectangle(x, y, 1, 1); @@ -101797,7 +101820,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this.particleSendToBack = false; /** - * @property {object} count + * @property {object} count - Records emitter activity. * @property {number} count.emitted - How many particles were emitted during the last update. * @property {number} count.failed - How many particles could not be emitted during the last update (because no particles were available). * @property {number} count.totalEmitted - How many particles have been emitted. @@ -101829,10 +101852,10 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._maxParticleScale = new Phaser.Point(1, 1); /** - * @property {number} _quantity - Internal helper for deciding how many particles to launch. + * @property {number} _total - Internal helper for deciding how many particles to launch (via {@link #start}). * @private */ - this._quantity = 0; + this._total = 0; /** * @property {number} _timer - Internal helper for deciding when to launch particles or kill them. @@ -101853,7 +101876,7 @@ Phaser.Particles.Arcade.Emitter = function (game, x, y, maxParticles) { this._flowQuantity = 0; /** - * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total. + * @property {number} _flowTotal - Internal counter for figuring out how many particles to launch in total (via {@link #flow}). * @private */ this._flowTotal = 0; @@ -101926,7 +101949,7 @@ Phaser.Particles.Arcade.Emitter.prototype.update = function () { { this._counter++; - if (this._quantity > 0 && this._counter >= this._quantity) + if (this._total > 0 && this._counter >= this._total) { this.on = false; } @@ -102066,17 +102089,20 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity }; /** -* Call this function to start emitting a flow of particles at the given frequency. -* It will carry on going until the total given is reached. -* Each time the flow is run the quantity number of particles will be emitted together. -* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 x 5 = 20 total) -* If you set the total to be -1 then no quantity cap is used and it will keep emitting. +* Call this function to start emitting a flow of particles. +* `quantity` particles are released every interval of `frequency` ms until `total` particles have been released (or forever). +* If you set the total to be 20 and quantity to be 5 then flow will emit 4 times in total (4 × 5 = 20 total) and then turn {@link #on off}. +* If you set the total to be -1 then no quantity cap is used and it will keep emitting (as long as there are inactive particles available). +* +* {@link #output}, {@link #lifespanOutput}, and {@link #remainder} describe the particle flow rate. +* During a stable flow, the number of active particles approaches {@link #lifespanOutput} and the number of inactive particles approaches {@link #remainder}. +* If {@link #remainder} is less than 0, there will likely be no particles available for a portion of the flow (see {@link #count}). * * @method Phaser.Particles.Arcade.Emitter#flow * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit the particles, given in ms. -* @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. -* @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. +* @param {number} [frequency=250] - The interval between each release of particles, given in ms. Values between 0 and 16.66 will behave the same (60 releases per second). +* @param {number} [quantity=1] - How many particles to launch at each interval. Not larger than {@link #maxParticles}. +* @param {number} [total=-1] - Turn {@link #on off} after launching this many particles in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ @@ -102120,34 +102146,39 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * * There are two patterns, based on the `explode` argument: * -* - `start(true, lifespan=0, null, quantity)` -* - `start(false, lifespan=0, frequency=250, quantity=0)` +* ##### explode=true * -* When `explode` is true or `forceQuantity` is true, `start` emits `quantity` particles immediately. You should pass a nonzero `quantity`. +* start(true, lifespan=0, null, total) * -* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `quantity` is not zero, the emitter turns itself off after `quantity` particles have been released. If `quantity` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. +* When `explode` is true or `forceQuantity` is true, `start` emits `total` particles immediately. You should pass a nonzero `total`. +* +* ##### explode=false +* +* start(false, lifespan=0, frequency=250, total=0) +* +* When `explode` is false and `forceQuantity` is false, `start` emits 1 particle every interval of `frequency` ms. If `total` is not zero, the emitter turns itself off after `total` particles have been released. If `total` is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use {@link #flow} instead. * * `forceQuantity` seems equivalent to `explode` and can probably be avoided. * * @method Phaser.Particles.Arcade.Emitter#start * @param {boolean} [explode=true] - Whether the particles should all burst out at once (true) or at the frequency given (false). * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. -* @param {number} [frequency=250] - Frequency is how often to emit 1 particle when `explode` is false. Value given in ms. Ignored if `explode` is set to true. -* @param {number} [quantity=0] - How many particles to launch in total (not larger than {@link Phaser.Particles.Arcade.Emitter#maxParticles maxParticles}). +* @param {number} [frequency=250] - The interval between each release of 1 particle, when `explode` is false. Value given in ms. Ignored if `explode` is set to true. +* @param {number} [total=0] - Turn {@link #on off} after launching this many particles in total. * @param {number} [forceQuantity=false] - Equivalent to `explodes`. * @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ -Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { +Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, total, forceQuantity) { if (explode === undefined) { explode = true; } if (lifespan === undefined) { lifespan = 0; } if (frequency === undefined || frequency === null) { frequency = 250; } - if (quantity === undefined) { quantity = 0; } + if (total === undefined) { total = 0; } if (forceQuantity === undefined) { forceQuantity = false; } - if (quantity > this.maxParticles) + if (total > this.maxParticles) { - quantity = this.maxParticles; + total = this.maxParticles; } this.revive(); @@ -102159,7 +102190,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f if (explode || forceQuantity) { - for (var i = 0; i < quantity; i++) + for (var i = 0; i < total; i++) { this.emitParticle(); } @@ -102167,7 +102198,7 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f else { this.on = true; - this._quantity = quantity; + this._total = total; this._counter = 0; this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } @@ -102217,6 +102248,7 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr else if (key !== undefined) { particle.loadTexture(key); + particle.frame = Array.isArray(this._frames) ? rnd.pick(this._frames) : this._frames; } var emitX = this.emitX; @@ -102240,7 +102272,25 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr emitY = rnd.between(this.top, this.bottom); } - particle.reset(emitX, emitY); + this.resetParticle(particle, emitX, emitY); + + return true; + +}; + +/** + * Helper for {@link #emitParticle}. Sets particle properties and calls {@link Particle#onEmit}. + * + * @private + * @param {Phaser.Particle} particle + * @param {number} x + * @param {number} y + */ +Phaser.Particles.Arcade.Emitter.prototype.resetParticle = function (particle, x, y) { + + var rnd = this.game.rnd; + + particle.reset(x, y); particle.angle = 0; particle.lifespan = this.lifespan; @@ -102271,18 +102321,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.scale.set(this._minParticleScale.x, this._minParticleScale.y); } - if (frame === undefined) - { - if (Array.isArray(this._frames)) - { - particle.frame = this.game.rnd.pick(this._frames); - } - else - { - particle.frame = this._frames; - } - } - if (this.autoAlpha) { particle.setAlphaData(this.alphaData); @@ -102321,8 +102359,6 @@ Phaser.Particles.Arcade.Emitter.prototype.emitParticle = function (x, y, key, fr particle.onEmit(); - return true; - }; /** @@ -102533,8 +102569,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAngle = function (minAngle, maxAngl }; /** -* Change the emitters center to match the center of any object with a `center` property, such as a Sprite. -* If the object doesn't have a center property it will be set to object.x + object.width / 2 +* Change the emitter's center to match the center of any object with a `center` property, such as an Arcade Body. +* If the object doesn't have a `center` property it will be set to the object's anchor-adjusted world position (`object.world`). * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. diff --git a/build/phaser.map b/build/phaser.map index 0270cf23f..7e7f8578a 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","prop","parts","val","setProperty","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","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":";;CAoDC,SAASA,GAAG,GAAG,iBAAiBC,QAAQC,OAAOD,QAAQD,QAAS,CAAmD,IAAIG,EAAE,oBAAoBC,OAAOD,EAAEC,OAAO,oBAAoBC,OAAOF,EAAEE,OAAO,oBAAoBC,OAAOH,EAAEG,MAAMH,EAAEI,GAAGP,KAAzO,CAA+O,WAAqC,OAAO,SAAUA,EAAEQ,EAAEC,EAAEC,GAAG,SAASC,EAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,IAAIE,EAAkB,mBAATC,SAAqBA,QAAQ,IAAIF,GAAGC,EAAE,OAAOA,EAAEF,GAAE,GAAI,GAAGI,EAAE,OAAOA,EAAEJ,GAAE,GAAI,MAAM,IAAIK,MAAM,uBAAuBL,EAAE,KAAK,IAAIT,EAAEM,EAAEG,IAAIX,YAAYO,EAAEI,GAAG,GAAGM,KAAKf,EAAEF,QAAQ,SAASD,GAAG,IAAIS,EAAED,EAAEI,GAAG,GAAGZ,GAAG,OAAOW,EAAEF,GAAIT,IAAIG,EAAEA,EAAEF,QAAQD,EAAEQ,EAAEC,EAAEC,GAAG,OAAOD,EAAEG,GAAGX,QAAkD,IAAI,IAA1Ce,EAAkB,mBAATD,SAAqBA,QAAgBH,EAAE,EAAEA,EAAEF,EAAES,OAAOP,IAAID,EAAED,EAAEE,IAAI,OAAOD,EAArZ,EAA0ZS,GAAG,SAASC,EAAQnB,EAAOD,GASjtB,SAASqB,KART,IAAIC,EAASF,EAAQ,YAErBnB,EAAOD,QAAUqB,EAiBjBA,EAAKE,QAAU,SAASC,EAAGC,EAAGC,GAC1BA,EAAYA,GAAa,EACzB,IACIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EADxBlB,GAAK,EAAE,GAaX,OAXAY,EAAKH,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBI,EAAKJ,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBK,EAAKF,EAAKH,EAAG,GAAG,GAAKI,EAAKJ,EAAG,GAAG,GAChCM,EAAKL,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBM,EAAKN,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBO,EAAKF,EAAKL,EAAG,GAAG,GAAKM,EAAKN,EAAG,GAAG,GAChCQ,EAAMN,EAAKI,EAAKD,EAAGF,EACdN,EAAOY,GAAGD,EAAK,EAAGP,KACnBX,EAAE,IAAMgB,EAAKF,EAAKD,EAAKI,GAAMC,EAC7BlB,EAAE,IAAMY,EAAKK,EAAKF,EAAKD,GAAMI,GAE1BlB,GAYXM,EAAKc,kBAAoB,SAASC,EAAI9B,EAAI+B,EAAIC,GAC3C,IAAIC,EAAKjC,EAAG,GAAK8B,EAAG,GAChBI,EAAKlC,EAAG,GAAK8B,EAAG,GAChBK,EAAKH,EAAG,GAAKD,EAAG,GAChBK,EAAKJ,EAAG,GAAKD,EAAG,GAGpB,GAAGI,EAAGD,EAAKE,EAAGH,GAAM,EACjB,OAAO,EAEV,IAAI7B,GAAK6B,GAAMF,EAAG,GAAKD,EAAG,IAAMI,GAAMJ,EAAG,GAAKC,EAAG,MAAQI,EAAKD,EAAKE,EAAKH,GACpEhC,GAAKkC,GAAML,EAAG,GAAKC,EAAG,IAAMK,GAAML,EAAG,GAAKD,EAAG,MAAQM,EAAKH,EAAKE,EAAKD,GAExE,OAAQ9B,GAAG,GAAKA,GAAG,GAAKH,GAAG,GAAKA,GAAG,KAInCoC,WAAW,IAAIC,GAAG,SAASxB,EAAQnB,EAAOD,GAO7C,SAAS6C,KANT5C,EAAOD,QAAU6C,EAiBjBA,EAAMC,KAAO,SAASjC,EAAEkC,EAAEC,GACtB,OAAUD,EAAE,GAAKlC,EAAE,KAAKmC,EAAE,GAAKnC,EAAE,KAAOmC,EAAE,GAAKnC,EAAE,KAAKkC,EAAE,GAAKlC,EAAE,KAGnEgC,EAAMI,KAAO,SAASpC,EAAEkC,EAAEC,GACtB,OAAOH,EAAMC,KAAKjC,EAAEkC,EAAEC,GAAK,GAG/BH,EAAMK,OAAS,SAASrC,EAAEkC,EAAEC,GACxB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,IAAM,GAGlCH,EAAMM,MAAQ,SAAStC,EAAEkC,EAAEC,GACvB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,GAAK,GAGjCH,EAAMO,QAAU,SAASvC,EAAEkC,EAAEC,GACzB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,IAAM,GAGlC,IAAIK,KACAC,KAWJT,EAAMU,UAAY,SAAS1C,EAAEkC,EAAEC,EAAEQ,GAC7B,GAAIA,EAEC,CACD,IAAIC,EAAKJ,EACLK,EAAKJ,EAETG,EAAG,GAAKV,EAAE,GAAGlC,EAAE,GACf4C,EAAG,GAAKV,EAAE,GAAGlC,EAAE,GACf6C,EAAG,GAAKV,EAAE,GAAGD,EAAE,GACfW,EAAG,GAAKV,EAAE,GAAGD,EAAE,GAEf,IAAIY,EAAMF,EAAG,GAAGC,EAAG,GAAKD,EAAG,GAAGC,EAAG,GAC7BE,EAAOC,KAAKC,KAAKL,EAAG,GAAGA,EAAG,GAAKA,EAAG,GAAGA,EAAG,IACxCM,EAAOF,KAAKC,KAAKJ,EAAG,GAAGA,EAAG,GAAKA,EAAG,GAAGA,EAAG,IAE5C,OADYG,KAAKG,KAAKL,GAAKC,EAAKG,IACjBP,EAdf,OAA8B,GAAvBX,EAAMC,KAAKjC,EAAGkC,EAAGC,IAkBhCH,EAAMoB,OAAS,SAASpD,EAAEkC,GACtB,IAAIR,EAAKQ,EAAE,GAAKlC,EAAE,GACd2B,EAAKO,EAAE,GAAKlC,EAAE,GAClB,OAAO0B,EAAKA,EAAKC,EAAKA,QAGpB0B,GAAG,SAAS9C,EAAQnB,EAAOD,GAYjC,SAASmE,IAOLC,KAAKC,YAiST,SAASC,EAAqBlC,EAAI9B,EAAI+B,EAAIC,EAAIiC,GAC1CA,EAAQA,GAAS,EAClB,IAAI5C,EAAKrB,EAAG,GAAK8B,EAAG,GAChBR,EAAKQ,EAAG,GAAK9B,EAAG,GAChBuB,EAAMF,EAAKS,EAAG,GAAOR,EAAKQ,EAAG,GAC7BN,EAAKQ,EAAG,GAAKD,EAAG,GAChBN,EAAKM,EAAG,GAAKC,EAAG,GAChBN,EAAMF,EAAKO,EAAG,GAAON,EAAKM,EAAG,GAC7BJ,EAAON,EAAKI,EAAOD,EAAKF,EAE5B,OAAIN,EAAOY,GAAGD,EAAI,EAAEsC,IAGT,EAAE,KAFAxC,EAAKF,EAAOD,EAAKI,GAAOC,GAAON,EAAKK,EAAOF,EAAKD,GAAOI,GA9TvE,IAAIZ,EAAOD,EAAQ,UACfyB,EAAQzB,EAAQ,WAChBE,EAASF,EAAQ,YAErBnB,EAAOD,QAAUmE,EAuBjBA,EAAQK,UAAUC,GAAK,SAAS1D,GAC5B,IAAI2D,EAAIN,KAAKC,SACT3D,EAAIgE,EAAExD,OACV,OAAOwD,EAAE3D,EAAI,EAAIA,EAAIL,EAAIA,EAAIK,EAAIL,IAQrCyD,EAAQK,UAAUG,MAAQ,WACtB,OAAOP,KAAKC,SAAS,IAQzBF,EAAQK,UAAUI,KAAO,WACrB,OAAOR,KAAKC,SAASD,KAAKC,SAASnD,OAAO,IAQ9CiD,EAAQK,UAAUK,MAAQ,WACtBT,KAAKC,SAASnD,OAAS,GAW3BiD,EAAQK,UAAUM,OAAS,SAASC,EAAKC,EAAKC,GAC1C,QAAmB,IAAV,EAAuB,MAAM,IAAIjE,MAAM,sBAChD,QAAiB,IAAR,EAAuB,MAAM,IAAIA,MAAM,oBAEhD,GAAGiE,EAAG,EAAID,EAAsB,MAAM,IAAIhE,MAAM,QAChD,GAAGiE,EAAKF,EAAKV,SAASnD,OAAU,MAAM,IAAIF,MAAM,QAChD,GAAGgE,EAAO,EAAsB,MAAM,IAAIhE,MAAM,QAEhD,IAAI,IAAID,EAAEiE,EAAMjE,EAAEkE,EAAIlE,IAClBqD,KAAKC,SAASa,KAAKH,EAAKV,SAAStD,KAQzCoD,EAAQK,UAAUW,QAAU,WAKxB,IAAK,IAJDC,EAAK,EACLV,EAAIN,KAAKC,SAGJtD,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,GACpC2D,EAAE3D,GAAG,GAAK2D,EAAEU,GAAI,IAAOV,EAAE3D,GAAG,IAAM2D,EAAEU,GAAI,IAAMV,EAAE3D,GAAG,GAAK2D,EAAEU,GAAI,MAC9DA,EAAKrE,GAKR8B,EAAMI,KAAKmB,KAAKK,GAAGW,EAAK,GAAIhB,KAAKK,GAAGW,GAAKhB,KAAKK,GAAGW,EAAK,KACvDhB,KAAKiB,WAQblB,EAAQK,UAAUa,QAAU,WAExB,IAAI,IADAC,KACIvE,EAAE,EAAGwE,EAAEnB,KAAKC,SAASnD,OAAQH,IAAIwE,EAAGxE,IACxCuE,EAAIJ,KAAKd,KAAKC,SAASmB,OAE3BpB,KAAKC,SAAWiB,GASpBnB,EAAQK,UAAUiB,SAAW,SAAS1E,GAClC,OAAO8B,EAAMM,MAAMiB,KAAKK,GAAG1D,EAAI,GAAIqD,KAAKK,GAAG1D,GAAIqD,KAAKK,GAAG1D,EAAI,KAG/D,IAAI2E,KACAC,KASJxB,EAAQK,UAAUoB,OAAS,SAAS/E,EAAEkC,GAClC,IAAI8C,EAAGC,EAAMtE,EAAGkE,EAAUjE,EAAGkE,EAE7B,GAAI9C,EAAMK,OAAOkB,KAAKK,GAAG5D,EAAI,GAAIuD,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,KAAOF,EAAMO,QAAQgB,KAAKK,GAAG5D,EAAI,GAAIuD,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,IAC1G,OAAO,EAEX+C,EAAOjD,EAAMoB,OAAOG,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,IACxC,IAAK,IAAIhC,EAAI,EAAGA,IAAMqD,KAAKC,SAASnD,SAAUH,EAC1C,IAAKA,EAAI,GAAKqD,KAAKC,SAASnD,SAAWL,GAAKE,IAAMF,GAE9CgC,EAAMK,OAAOkB,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,GAAIqB,KAAKK,GAAG1D,EAAI,KAAO8B,EAAMO,QAAQgB,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,GAAIqB,KAAKK,GAAG1D,MACtGS,EAAG,GAAK4C,KAAKK,GAAG5D,GAChBW,EAAG,GAAK4C,KAAKK,GAAG1B,GAChBtB,EAAG,GAAK2C,KAAKK,GAAG1D,GAChBU,EAAG,GAAK2C,KAAKK,GAAG1D,EAAI,GACpB8E,EAAIxE,EAAKE,QAAQC,EAAGC,GAChBoB,EAAMoB,OAAOG,KAAKK,GAAG5D,GAAIgF,GAAKC,GAC9B,OAAO,EAKnB,OAAO,GAWX3B,EAAQK,UAAUuB,KAAO,SAAShF,EAAEiF,EAAEC,GAClC,IAAIJ,EAAII,GAAc,IAAI9B,EAE1B,GADA0B,EAAEhB,QACE9D,EAAIiF,EAEJ,IAAQE,EAAEnF,EAAGmF,GAAGF,EAAGE,IACfL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,QAE/B,CAGH,IAAQA,EAAE,EAAGA,GAAGF,EAAGE,IACfL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,IAGlC,IAAI,IAAIA,EAAEnF,EAAGmF,EAAE9B,KAAKC,SAASnD,OAAQgF,IACjCL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,IAGtC,OAAOL,GASX1B,EAAQK,UAAU2B,YAAc,WAI5B,IAAK,IAHDC,KAAQC,KAASC,KAASC,EAAU,IAAIpC,EACxCqC,EAASC,OAAOC,UAEX3F,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,EACxC,GAAIqD,KAAKqB,SAAS1E,GACd,IAAK,IAAIiF,EAAI,EAAGA,EAAI5B,KAAKC,SAASnD,SAAU8E,EACxC,GAAI5B,KAAKwB,OAAO7E,EAAGiF,GAAI,CACnBK,EAAOjC,KAAK2B,KAAKhF,EAAGiF,EAAGO,GAASJ,cAChCG,EAAOlC,KAAK2B,KAAKC,EAAGjF,EAAGwF,GAASJ,cAEhC,IAAI,IAAID,EAAE,EAAGA,EAAEI,EAAKpF,OAAQgF,IACxBG,EAAKnB,KAAKoB,EAAKJ,IAEfG,EAAKnF,OAASsF,IACdJ,EAAMC,EACNG,EAASH,EAAKnF,OACdkF,EAAIlB,MAAMd,KAAKK,GAAG1D,GAAIqD,KAAKK,GAAGuB,MAOlD,OAAOI,GAQXjC,EAAQK,UAAUmC,OAAS,WACvB,IAAIC,EAAQxC,KAAK+B,cACjB,OAAGS,EAAM1F,OAAS,EACPkD,KAAKyC,MAAMD,IAEVxC,OAShBD,EAAQK,UAAUqC,MAAQ,SAASC,GAC/B,GAAsB,GAAnBA,EAAS5F,OAAa,OAAQkD,MACjC,GAAG0C,aAAoBC,OAASD,EAAS5F,QAAU4F,EAAS,aAAcC,OAA6B,GAApBD,EAAS,GAAG5F,QAAa4F,EAAS,GAAG,aAAcC,MAAM,CAIxI,IAAI,IAFAC,GAAS5C,MAELrD,EAAE,EAAGA,EAAE+F,EAAS5F,OAAQH,IAG5B,IAAI,IAFAkG,EAAUH,EAAS/F,GAEfiF,EAAE,EAAGA,EAAEgB,EAAM9F,OAAQ8E,IAAI,CAC7B,IACIkB,EADOF,EAAMhB,GACCa,MAAMI,GACxB,GAAGC,EAAO,CAENF,EAAMG,OAAOnB,EAAE,GACfgB,EAAM9B,KAAKgC,EAAO,GAAGA,EAAO,IAC5B,OAKZ,OAAOF,EAIP,IAAIC,EAAUH,EACV/F,EAAIqD,KAAKC,SAAS+C,QAAQH,EAAQ,IAClCjB,EAAI5B,KAAKC,SAAS+C,QAAQH,EAAQ,IAEtC,OAAS,GAANlG,IAAiB,GAANiF,IACF5B,KAAK2B,KAAKhF,EAAEiF,GACZ5B,KAAK2B,KAAKC,EAAEjF,KAchCoD,EAAQK,UAAU6C,SAAW,WAGzB,IAAI,IAFAC,EAAOlD,KAAKC,SAERtD,EAAE,EAAGA,EAAEuG,EAAKpG,OAAO,EAAGH,IAC1B,IAAI,IAAIiF,EAAE,EAAGA,EAAEjF,EAAE,EAAGiF,IAChB,GAAG3E,EAAKc,kBAAkBmF,EAAKvG,GAAIuG,EAAKvG,EAAE,GAAIuG,EAAKtB,GAAIsB,EAAKtB,EAAE,IAC1D,OAAO,EAMnB,IAAQjF,EAAE,EAAGA,EAAEuG,EAAKpG,OAAO,EAAGH,IAC1B,GAAGM,EAAKc,kBAAkBmF,EAAK,GAAIA,EAAKA,EAAKpG,OAAO,GAAIoG,EAAKvG,GAAIuG,EAAKvG,EAAE,IACpE,OAAO,EAIf,OAAO,GA8BXoD,EAAQK,UAAU+C,YAAc,SAASL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACxFD,EAAWA,GAAY,IACvBC,EAAQA,GAAS,EACjBpD,EAAQA,GAAS,GACjB2C,OAAyB,IAAV,EAAwBA,KACvCM,EAAiBA,MACjBC,EAAgBA,MAEhB,IAAIG,GAAU,EAAE,GAAIC,GAAU,EAAE,GAAIhC,GAAG,EAAE,GACrCiC,EAAU,EAAGC,EAAU,EAAGC,EAAE,EAAGC,EAAY,EAC3CC,EAAW,EAAGC,EAAW,EAAGC,EAAa,EACzCC,EAAU,IAAIlE,EAAWmE,EAAU,IAAInE,EACvCY,EAAOX,KACPM,EAAIN,KAAKC,SAEb,GAAGK,EAAExD,OAAS,EAAG,OAAOgG,EAGxB,KADAS,EACWD,EAEP,OADAa,QAAQC,KAAK,2BAA2Bd,EAAS,cAC1CR,EAGX,IAAK,IAAInG,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,EACxC,GAAIgE,EAAKU,SAAS1E,GAAI,CAClByG,EAAetC,KAAKH,EAAKV,SAAStD,IAClC+G,EAAYC,EAAYtB,OAAOC,UAG/B,IAASV,EAAI,EAAGA,EAAI5B,KAAKC,SAASnD,SAAU8E,EACpCnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KACxCnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,EAAI,MAC7DH,EAAIvB,EAAqBS,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,GAAIjB,EAAKN,GAAGuB,EAAI,IACzEnD,EAAMM,MAAM4B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAI8E,KACxCmC,EAAInF,EAAMoB,OAAOc,EAAKV,SAAStD,GAAI8E,IAC3BkC,IACJA,EAAYC,EACZH,EAAWhC,EACXsC,EAAanC,IAIrBnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,EAAI,KAC5CnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,MACzDH,EAAIvB,EAAqBS,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,GAAIjB,EAAKN,GAAGuB,EAAI,IACzEnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAI8E,KACvCmC,EAAInF,EAAMoB,OAAOc,EAAKV,SAAStD,GAAI8E,IAC3BiC,IACJA,EAAYE,EACZJ,EAAW/B,EACXqC,EAAalC,IAO7B,GAAImC,IAAeD,EAAa,GAAK9D,KAAKC,SAASnD,OAE/C2E,EAAE,IAAMgC,EAAS,GAAKD,EAAS,IAAM,EACrC/B,EAAE,IAAMgC,EAAS,GAAKD,EAAS,IAAM,EACrCH,EAAcvC,KAAKW,GAEf9E,EAAImH,GAEJG,EAAUvD,OAAOC,EAAMhE,EAAGmH,EAAW,GACrCG,EAAUhE,SAASa,KAAKW,GACxByC,EAAUjE,SAASa,KAAKW,GACN,GAAdsC,GAEAG,EAAUxD,OAAOC,EAAKoD,EAAWpD,EAAKV,SAASnD,QAGnDoH,EAAUxD,OAAOC,EAAK,EAAEhE,EAAE,KAEjB,GAALA,GAEAsH,EAAUvD,OAAOC,EAAKhE,EAAEgE,EAAKV,SAASnD,QAG1CmH,EAAUvD,OAAOC,EAAK,EAAEmD,EAAW,GACnCG,EAAUhE,SAASa,KAAKW,GACxByC,EAAUjE,SAASa,KAAKW,GAExByC,EAAUxD,OAAOC,EAAKoD,EAAWpH,EAAE,QAEpC,CASH,GALIoH,EAAaD,IACbA,GAAc9D,KAAKC,SAASnD,QAEhC+G,EAAcxB,OAAOC,UAElBwB,EAAaC,EACZ,OAAOjB,EAGX,IAAK,IAAIlB,EAAImC,EAAYnC,GAAKkC,IAAclC,EACpCnD,EAAMK,OAAO6B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KAC1CnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,MACzDgC,EAAInF,EAAMoB,OAAOc,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KAC7BiC,IACJA,EAAcD,EACdI,EAAepC,EAAI5B,KAAKC,SAASnD,QAKzCH,EAAIqH,GACJC,EAAUvD,OAAOC,EAAKhE,EAAEqH,EAAa,GACjB,GAAhBA,GACAE,EAAUxD,OAAOC,EAAKqD,EAAa1D,EAAExD,QAEzCoH,EAAUxD,OAAOC,EAAK,EAAEhE,EAAE,KAEjB,GAALA,GACAsH,EAAUvD,OAAOC,EAAKhE,EAAE2D,EAAExD,QAE9BmH,EAAUvD,OAAOC,EAAK,EAAEqD,EAAa,GACrCE,EAAUxD,OAAOC,EAAKqD,EAAarH,EAAE,IAa7C,OARIsH,EAAUhE,SAASnD,OAASoH,EAAUjE,SAASnD,QAC/CmH,EAAUd,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACzEW,EAAUf,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,KAEzEW,EAAUf,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACzEU,EAAUd,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,IAGtET,EAKf,OAFAA,EAAOhC,KAAKd,MAEL8C,GASX/C,EAAQK,UAAUiE,sBAAwB,SAAS/G,GAE/C,IAAI,IADAgH,EAAM,EACF3H,EAAEqD,KAAKC,SAASnD,OAAO,EAAGkD,KAAKC,SAASnD,OAAO,GAAKH,GAAG,IAAKA,EAC7D8B,EAAMU,UAAUa,KAAKK,GAAG1D,EAAE,GAAGqD,KAAKK,GAAG1D,GAAGqD,KAAKK,GAAG1D,EAAE,GAAGW,KAEpD0C,KAAKC,SAAS8C,OAAOpG,EAAEqD,KAAKC,SAASnD,OAAO,GAC5CH,IACA2H,KAGR,OAAOA,KAGRC,SAAS,EAAEC,UAAU,EAAEjG,WAAW,IAAIkG,GAAG,SAASzH,EAAQnB,EAAOD,GAOpE,SAASsB,KANTrB,EAAOD,QAAUsB,EAiBjBA,EAAOY,GAAK,SAASrB,EAAEkC,EAAErB,GAErB,OADAA,EAAYA,GAAa,EAClBmC,KAAKiF,IAAIjI,EAAEkC,GAAKrB,QAGrBqH,GAAG,SAAS3H,EAAQnB,EAAOD,GACjCC,EAAOD,SACHmE,QAAU/C,EAAQ,aAClByB,MAAQzB,EAAQ,cAGjBwH,UAAU,EAAEI,YAAY,IAAIC,GAAG,SAAS7H,EAAQnB,EAAOD,GAC1DC,EAAOD,SACLkJ,KAAQ,KACRC,QAAW,QACXC,YAAe,kCACfC,OAAU,wDACVC,UACE,QACA,KACA,UACA,SACA,MAEFC,KAAQ,cACRC,SACEC,KAAQ,KAEVC,YACEC,KAAQ,MACRC,IAAO,yCAETC,MACED,IAAO,4CAETE,WAEIH,KAAQ,QAGZI,iBACEC,MAAS,SACTC,uBAAwB,UACxBC,yBAA0B,SAC1BC,uBAAwB,SACxBC,sBAAuB,SACvBC,mBAAoB,SACpBC,uBAAwB,UAE1BC,cACEC,cAAe,eAIbC,GAAG,SAASrJ,EAAQnB,EAAOD,GAcjC,SAAS0K,EAAKC,GAOVvG,KAAKwG,WAAaC,EAAKC,SACpBH,GAAWA,EAAQC,YAClBC,EAAK9E,KAAK3B,KAAKwG,WAAYD,EAAQC,YAQvCxG,KAAK2G,WAAaF,EAAKC,SACpBH,GAAWA,EAAQI,YAClBF,EAAK9E,KAAK3B,KAAK2G,WAAYJ,EAAQI,YAhC3C,IAAIF,EAAOzJ,EAAQ,gBACPA,EAAQ,kBAEpBnB,EAAOD,QAAU0K,EAiCjB,IAAIpF,EAAMuF,EAAKC,SAUfJ,EAAKlG,UAAUwG,cAAgB,SAASC,EAAQC,EAAUC,EAAOC,GAC7D,IAAIC,EAAIjH,KAAKwG,WACThK,EAAIwD,KAAK2G,WAEQ,iBAAZ,IACLI,EAAQ,GAIC,IAAVA,EACCN,EAAKS,OAAOD,EAAGJ,EAAO,GAAIE,GAE1BN,EAAK9E,KAAKsF,EAAGJ,EAAO,IAExBJ,EAAK9E,KAAKnF,EAAGyK,GAKb,IAAI,IAFAE,EAAW1H,KAAK2H,IAAIL,GACpBM,EAAW5H,KAAK6H,IAAIP,GAChBpK,EAAI,EAAGA,EAAEkK,EAAO/J,OAAQH,IAAI,CAChC,IAAI8E,EAAIoF,EAAOlK,GAEf,GAAa,IAAVoK,EAAY,CACX,IAAIQ,EAAI9F,EAAE,GACN+F,EAAI/F,EAAE,GACVP,EAAI,GAAKiG,EAAWI,EAAGF,EAAWG,EAClCtG,EAAI,GAAKmG,EAAWE,EAAGJ,EAAWK,EAClC/F,EAAIP,EAGR,IAAI,IAAIU,EAAE,EAAGA,EAAE,EAAGA,IACXH,EAAEG,GAAKpF,EAAEoF,KACRpF,EAAEoF,GAAKH,EAAEG,IAEVH,EAAEG,GAAKqF,EAAErF,KACRqF,EAAErF,GAAKH,EAAEG,IAMlBkF,IACCL,EAAKgB,IAAIzH,KAAKwG,WAAYxG,KAAKwG,WAAYM,GAC3CL,EAAKgB,IAAIzH,KAAK2G,WAAY3G,KAAK2G,WAAYG,IAG5CE,IACChH,KAAKwG,WAAW,IAAMQ,EACtBhH,KAAKwG,WAAW,IAAMQ,EACtBhH,KAAK2G,WAAW,IAAMK,EACtBhH,KAAK2G,WAAW,IAAMK,IAS9BV,EAAKlG,UAAUuB,KAAO,SAAS+F,GAC3BjB,EAAK9E,KAAK3B,KAAKwG,WAAYkB,EAAKlB,YAChCC,EAAK9E,KAAK3B,KAAK2G,WAAYe,EAAKf,aAQpCL,EAAKlG,UAAUuH,OAAS,SAASD,GAG7B,IADA,IAAI/K,EAAI,EACFA,KAAI,CAEN,IAAIsK,EAAIS,EAAKlB,WAAW7J,GACrBqD,KAAKwG,WAAW7J,GAAKsK,IACpBjH,KAAKwG,WAAW7J,GAAKsK,GAIzB,IAAIzK,EAAIkL,EAAKf,WAAWhK,GACrBqD,KAAK2G,WAAWhK,GAAKH,IACpBwD,KAAK2G,WAAWhK,GAAKH,KAWjC8J,EAAKlG,UAAUwH,SAAW,SAASF,GAC/B,IAAItK,EAAK4C,KAAKwG,WACVqB,EAAK7H,KAAK2G,WACVtJ,EAAKqK,EAAKlB,WACVsB,EAAKJ,EAAKf,WAOd,OAAStJ,EAAG,IAAMwK,EAAG,IAAMA,EAAG,IAAMC,EAAG,IAAQ1K,EAAG,IAAM0K,EAAG,IAAMA,EAAG,IAAMD,EAAG,MACpExK,EAAG,IAAMwK,EAAG,IAAMA,EAAG,IAAMC,EAAG,IAAQ1K,EAAG,IAAM0K,EAAG,IAAMA,EAAG,IAAMD,EAAG,KAQjFvB,EAAKlG,UAAU2H,cAAgB,SAASC,GACpC,IAAIf,EAAIjH,KAAKwG,WACThK,EAAIwD,KAAK2G,WACb,OAAOM,EAAE,IAAMe,EAAM,IAAMA,EAAM,IAAMxL,EAAE,IAAMyK,EAAE,IAAMe,EAAM,IAAMA,EAAM,IAAMxL,EAAE,IASrF8J,EAAKlG,UAAU6H,YAAc,SAASC,GAClC,IAGIC,EAAW,EAAID,EAAIE,UAAU,GAC7BC,EAAW,EAAIH,EAAIE,UAAU,GAG7BE,GAAMtI,KAAKwG,WAAW,GAAK0B,EAAItH,KAAK,IAAMuH,EAC1CI,GAAMvI,KAAK2G,WAAW,GAAKuB,EAAItH,KAAK,IAAMuH,EAC1CK,GAAMxI,KAAKwG,WAAW,GAAK0B,EAAItH,KAAK,IAAMyH,EAC1CI,GAAMzI,KAAK2G,WAAW,GAAKuB,EAAItH,KAAK,IAAMyH,EAE1CK,EAAOjJ,KAAKkJ,IAAIlJ,KAAKkJ,IAAIlJ,KAAKuC,IAAIsG,EAAIC,GAAK9I,KAAKuC,IAAIwG,EAAIC,KACxDG,EAAOnJ,KAAKuC,IAAIvC,KAAKuC,IAAIvC,KAAKkJ,IAAIL,EAAIC,GAAK9I,KAAKkJ,IAAIH,EAAIC,KAG5D,OAAIG,EAAO,GAEC,EAIRF,EAAOE,GAEC,EAGLF,KAERG,eAAe,GAAGC,iBAAiB,KAAKC,GAAG,SAAS/L,EAAQnB,EAAOD,GAWtE,SAASoN,EAAWzD,GAEhBvF,KAAKuF,KAAOA,EAOZvF,KAAK8C,UAQL9C,KAAKiJ,MAAQ,KAMbjJ,KAAKkJ,mBAAqBF,EAAW1C,KAjCzC,IAAIG,EAAOzJ,EAAQ,gBACfmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAUoN,EAsCjBA,EAAW1C,KAAO,EAOlB0C,EAAWI,gBAAkB,EAO7BJ,EAAW5I,UAAUiJ,SAAW,SAASJ,GACrCjJ,KAAKiJ,MAAQA,GASjBD,EAAW5I,UAAUkJ,kBAAoB,SAASL,KAElD,IAAIvH,EAAO+E,EAAKC,SAShBsC,EAAWO,oBAAsB,SAASC,EAAOC,GAC7ChD,EAAKiD,IAAIhI,EAAM8H,EAAM1C,SAAU2C,EAAM3C,UACrC,IAAI6C,EAAKlD,EAAKmD,cAAclI,GACxBrF,EAAImN,EAAMK,eAAiBJ,EAAMI,eACrC,OAAOF,GAAMtN,EAAEA,GAUnB2M,EAAWc,UAAY,SAASN,EAAOC,GACnC,OAAOD,EAAMO,UAAUnC,SAAS6B,EAAMM,YAU1Cf,EAAW5I,UAAU4J,oBAAsB,SAASR,EAAOC,GACvD,IAAI3G,EAEJ,OAAO9C,KAAKkJ,oBACZ,KAAKF,EAAWI,gBACZtG,EAAUkG,EAAWO,oBAAoBC,EAAMC,GAC/C,MACJ,KAAKT,EAAW1C,KACZxD,EAASkG,EAAWc,UAAUN,EAAMC,GACpC,MACJ,QACI,MAAM,IAAI7M,MAAM,wCAAwCoD,KAAKkJ,oBAEjE,OAAOpG,GAUXkG,EAAWiB,WAAa,SAAST,EAAOC,GACpC,IAAIS,EAAYf,EAAKe,UACjBC,EAAShB,EAAKgB,OAGlB,OAAGX,EAAMjE,OAAS4E,GAAUV,EAAMlE,OAAS4E,OAKtCX,EAAMjE,OAAS2E,GAAaT,EAAMlE,OAAS4E,GAC3CX,EAAMjE,OAAS4E,GAAaV,EAAMlE,OAAS2E,MAK7CV,EAAMjE,OAAS2E,GAAaT,EAAMlE,OAAS2E,MAK3CV,EAAMY,aAAejB,EAAKkB,UAAYZ,EAAMW,aAAejB,EAAKkB,aAK9Db,EAAMY,aAAejB,EAAKkB,UAAYZ,EAAMlE,OAAS4E,GACrDV,EAAMW,aAAejB,EAAKkB,UAAYb,EAAMjE,OAAS4E,OAO9DnB,EAAWsB,MAAQ,EACnBtB,EAAWuB,IAAM,IAEd1B,eAAe,GAAG2B,kBAAkB,KAAKC,GAAG,SAASzN,EAAQnB,EAAOD,GAiBvE,SAAS8O,IACL1B,EAAWnM,KAAKmD,KAAMgJ,EAAWsB,OAjBxBtN,EAAQ,oBACTA,EAAQ,mBACRA,EAAQ,mBACLA,EAAQ,sBAHvB,IAIIgM,EAAahM,EAAQ,2BACdA,EAAQ,gBAEnBnB,EAAOD,QAAU8O,GAYjBA,EAAgBtK,UAAY,IAAI4I,GACN2B,YAAcD,EAQxCA,EAAgBtK,UAAUkJ,kBAAoB,SAASL,GACnD,IAAI2B,EAAS3B,EAAM2B,OACf9H,EAAS9C,KAAK8C,OAElBA,EAAOhG,OAAS,EAEhB,IAAI,IAAIH,EAAE,EAAGkO,EAAWD,EAAO9N,OAAQH,IAAIkO,EAAYlO,IAGnD,IAAI,IAFAmO,EAAKF,EAAOjO,GAERiF,EAAE,EAAGA,EAAEjF,EAAGiF,IAAI,CAClB,IAAImJ,EAAKH,EAAOhJ,GAEboH,EAAWiB,WAAWa,EAAGC,IAAO/K,KAAKgK,oBAAoBc,EAAGC,IAC3DjI,EAAOhC,KAAKgK,EAAGC,GAK3B,OAAOjI,GAWX4H,EAAgBtK,UAAU4K,UAAY,SAAS/B,EAAOvB,EAAM5E,GACxDA,EAASA,MAGT,IAAI,IADA8H,EAAS3B,EAAM2B,OACXjO,EAAI,EAAGA,EAAIiO,EAAO9N,OAAQH,IAAI,CAClC,IAAIgC,EAAIiM,EAAOjO,GAEZgC,EAAEsM,iBACDtM,EAAEuM,aAGHvM,EAAE+I,KAAKE,SAASF,IACf5E,EAAOhC,KAAKnC,GAIpB,OAAOmE,KAERqI,0BAA0B,EAAEtC,eAAe,GAAGuC,mBAAmB,GAAGC,qBAAqB,GAAGC,kBAAkB,GAAGC,kBAAkB,KAAKC,IAAI,SAASxO,EAAQnB,EAAOD,GAgDvK,SAAS6P,IAMLzL,KAAK0L,oBAML1L,KAAK2L,qBAOL3L,KAAK4L,gBAAiB,EAOtB5L,KAAK6L,kBAAmB,EAOxB7L,KAAK8L,UAAY,GAOjB9L,KAAK+L,oBAAsB,GAM3B/L,KAAKgM,gBAAkB,EAavBhM,KAAKiM,oBAAsB,IAAIC,GAAsBC,KAAM,KAM3DnM,KAAKoM,qBAAuB,IAAIC,GAAuBF,KAAM,KAO7DnM,KAAKsM,YAAc,EAMnBtM,KAAKuM,UAAYC,EAASC,kBAM1BzM,KAAK0M,WAAaF,EAASG,mBAO3B3M,KAAK4M,kBAAoBJ,EAASC,kBAOlCzM,KAAK6M,mBAAqBL,EAASG,mBASnC3M,KAAK8M,yBAA0B,EAQ/B9M,KAAK+M,wBAA0B,IAAIC,EAOnChN,KAAKiN,gBAAkB,IA4P3B,SAASC,EAA8BC,EAAaC,GAChD3G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,IAAtBmN,EAAatQ,QAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,GAAtBmN,EAAatQ,QAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,GAAtBmN,EAAatQ,OAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,IAAtBmN,EAAatQ,OAAesQ,EAAaE,QA4sBhF,SAASC,EAAcC,EAAWL,EAAYM,EAAaC,GAQvD,IAAI,IAPAC,EAAeC,EACfC,EAAeC,EACfC,EAAKC,EACLC,EAAKC,EACLlG,EAAQwF,EACRW,EAAQhB,EAAYlN,SACpBmO,EAAY,KACRzR,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAI3B2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAEhC/D,EAAIqE,EAAIJ,EAAc3F,GACtB0B,EAAIuE,EAAIJ,EAAc7F,GACtB,IAAIuG,EAAQ9H,EAAK+H,YAAYT,EAAGE,GAOhC,GALe,OAAZG,IACCA,EAAYG,GAIbA,EAAMH,GAAa,EAClB,OAAO,EAEXA,EAAYG,EAEhB,OAAO,EAtpCX,IAAI9H,EAAOzJ,EAAQ,gBACf0M,EAAMjD,EAAKiD,IACXjC,EAAMhB,EAAKgB,IACXlI,EAAMkH,EAAKlH,IAEX2M,GADQlP,EAAQ,kBACMA,EAAQ,iCAC9BqP,EAAuBrP,EAAQ,iCAC/BgQ,EAAkBhQ,EAAQ,4BAC1BwP,EAAWxP,EAAQ,yBAGnByR,GAFkBzR,EAAQ,gCACPA,EAAQ,iCAClBA,EAAQ,qBACjB0R,EAAS1R,EAAQ,oBACjB2R,EAAQ3R,EAAQ,mBAEhB4R,GADO5R,EAAQ,mBACTA,EAAQ,kBAElBnB,EAAOD,QAAU6P,EAGjB,IAAIoD,EAAQpI,EAAKqI,WAAW,EAAE,GAE1B7M,EAAOwE,EAAKqI,WAAW,EAAE,GACzB5M,EAAOuE,EAAKqI,WAAW,EAAE,GACzBC,EAAOtI,EAAKqI,WAAW,EAAE,GACzBE,EAAOvI,EAAKqI,WAAW,EAAE,GACzBG,EAAOxI,EAAKqI,WAAW,EAAE,GACzBI,EAAOzI,EAAKqI,WAAW,EAAE,GACzBK,EAAO1I,EAAKqI,WAAW,EAAE,GACzBM,EAAO3I,EAAKqI,WAAW,EAAE,GACzBO,EAAO5I,EAAKqI,WAAW,EAAE,GACzBQ,EAAQ7I,EAAKqI,WAAW,EAAE,GAC1BS,EAAQ9I,EAAKqI,WAAW,EAAE,GAC1BU,EAAQ/I,EAAKqI,WAAW,EAAE,GAC1BW,EAAQhJ,EAAKqI,WAAW,EAAE,GAC1BY,EAAQjJ,EAAKqI,WAAW,EAAE,GAC1Ba,EAAQlJ,EAAKqI,WAAW,EAAE,GAC1Bc,EAAQnJ,EAAKqI,WAAW,EAAE,GAC1Be,EAAQpJ,EAAKqI,WAAW,EAAE,GAC1BgB,EAAQrJ,EAAKqI,WAAW,EAAE,GAC1BiB,KAoIAC,EAA+BvJ,EAAKC,SACpCuJ,EAA+BxJ,EAAKC,SASxC+E,EAAYrL,UAAU8P,cAAgB,SAAS1G,EAAOC,GAKlD,IAAI,IAJA0G,EAAiBH,EACjBI,EAAiBH,EAGbnO,EAAE,EAAGuO,EAAS7G,EAAM8G,OAAOxT,OAAQgF,IAAIuO,EAAUvO,IAAI,CACzD,IAAIyO,EAAS/G,EAAM8G,OAAOxO,GAE1B0H,EAAMgH,aAAaL,EAAgBI,EAAOzJ,UAG1C,IAAI,IAAIG,EAAE,EAAGwJ,EAAShH,EAAM6G,OAAOxT,OAAQmK,IAAIwJ,EAAUxJ,IAAI,CACzD,IAAIyJ,EAASjH,EAAM6G,OAAOrJ,GAI1B,GAFAwC,EAAM+G,aAAaJ,EAAgBM,EAAO5J,UAEvC9G,KAAKuQ,EAAOhL,KAAOmL,EAAOnL,MACzBiE,EACA+G,EACAJ,EACAI,EAAOxJ,MAAQyC,EAAMzC,MACrB0C,EACAiH,EACAN,EACAM,EAAO3J,MAAQ0C,EAAM1C,OACrB,GAEA,OAAO,GAKnB,OAAO,GAUX0E,EAAYrL,UAAUuQ,iBAAmB,SAASnH,EAAOC,GACrD,IAAImH,EAAe,EAATpH,EAAMqH,GACZC,EAAe,EAATrH,EAAMoH,GAChB,QAAS7Q,KAAK+M,wBAAwBgE,IAAIH,EAAKE,IAOnDrF,EAAYrL,UAAU4Q,MAAQ,WAC1BhR,KAAK+M,wBAAwBiE,QAI7B,IAFA,IAAIC,EAAMjR,KAAK0L,iBACXzE,EAAIgK,EAAInU,OACNmK,KAAI,CACN,IAAInJ,EAAKmT,EAAIhK,GACT2J,EAAM9S,EAAG0L,MAAMqH,GACfC,EAAMhT,EAAG2L,MAAMoH,GACnB7Q,KAAK+M,wBAAwBM,IAAIuD,EAAKE,GAAK,GAK/C,IAAI,IAFAI,EAAKlR,KAAK0L,iBACVyF,EAAKnR,KAAK2L,kBACNhP,EAAE,EAAGA,EAAEuU,EAAGpU,OAAQH,IACtBqD,KAAKiM,oBAAoBmF,QAAQF,EAAGvU,IAExC,IAAQA,EAAE,EAAGA,EAAEwU,EAAGrU,OAAQH,IACtBqD,KAAKoM,qBAAqBgF,QAAQD,EAAGxU,IAIzCqD,KAAK0L,iBAAiB5O,OAASkD,KAAK2L,kBAAkB7O,OAAS,GAUnE2O,EAAYrL,UAAUiR,sBAAwB,SAAS7H,EAAOC,EAAO8G,EAAQG,GACzE,IAAI9R,EAAIoB,KAAKiM,oBAAoB8E,MAajC,OAZAnS,EAAE4K,MAAQA,EACV5K,EAAE6K,MAAQA,EACV7K,EAAE2R,OAASA,EACX3R,EAAE8R,OAASA,EACX9R,EAAE0N,YAActM,KAAKsM,YACrB1N,EAAE0S,aAAetR,KAAK2Q,iBAAiBnH,EAAMC,GAC7C7K,EAAE2N,UAAYvM,KAAKuM,UACnB3N,EAAE8N,WAAa1M,KAAK0M,WACpB9N,EAAE2S,aAAc,EAChB3S,EAAE4S,QAAUxR,KAAK6L,iBACjBjN,EAAE6S,OAASzR,KAAKiN,gBAETrO,GAUX6M,EAAYrL,UAAUsR,uBAAyB,SAASlI,EAAOC,EAAO8G,EAAQG,GAC1E,IAAI9R,EAAIoB,KAAKoM,qBAAqB2E,MAalC,OAZAnS,EAAE4K,MAAQA,EACV5K,EAAE6K,MAAQA,EACV7K,EAAE2R,OAASA,EACX3R,EAAE8R,OAASA,EACX9R,EAAE+S,aAAa3R,KAAK8L,WACpBlN,EAAEmN,oBAAsB/L,KAAK+L,oBAC7BnN,EAAEgT,iBAAmB5R,KAAKgM,gBAC1BpN,EAAE4S,QAAUxR,KAAK6L,iBACjBjN,EAAE2S,aAAc,EAChB3S,EAAE2N,UAAYvM,KAAK4M,kBACnBhO,EAAE8N,WAAa1M,KAAK6M,mBACpBjO,EAAE8M,iBAAiB5O,OAAS,EACrB8B,GASX6M,EAAYrL,UAAUyR,0BAA4B,SAASjT,GACvD,IAAId,EAAKkC,KAAK0R,uBAAuB9S,EAAE4K,MAAO5K,EAAE6K,MAAO7K,EAAE2R,OAAQ3R,EAAE8R,QAKnE,OAJAjK,EAAK9E,KAAK7D,EAAGgU,cAAelT,EAAEkT,eAC9BrL,EAAK9E,KAAK7D,EAAGiU,cAAenT,EAAEmT,eAC9BtL,EAAKuL,WAAWlU,EAAG3B,EAAGyC,EAAEqT,SACxBnU,EAAG4N,iBAAiB5K,KAAKlC,GAClBd,GAIX2N,EAAYrL,UAAU8R,0BAA4B,SAASC,GACvD,IAAIvT,EAAIoB,KAAK0L,iBAAiB1L,KAAK0L,iBAAiB5O,OAAS,GACzDgB,EAAKkC,KAAK0R,uBAAuB9S,EAAE4K,MAAO5K,EAAE6K,MAAO7K,EAAE2R,OAAQ3R,EAAE8R,QAC/DlH,EAAQ5K,EAAE4K,MACF5K,EAAE6K,MACdhD,EAAK4G,IAAIvP,EAAGgU,cAAe,EAAG,GAC9BrL,EAAK4G,IAAIvP,EAAGiU,cAAe,EAAG,GAC9BtL,EAAK4G,IAAIvP,EAAG3B,EAAG,EAAG,GAClB,IAAI,IAAIQ,EAAE,EAAGA,IAAIwV,EAAaxV,KAC1BiC,EAAIoB,KAAK0L,iBAAiB1L,KAAK0L,iBAAiB5O,OAAS,EAAIH,IACxD6M,QAAUA,GACX/C,EAAKgB,IAAI3J,EAAG3B,EAAG2B,EAAG3B,EAAGyC,EAAEqT,SACvBxL,EAAKgB,IAAI3J,EAAGgU,cAAehU,EAAGgU,cAAelT,EAAEkT,eAC/CrL,EAAKgB,IAAI3J,EAAGiU,cAAejU,EAAGiU,cAAenT,EAAEmT,iBAE/CtL,EAAKiD,IAAI5L,EAAG3B,EAAG2B,EAAG3B,EAAGyC,EAAEqT,SACvBxL,EAAKgB,IAAI3J,EAAGgU,cAAehU,EAAGgU,cAAelT,EAAEmT,eAC/CtL,EAAKgB,IAAI3J,EAAGiU,cAAejU,EAAGiU,cAAenT,EAAEkT,gBAEnDhU,EAAG4N,iBAAiB5K,KAAKlC,GAG7B,IAAIwT,EAAiB,EAAED,EAKvB,OAJA1L,EAAK4L,MAAMvU,EAAGgU,cAAehU,EAAGgU,cAAeM,GAC/C3L,EAAK4L,MAAMvU,EAAGiU,cAAejU,EAAGiU,cAAeK,GAC/C3L,EAAK6L,UAAUxU,EAAG3B,EAAG2B,EAAG3B,GACxBsK,EAAKuL,WAAWlU,EAAG3B,EAAG2B,EAAG3B,GAClB2B,GAiBX2N,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAM6D,QACzC/G,EAAYrL,UAAUqS,WAAa,SAC/BC,EACAvF,EACAM,EACAC,EACAiF,EACAC,EACAC,EACAC,EACAC,GAGA,OAAGA,GAGQ,GAkBftH,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAMqE,KACzCvH,EAAYrL,UAAU6S,QAAU,SAC5BN,EACAC,EACAC,EACAC,EACAI,EACAC,EACAC,EACAC,EACAN,GAGA,OAAGA,GAGQ,GAWf,IAAIO,EAAyB,IAAI1E,GAAM2E,MAAO,EAAGC,OAAQ,IACrDC,EAAwBhN,EAAKC,SAcjC+E,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM6D,QAC5C/G,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAMqE,KAC5CvH,EAAYrL,UAAUuT,cAAgB,SAClCjB,EACAvF,EACAyG,EACAlG,EACAmG,EACAzG,EACA0G,EACAC,EACAhB,GAKA,IAAIiB,EAAYP,EAChBhN,EAAK4G,IAAI2G,EAAW5G,EAAatQ,OAAO,EAAE,GAC1C2J,EAAKS,OAAO8M,EAAUA,EAAUD,GAChCtN,EAAKgB,IAAIuM,EAAUA,EAAUF,GAC7B,IAAIG,EAAUjU,KAAKkU,aAAaL,EAAYzG,EAAa4G,EAAUD,EAAcrB,EAAWvF,EAAYyG,EAAelG,EAAaqF,EAAU3F,EAAaE,QAE3J7G,EAAK4G,IAAI2G,GAAW5G,EAAatQ,OAAO,EAAG,GAC3C2J,EAAKS,OAAO8M,EAAUA,EAAUD,GAChCtN,EAAKgB,IAAIuM,EAAUA,EAAUF,GAC7B,IAAIK,EAAUnU,KAAKkU,aAAaL,EAAYzG,EAAa4G,EAAUD,EAAcrB,EAAWvF,EAAYyG,EAAelG,EAAaqF,EAAU3F,EAAaE,QAE3J,GAAGyF,IAAakB,GAAWE,GACvB,OAAO,EAIX,IAAI9X,EAAIiX,EAIR,OAHApG,EAA8B7Q,EAAE+Q,GACnBpN,KAAKoU,aAAa1B,EAAWvF,EAAYyG,EAAelG,EAAamG,EAAYxX,EAAEyX,EAAgBC,EAAchB,GAE9GkB,EAAUE,GAgB9B1I,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM4D,MAC5C9G,EAAYrL,UAAUiU,YAAc,SAChC1B,EACAC,EACA0B,EACAxB,EACAe,EACAzG,EACA0G,EACAC,EACAhB,GAGA,OAAGA,GAGQ,GAIf,IAAIwB,EAA0B9N,EAAKC,SAC/B8N,EAA0B/N,EAAKC,SAC/B+N,EAA2B,IAAI7F,GAAM2E,MAAO,EAAGC,OAAQ,IAc3D/H,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM+E,SAC5CjI,EAAYrL,UAAUsU,eAAiB,SAAS5J,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GAatE,IAAI,IAPAkC,EAAaV,EACbW,EAAaV,EAEbrC,EAAc,EAIVxV,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB8J,EAAK4G,IAAI4H,GAAgB,IAAJtY,GAAO,EAAE,GAAGgY,EAAG7X,OAAO,EAAE,GAC7C2J,EAAKS,OAAO+N,EAAWA,EAAWJ,GAClCpO,EAAKgB,IAAIwN,EAAWA,EAAWL,GAE/B,IAAI,IAAIhT,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB6E,EAAK4G,IAAI6H,GAAgB,IAAJtT,GAAO,EAAE,GAAGkT,EAAGhY,OAAO,EAAG,GAC9C2J,EAAKS,OAAOgO,EAAWA,EAAWF,GAClCvO,EAAKgB,IAAIyN,EAAWA,EAAWH,GAG5B/U,KAAK8M,0BACJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAG1B,IAAI9I,EAAS9C,KAAKoV,aAAatK,EAAG6J,EAAGM,EAAWJ,EAAI9J,EAAG+J,EAAGI,EAAWF,EAAIjC,EAAU4B,EAAGrH,OAAQwH,EAAGxH,QAMjG,GAJGtN,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,GAAYjQ,EACX,OAAO,EAGXqP,GAAerP,GAIpB9C,KAAK8M,0BAEJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAI1B,IAAIyJ,EAAOZ,EACXvH,EAA8BmI,EAAKV,GACnC,IAAIV,EAAUjU,KAAK2T,cAAc7I,EAAGuK,EAAKT,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GAM7D,GAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,GAAYkB,EACX,OAAO,EAIX,GAFA9B,GAAe8B,EAEZjU,KAAK8M,wBAAwB,CAE5B,IAAIqI,EAAuBnV,KAAK4L,eAChC5L,KAAK4L,gBAAiB,EAG1BsB,EAA8BmI,EAAKP,GACnC,IAAIX,EAAUnU,KAAK2T,cAAc5I,EAAGsK,EAAKN,EAAGC,EAAIlK,EAAG6J,EAAGC,EAAGC,EAAI9B,GAM7D,OAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,MAGvBpC,IAAYoB,KAGfhC,GAAegC,EAEZnU,KAAK8M,yBACDqF,GAAenS,KAAK4L,gBACnB5L,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,IAgBX1G,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAM4D,MACzC9G,EAAYrL,UAAUkV,SAAW,SAC7B9L,EACA+G,EACAgF,EACAC,EACA/L,EACAiH,EACA+E,EACAC,EACA3C,GAGA,OAAGA,GAGQ,GAgBftH,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM4D,MAC1C9G,EAAYrL,UAAUwV,UAAY,SAASC,EAAWC,EAAYC,EAAaC,EACpCrD,EAAWC,EAAYC,EAAaC,EAAWC,GACtF,IAAIpF,EAAe1L,EACf4L,EAAe3L,EACf+T,EAAgBlH,EAChBmH,EAAgBlH,EAChBmH,EAAYlH,EACZmH,EAAgBlH,EAChBxN,EAAOyN,EACPkH,EAAcjH,EACdkH,EAAejH,EACflB,EAAQ4B,EACRoC,EAAc,EAGlB1L,EAAK4G,IAAIM,GAAeiF,EAAU9V,OAAO,EAAG,GAC5C2J,EAAK4G,IAAIQ,EAAe+E,EAAU9V,OAAO,EAAG,GAG5C2J,EAAKS,OAAO+O,EAAetI,EAAcmF,GACzCrM,EAAKS,OAAOgP,EAAerI,EAAciF,GAEzCrL,EAAIwO,EAAeA,EAAepD,GAClCpL,EAAIyO,EAAeA,EAAerD,GAElCpM,EAAK9E,KAAKgM,EAAasI,GACvBxP,EAAK9E,KAAKkM,EAAaqI,GAGvBxM,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAE9B3P,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAGhC7H,EAAM,GAAKR,EACXQ,EAAM,GAAKN,EACX,IAAI,IAAIlR,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI2D,EAAI6N,EAAMxR,GAEd+M,EAAIhI,EAAMpB,EAAGyV,GAEb,IAAInS,EAAIrE,EAAImC,EAAK2U,GAEjB,GAAGzS,EAAI,EAAE,CAEL,GAAGmP,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsBwE,EAAUlD,EAASmD,EAAWlD,GACjET,IAEA1L,EAAK9E,KAAK/C,EAAEqT,QAASoE,GACrB5P,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAM3Q,EAAM2U,EAAazS,GAG9B8F,EAAI9K,EAAEkT,cAAexR,EAAGoB,GACxBgI,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAGhD4C,EAAI9K,EAAEmT,cAAezR,EAAMuS,GAC3BpL,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAEvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,KAM3E,OAAGmU,IAIC/S,KAAK8M,yBACFqF,GAAenS,KAAK4L,gBACnB5L,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,IAGX1G,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAM+E,SAC7CjI,EAAYrL,UAAUoW,gBAAkB,SACpCC,EACAC,EACAC,EACAC,EACA/C,EACAzG,EACA0G,EACAC,EACAhB,GAEA,OAAO/S,KAAK6W,WAAWJ,EAAaC,EAAcC,EAAiBC,EAAe/C,EAAYzG,EAAa0G,EAAgBC,EAAchB,EAAU3F,EAAaE,OAAQ,IAkB5K7B,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM4D,MAC3C9G,EAAYrL,UAAUyW,WAAa,SAC/BE,EACAC,EACAC,EACAC,EACAvE,EACAC,EACAC,EACAC,EACAC,EACAoE,EACAC,GAEA,IAAID,EAAaA,GAAc,EAC3BC,OAAsC,IAAjB,EAA+BA,EAAeJ,EAAY1J,OAE/E+J,EAAYpV,EACZqV,EAAwBpV,EACxBqV,EAAiBxI,EACjByI,EAAaxI,EACbsH,EAAerH,EACfkH,EAAYjH,EACZkH,EAAgBjH,EAChBxB,EAAeyB,EACfvB,EAAewB,EACf4G,EAAgB3G,EAChB4G,EAAgB3G,EAChB7N,EAAO8N,EACPiI,EAAehI,EACfiI,EAAsBhI,EAEtBvB,EAAQ4B,EAGZtJ,EAAK4G,IAAIM,GAAeiF,EAAU9V,OAAO,EAAG,GAC5C2J,EAAK4G,IAAIQ,EAAe+E,EAAU9V,OAAO,EAAG,GAG5C2J,EAAKS,OAAO+O,EAAetI,EAAcmF,GACzCrM,EAAKS,OAAOgP,EAAerI,EAAciF,GAEzCrL,EAAIwO,EAAeA,EAAepD,GAClCpL,EAAIyO,EAAeA,EAAerD,GAElCpM,EAAK9E,KAAKgM,EAAasI,GACvBxP,EAAK9E,KAAKkM,EAAaqI,GAGvBxM,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAG9B1M,EAAIhI,EAAMuV,EAActJ,GACxB,IAAI/J,EAAIrE,EAAImC,EAAM4U,GAClB5M,EAAI8N,EAAY7J,EAAckF,GAE9BnJ,EAAI+N,EAAcR,EAAcpE,GAEhC,IAAI8E,EAAYP,EAAeD,EAE/B,GAAG1X,KAAKiF,IAAId,GAAK+T,EAAU,CAGvBlR,EAAK4L,MAAMgF,EAAWf,EAAc1S,GACpC8F,EAAI6N,EAAgBN,EAAcI,GAGlC5Q,EAAK4L,MAAMiF,EAAuBhB,EAAc/W,EAAI+W,EAAcmB,IAClEhR,EAAK6L,UAAUgF,EAAsBA,GACrC7Q,EAAK4L,MAAMiF,EAAuBA,EAAuBH,GACzD1P,EAAI8P,EAAeA,EAAeD,GAGlC,IAAIM,EAAOrY,EAAI6W,EAAemB,GAC1BM,EAAOtY,EAAI6W,EAAezI,GAC1BmK,EAAOvY,EAAI6W,EAAevI,GAE9B,GAAG+J,EAAMC,GAAQD,EAAME,EAAK,CAGxB,GAAG/E,EACC,OAAO,EAGPnU,EAAIoB,KAAKqR,sBAAsB0F,EAAWpE,EAASqE,EAAYpE,GAmBnE,OAjBAnM,EAAK4L,MAAMzT,EAAEqT,QAASoF,GAAY,GAClC5Q,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAE5BxL,EAAK4L,MAAOzT,EAAEkT,cAAelT,EAAEqT,QAAUmF,GACzC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAewF,EAAgB1E,GACrCpL,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAKfuP,EAAM,GAAKR,EACXQ,EAAM,GAAKN,EAEX,IAAI,IAAIlR,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI2D,EAAI6N,EAAMxR,GAId,GAFA+M,EAAIhI,EAAMpB,EAAG2W,GAEVxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIJ,EAAW,GAAG,CAEjD,GAAG5E,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWpE,EAASqE,EAAYpE,GAsBnE,OApBAnM,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAASmF,GACvC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAezR,EAAGuS,GACxBpM,EAAK4L,MAAMqF,EAAqB9Y,EAAEqT,SAAUkF,GAC5C1P,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAe2F,GACtCjQ,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAIf,OAAO,GAeX6M,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM+E,SAC3CjI,EAAYrL,UAAU4X,cAAgB,SAASlN,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GACrE,OAAO/S,KAAK6W,WAAW/L,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,EAAU+B,EAAGxH,SAiBlE7B,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM6D,QAC3C/G,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMqE,KAC3CvH,EAAYrL,UAAU8T,aAAe,SACjC6C,EACAC,EACAC,EACAC,EACAxE,EACAvF,EACAM,EACAC,EACAqF,EACAqE,GAsCA,IAAI,IApCAA,EAAsC,iBAAjB,EAA4BA,EAAeJ,EAAY1J,OAE5EK,EAAe1L,EACf4L,EAAe3L,EACfiU,EAAYpH,EACZqH,EAAgBpH,EAChBqH,EAAcpH,EAKdvN,EAAO4N,EACP2I,EAAc1I,EAKd2I,EAA4BzI,EAC5B0I,EAAYzI,EACZ0I,EAAgBzI,EAChB0I,EAAezI,EAEf0I,GAAQ,EACRC,EAAuBlW,OAAOC,UAU9B6L,EAAQhB,EAAYlN,SAGhBtD,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAiB3B,GAfA2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAChC/D,EAAIyM,EAAWtI,EAAcF,GAE7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWqE,EAAaD,GAG7B3P,EAAK4L,MAAM8F,EAAU9B,GAAaW,EAAY1J,QAC9C7F,EAAI0Q,EAAUA,EAAUlB,GAErB1J,EAAc4K,EAAUhL,EAAYM,EAAaC,GAAa,CAE7DjH,EAAKiD,IAAI0O,EAAczK,EAAawK,GACpC,IAAIK,EAAoB/Y,KAAKiF,IAAI+B,EAAKlH,IAAI6Y,EAAc/B,IAErDmC,EAAoBD,IACnB9R,EAAK9E,KAAK0W,EAAaF,GACvBI,EAAuBC,EACvB/R,EAAK4L,MAAM6F,EAA0B7B,EAAYmC,GACjD/R,EAAKgB,IAAIyQ,EAA0BA,EAA0BC,GAC7DG,GAAQ,IAKpB,GAAGA,EAAM,CAEL,GAAGvF,EACC,OAAO,EAGPnU,EAAIoB,KAAKqR,sBAAsB0F,EAAWrE,EAAWsE,EAAY7J,GAkBrE,OAjBA1G,EAAKiD,IAAI9K,EAAEqT,QAASoG,EAAcpB,GAClCxQ,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAE5BxL,EAAK4L,MAAMzT,EAAEkT,cAAgBlT,EAAEqT,QAASmF,GACxC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAemG,EAA2BzK,GAChDhG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,IAGzD,EAIX,GAAGwY,EAAe,EACd,IAAQza,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI8b,EAActK,EAAMxR,GAKxB,GAJA8J,EAAKS,OAAO+Q,EAAaQ,EAAa/K,GACtCjG,EAAIwQ,EAAaA,EAAaxK,GAE9B/D,EAAIhI,EAAMuW,EAAahB,GACpBxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIX,EAAc,GAAG,CAEpD,GAAGrE,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWrE,EAAWsE,EAAY7J,GAoBrE,OAlBA1G,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAASmF,GACvC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAekG,EAAaxK,GAClChG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAKnB,OAAO,GAGX,IAAIgP,EAAmBnH,EAAKC,SACxBoH,EAAmBrH,EAAKC,SACxBsH,EAASvH,EAAKC,SACdwH,EAASzH,EAAKC,SAwDlB+E,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAM6D,QAC7C/G,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAMqE,KAC7CvH,EAAYrL,UAAUsY,eAAiB,SACnCjC,EACAC,EACAiC,EACA/B,EACAlE,EACAvF,EACAM,EACAC,EACAqF,GAEA,IAAIpF,EAAe1L,EACf4L,EAAe3L,EACfiU,EAAYpH,EACZqH,EAAgBpH,EAChBsH,EAAerH,EACfuI,EAAatI,EACb0J,EAAmBzJ,EAGnBzN,EAAO4N,EAKP4I,EAA4BzI,EAI5B2I,EAAgBvI,EAChBgJ,EAAgB/I,EAChByI,EAAuBlW,OAAOC,UAG9BgW,GAAQ,EACRnK,EAAQhB,EAAYlN,SAGxB,IAAIsN,EAAcoL,EAAexL,EAAYM,EAAaC,GACtD,OAAO,EAGX,GAAGqF,EACC,OAAO,EAKX,IAAI,IAAIpW,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAG3B2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAGhC/D,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAG9B1M,EAAIhI,EAAMiX,EAAgBhL,GAClBpO,EAAImC,EAAM4U,GAClB5M,EAAI8N,EAAY7J,EAAcF,GAE9B/D,EAAIkP,EAAkBD,EAAgBlL,GAEtChH,EAAKiD,IAAI0O,EAAczK,EAAagL,GACpC,IAAIH,EAAoB/Y,KAAKiF,IAAI+B,EAAKlH,IAAI6Y,EAAc9B,IAErDkC,EAAoBD,IACnBA,EAAuBC,EACvB/R,EAAK4L,MAAM6F,EAA0B5B,EAAakC,GAClD/R,EAAKgB,IAAIyQ,EAA0BA,EAA0BS,GAC7DlS,EAAK9E,KAAKkX,EAAcvC,GACxBgC,GAAQ,GAIhB,GAAGA,EAAM,CACL,IAAI1Z,EAAIoB,KAAKqR,sBAAsBoF,EAAa/D,EAAWgE,EAAcvJ,GAqBzE,OAnBA1G,EAAK4L,MAAMzT,EAAEqT,QAAS4G,GAAgB,GACtCpS,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAG5BxL,EAAK4G,IAAIzO,EAAEkT,cAAgB,EAAG,GAC9BrK,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAe6G,GACtCjP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe2E,EAAa3P,UAGnD4C,EAAI9K,EAAEmT,cAAemG,EAA2BzK,GAChDhG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,IAGzD,EAIX,OAAO,GAkBX6M,EAAYrL,UAAUuO,EAAMmI,QAC5BrL,EAAYrL,UAAUgV,aAAe,SACjC5L,EACA+G,EACAuI,EACAtD,EACA/L,EACAiH,EACAqI,EACArD,EACA3C,EACAiG,EACAC,GAGA,IAAIvX,EAAOO,EACP+W,EAAUA,GAAWzI,EAAOjD,OAC5B2L,EAAUA,GAAWvI,EAAOpD,OAEhC5D,EAAIhI,EAAKoX,EAAQC,GACjB,IAAI1c,EAAI2c,EAAUC,EAClB,GAAGxS,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAI1b,EAAE,GACrC,OAAO,EAGX,GAAG0W,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB7H,EAAMC,EAAM8G,EAAOG,GAkBtD,OAjBAhH,EAAI9K,EAAEqT,QAAS8G,EAASD,GACxBrS,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BxL,EAAK4L,MAAOzT,EAAEkT,cAAelT,EAAEqT,QAAU+G,GACzCvS,EAAK4L,MAAOzT,EAAEmT,cAAenT,EAAEqT,SAAUgH,GAEzCxR,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAegH,GACtCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAetI,EAAM1C,UAE5CW,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAegH,GACtCrP,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAetI,EAAM3C,UAE5C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAExD,GAgBX6M,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM6D,QAC1C/G,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAMqE,KAC1CvH,EAAYrL,UAAU8Y,YAAc,SAChCrD,EACAC,EACAC,EACAC,EACAtD,EACAvF,EACAM,EACAC,EACAqF,GAEA,IAAIkF,EAAchW,EACdoU,EAAcnU,EACdR,EAAOqN,EAEPoK,EAAc,EAClB1S,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAEhC,IAAI,IAAIrZ,EAAE,EAAGA,IAAIwQ,EAAYlN,SAASnD,OAAQH,IAAI,CAC9C,IAAI2D,EAAI6M,EAAYlN,SAAStD,GAM7B,GALA8J,EAAKS,OAAO+Q,EAAa3X,EAAGoN,GAC5BjG,EAAIwQ,EAAaA,EAAaxK,GAE9B/D,EAAIhI,EAAMuW,EAAalC,GAEpBxW,EAAImC,EAAK2U,IAAgB,EAAE,CAE1B,GAAGtD,EACC,OAAO,EAIXoG,IAEA,IAAIva,EAAIoB,KAAKqR,sBAAsBwE,EAAUnD,EAAWoD,EAAW3I,GAEnEzD,EAAIhI,EAAMuW,EAAalC,GAEvBtP,EAAK9E,KAAK/C,EAAEqT,QAASoE,GAErB,IAAIzS,EAAIrE,EAAImC,EAAM9C,EAAEqT,SACpBxL,EAAK4L,MAAM3Q,EAAM9C,EAAEqT,QAASrO,GAG5B8F,EAAI9K,EAAEmT,cAAekG,EAAavF,EAAW5L,UAI7C4C,EAAK9K,EAAEkT,cAAemG,EAAavW,GACnCgI,EAAK9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAEvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,KAY3E,OANGoB,KAAK8M,yBACD9M,KAAK4L,gBAAkBuN,GACtBnZ,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BiH,IAI5DA,GAgBX1N,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAMgH,OAC7ClK,EAAYrL,UAAUgZ,cAAgB,SAClC3C,EACAC,EACAiC,EACA/B,EACAf,EACAC,EACAC,EACAC,EACAjD,GAEA,IAAIrR,EAAOO,EACPoU,EAAcnU,EAElB8T,EAAaA,GAAc,EAE3BtM,EAAIhI,EAAMiX,EAAgB5C,GAC1BtP,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAEhC,IAAIpS,EAAIrE,EAAImC,EAAM2U,GAElB,GAAGzS,EAAI,EACH,OAAO,EAEX,GAAGmP,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsBwE,EAAUY,EAAaX,EAAWY,GAkBrE,OAhBAjQ,EAAK9E,KAAK/C,EAAEqT,QAASoE,GACrB5P,EAAK4L,MAAO3Q,EAAM9C,EAAEqT,QAASrO,GAI7B8F,EAAK9K,EAAEkT,cAAe6G,EAAgBjX,GACtCgI,EAAK9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAGjD4C,EAAK9K,EAAEmT,cAAe4G,EAAgBlC,EAAa3P,UAEnD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAExD,GAgBX6M,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM4H,UAC3C9K,EAAYrL,UAAUiZ,eAAiB,SACnCtC,EACAC,EACAC,EACAC,EACAT,EACAC,EACAiC,EACA/B,EACA7D,GAEA,IAAIrR,EAAOO,EAGX,GADAyH,EAAIhI,EAAMiX,EAAgB1B,GACvBxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIf,EAAY1J,OAAQ,GACvD,OAAO,EAEX,GAAGyF,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWN,EAAaO,EAAYN,GAkBvE,OAjBAjQ,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAAS+E,EAAY1J,QACnD7F,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAGjD4C,EAAI9K,EAAEmT,cAAe4G,EAAgBlC,EAAa3P,UAElD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAGX,IAAI0a,EAAyB,IAAI7K,GAASnB,OAAQ,IAC9CiM,EAAoB9S,EAAKC,SACzB8S,EAAoB/S,EAAKC,SACLD,EAAKC,SAc7B+E,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM+E,SAC1CjI,EAAYrL,UAAUqZ,aAAe,SACjC5D,EACAC,EACAC,EACAC,EACAnC,EACAzG,EACAsM,EACA3F,EACAhB,GAEA,IAAI4G,EAAOJ,EACPK,EAAOJ,EACPK,EAASP,EAIb7S,EAAK4G,IAAIsM,GAAOvM,EAAatQ,OAAO,EAAG,GACvC2J,EAAKS,OAAOyS,EAAKA,EAAK5F,GACtBtM,EAAIkS,EAAKA,EAAKD,GAEdjT,EAAK4G,IAAIuM,EAAOxM,EAAatQ,OAAO,EAAG,GACvC2J,EAAKS,OAAO0S,EAAKA,EAAK7F,GACtBtM,EAAImS,EAAKA,EAAKF,GAEdG,EAAOvM,OAASF,EAAaE,OAE7B,IAAI6H,EAGDnV,KAAK8M,0BACJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAI1B,IAAIkO,EAAe9Z,KAAK+Z,YAAYlG,EAAYgG,EAAOF,EAAK,EAAG9D,EAAUC,EAAWC,EAAYC,EAAYjD,GACxGiH,EAAeha,KAAK+Z,YAAYlG,EAAYgG,EAAOD,EAAK,EAAG/D,EAAUC,EAAWC,EAAYC,EAAYjD,GAO5G,GAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,EACC,OAAO+G,GAAgBE,EAEvB,IAAIC,EAAWH,EAAeE,EAM9B,OALGha,KAAK8M,yBACDmN,GACCja,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0B+H,IAG5DA,GAefxO,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMgH,OAC3ClK,EAAYrL,UAAU2Z,YAAc,SAAYjP,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GACtE,IAAIgE,EAAajM,EACbkM,EAAcrC,EACdsC,EAAerC,EACfiB,EAAY9K,EAEZgL,EAAchB,EACdiB,EAAahB,EAEjBgB,EAAaA,GAAc,EAG3B,IAAIkE,EAAgBjY,EAChBoU,EAAcnU,EACdiY,EAAOpL,EAEXrF,EAAIwQ,EAAejD,EAAclB,GAGjCtP,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAGhC,IAAIpS,EAAIrE,EAAI8W,EAAa6D,GAEzB,GAAGtW,EAAIoT,EAAY1J,OACf,OAAO,EAGX,GAAGyF,EACC,OAAO,EAIX,IAAIqH,EAAUpa,KAAKqR,sBAAsBwE,EAAUkB,EAAWjC,EAAGH,GAsBjE,OAnBAlO,EAAK9E,KAAKyY,EAAQnI,QAASoE,GAG3B5P,EAAK4L,MAAM+H,EAAQrI,cAAeqI,EAAQnI,SAAU+E,EAAY1J,QAChE7F,EAAI2S,EAAQrI,cAAeqI,EAAQrI,cAAekF,GAClDvN,EAAI0Q,EAAQrI,cAAeqI,EAAQrI,cAAegF,EAAWjQ,UAG7DL,EAAK4L,MAAM8H,EAAMC,EAAQnI,QAASrO,GAClC8F,EAAI0Q,EAAQtI,cAAeoI,EAAeC,GAC1C1S,EAAI2S,EAAQtI,cAAesI,EAAQtI,cAAeiE,GAClDrM,EAAI0Q,EAAQtI,cAAesI,EAAQtI,cAAe+D,EAAU/O,UAE5D9G,KAAK0L,iBAAiB5K,KAAKsZ,GAExBpa,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BuI,IAGzD,GAeX3O,EAAYrL,UAAUuO,EAAM6D,QAC5B/G,EAAYrL,UAAUuO,EAAM6D,OAAS7D,EAAMqE,KAC3CvH,EAAYrL,UAAUuO,EAAMqE,KAC5BvH,EAAYrL,UAAUgU,aAAe,SAAWtJ,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,EAAUzV,GAChF,IAAI+c,EAAUpY,EACVuL,EAAatL,EACboY,EAAcvL,EACdwL,EAAcvL,EACdmH,EAAYlH,EAEZuL,EAAiBrL,EACjBzN,EAAO0N,EACPiH,EAAchH,EACd8C,EAAc,EACd7U,EAAkC,iBAAhB,EAA2BA,EAAY,EAG7D,IADYmO,EAAYgP,mBAAmB9F,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGqF,GAEzD,OAAO,EAIX3Q,EAAIhI,EAAKqT,EAAGH,GACTrV,EAAI8a,EAAQ3Y,GAAQ,GACnB+E,EAAK4L,MAAMgI,EAAQA,GAAS,GAIhC,IAAIK,EAAejP,EAAYkP,eAAehG,EAAGE,EAAGwF,GAAQ,GACxDO,EAAenP,EAAYkP,eAAe7F,EAAGE,EAAGqF,GAEpD,IAAqB,IAAlBK,IAAyC,IAAlBE,EACtB,OAAO,EAIX,IAAI,IAAI9Y,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB,IAAI+Y,EAAeH,EACfI,EAAeF,EACfrK,EAAUoE,EAAIjE,EAAUoE,EACxBgE,EAAUlE,EAAImE,EAAUhE,EACxBS,EAASX,EAAIa,EAASV,EACtBxL,EAAQsB,EAAIrB,EAAQsB,EAExB,GAAS,IAANjJ,EAAQ,CAEP,IAAIZ,EACJA,EAAM2Z,EACNA,EAAeC,EACfA,EAAe5Z,EAEfA,EAAMqP,EACNA,EAASG,EACTA,EAASxP,EAETA,EAAM4X,EACNA,EAAUC,EACVA,EAAU7X,EAEVA,EAAMsU,EACNA,EAASE,EACTA,EAASxU,EAETA,EAAMsI,EACNA,EAAQC,EACRA,EAAQvI,EAIZ,IAAI,IAAIU,EAAEkZ,EAAclZ,EAAEkZ,EAAa,EAAGlZ,IAAI,CAG1C,IAAItB,EAAIoQ,EAAOzQ,UAAU2B,EAAE8O,EAAOzQ,SAASnD,QAAQ4T,EAAOzQ,SAASnD,QACnE2J,EAAKS,OAAOsG,EAAYlN,EAAGoV,GAC3BjO,EAAI+F,EAAYA,EAAYuL,GAK5B,IAAI,IAHAgC,EAAiB,EAGbpe,EAAEke,EAAa,EAAGle,EAAEke,EAAa,EAAGle,IAAI,CAE5C,IAAI0R,EAAKkC,EAAOtQ,UAAUtD,EAAI4T,EAAOtQ,SAASnD,QAAQyT,EAAOtQ,SAASnD,QAClEwR,EAAKiC,EAAOtQ,UAAUtD,EAAE,EAAE4T,EAAOtQ,SAASnD,QAAQyT,EAAOtQ,SAASnD,QAGtE2J,EAAKS,OAAOoT,EAAajM,EAAImH,GAC7B/O,EAAKS,OAAOqT,EAAajM,EAAIkH,GAC7B/N,EAAI6S,EAAaA,EAAaxB,GAC9BrR,EAAI8S,EAAaA,EAAazB,GAE9BpP,EAAIyM,EAAWoE,EAAaD,GAE5B7T,EAAKuL,WAAWqE,EAAaF,GAC7B1P,EAAK6L,UAAU+D,EAAYA,GAE3B3M,EAAIhI,EAAM8L,EAAY8M,GAElB1W,EAAIrE,EAAI8W,EAAY3U,IAEpB/E,IAAMke,GAAgBjX,GAAKtG,GAAeX,IAAMke,GAAgBjX,GAAK,IACrEmX,IAIR,GAAGA,GAAkB,EAAE,CAEnB,GAAGhI,EACC,OAAO,EAOX,IAAInU,EAAIoB,KAAKqR,sBAAsB7H,EAAMC,EAAM8G,EAAOG,GACtDyB,IAGA,IAAI9D,EAAKkC,EAAOtQ,SAAS,EAAmBsQ,EAAOtQ,SAASnD,QACxDwR,EAAKiC,EAAOtQ,UAAU4a,EAAa,GAAKtK,EAAOtQ,SAASnD,QAG5D2J,EAAKS,OAAOoT,EAAajM,EAAImH,GAC7B/O,EAAKS,OAAOqT,EAAajM,EAAIkH,GAC7B/N,EAAI6S,EAAaA,EAAaxB,GAC9BrR,EAAI8S,EAAaA,EAAazB,GAE9BpP,EAAIyM,EAAWoE,EAAaD,GAE5B7T,EAAKuL,WAAWpT,EAAEqT,QAASkE,GAC3B1P,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BvI,EAAIhI,EAAM8L,EAAY8M,GACtB,IAAI1W,EAAIrE,EAAIX,EAAEqT,QAAQvQ,GACtB+E,EAAK4L,MAAMmI,EAAgB5b,EAAEqT,QAASrO,GAEtC8F,EAAI9K,EAAEkT,cAAetE,EAAYsL,GACjCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe0I,GACtC/S,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAegH,GACtCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAetI,EAAM1C,UAE5C4C,EAAI9K,EAAEmT,cAAevE,EAAYuL,GACjCtR,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAegH,GACtCrP,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAetI,EAAM3C,UAE5C9G,KAAK0L,iBAAiB5K,KAAKlC,GAGvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,MAa/E,OANGoB,KAAK8M,yBACD9M,KAAK4L,gBAAkBuG,GACtBnS,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,GAIX,IAAI6I,EAAYvU,EAAKqI,WAAW,EAAE,GAYlCrD,EAAYwP,sBAAwB,SAAS9N,EAAaM,EAAcC,EAAawN,EAAWpY,GAC5F,IAEIxC,EACA6a,EAHAxS,EAAI,KACJ3G,EAAI,KAGJoZ,EAAYJ,EAGhBvU,EAAKS,OAAOkU,EAAWF,GAAYxN,GAGnC,IAAI,IAAI/Q,EAAE,EAAGA,EAAEwQ,EAAYlN,SAASnD,OAAQH,IACxC2D,EAAI6M,EAAYlN,SAAStD,GACzBwe,EAAQ5b,EAAIe,EAAE8a,IACH,OAARzS,GAAgBwS,EAAQxS,KACvBA,EAAMwS,IAEC,OAARnZ,GAAgBmZ,EAAQnZ,KACvBA,EAAMmZ,GAId,GAAGnZ,EAAM2G,EAAI,CACT,IAAIxM,EAAI6F,EACRA,EAAM2G,EACNA,EAAMxM,EAIV,IAAIsV,EAASlS,EAAIkO,EAAcyN,GAE/BzU,EAAK4G,IAAKvK,EAAQd,EAAMyP,EAAQ9I,EAAM8I,IAI1C,IAAI4J,EAAW5U,EAAKqI,WAAW,EAAE,GAC7BwM,GAAW7U,EAAKqI,WAAW,EAAE,GAC7ByM,GAAW9U,EAAKqI,WAAW,EAAE,GAC7B0M,GAAW/U,EAAKqI,WAAW,EAAE,GAC7B2M,GAAWhV,EAAKqI,WAAW,EAAE,GAC7B4M,GAAWjV,EAAKqI,WAAW,EAAE,GAejCrD,EAAYgP,mBAAqB,SAAShd,EAAGke,EAAQC,EAAOhe,EAAGie,EAAQC,EAAOzB,GAC1E,IAAI0B,EAAU,KACVC,GAAU,EACV1D,GAAQ,EACR2D,EAAOZ,EACPf,EAAcgB,GACdf,EAAcgB,GACdW,EAASV,GACTW,EAAQV,GACRW,EAAQV,GAEZ,GAAGje,aAAcmR,GAAOhR,aAAcgR,EAElC,IAAQhN,EAAE,EAAO,IAAJA,EAAOA,IAAI,CACpB,IAAIhD,EAAInB,EACJsJ,EAAQ6U,EACL,IAAJha,IACChD,EAAIhB,EACJmJ,EAAQ+U,GAGZ,IAAQnf,EAAE,EAAO,IAAJA,EAAOA,IAAI,CAGX,IAANA,EACC8J,EAAK4G,IAAI6O,EAAQ,EAAG,GACR,IAANvf,GACN8J,EAAK4G,IAAI6O,EAAQ,EAAG,GAEX,IAAVnV,GACCN,EAAKS,OAAOgV,EAAQA,EAAQnV,GAIhC0E,EAAYwP,sBAAsBxd,EAAGke,EAAQC,EAAOM,EAAOC,GAC3D1Q,EAAYwP,sBAAsBrd,EAAGie,EAAQC,EAAOI,EAAOE,GAG3D,IAAI3f,EAAE0f,EACFxd,EAAEyd,EAEHD,EAAM,GAAKC,EAAM,KAChBzd,EAAEwd,EACF1f,EAAE2f,GACQ,GAKdJ,GADIta,EAAO/C,EAAE,GAAKlC,EAAE,KACD,GAEN,OAAVsf,GAAkBra,EAAOqa,KACxBtV,EAAK9E,KAAK0Y,EAAS6B,GACnBH,EAAUra,EACV4W,EAAQ0D,SAOpB,IAAI,IAAIpa,EAAE,EAAO,IAAJA,EAAOA,IAAI,CACpB,IAAIhD,EAAInB,EACJsJ,EAAQ6U,EACL,IAAJha,IACChD,EAAIhB,EACJmJ,EAAQ+U,GAGZ,IAAI,IAAInf,EAAE,EAAGA,IAAIiC,EAAEqB,SAASnD,OAAQH,IAAI,CAEpC8J,EAAKS,OAAOoT,EAAa1b,EAAEqB,SAAStD,GAAIoK,GACxCN,EAAKS,OAAOqT,EAAa3b,EAAEqB,UAAUtD,EAAE,GAAGiC,EAAEqB,SAASnD,QAASiK,GAE9D2C,EAAIuS,EAAM1B,EAAaD,GAGvB7T,EAAKuL,WAAWkK,EAAQD,GACxBxV,EAAK6L,UAAU4J,EAAOA,GAGtBzQ,EAAYwP,sBAAsBxd,EAAGke,EAAQC,EAAOM,EAAOC,GAC3D1Q,EAAYwP,sBAAsBrd,EAAGie,EAAQC,EAAOI,EAAOE,GAG3D,IAAI3f,EAAE0f,EACFxd,EAAEyd,EAEHD,EAAM,GAAKC,EAAM,KAChBzd,EAAEwd,EACF1f,EAAE2f,GACQ,GAId,IAAI1a,EAAO/C,EAAE,GAAKlC,EAAE,GACpBuf,EAAWta,GAAQ,GAEN,OAAVqa,GAAkBra,EAAOqa,KACxBtV,EAAK9E,KAAK0Y,EAAS6B,GACnBH,EAAUra,EACV4W,EAAQ0D,IAgDxB,OAAO1D,GAIX,IAAI+D,GAAW5V,EAAKqI,WAAW,EAAE,GAC7BwN,GAAW7V,EAAKqI,WAAW,EAAE,GAC7ByN,GAAW9V,EAAKqI,WAAW,EAAE,GAYjCrD,EAAYkP,eAAiB,SAAS/b,EAAEmI,EAAMyV,EAAKC,GAC/C,IAAIrB,EAAYiB,GACZJ,EAAOK,GACPJ,EAASK,GAGb9V,EAAKS,OAAOkU,EAAWoB,GAAOzV,GAC3B0V,GACChW,EAAK4L,MAAM+I,EAAUA,GAAW,GAMpC,IAAI,IAHAsB,GAAe,EACfvb,EAAIvC,EAAEqB,SAASnD,OACf6f,GAAU,EACNhgB,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CAEpB+M,EAAIuS,EAAMrd,EAAEqB,UAAUtD,EAAE,GAAGwE,GAAIvC,EAAEqB,SAAStD,EAAEwE,IAG5CsF,EAAKuL,WAAWkK,EAAQD,GACxBxV,EAAK6L,UAAU4J,EAAOA,GAEtB,IAAItY,EAAIrE,EAAI2c,EAAOd,KACC,IAAjBsB,GAAsB9Y,EAAI+Y,KACzBD,EAAc/f,EAAIwE,EAClBwb,EAAS/Y,GAIjB,OAAO8Y,GAGX,IAAIE,GAA8BnW,EAAKC,SACnCmW,GAAyBpW,EAAKC,SAC9BoW,GAAuBrW,EAAKC,SAC5BqW,GAAuBtW,EAAKC,SAC5BsW,GAAiCvW,EAAKC,SACtCuW,GAAgCxW,EAAKC,SACrCwW,GAAuCzW,EAAKC,SAYhD+E,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMwO,aAC3C1R,EAAYrL,UAAUgd,kBAAoB,SAAUrG,EAAWC,EAAYhD,EAAUkD,EACjCmG,EAAOC,EAAQC,EAAMC,EAASzK,EAAUzF,GACxF,IAAImQ,EAAOH,EAAQI,QACfpQ,EAASA,GAAU0J,EAAY1J,OAC/BqQ,EAAIL,EAAQM,aACZlc,EAAOmb,GACP1E,EAAYyE,GACZvE,EAAe2E,GACfa,EAAqBX,GACrB7G,EAAc4G,GACd5O,EAAKyO,GACLxO,EAAKyO,GAGLe,EAAOre,KAAKse,OAAQ/J,EAAU,GAAK1G,EAASiQ,EAAM,IAAMI,GACxDK,EAAOve,KAAKwe,MAAQjK,EAAU,GAAK1G,EAASiQ,EAAM,IAAMI,GAKzDG,EAAO,IACNA,EAAO,GAERE,GAAQP,EAAK3gB,SACZkhB,EAAOP,EAAK3gB,OAAO,GAMvB,IAAI,IAFA6L,EAAM8U,EAAKK,GACX9b,EAAMyb,EAAKO,GACPrhB,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IACjB8gB,EAAK9gB,GAAKqF,IACTA,EAAMyb,EAAK9gB,IAEZ8gB,EAAK9gB,GAAKgM,IACTA,EAAM8U,EAAK9gB,IAInB,GAAGqX,EAAU,GAAG1G,EAAS3E,EACrB,OAAOoK,GAAmB,EAkB9B,IAAI,IAHAuF,GAAQ,EAGJ3b,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IAAI,CAGxB8J,EAAK4G,IAAIgB,EAAQ1R,EAAEghB,EAAGF,EAAK9gB,IAC3B8J,EAAK4G,IAAIiB,GAAK3R,EAAE,GAAGghB,EAAGF,EAAK9gB,EAAE,IAC7B8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GACf9W,EAAKgB,IAAI6G,EAAGA,EAAGiP,GAGf9W,EAAKiD,IAAI2M,EAAa/H,EAAID,GAC1B5H,EAAKS,OAAOmP,EAAaA,EAAa5W,KAAKye,GAAG,GAC9CzX,EAAK6L,UAAU+D,EAAYA,GAG3B5P,EAAK4L,MAAM8F,EAAU9B,GAAa/I,GAClC7G,EAAKgB,IAAI0Q,EAAUA,EAAUnE,GAG7BvN,EAAKiD,IAAIhI,EAAKyW,EAAU9J,GAGxB,IAAIzK,EAAI6C,EAAKlH,IAAImC,EAAK2U,GACtB,GAAG8B,EAAU,IAAM9J,EAAG,IAAM8J,EAAU,GAAK7J,EAAG,IAAM1K,GAAK,EAAE,CAEvD,GAAGmP,EACC,OAAO,EAGXuF,GAAQ,EAGR7R,EAAK4L,MAAM3Q,EAAK2U,GAAazS,GAC7B6C,EAAKgB,IAAI4Q,EAAaF,EAAUzW,GAChC+E,EAAK9E,KAAKkc,EAAmBxH,GAEzBzX,EAAIoB,KAAKqR,sBAAsBgM,EAAOtG,EAAWuG,EAAQtG,GAG7DvQ,EAAK9E,KAAK/C,EAAEqT,QAAS4L,GAGrBpX,EAAK4L,MAAMzT,EAAEmT,cAAgBnT,EAAEqT,SAAU3E,GACzC7F,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAeiC,GACtCtK,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAegF,EAAWjQ,UAEjDL,EAAK9E,KAAK/C,EAAEkT,cAAeuG,GAC3B5R,EAAKiD,IAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeuL,EAAOvW,UAElD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,KAOxE,GADA0Z,GAAQ,EACLhL,EAAS,EACR,IAAQ3Q,EAAEmhB,EAAMnhB,GAAGqhB,EAAMrhB,IAQrB,GALA8J,EAAK4G,IAAIgB,EAAI1R,EAAEghB,EAAGF,EAAK9gB,IACvB8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GAEf9W,EAAKiD,IAAIhI,EAAMsS,EAAW3F,GAEvB5H,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIzK,EAAQ,GAAG,CAE9C,GAAGyF,EACC,OAAO,EAGXuF,GAAQ,EAER,IAAI1Z,EAAIoB,KAAKqR,sBAAsBgM,EAAOtG,EAAWuG,EAAQtG,GAG7DvQ,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BxL,EAAK4L,MAAMzT,EAAEmT,cAAenT,EAAEqT,SAAU3E,GACxC7F,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAeiC,GACtCtK,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAegF,EAAWjQ,UAEjD4C,EAAI9K,EAAEkT,cAAezD,EAAIkP,GACzB9V,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAeyL,GACtC7T,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeuL,EAAOvW,UAE7C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAM3E,OAAG0Z,EACQ,EAGJ,GAIX,IAAI6F,GAAuB1X,EAAKC,SAC5B0X,GAAuB3X,EAAKC,SAC5B2X,GAA4B5X,EAAKC,SACjC4X,GAAoC,IAAI5P,GAASzO,UAAWwG,EAAKC,SAASD,EAAKC,SAASD,EAAKC,SAASD,EAAKC,YAW/G+E,EAAYrL,UAAUuO,EAAMqE,IAAMrE,EAAMwO,aACxC1R,EAAYrL,UAAUuO,EAAM6D,OAAS7D,EAAMwO,aAC3C1R,EAAYrL,UAAUme,kBAAoB,SAAU7L,EAAWvF,EAAYqR,EAAU9Q,EACjC2P,EAAOC,EAAQC,EAAMC,EAASzK,GAC9E,IAAI0K,EAAOH,EAAQI,QACfC,EAAIL,EAAQM,aACZvP,EAAK8P,GACL7P,EAAK8P,GACLK,EAAUJ,GACVK,EAAaJ,GAGbR,EAAOre,KAAKse,OAAQrL,EAAWhL,KAAKlB,WAAW,GAAK+W,EAAM,IAAMI,GAChEK,EAAOve,KAAKwe,MAAQvL,EAAWhL,KAAKf,WAAW,GAAK4W,EAAM,IAAMI,GAEjEG,EAAO,IACNA,EAAO,GAERE,GAAQP,EAAK3gB,SACZkhB,EAAOP,EAAK3gB,OAAO,GAMvB,IAAI,IAFA6L,EAAM8U,EAAKK,GACX9b,EAAMyb,EAAKO,GACPrhB,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IACjB8gB,EAAK9gB,GAAKqF,IACTA,EAAMyb,EAAK9gB,IAEZ8gB,EAAK9gB,GAAKgM,IACTA,EAAM8U,EAAK9gB,IAInB,GAAG+V,EAAWhL,KAAKlB,WAAW,GAAKmC,EAC/B,OAAOoK,GAAmB,EAQ9B,IAAI,IAJAZ,EAAc,EAIVxV,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IAAI,CAGxB8J,EAAK4G,IAAIgB,EAAQ1R,EAAEghB,EAAGF,EAAK9gB,IAC3B8J,EAAK4G,IAAIiB,GAAK3R,EAAE,GAAGghB,EAAGF,EAAK9gB,EAAE,IAC7B8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GACf9W,EAAKgB,IAAI6G,EAAGA,EAAGiP,GAIf9W,EAAK4G,IAAIoR,EAAyB,IAAfnQ,EAAG,GAAKD,EAAG,IAAsC,IAA5BC,EAAG,GAAKD,EAAG,GADlC,MAGjB5H,EAAKiD,IAAIgV,EAAWze,SAAS,GAAIqO,EAAImQ,GACrChY,EAAKiD,IAAIgV,EAAWze,SAAS,GAAIoO,EAAIoQ,GACrChY,EAAK9E,KAAK+c,EAAWze,SAAS,GAAIye,EAAWze,SAAS,IACtDwG,EAAK9E,KAAK+c,EAAWze,SAAS,GAAIye,EAAWze,SAAS,IACtDye,EAAWze,SAAS,GAAG,IAPN,IAQjBye,EAAWze,SAAS,GAAG,IARN,IAWjBkS,GAAenS,KAAKoU,aAAgB1B,EAAYvF,EAAaqR,EAAW9Q,EACpC2P,EAAQqB,EAAYD,EAAS,EAAG1L,GAGxE,OAAOZ,KAERwM,+BAA+B,GAAGC,wBAAwB,GAAGC,gCAAgC,GAAGhW,eAAe,GAAG2B,kBAAkB,GAAGsU,gBAAgB,GAAG1T,mBAAmB,GAAG2T,mBAAmB,GAAGxT,kBAAkB,GAAGyT,+BAA+B,GAAGC,gCAAgC,GAAGC,2BAA2B,GAAGpW,iBAAiB,KAAKqW,IAAI,SAASniB,EAAQnB,EAAOD,GAsBnX,SAASwjB,EAAI7Y,GACTA,EAAUA,MAMVvG,KAAKY,KAAO2F,EAAQ3F,KAAO6F,EAAKqI,WAAWvI,EAAQ3F,KAAK,GAAI2F,EAAQ3F,KAAK,IAAM6F,EAAKC,SAMpF1G,KAAKa,GAAK0F,EAAQ1F,GAAK4F,EAAKqI,WAAWvI,EAAQ1F,GAAG,GAAI0F,EAAQ1F,GAAG,IAAM4F,EAAKC,SAM5E1G,KAAKqf,4BAA4DC,IAAnC/Y,EAAQ8Y,wBAAuC9Y,EAAQ8Y,uBAMrFrf,KAAKuf,gBAAkBhZ,EAAQgZ,cAM/Bvf,KAAKwf,mBAA0CF,IAA1B/Y,EAAQiZ,cAA8BjZ,EAAQiZ,eAAiB,EAMpFxf,KAAKyf,oBAA4CH,IAA3B/Y,EAAQkZ,eAA+BlZ,EAAQkZ,gBAAkB,EAMvFzf,KAAK0f,UAAwBJ,IAAjB/Y,EAAQmZ,KAAqBnZ,EAAQmZ,KAAON,EAAIO,IAM5D3f,KAAK4f,SAAWrZ,EAAQqZ,UAAY,SAAS9c,KAM7C9C,KAAKoI,UAAY3B,EAAKC,SAOtB1G,KAAKlD,OAAS,EAEdkD,KAAK6f,SAiNT,SAASC,EAAgClf,EAAMwH,EAAWtB,GAGtDL,EAAKiD,IAAI2E,EAAIvH,EAAUlG,GACvB,IAAIrB,EAAMkH,EAAKlH,IAAI8O,EAAIjG,GAMvB,OAHA3B,EAAK4L,MAAM0N,EAAW3X,EAAW7I,GACjCkH,EAAKgB,IAAIsY,EAAWA,EAAWnf,GAExB6F,EAAKuZ,gBAAgBlZ,EAAUiZ,GAhT1ClkB,EAAOD,QAAUwjB,EAEjB,IAAI3Y,EAAOzJ,EAAQ,gBACCA,EAAQ,8BAChBA,EAAQ,mBACTA,EAAQ,qBAkFnBoiB,EAAIhf,UAAUuK,YAAcyU,EAO5BA,EAAIa,QAAU,EAOdb,EAAIO,IAAM,EAOVP,EAAIc,IAAM,EAMVd,EAAIhf,UAAUyf,OAAS,WAGnB,IAAIjc,EAAI5D,KAAKoI,UACb3B,EAAKiD,IAAI9F,EAAG5D,KAAKa,GAAIb,KAAKY,MAC1BZ,KAAKlD,OAAS2J,EAAK3J,OAAO8G,GAC1B6C,EAAK6L,UAAU1O,EAAGA,IAQtBwb,EAAIhf,UAAU+f,gBAAkB,SAAUrd,EAAQ8H,GAC9C,IAAK,IAAIjO,EAAI,EAAGsK,EAAI2D,EAAO9N,QAASgG,EAAOsd,WAAWpgB,OAASrD,EAAIsK,EAAGtK,IAAK,CACvE,IAAI0jB,EAAOzV,EAAOjO,GACd+K,EAAO2Y,EAAKtW,WACbrC,EAAKO,YAAYjI,OAAS,GAAK0H,EAAKK,cAAc/H,KAAKY,QACtDZ,KAAKsgB,cAAcxd,EAAQud,KAKvC,IAAIE,EAA8B9Z,EAAKC,SAQvC0Y,EAAIhf,UAAUkgB,cAAgB,SAAUxd,EAAQud,GAC5C,IAAIhB,EAAyBrf,KAAKqf,uBAElC,IAAGA,GAA2BgB,EAAKG,kBAMnC,IAAK,IAFDC,EAAgBF,EAEX5jB,EAAI,EAAGwE,EAAIkf,EAAK/P,OAAOxT,OAAQH,EAAIwE,EAAGxE,IAAK,CAChD,IAAI+jB,EAAQL,EAAK/P,OAAO3T,GAExB,KAAG0iB,GAA2BqB,EAAMF,qBAIe,IAA/CxgB,KAAKyf,eAAiBiB,EAAMlB,gBAAwE,IAA/CkB,EAAMjB,eAAiBzf,KAAKwf,gBAArF,CAKA/Y,EAAKS,OAAOuZ,EAAeC,EAAM5Z,SAAUuZ,EAAKtZ,OAChDN,EAAKgB,IAAIgZ,EAAeA,EAAeJ,EAAKvZ,UAC5C,IAAI6Z,EAAaD,EAAM3Z,MAAQsZ,EAAKtZ,MAUpC,GARA/G,KAAK4gB,eACD9d,EACA4d,EACAC,EACAF,EACAJ,GAGDvd,EAAOsd,WAAWpgB,MACjB,SAaZof,EAAIhf,UAAUwgB,eAAiB,SAAS9d,EAAQ4d,EAAO3Z,EAAOD,EAAUuZ,GAIrDP,EAHJ9f,KAAKY,KAGqCZ,KAAKoI,UAAWtB,GACtD4Z,EAAM7W,eAAiB6W,EAAM7W,iBAI5C7J,KAAK6gB,aAAeR,EACpBrgB,KAAK8gB,cAAgBJ,EAErBA,EAAMK,QAAQje,EAAQ9C,KAAM8G,EAAUC,GAEtC/G,KAAK6gB,aAAe7gB,KAAK8gB,cAAgB,OAQ7C1B,EAAIhf,UAAU2J,QAAU,SAASjH,GAC7B,IAAIjC,EAAKb,KAAKa,GACVD,EAAOZ,KAAKY,KAChB6F,EAAK4G,IACDvK,EAAO0D,WACP/G,KAAKuC,IAAInB,EAAG,GAAID,EAAK,IACrBnB,KAAKuC,IAAInB,EAAG,GAAID,EAAK,KAEzB6F,EAAK4G,IACDvK,EAAO6D,WACPlH,KAAKkJ,IAAI9H,EAAG,GAAID,EAAK,IACrBnB,KAAKkJ,IAAI9H,EAAG,GAAID,EAAK,MAIT6F,EAAKC,SAUzB0Y,EAAIhf,UAAU4gB,mBAAqB,SAASle,EAAQme,EAAU/E,EAAQgF,GACvDlhB,KAAKY,KACPZ,KAAKa,GADd,IAEI6f,EAAQ1gB,KAAK8gB,cACbT,EAAOrgB,KAAK6gB,aAGhB,KAAG7gB,KAAKuf,eAAiB9Y,EAAKlH,IAAI2c,EAAQlc,KAAKoI,WAAa,GAI5D,OAAOpI,KAAK0f,MAEZ,KAAKN,EAAIc,IACLpd,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,GAEJlhB,KAAK4f,SAAS9c,GACd,MAEJ,KAAKsc,EAAIa,SAGFgB,EAAWne,EAAOme,WAAane,EAAOqe,WACrCre,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,GAGR,MAEJ,KAAK9B,EAAIO,IAGL7c,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,KAMZ,IAAI7S,EAAK5H,EAAKC,SACVqZ,EAAYtZ,EAAKC,WAelB0a,oBAAoB,EAAEC,6BAA6B,GAAGxY,eAAe,GAAG0C,kBAAkB,KAAK+V,IAAI,SAAStkB,EAAQnB,EAAOD,GAW9H,SAAS2lB,IAMRvhB,KAAKkc,OAASzV,EAAKC,SAMnB1G,KAAK0gB,MAAQ,KAMb1gB,KAAKqgB,KAAO,KAOZrgB,KAAKkhB,WAAa,EAOlBlhB,KAAKihB,UAAY,EAOjBjhB,KAAKwhB,WAAY,EAjDlB,IAAI/a,EAAOzJ,EAAQ,gBACfoiB,EAAMpiB,EAAQ,oBAElBnB,EAAOD,QAAU2lB,EAqDjBA,EAAcnhB,UAAU4Q,MAAQ,WAC/BvK,EAAK4G,IAAIrN,KAAKkc,OAAQ,EAAG,GACzBlc,KAAK0gB,MAAQ,KACb1gB,KAAKqgB,KAAO,KACZrgB,KAAKkhB,WAAa,EAClBlhB,KAAKihB,UAAY,EACjBjhB,KAAKwhB,WAAY,GAQlBD,EAAcnhB,UAAUqhB,eAAiB,SAAUvZ,GAClD,OAAOzB,EAAKib,SAASxZ,EAAItH,KAAMsH,EAAIrH,IAAMb,KAAKihB,UAO/CM,EAAcnhB,UAAU+gB,OAAS,WAChC,OAA0B,IAAnBnhB,KAAKihB,UASbM,EAAcnhB,UAAUuhB,YAAc,SAAUC,EAAK1Z,GACpDzB,EAAKob,KAAKD,EAAK1Z,EAAItH,KAAMsH,EAAIrH,GAAIb,KAAKihB,WAOvCM,EAAcnhB,UAAU0hB,KAAO,WAC9B9hB,KAAKwhB,WAAY,GASlBD,EAAcnhB,UAAUggB,WAAa,SAASlY,GAC7C,OAAOlI,KAAKwhB,YAAiC,IAAnBxhB,KAAKihB,UAAmB/Y,EAAIwX,OAASN,EAAIO,KAWpE4B,EAAcnhB,UAAUiN,IAAM,SAC7B6O,EACAwE,EACAL,EACAY,EACAC,GAEAza,EAAK9E,KAAK3B,KAAKkc,OAAQA,GACvBlc,KAAK0gB,MAAQA,EACb1gB,KAAKqgB,KAAOA,EACZrgB,KAAKihB,SAAWA,EAChBjhB,KAAKkhB,UAAYA,KAEfa,mBAAmB,GAAGlZ,eAAe,KAAKmZ,IAAI,SAAShlB,EAAQnB,EAAOD,GAazE,SAASqmB,IACLjZ,EAAWnM,KAAKmD,KAAKgJ,EAAWuB,KAOhCvK,KAAKkiB,YAOLliB,KAAKmiB,UAAY,EAEjB,IAAIC,EAAOpiB,KACXA,KAAKqiB,gBAAkB,SAAS1mB,GAC5BymB,EAAKF,SAASphB,KAAKnF,EAAE0kB,OAGzBrgB,KAAKsiB,mBAAqB,SAAS3mB,GAE/B,IAAI4mB,EAAMH,EAAKF,SAASlf,QAAQrH,EAAE0kB,OACtB,IAATkC,GACCH,EAAKF,SAASnf,OAAOwf,EAAI,IAtCrC,IAAIC,EAAQxlB,EAAQ,kBAChBgM,EAAahM,EAAQ,2BAEzBnB,EAAOD,QAAUqmB,GAuCjBA,EAAc7hB,UAAY,IAAI4I,GACN2B,YAAcsX,EAOtCA,EAAc7hB,UAAUiJ,SAAW,SAASJ,GAExCjJ,KAAKkiB,SAASplB,OAAS,EAGvB0lB,EAAMC,YAAYziB,KAAKkiB,SAAUjZ,EAAM2B,QAGvC3B,EACKyZ,IAAI,UAAU1iB,KAAKqiB,iBACnBK,IAAI,aAAa1iB,KAAKsiB,oBAG3BrZ,EAAM0Z,GAAG,UAAU3iB,KAAKqiB,iBAAiBM,GAAG,aAAa3iB,KAAKsiB,oBAE9DtiB,KAAKiJ,MAAQA,GAUjBgZ,EAAcW,aAAe,SAASnmB,EAAG0lB,GACrCA,GAAsB,EACtB,IAAI,IAAIxlB,EAAE,EAAEsK,EAAExK,EAAEK,OAAQH,EAAEsK,EAAGtK,IAAK,CAE9B,IAAI,IADA2D,EAAI7D,EAAEE,GACFiF,EAAEjF,EAAI,EAAEiF,GAAG,KACZnF,EAAEmF,GAAG8F,KAAKlB,WAAW2b,IAAc7hB,EAAEoH,KAAKlB,WAAW2b,IADvCvgB,IAIjBnF,EAAEmF,EAAE,GAAKnF,EAAEmF,GAEfnF,EAAEmF,EAAE,GAAKtB,EAEb,OAAO7D,GAGXwlB,EAAc7hB,UAAUyiB,SAAW,WAC/B,IAAIjY,EAAS5K,KAAKkiB,SAClBC,EAAYniB,KAAKmiB,UAGjBF,EAAcW,aAAahY,EAAQuX,IASvCF,EAAc7hB,UAAUkJ,kBAAoB,SAASL,GACjD,IAAI2B,EAAS5K,KAAKkiB,SACdpf,EAAS9C,KAAK8C,OACdqf,EAAYniB,KAAKmiB,UAErBrf,EAAOhG,OAAS,EAIhB,IADA,IAAImK,EAAI2D,EAAO9N,OACTmK,KAAI,CACN,IAAItI,EAAIiM,EAAO3D,GACZtI,EAAEsM,iBACDtM,EAAEuM,aAKVlL,KAAK6iB,WAGL,IAAI,IAAIlmB,EAAE,EAAGwE,EAAgB,EAAdyJ,EAAO9N,OAAUH,IAAIwE,EAAGxE,IAGnC,IAAI,IAFAmO,EAAKF,EAAOjO,GAERiF,EAAEjF,EAAE,EAAGiF,EAAET,EAAGS,IAAI,CACpB,IAAImJ,EAAKH,EAAOhJ,GAIhB,KADgBmJ,EAAGrD,KAAKlB,WAAW2b,IAAcrX,EAAGpD,KAAKf,WAAWwb,IAEhE,MAGDnZ,EAAWiB,WAAWa,EAAGC,IAAO/K,KAAKgK,oBAAoBc,EAAGC,IAC3DjI,EAAOhC,KAAKgK,EAAGC,GAK3B,OAAOjI,GAWXmf,EAAc7hB,UAAU4K,UAAY,SAAS/B,EAAOvB,EAAM5E,GACtDA,EAASA,MAET9C,KAAK6iB,WAEL,IAAIV,EAAYniB,KAAKmiB,UACjB3F,EAAO,IACM,IAAd2F,IAAkB3F,EAAO,KACX,IAAd2F,IAAkB3F,EAAO,KAK5B,IAAI,IAHA0F,EAAWliB,KAAKkiB,SAGZvlB,GAFI+K,EAAKlB,WAAWgW,GAChB9U,EAAKf,WAAW6V,GAChB,GAAG7f,EAAIulB,EAASplB,OAAQH,IAAI,CACpC,IAAIgC,EAAIujB,EAASvlB,GAEdgC,EAAEsM,iBACDtM,EAAEuM,aAGHvM,EAAE+I,KAAKE,SAASF,IACf5E,EAAOhC,KAAKnC,GAIpB,OAAOmE,KAERqI,0BAA0B,EAAErC,iBAAiB,KAAKga,IAAI,SAAS9lB,EAAQnB,EAAOD,GAiBjF,SAASmnB,EAAWvZ,EAAOC,EAAOlE,EAAMgB,GAMpCvG,KAAKuF,KAAOA,EAEZgB,EAAUic,EAAMQ,SAASzc,GACrB0c,kBAAmB,EACnBC,cAAe,IASnBljB,KAAKmjB,aAOLnjB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EAQbzJ,KAAKijB,iBAAmB1c,EAAQ0c,iBAG7B1c,EAAQ2c,eACJ1Z,GACCA,EAAM4Z,SAEP3Z,GACCA,EAAM2Z,UAjElBvnB,EAAOD,QAAUmnB,EAEjB,IAAIP,EAAQxlB,EAAQ,kBAwEpB+lB,EAAW3iB,UAAUyf,OAAS,WAC1B,MAAM,IAAIjjB,MAAM,kEAOpBmmB,EAAWM,SAAW,EAMtBN,EAAWO,KAAO,EAMlBP,EAAWQ,KAAO,EAMlBR,EAAWS,UAAY,EAMvBT,EAAWU,SAAW,EAOtBV,EAAW3iB,UAAUsjB,aAAe,SAASnX,GAEzC,IAAI,IADA0E,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,IAAMsU,EAAInU,OAAQH,IAAI,CAC/B,IAAImB,EAAKmT,EAAItU,GACbmB,EAAGyO,UAAYA,EACfzO,EAAGyT,aAAc,IASzBwR,EAAW3iB,UAAUujB,cAAgB,SAASjX,GAE1C,IAAI,IADAuE,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,IAAMsU,EAAInU,OAAQH,IAAI,CAC/B,IAAImB,EAAKmT,EAAItU,GACbmB,EAAG4O,WAAaA,EAChB5O,EAAGyT,aAAc,MAItBzI,iBAAiB,KAAK8a,IAAI,SAAS5mB,EAAQnB,EAAOD,GAwCrD,SAASioB,EAAmBra,EAAMC,EAAMlD,GACpCA,EAAUic,EAAMQ,SAASzc,GACrBud,cAAc,EAAE,GAChBC,cAAc,EAAE,KAGpBhB,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWM,SAAS9c,GAOrDvG,KAAK8jB,aAAerd,EAAKqI,WAAWvI,EAAQud,aAAa,GAAIvd,EAAQud,aAAa,IAOlF9jB,KAAK+jB,aAAetd,EAAKqI,WAAWvI,EAAQwd,aAAa,GAAIxd,EAAQwd,aAAa,IAElF,IAAID,EAAe9jB,KAAK8jB,aACpBC,EAAe/jB,KAAK+jB,aASxB,GAFA/jB,KAAK0hB,SAAW,EAEgB,iBAAtBnb,EAAgB,SACtBvG,KAAK0hB,SAAWnb,EAAQmb,aACrB,CAEH,IAAIsC,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACpBrK,EAAIoK,EAAKC,SAGbD,EAAKS,OAAO8c,EAAcF,EAActa,EAAMzC,OAC9CN,EAAKS,OAAO+c,EAAcF,EAActa,EAAM1C,OAE9CN,EAAKgB,IAAIpL,EAAGoN,EAAM3C,SAAUmd,GAC5Bxd,EAAKiD,IAAIrN,EAAGA,EAAG2nB,GACfvd,EAAKiD,IAAIrN,EAAGA,EAAGmN,EAAM1C,UAErB9G,KAAK0hB,SAAWjb,EAAK3J,OAAOT,GAGhC,IAAI6nB,EAEAA,OAD0B,IAApB3d,EAAgB,SACXlE,OAAOC,UAEPiE,EAAQ2d,SAGvB,IAAIhI,EAAS,IAAI1P,EAAShD,EAAMC,GAAOya,EAASA,GAChDlkB,KAAKmjB,WAAcjH,GAMnBlc,KAAKkkB,SAAWA,EAiBhB,IAAI7nB,EAAIoK,EAAKC,SACTyd,EAAK1d,EAAKC,SACV0d,EAAK3d,EAAKC,SACV0b,EAAOpiB,KACXkc,EAAOmI,UAAY,WACf,IAAI7a,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACbmL,EAAKpL,EAAM1C,SACXiO,EAAKtL,EAAM3C,SAWf,OARAL,EAAKS,OAAOid,EAAIL,EAActa,EAAMzC,OACpCN,EAAKS,OAAOkd,EAAIL,EAActa,EAAM1C,OAEpCN,EAAKgB,IAAIpL,EAAG0Y,EAAIqP,GAChB3d,EAAKiD,IAAIrN,EAAGA,EAAG8nB,GACf1d,EAAKiD,IAAIrN,EAAGA,EAAGuY,GAGRnO,EAAK3J,OAAOT,GAAK+lB,EAAKV,UAIjC1hB,KAAKskB,YAAYJ,GAMjBlkB,KAAKukB,mBAAoB,EAMzBvkB,KAAKwkB,WAAa,EAMlBxkB,KAAKykB,mBAAoB,EAMzBzkB,KAAK0kB,WAAa,EAMlB1kB,KAAK8G,SAAW,EA9KpB,IAAIic,EAAa/lB,EAAQ,gBACrBwP,EAAWxP,EAAQ,yBACnByJ,EAAOzJ,EAAQ,gBACfwlB,EAAQxlB,EAAQ,kBAEpBnB,EAAOD,QAAUioB,GA2KjBA,EAAmBzjB,UAAY,IAAI2iB,GACNpY,YAAckZ,EAM3C,IAAIznB,EAAIqK,EAAKC,SACTyd,EAAK1d,EAAKC,SACV0d,EAAK3d,EAAKC,SACdmd,EAAmBzjB,UAAUyf,OAAS,WAClC,IAAI3D,EAASlc,KAAKmjB,UAAU,GACxB3Z,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAEbmL,GADW5U,KAAK0hB,SACXlY,EAAM1C,UACXiO,EAAKtL,EAAM3C,SACX6d,EAAiB3kB,KAAKmjB,UAAU,GAChCyB,EAAI1I,EAAO0I,EAGfne,EAAKS,OAAOid,EAAInkB,KAAK8jB,aAActa,EAAMzC,OACzCN,EAAKS,OAAOkd,EAAIpkB,KAAK+jB,aAActa,EAAM1C,OAGzCN,EAAKgB,IAAIrL,EAAG2Y,EAAIqP,GAChB3d,EAAKiD,IAAItN,EAAGA,EAAG+nB,GACf1d,EAAKiD,IAAItN,EAAGA,EAAGwY,GACf5U,KAAK8G,SAAWL,EAAK3J,OAAOV,GAE5B,IAAIyoB,GAAY,EAmBhB,GAlBG7kB,KAAKukB,mBACDvkB,KAAK8G,SAAW9G,KAAKwkB,aACpBG,EAAeT,SAAW,EAC1BS,EAAeG,UAAY9kB,KAAKkkB,SAChClkB,KAAK0hB,SAAW1hB,KAAKwkB,WACrBK,GAAY,GAIjB7kB,KAAKykB,mBACDzkB,KAAK8G,SAAW9G,KAAK0kB,aACpBC,EAAeT,SAAWlkB,KAAKkkB,SAC/BS,EAAeG,SAAW,EAC1B9kB,KAAK0hB,SAAW1hB,KAAK0kB,WACrBG,GAAY,IAIhB7kB,KAAKykB,oBAAqBzkB,KAAKukB,mBAAuBM,EAA1D,CAMAF,EAAenT,SAAU,EAEzB/K,EAAK6L,UAAUlW,EAAEA,GAGjB,IAAI2oB,EAAOte,EAAK+H,YAAY2V,EAAI/nB,GAC5B4oB,EAAOve,EAAK+H,YAAY4V,EAAIhoB,GAGhCwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMG,EACRH,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKI,OAlBHL,EAAenT,SAAU,GA0BjCqS,EAAmBzjB,UAAUkkB,YAAc,SAASJ,GAChD,IAAIhI,EAASlc,KAAKmjB,UAAU,GAC5BjH,EAAO4I,UAAYZ,EACnBhI,EAAOgI,SAAYA,GAQvBL,EAAmBzjB,UAAU6kB,YAAc,WAEvC,OADajlB,KAAKmjB,UAAU,GACde,YAGftF,wBAAwB,GAAG/V,eAAe,GAAGC,iBAAiB,GAAGoc,eAAe,KAAKC,IAAI,SAASnoB,EAAQnB,EAAOD,GAgCpH,SAASwpB,EAAe5b,EAAOC,EAAOlD,GAClCA,EAAUA,MAEVwc,EAAWlmB,KAAKmD,KAAMwJ,EAAOC,EAAOsZ,EAAWO,KAAM/c,GAOrDvG,KAAKqlB,WAA0B/F,IAAlB/Y,EAAQ8e,MAAsB9e,EAAQ8e,MAAQ,EAO3DrlB,KAAK+G,WAA0BuY,IAAlB/Y,EAAQQ,MAAsBR,EAAQQ,MAAQ0C,EAAM1C,MAAQ/G,KAAKqlB,MAAQ7b,EAAMzC,MAG5FR,EAAQQ,MAAQ/G,KAAK+G,MACrBR,EAAQ8e,MAAQrlB,KAAKqlB,MAErBrlB,KAAKmjB,WACD,IAAImC,EAAkB9b,EAAMC,EAAMlD,SAIb+Y,IAAtB/Y,EAAQgf,WACPvlB,KAAKwlB,aAAajf,EAAQgf,WA5DlC,IAAIxC,EAAa/lB,EAAQ,gBAErBsoB,GADWtoB,EAAQ,yBACCA,EAAQ,mCACrBA,EAAQ,gBAEnBnB,EAAOD,QAAUwpB,GA0DjBA,EAAehlB,UAAY,IAAI2iB,GACNpY,YAAcya,EAEvCA,EAAehlB,UAAUyf,OAAS,WAC9B,IAAI/hB,EAAKkC,KAAKmjB,UAAU,GACrBrlB,EAAGunB,QAAUrlB,KAAKqlB,OACjBvnB,EAAG2nB,SAASzlB,KAAKqlB,OAErBvnB,EAAGiJ,MAAQ/G,KAAK+G,OAQpBqe,EAAehlB,UAAUolB,aAAe,SAASE,GAC7C1lB,KAAKmjB,UAAU,GAAGqC,aAAaE,IAQnCN,EAAehlB,UAAUulB,aAAe,SAASD,GAC7C,OAAO1lB,KAAKmjB,UAAU,GAAGe,YAE1B0B,iCAAiC,GAAGhH,wBAAwB,GAAG/V,eAAe,GAAGqc,eAAe,KAAKW,IAAI,SAAS7oB,EAAQnB,EAAOD,GA0BpI,SAASkqB,EAAetc,EAAOC,EAAOlD,GAClCA,EAAUA,MAEVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWQ,KAAKhd,GAEjD,IAAI2d,OAAwC,IAApB3d,EAAgB,SAAkBlE,OAAOC,UAAYiE,EAAQ2d,SA0BjF3c,GAxBchB,EAAQwf,YAwBd,IAAIvZ,EAAShD,EAAMC,GAAOya,EAASA,IAC3C1c,EAAQ,IAAIgF,EAAShD,EAAMC,GAAOya,EAASA,GAC3C8B,EAAQ,IAAIxZ,EAAShD,EAAMC,GAAOya,EAASA,GAE3Cjd,EAAIR,EAAKC,SACTuf,EAAIxf,EAAKC,SACT0b,EAAOpiB,KACXuH,EAAE8c,UAAY,WAIV,OAHA5d,EAAKS,OAAOD,EAAGmb,EAAK8D,aAAc1c,EAAMzC,OACxCN,EAAKiD,IAAIuc,EAAGxc,EAAM3C,SAAU0C,EAAM1C,UAClCL,EAAKiD,IAAIuc,EAAGA,EAAGhf,GACRgf,EAAE,IAEbze,EAAE6c,UAAY,WAIV,OAHA5d,EAAKS,OAAOD,EAAGmb,EAAK8D,aAAc1c,EAAMzC,OACxCN,EAAKiD,IAAIuc,EAAGxc,EAAM3C,SAAU0C,EAAM1C,UAClCL,EAAKiD,IAAIuc,EAAGA,EAAGhf,GACRgf,EAAE,IAEb,IAAI5pB,EAAIoK,EAAKC,SACTvK,EAAIsK,EAAKC,SACbsf,EAAI3B,UAAY,WAOZ,OANA5d,EAAKS,OAAO7K,EAAG+lB,EAAK8D,aAAczc,EAAM1C,MAAQqb,EAAK2D,aACrDtf,EAAK4L,MAAMhW,EAAEA,GAAG,GAChBoK,EAAKiD,IAAIuc,EAAEzc,EAAM1C,SAAS2C,EAAM3C,UAChCL,EAAKgB,IAAIwe,EAAEA,EAAE5pB,GACboK,EAAKS,OAAO/K,EAAEE,GAAGoD,KAAKye,GAAG,GACzBzX,EAAK6L,UAAUnW,EAAEA,GACVsK,EAAKlH,IAAI0mB,EAAE9pB,IAOtB6D,KAAKkmB,aAAezf,EAAKC,SACtBH,EAAQ2f,aACPzf,EAAK9E,KAAK3B,KAAKkmB,aAAc3f,EAAQ2f,eAGrCzf,EAAKiD,IAAI1J,KAAKkmB,aAAczc,EAAM3C,SAAU0C,EAAM1C,UAClDL,EAAKS,OAAOlH,KAAKkmB,aAAclmB,KAAKkmB,cAAe1c,EAAMzC,QAO7D/G,KAAK+lB,YAAc,EACgB,iBAAzBxf,EAAmB,YACzBvG,KAAK+lB,YAAcxf,EAAQwf,YAG3B/lB,KAAK+lB,YAActc,EAAM1C,MAAQyC,EAAMzC,MAG3C/G,KAAKmjB,UAAUriB,KAAKyG,EAAGC,EAAGwe,GAC1BhmB,KAAKskB,YAAYJ,GAjHrB,IAAInB,EAAa/lB,EAAQ,gBACrByJ,EAAOzJ,EAAQ,gBACfwP,EAAWxP,EAAQ,yBAEvBnB,EAAOD,QAAUkqB,GA+GjBA,EAAe1lB,UAAY,IAAI2iB,GACNpY,YAAcmb,EAOvCA,EAAe1lB,UAAUkkB,YAAc,SAAS6B,GAE5C,IAAI,IADAlV,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,EAAEqD,KAAKmjB,UAAUrmB,OAAQH,IAClCsU,EAAItU,GAAGunB,SAAYiC,EACnBlV,EAAItU,GAAGmoB,UAAYqB,GAS3BL,EAAe1lB,UAAU6kB,YAAc,WACnC,OAAOjlB,KAAKmjB,UAAU,GAAGe,UAG7B,IAAIjd,EAAIR,EAAKC,SACTrK,EAAIoK,EAAKC,SACTvK,EAAIsK,EAAKC,SACT0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC9BgX,EAAe1lB,UAAUyf,OAAS,WAC9B,IAAItY,EAAMvH,KAAKmjB,UAAU,GACrB3b,EAAMxH,KAAKmjB,UAAU,GACrB6C,EAAMhmB,KAAKmjB,UAAU,GACrB3Z,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAEjBhD,EAAKS,OAAOD,EAAEjH,KAAKkmB,aAAa1c,EAAMzC,OACtCN,EAAKS,OAAO7K,EAAE2D,KAAKkmB,aAAazc,EAAM1C,MAAQ/G,KAAK+lB,aACnDtf,EAAK4L,MAAMhW,EAAEA,GAAG,GAEhBoK,EAAKS,OAAO/K,EAAEE,EAAEoD,KAAKye,GAAG,GACxBzX,EAAK6L,UAAUnW,EAAEA,GAEjBoL,EAAEqd,EAAE,IAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,IAAMne,EAAK+H,YAAYvH,EAAEmf,GAC7B7e,EAAEqd,EAAE,GAAM,EAEVpd,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,IAAM,EACVpd,EAAEod,EAAE,IAAMne,EAAK+H,YAAYvH,EAAE4H,GAC7BrH,EAAEod,EAAE,GAAM,EAEVoB,EAAIpB,EAAE,IAAOzoB,EAAE,GACf6pB,EAAIpB,EAAE,IAAOzoB,EAAE,GACf6pB,EAAIpB,EAAE,GAAMzoB,EAAE,GACd6pB,EAAIpB,EAAE,GAAMzoB,EAAE,GACd6pB,EAAIpB,EAAE,GAAMne,EAAK+H,YAAYnS,EAAEF,MAGhCyiB,wBAAwB,GAAG/V,eAAe,GAAGqc,eAAe,KAAKmB,IAAI,SAASrpB,EAAQnB,EAAOD,GA4BhG,SAAS0qB,EAAoB9c,EAAOC,EAAOlD,GACvCA,EAAUA,MACVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWS,UAAUjd,GAGtD,IAAIud,EAAerd,EAAKqI,WAAW,EAAE,GACjCyX,EAAa9f,EAAKqI,WAAW,EAAE,GAC/BiV,EAAetd,EAAKqI,WAAW,EAAE,GAClCvI,EAAQud,cAAerd,EAAK9E,KAAKmiB,EAAcvd,EAAQud,cACvDvd,EAAQggB,YAAa9f,EAAK9E,KAAK4kB,EAAchgB,EAAQggB,YACrDhgB,EAAQwd,cAAetd,EAAK9E,KAAKoiB,EAAcxd,EAAQwd,cAM1D/jB,KAAK8jB,aAAeA,EAMpB9jB,KAAK+jB,aAAeA,EAMpB/jB,KAAKumB,WAAaA,EAoBlB,IAAIrC,EAAWlkB,KAAKkkB,cAAsC,IAApB3d,EAAgB,SAAkBA,EAAQ2d,SAAW7hB,OAAOC,UAG9FkkB,EAAQ,IAAIha,EAAShD,EAAMC,GAAOya,EAASA,GAC3CC,EAAK,IAAI1d,EAAKC,OACd0d,EAAK,IAAI3d,EAAKC,OACd+f,EAAK,IAAIhgB,EAAKC,OACdvK,EAAK,IAAIsK,EAAKC,OA0BlB,GAzBA8f,EAAMnC,UAAY,WAEd,OAAO5d,EAAKlH,IAAIknB,EAAGtqB,IAEvBqqB,EAAME,eAAiB,WACnB,IAAI9B,EAAI5kB,KAAK4kB,EACThQ,EAAKpL,EAAM1C,SACXiO,EAAKtL,EAAM3C,SACfL,EAAKS,OAAOid,EAAGL,EAAata,EAAMzC,OAClCN,EAAKS,OAAOkd,EAAGL,EAAata,EAAM1C,OAClCN,EAAKgB,IAAIgf,EAAG1R,EAAGqP,GACf3d,EAAKiD,IAAI+c,EAAGA,EAAG7R,GACfnO,EAAKiD,IAAI+c,EAAGA,EAAGtC,GACf1d,EAAKS,OAAO/K,EAAEoqB,EAAW/c,EAAMzC,MAAMtH,KAAKye,GAAG,GAE7C0G,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMne,EAAK+H,YAAY2V,EAAGhoB,GAAKsK,EAAK+H,YAAYrS,EAAEsqB,GACpD7B,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKne,EAAK+H,YAAY4V,EAAGjoB,IAE/B6D,KAAKmjB,UAAUriB,KAAK0lB,IAGhBjgB,EAAQogB,sBAAsB,CAC9B,IAAIX,EAAM,IAAIY,EAAuBpd,EAAMC,GAAOya,EAASA,GAC3DlkB,KAAKmjB,UAAUriB,KAAKklB,GAQxBhmB,KAAK8G,SAAW,EAGhB9G,KAAK6mB,SAAW,EAOhB7mB,KAAKykB,uBAAiD,IAAtBle,EAAkB,WAOlDvG,KAAKukB,uBAAiD,IAAtBhe,EAAkB,WAOlDvG,KAAK0kB,gBAA0C,IAAtBne,EAAkB,WAAkBA,EAAQme,WAAa,EAOlF1kB,KAAKwkB,gBAA0C,IAAtBje,EAAkB,WAAkBA,EAAQie,WAAa,EAGlFxkB,KAAK8mB,mBAAqB,IAAIC,EAAgBvd,EAAMC,GACpDzJ,KAAKgnB,mBAAqB,IAAID,EAAgBvd,EAAMC,GAGpDzJ,KAAK8mB,mBAAmBhC,SAAW9kB,KAAKgnB,mBAAmBlC,SAAW,EACtE9kB,KAAK8mB,mBAAmB5C,SAAWlkB,KAAKgnB,mBAAmB9C,SAAWA,EAOtElkB,KAAKinB,cAAgB,IAAIza,EAAShD,EAAMC,GAOxCzJ,KAAKknB,cAAe,EAOpBlnB,KAAKmnB,WAAa,EAElB,IAAI/E,EAAOpiB,KACPinB,EAAgBjnB,KAAKinB,cACfA,EAAcG,UACxBH,EAAc5C,UAAY,WAAY,OAAO,GAC7C4C,EAAcG,UAAY,WACtB,IAAIxC,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG+b,SACRS,EAAKvc,EAAG8b,SACRU,EAAKzc,EAAG0c,gBACRC,EAAK1c,EAAGyc,gBACZ,OAAOxnB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAAMrF,EAAK+E,YAhMhD,IAAIpE,EAAa/lB,EAAQ,gBACrB+pB,EAAkB/pB,EAAQ,gCAC1BwP,EAAWxP,EAAQ,yBACnByJ,EAAOzJ,EAAQ,gBACf4pB,EAAyB5pB,EAAQ,uCAErCnB,EAAOD,QAAU0qB,GA8LjBA,EAAoBlmB,UAAY,IAAI2iB,GACNpY,YAAc2b,EAE5C,IAAIqB,EAAalhB,EAAKC,SAClBsd,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACpBkhB,EAAkBnhB,EAAKC,SACvBmhB,EAAkBphB,EAAKC,SACvBxF,EAAMuF,EAAKC,SAMf4f,EAAoBlmB,UAAUyf,OAAS,WACnC,IAAI5O,EAAMjR,KAAKmjB,UACXqD,EAAQvV,EAAI,GACZuT,EAAaxkB,KAAKwkB,WAClBE,EAAa1kB,KAAK0kB,WAClBoC,EAAqB9mB,KAAK8mB,mBAC1BE,EAAqBhnB,KAAKgnB,mBAC1Bxd,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACb8c,EAAavmB,KAAKumB,WAClBzC,EAAe9jB,KAAK8jB,aACpBC,EAAe/jB,KAAK+jB,aAExByC,EAAME,iBAGNjgB,EAAKS,OAAOygB,EAAiBpB,EAAiB/c,EAAMzC,OACpDN,EAAKS,OAAO0gB,EAAiB9D,EAAiBta,EAAMzC,OACpDN,EAAKgB,IAAIuc,EAAoB4D,EAAiBpe,EAAM1C,UACpDL,EAAKS,OAAO2gB,EAAiB9D,EAAiBta,EAAM1C,OACpDN,EAAKgB,IAAIwc,EAAoB4D,EAAiBpe,EAAM3C,UAEpD,IAAIghB,EAAc9nB,KAAK8G,SAAWL,EAAKlH,IAAI0kB,EAAa0D,GAAclhB,EAAKlH,IAAIykB,EAAa2D,GAG5F,GAAG3nB,KAAKknB,aAAa,CAEjB,IAAItC,EAAI5kB,KAAKinB,cAAcrC,EAC3BA,EAAE,GAAK+C,EAAW,GAClB/C,EAAE,GAAK+C,EAAW,GAClB/C,EAAE,GAAKne,EAAK+H,YAAYmZ,EAAWE,GACnCjD,EAAE,IAAM+C,EAAW,GACnB/C,EAAE,IAAM+C,EAAW,GACnB/C,EAAE,IAAMne,EAAK+H,YAAYmZ,EAAWC,GA0CxC,GAjBG5nB,KAAKukB,mBAAqBuD,EAActD,GAEvC/d,EAAK4L,MAAMyU,EAAmB7U,QAAS0V,GAAa,GACpDlhB,EAAKiD,IAAIod,EAAmBhV,cAAekS,EAAcxa,EAAM1C,UAC/DL,EAAKiD,IAAIod,EAAmB/U,cAAekS,EAAcxa,EAAM3C,UAC/DL,EAAK4L,MAAMnR,EAAIymB,EAAWnD,GAC1B/d,EAAKgB,IAAIqf,EAAmBhV,cAAcgV,EAAmBhV,cAAc5Q,IACnC,IAArC+P,EAAIjO,QAAQ8jB,IACX7V,EAAInQ,KAAKgmB,KAID,KADRvE,EAAMtR,EAAIjO,QAAQ8jB,KAElB7V,EAAIlO,OAAOwf,EAAI,GAIpBviB,KAAKykB,mBAAqBqD,EAAcpD,EAEvCje,EAAK4L,MAAM2U,EAAmB/U,QAAS0V,EAAY,GACnDlhB,EAAKiD,IAAIsd,EAAmBlV,cAAekS,EAAcxa,EAAM1C,UAC/DL,EAAKiD,IAAIsd,EAAmBjV,cAAekS,EAAcxa,EAAM3C,UAC/DL,EAAK4L,MAAMnR,EAAIymB,EAAWjD,GAC1Bje,EAAKiD,IAAIsd,EAAmBjV,cAAciV,EAAmBjV,cAAc7Q,IACnC,IAArC+P,EAAIjO,QAAQgkB,IACX/V,EAAInQ,KAAKkmB,OAEV,CACH,IAAIzE,EAAMtR,EAAIjO,QAAQgkB,IACV,IAATzE,GACCtR,EAAIlO,OAAOwf,EAAI,KAS3B+D,EAAoBlmB,UAAU2nB,YAAc,WACrC/nB,KAAKknB,eAGRlnB,KAAKmjB,UAAUriB,KAAKd,KAAKinB,eACzBjnB,KAAKknB,cAAe,IAOxBZ,EAAoBlmB,UAAU4nB,aAAe,WACzC,GAAIhoB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUpgB,OAAOpG,EAAE,GACxBqD,KAAKknB,cAAe,IASxBZ,EAAoBlmB,UAAU6nB,UAAY,SAAUC,EAAOC,GAClC,iBAAZ,GACLnoB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,IAEzBzkB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,GAGR,iBAAZ,GACLzkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAEzBvkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,MAK9B5F,+BAA+B,GAAGC,wBAAwB,GAAGwJ,sCAAsC,GAAGvf,eAAe,GAAGqc,eAAe,KAAKmD,IAAI,SAASrrB,EAAQnB,EAAOD,GA4C3K,SAAS0sB,EAAmB9e,EAAOC,EAAOlD,GACtCA,EAAUA,MACVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWU,SAASld,GAErD,IAAI2d,EAAWlkB,KAAKkkB,cAAwC,IAAtB3d,EAAgB,SAAoBA,EAAQ2d,SAAW7hB,OAAOC,UAKpGtC,KAAKuoB,OAAS9hB,EAAKC,SAKnB1G,KAAKwoB,OAAS/hB,EAAKC,SAEhBH,EAAQkiB,YAEPhiB,EAAKiD,IAAI1J,KAAKuoB,OAAQhiB,EAAQkiB,WAAYjf,EAAM1C,UAChDL,EAAKiD,IAAI1J,KAAKwoB,OAAQjiB,EAAQkiB,WAAYhf,EAAM3C,UAEhDL,EAAKS,OAAOlH,KAAKuoB,OAAQvoB,KAAKuoB,QAAS/e,EAAMzC,OAC7CN,EAAKS,OAAOlH,KAAKwoB,OAAQxoB,KAAKwoB,QAAS/e,EAAM1C,SAG7CN,EAAK9E,KAAK3B,KAAKuoB,OAAQhiB,EAAQmiB,aAC/BjiB,EAAK9E,KAAK3B,KAAKwoB,OAAQjiB,EAAQoiB,cAInC,IAAI1X,EAAMjR,KAAKmjB,WACX,IAAI3W,EAAShD,EAAMC,GAAOya,EAASA,GACnC,IAAI1X,EAAShD,EAAMC,GAAOya,EAASA,IAGnC3c,EAAI0J,EAAI,GACRzJ,EAAIyJ,EAAI,GACRmR,EAAOpiB,KAEXuH,EAAE8c,UAAY,WAMV,OALA5d,EAAKS,OAAO0hB,EAAaxG,EAAKmG,OAAQ/e,EAAMzC,OAC5CN,EAAKS,OAAO2hB,EAAazG,EAAKoG,OAAQ/e,EAAM1C,OAC5CN,EAAKgB,IAAIwe,EAAGxc,EAAM3C,SAAU+hB,GAC5BpiB,EAAKiD,IAAIuc,EAAGA,EAAGzc,EAAM1C,UACrBL,EAAKiD,IAAIuc,EAAGA,EAAG2C,GACRniB,EAAKlH,IAAI0mB,EAAEG,IAGtB5e,EAAE6c,UAAY,WAMV,OALA5d,EAAKS,OAAO0hB,EAAaxG,EAAKmG,OAAQ/e,EAAMzC,OAC5CN,EAAKS,OAAO2hB,EAAazG,EAAKoG,OAAQ/e,EAAM1C,OAC5CN,EAAKgB,IAAIwe,EAAGxc,EAAM3C,SAAU+hB,GAC5BpiB,EAAKiD,IAAIuc,EAAGA,EAAGzc,EAAM1C,UACrBL,EAAKiD,IAAIuc,EAAGA,EAAG2C,GACRniB,EAAKlH,IAAI0mB,EAAEpX,IAGtBrH,EAAEsd,SAAWvd,EAAEud,UAAYZ,EAC3B1c,EAAE0c,SAAW3c,EAAE2c,SAAYA,EAE3BlkB,KAAKinB,cAAgB,IAAI6B,EAA2Btf,EAAMC,GAO1DzJ,KAAKknB,cAAe,EAQpBlnB,KAAK+G,MAAQ,EAOb/G,KAAKykB,mBAAoB,EAOzBzkB,KAAKukB,mBAAoB,EAOzBvkB,KAAK0kB,WAAa,EAOlB1kB,KAAKwkB,WAAa,EAElBxkB,KAAK8mB,mBAAqB,IAAIF,EAAuBpd,EAAMC,GAC3DzJ,KAAKgnB,mBAAqB,IAAIJ,EAAuBpd,EAAMC,GAC3DzJ,KAAK8mB,mBAAmBhC,SAAW,EACnC9kB,KAAKgnB,mBAAmB9C,SAAW,EAvJvC,IAAInB,EAAa/lB,EAAQ,gBACrBwP,EAAWxP,EAAQ,yBACnB8rB,EAA6B9rB,EAAQ,2CACrC4pB,EAAyB5pB,EAAQ,uCACjCyJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAU0sB,EAEjB,IAAIM,EAAcniB,EAAKC,SACnBmiB,EAAcpiB,EAAKC,SACnB0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC1BmX,EAAIxf,EAAKC,UA6Ib4hB,EAAmBloB,UAAY,IAAI2iB,GACNpY,YAAc2d,EAQ3CA,EAAmBloB,UAAU6nB,UAAY,SAAUC,EAAOC,GACjC,iBAAZ,GACLnoB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,IAEzBzkB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,GAGR,iBAAZ,GACLzkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAEzBvkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAIjC+D,EAAmBloB,UAAUyf,OAAS,WAClC,IAAIrW,EAASxJ,KAAKwJ,MACdC,EAASzJ,KAAKyJ,MACd8e,EAASvoB,KAAKuoB,OACdC,EAASxoB,KAAKwoB,OACdvX,EAASjR,KAAKmjB,UAGd5b,GAFS0J,EAAI,GACJA,EAAI,GACTA,EAAI,IACRzJ,EAAIyJ,EAAI,GACRuT,EAAaxkB,KAAKwkB,WAClBE,EAAa1kB,KAAK0kB,WAClBoC,EAAqB9mB,KAAK8mB,mBAC1BE,EAAqBhnB,KAAKgnB,mBAE1B+B,EAAW/oB,KAAK+G,MAAQ0C,EAAM1C,MAAQyC,EAAMzC,MAchD,GAZG/G,KAAKukB,mBAAqBwE,EAAWvE,GACpCsC,EAAmB/f,MAAQyd,GACa,IAArCvT,EAAIjO,QAAQ8jB,IACX7V,EAAInQ,KAAKgmB,KAID,KADRvE,EAAMtR,EAAIjO,QAAQ8jB,KAElB7V,EAAIlO,OAAOwf,EAAI,GAIpBviB,KAAKykB,mBAAqBsE,EAAWrE,EACpCsC,EAAmBjgB,MAAQ2d,GACa,IAArCzT,EAAIjO,QAAQgkB,IACX/V,EAAInQ,KAAKkmB,OAEV,CACH,IAAIzE,EAAMtR,EAAIjO,QAAQgkB,IACV,IAATzE,GACCtR,EAAIlO,OAAOwf,EAAI,GA6BvB9b,EAAKS,OAAO0hB,EAAaL,EAAQ/e,EAAMzC,OACvCN,EAAKS,OAAO2hB,EAAaL,EAAQ/e,EAAM1C,OAIvCQ,EAAEqd,EAAE,IAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,IAAMne,EAAK+H,YAAYoa,EAAYxC,GACvC7e,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,GAAMne,EAAK+H,YAAYqa,EAAYzC,GAEvC5e,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,IAAM,EACVpd,EAAEod,EAAE,IAAMne,EAAK+H,YAAYoa,EAAY/Z,GACvCrH,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,GAAMne,EAAK+H,YAAYqa,EAAYha,IAO3CyZ,EAAmBloB,UAAU2nB,YAAc,WACpC/nB,KAAKknB,eAGRlnB,KAAKmjB,UAAUriB,KAAKd,KAAKinB,eACzBjnB,KAAKknB,cAAe,IAOxBoB,EAAmBloB,UAAU4nB,aAAe,WACxC,GAAIhoB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUpgB,OAAOpG,EAAE,GACxBqD,KAAKknB,cAAe,IASxBoB,EAAmBloB,UAAU4oB,eAAiB,WAC1C,QAAShpB,KAAKknB,cAQlBoB,EAAmBloB,UAAU6oB,cAAgB,SAASC,GAClD,GAAIlpB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUxmB,GAAGiV,iBAAmBsX,IAQzCZ,EAAmBloB,UAAU+oB,cAAgB,WACzC,QAAInpB,KAAKknB,cAGFlnB,KAAKinB,cAAcrV,oBAG3BgN,wBAAwB,GAAGwJ,sCAAsC,GAAGgB,0CAA0C,GAAGvgB,eAAe,GAAGqc,eAAe,KAAKmE,IAAI,SAASrsB,EAAQnB,EAAOD,GAkBtL,SAAS0pB,EAAkB9b,EAAOC,EAAOlD,GACrCA,EAAUA,MACViG,EAAS3P,KAAKmD,KAAKwJ,EAAMC,GAAOpH,OAAOC,UAAUD,OAAOC,WACxDtC,KAAK+G,MAAQR,EAAQQ,OAAS,EAQ9B/G,KAAKqlB,MAAgC,iBAAjB9e,EAAa,MAAeA,EAAQ8e,MAAQ,EAEhErlB,KAAKylB,SAASzlB,KAAKqlB,OA9BvB,IAAI7Y,EAAWxP,EAAQ,cACZA,EAAQ,gBAEnBnB,EAAOD,QAAU0pB,GA6BjBA,EAAkBllB,UAAY,IAAIoM,GACN7B,YAAc2a,EAE1CA,EAAkBllB,UAAUikB,UAAY,WACpC,OAAOrkB,KAAKqlB,MAAQrlB,KAAKwJ,MAAMzC,MAAQ/G,KAAKyJ,MAAM1C,MAAQ/G,KAAK+G,OAQnEue,EAAkBllB,UAAUqlB,SAAW,SAASJ,GAC5C,IAAIT,EAAI5kB,KAAK4kB,EACbA,EAAE,GAAMS,EACRT,EAAE,IAAM,EACR5kB,KAAKqlB,MAAQA,GAQjBC,EAAkBllB,UAAUolB,aAAe,SAASE,GAChD1lB,KAAKkkB,SAAYwB,EACjB1lB,KAAK8kB,UAAYY,KAGlB7c,eAAe,GAAGygB,aAAa,KAAKC,IAAI,SAASvsB,EAAQnB,EAAOD,GAenE,SAASmrB,EAAgBvd,EAAOC,GAC5B+C,EAAS3P,KAAKmD,KAAMwJ,EAAOC,EAAO,EAAGpH,OAAOC,WAO5CtC,KAAK8R,cAAgBrL,EAAKC,SAC1B1G,KAAKwa,eAAiB/T,EAAKC,SAO3B1G,KAAK+R,cAAgBtL,EAAKC,SAO1B1G,KAAKiS,QAAUxL,EAAKC,SAOpB1G,KAAKsM,YAAc,EAQnBtM,KAAKsR,aAAc,EAOnBtR,KAAKuQ,OAAS,KAOdvQ,KAAK0Q,OAAS,KAlElB,IAAIlE,EAAWxP,EAAQ,cACnByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUmrB,GAiEjBA,EAAgB3mB,UAAY,IAAIoM,GACN7B,YAAcoc,EACxCA,EAAgB3mB,UAAUopB,SAAW,SAAS/sB,EAAEkC,EAAE8qB,GAC9C,IAAI3e,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV0a,EAAKnkB,KAAK8R,cACVsS,EAAKpkB,KAAK+R,cACV6C,EAAK9J,EAAGhE,SACRiO,EAAKhK,EAAGjE,SAER0T,EAAiBxa,KAAKwa,eACtBpe,EAAI4D,KAAKiS,QACT2S,EAAI5kB,KAAK4kB,EAGTG,EAAOte,EAAK+H,YAAY2V,EAAG/nB,GAC3B4oB,EAAOve,EAAK+H,YAAY4V,EAAGhoB,GAG/BwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMG,EACRH,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKI,EAGPve,EAAKgB,IAAI+S,EAAezF,EAAGqP,GAC3B3d,EAAKiD,IAAI8Q,EAAeA,EAAe5F,GACvCnO,EAAKiD,IAAI8Q,EAAeA,EAAe2J,GAGvC,IAAIuF,EAAIC,EAYR,OAXG3pB,KAAKsR,aAAoC,IAArBtR,KAAKsM,aACxBqd,EAAK,EACLD,EAAM,EAAE/qB,GAAI,EAAEqB,KAAKsM,aAAetM,KAAKonB,cAEvCuC,EAAKljB,EAAKlH,IAAInD,EAAEoe,GAAkBxa,KAAKyR,OACvCiY,EAAK1pB,KAAKonB,cAIJuC,EAAKltB,EAAIitB,EAAK/qB,EAAI8qB,EADjBzpB,KAAK4pB,eAMpB,IAAIvC,EAAK5gB,EAAKC,SACV4gB,EAAK7gB,EAAKC,SACVmjB,EAASpjB,EAAKC,SAMlBqgB,EAAgB3mB,UAAU0pB,uBAAyB,WAO/C,OALA9pB,KAAKwJ,MAAMugB,mBAAmB1C,EAAIrnB,KAAK8R,eACvC9R,KAAKyJ,MAAMsgB,mBAAmBzC,EAAItnB,KAAK+R,eAEvCtL,EAAKujB,SAASH,EAAQxC,EAAIC,GAEnB7gB,EAAKlH,IAAIS,KAAKiS,QAAS4X,MAE/BhhB,eAAe,GAAGygB,aAAa,KAAKW,IAAI,SAASjtB,EAAQnB,EAAOD,GAgBnE,SAAS4Q,EAAShD,EAAOC,EAAOqb,EAAUZ,GAOtClkB,KAAK8kB,cAA8B,IAAb,GAA4BziB,OAAOC,UAAYwiB,EAOrE9kB,KAAKkkB,cAA8B,IAAb,EAA2B7hB,OAAOC,UAAY4hB,EAOpElkB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EAObzJ,KAAKuM,UAAYC,EAASC,kBAO1BzM,KAAK0M,WAAaF,EAASG,mBAO3B3M,KAAK4kB,EAAI,IAAIpC,EAAM0H,WAAW,GAC9B,IAAI,IAAIvtB,EAAE,EAAGA,EAAE,EAAGA,IACdqD,KAAK4kB,EAAEjoB,GAAG,EAGdqD,KAAKyR,OAAS,EAEdzR,KAAKvD,EAAI,EACTuD,KAAKrB,EAAI,EACTqB,KAAKmqB,QAAU,EACfnqB,KAAKoqB,SAAW,EAAE,GAMlBpqB,KAAKuR,aAAc,EAOnBvR,KAAKqqB,WAAa,EAMlBrqB,KAAK4R,iBAAmB,EAMxB5R,KAAKwR,SAAU,EAnGnB3V,EAAOD,QAAU4Q,EAEjB,IAAI/F,EAAOzJ,EAAQ,gBACfwlB,EAAQxlB,EAAQ,kBACTA,EAAQ,mBAiGnBwP,EAASpM,UAAUuK,YAAc6B,EAQjCA,EAASC,kBAAoB,IAQ7BD,EAASG,mBAAqB,EAM9BH,EAASpM,UAAUyf,OAAS,WACxB,IAAI/d,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAK0M,WACT+c,EAAIzpB,KAAKoqB,SAEbpqB,KAAKvD,EAAI,GAAOgtB,GAAK,EAAI,EAAI7lB,IAC7B5D,KAAKrB,EAAK,EAAMiF,GAAM,EAAI,EAAIA,GAC9B5D,KAAKmqB,QAAU,GAAOV,EAAIA,EAAI3nB,GAAK,EAAI,EAAI8B,IAE3C5D,KAAKuR,aAAc,GAQvB/E,EAASpM,UAAUsnB,MAAQ,SAAS9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAC3C,OAAQ7C,EAAE,GAAKyC,EAAG,GACVzC,EAAE,GAAKyC,EAAG,GACVzC,EAAE,GAAK2C,EACP3C,EAAE,GAAK0C,EAAG,GACV1C,EAAE,GAAK0C,EAAG,GACV1C,EAAE,GAAK6C,GAQnBjb,EAASpM,UAAUopB,SAAW,SAAS/sB,EAAEkC,EAAE8qB,GACvC,IAAIC,EAAK1pB,KAAKonB,YAGd,OAFSpnB,KAAKqkB,YAEA5nB,EAAIitB,EAAK/qB,EADZqB,KAAK4pB,cACgBH,GAQpC,IAAIa,EAAK7jB,EAAKC,SACV6jB,EAAK9jB,EAAKC,SACd8F,EAASpM,UAAUikB,UAAY,WAC3B,IAAIO,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MAGVoL,GAFK/J,EAAGhE,SACHiE,EAAGjE,SACHgE,EAAG/D,OACRiO,EAAKjK,EAAGhE,MAEZ,OAAO/G,KAAK0nB,MAAM9C,EAAG0F,EAAIzV,EAAI0V,EAAIvV,GAAMhV,KAAKyR,QAQhDjF,EAASpM,UAAUgnB,UAAY,WAC3B,IAAIxC,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG+b,SACRS,EAAKvc,EAAG8b,SACRU,EAAKzc,EAAG0c,gBACRC,EAAK1c,EAAGyc,gBACZ,OAAOxnB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAAMznB,KAAK4R,kBAQ5CpF,EAASpM,UAAUoqB,gBAAkB,WACjC,IAAI5F,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG2f,QACRnD,EAAKvc,EAAG0f,QACRlD,EAAKzc,EAAG4f,QACRjD,EAAK1c,EAAG2f,QACZ,OAAO1qB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,IAQjC,IAAIkD,EAAOlkB,EAAKC,SACZkkB,EAAOnkB,EAAKC,SAChB8F,EAASpM,UAAUwpB,YAAc,WAC7B,IAAI9e,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACVohB,EAAK/f,EAAGqb,MACR2E,EAAKhgB,EAAGigB,aACRC,EAAKjgB,EAAGob,MACR8E,EAAKlgB,EAAGggB,aACRG,EAAWpgB,EAAGqgB,aACdC,EAAWrgB,EAAGogB,aACdE,EAAQvgB,EAAGwgB,gBACXC,EAAQxgB,EAAGugB,gBACX1G,EAAI5kB,KAAK4kB,EAOb,OALAne,EAAK4L,MAAMsY,EAAME,EAAIK,GACrBzkB,EAAK+kB,SAASb,EAAM7f,EAAG2gB,eAAgBd,GACvClkB,EAAK4L,MAAMuY,EAAMI,EAAGI,GACpB3kB,EAAK+kB,SAASZ,EAAM7f,EAAG0gB,eAAgBb,GAEhC5qB,KAAK0nB,MAAM9C,EAAE+F,EAAKG,EAAGO,EAAMT,EAAKK,EAAGM,IAQ9C/e,EAASpM,UAAUsrB,aAAe,WAC9B,IAAI5gB,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACVyhB,EAAWpgB,EAAGqgB,aACdC,EAAWrgB,EAAGogB,aACdE,EAAQvgB,EAAGwgB,gBACXC,EAAQxgB,EAAGugB,gBACX1G,EAAI5kB,KAAK4kB,EAEb,OAAQA,EAAE,GAAKA,EAAE,GAAKsG,EAAWpgB,EAAG2gB,eAAe,GAC3C7G,EAAE,GAAKA,EAAE,GAAKsG,EAAWpgB,EAAG2gB,eAAe,GAC3C7G,EAAE,GAAKA,EAAE,GAAQyG,EACjBzG,EAAE,GAAKA,EAAE,GAAKwG,EAAWrgB,EAAG0gB,eAAe,GAC3C7G,EAAE,GAAKA,EAAE,GAAKwG,EAAWrgB,EAAG0gB,eAAe,GAC3C7G,EAAE,GAAKA,EAAE,GAAQ2G,GAG7B,IAAII,EAAoBllB,EAAKC,SACzBklB,EAAkBnlB,EAAKC,SACvBmlB,EAAkBplB,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACFD,EAAKC,SAO9B8F,EAASpM,UAAU0rB,aAAe,SAASC,GACvC,IAAIjhB,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV0Q,EAAOwR,EACPK,EAAKJ,EACLK,EAAKJ,EAGLX,EAAWpgB,EAAGqgB,aACdC,EAAWrgB,EAAGogB,aACdE,EAAQvgB,EAAGwgB,gBACXC,EAAQxgB,EAAGugB,gBAEX1G,EAAI5kB,KAAK4kB,EAEboH,EAAG,GAAKpH,EAAE,GACVoH,EAAG,GAAKpH,EAAE,GACVqH,EAAG,GAAKrH,EAAE,GACVqH,EAAG,GAAKrH,EAAE,GAIVne,EAAK4L,MAAM8H,EAAM6R,EAAId,EAASa,GAC9BtlB,EAAK+kB,SAASrR,EAAMA,EAAMrP,EAAG2gB,gBAC7BhlB,EAAKgB,IAAKqD,EAAG2f,QAAS3f,EAAG2f,QAAStQ,GAIlCrP,EAAG4f,SAAWW,EAAQzG,EAAE,GAAKmH,EAG7BtlB,EAAK4L,MAAM8H,EAAM8R,EAAIb,EAASW,GAC9BtlB,EAAK+kB,SAASrR,EAAMA,EAAMpP,EAAG0gB,gBAC7BhlB,EAAKgB,IAAKsD,EAAG0f,QAAS1f,EAAG0f,QAAStQ,GAElCpP,EAAG2f,SAAWa,EAAQ3G,EAAE,GAAKmH,GASjCvf,EAASpM,UAAU8rB,YAAc,SAASC,GACtC,OAAO,GAAOnsB,KAAK0rB,eAAiBS,MAGrCtjB,eAAe,GAAG2B,kBAAkB,GAAG1B,iBAAiB,KAAKsjB,IAAI,SAASpvB,EAAQnB,EAAOD,GAiB5F,SAASywB,EAAiB7iB,EAAOC,EAAOqC,GACpCU,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQqC,EAAWA,GAO9C9L,KAAK8R,cAAgBrL,EAAKC,SAO1B1G,KAAK+R,cAAgBtL,EAAKC,SAO1B1G,KAAK7D,EAAIsK,EAAKC,SAOd1G,KAAK0L,oBAQL1L,KAAKuQ,OAAS,KAQdvQ,KAAK0Q,OAAS,KAOd1Q,KAAK+L,oBAAsB,GApE/B,IAAItF,EAAOzJ,EAAQ,gBACfwP,EAAWxP,EAAQ,cACXA,EAAQ,kBAEpBnB,EAAOD,QAAUywB,GAkEjBA,EAAiBjsB,UAAY,IAAIoM,GACN7B,YAAc0hB,EAQzCA,EAAiBjsB,UAAUuR,aAAe,SAAS7F,GAC/C9L,KAAKkkB,SAAWpY,EAChB9L,KAAK8kB,UAAYhZ,GAQrBugB,EAAiBjsB,UAAUksB,aAAe,WACtC,OAAOtsB,KAAKkkB,UAGhBmI,EAAiBjsB,UAAUopB,SAAW,SAAS/sB,EAAEkC,EAAE8qB,GACtCzpB,KAAKwJ,MACLxJ,KAAKyJ,MADd,IAEI0a,EAAKnkB,KAAK8R,cACVsS,EAAKpkB,KAAK+R,cACV5V,EAAI6D,KAAK7D,EACTyoB,EAAI5kB,KAAK4kB,EAgBb,OAZAA,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMne,EAAK+H,YAAY2V,EAAGhoB,GAC5ByoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKne,EAAK+H,YAAY4V,EAAGjoB,IAElB6D,KAAKonB,YAGgBzoB,EAAI8qB,EAFvBzpB,KAAK4pB,iBAOjB/gB,eAAe,GAAGC,iBAAiB,GAAGwgB,aAAa,KAAKiD,IAAI,SAASvvB,EAAQnB,EAAOD,GAiBvF,SAASgrB,EAAuBpd,EAAOC,EAAOlD,GAC1CA,EAAUA,MACViG,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQpH,OAAOC,UAAWD,OAAOC,WAK5DtC,KAAK+G,MAAQR,EAAQQ,OAAS,EAE9B,IAAI6d,EAAI5kB,KAAK4kB,EACbA,EAAE,GAAM,EACRA,EAAE,IAAM,EA3BZ,IAAIpY,EAAWxP,EAAQ,cACnByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUgrB,GA0BjBA,EAAuBxmB,UAAY,IAAIoM,GACN7B,YAAcic,EAE/C,IAAI4F,EAAe/lB,EAAKC,SACpB+lB,EAAehmB,EAAKC,SACpB0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC9B8X,EAAuBxmB,UAAUikB,UAAY,WAGzC,OAFA5d,EAAKS,OAAOslB,EAAapG,EAAMpmB,KAAKwJ,MAAMzC,MAAM/G,KAAK+G,OACrDN,EAAKS,OAAOulB,EAAa5d,EAAM7O,KAAKyJ,MAAM1C,OACnCN,EAAKlH,IAAIitB,EAAaC,MAG9B5jB,eAAe,GAAGygB,aAAa,KAAKoD,IAAI,SAAS1vB,EAAQnB,EAAOD,GAenE,SAASktB,EAA2Btf,EAAOC,GACvC+C,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQpH,OAAOC,UAAWD,OAAOC,WAC5DtC,KAAK4R,iBAAmB,EACxB5R,KAAKqlB,MAAQ,EAjBjB,IAAI7Y,EAAWxP,EAAQ,cACZA,EAAQ,gBAEnBnB,EAAOD,QAAUktB,GAgBjBA,EAA2B1oB,UAAY,IAAIoM,GACN7B,YAAcme,EACnDA,EAA2B1oB,UAAUopB,SAAW,SAAS/sB,EAAEkC,EAAE8qB,GACzD,IAAI7E,EAAI5kB,KAAK4kB,EACbA,EAAE,IAAM,EACRA,EAAE,GAAK5kB,KAAKqlB,MAEZ,IAAIsH,EAAO3sB,KAAK4pB,cAIhB,OAHS5pB,KAAKonB,YACCzoB,EAAI8qB,EAAEkD,KAKtB9jB,eAAe,GAAGygB,aAAa,KAAKsD,IAAI,SAAS5vB,EAAQnB,EAAOD,GAMnE,IAAIixB,EAAe,aAEnBhxB,EAAOD,QAAUixB,EAEjBA,EAAazsB,WACTuK,YAAakiB,EASblK,GAAI,SAAWpd,EAAMunB,EAAUC,GAC3BD,EAASC,QAAUA,GAAW/sB,UACLsf,IAApBtf,KAAKgtB,aACNhtB,KAAKgtB,eAET,IAAIC,EAAYjtB,KAAKgtB,WAOrB,YAN2B1N,IAAtB2N,EAAW1nB,KACZ0nB,EAAW1nB,QAEkC,IAA5C0nB,EAAW1nB,GAAOvC,QAAS8pB,IAC5BG,EAAW1nB,GAAOzE,KAAMgsB,GAErB9sB,MAUXktB,IAAK,SAAW3nB,EAAMunB,GAClB,QAAyBxN,IAApBtf,KAAKgtB,WACN,OAAO,EAEX,IAAIC,EAAYjtB,KAAKgtB,WACrB,GAAGF,GACC,QAA2BxN,IAAtB2N,EAAW1nB,KAAoE,IAA5C0nB,EAAW1nB,GAAOvC,QAAS8pB,GAC/D,OAAO,OAGX,QAA2BxN,IAAtB2N,EAAW1nB,GACZ,OAAO,EAIf,OAAO,GAUXmd,IAAK,SAAWnd,EAAMunB,GAClB,QAAyBxN,IAApBtf,KAAKgtB,WACN,OAAOhtB,KAEX,IAAIitB,EAAYjtB,KAAKgtB,WACjBG,EAAQF,EAAW1nB,GAAOvC,QAAS8pB,GAIvC,OAHiB,IAAZK,GACDF,EAAW1nB,GAAOxC,OAAQoqB,EAAO,GAE9BntB,MAUXotB,KAAM,SAAWC,GACb,QAAyB/N,IAApBtf,KAAKgtB,WACN,OAAOhtB,KAEX,IACIstB,EADYttB,KAAKgtB,WACUK,EAAM9nB,MACrC,QAAuB+Z,IAAlBgO,EAA8B,CAC/BD,EAAME,OAASvtB,KACf,IAAM,IAAIrD,EAAI,EAAGsK,EAAIqmB,EAAcxwB,OAAQH,EAAIsK,EAAGtK,IAAO,CACrD,IAAImwB,EAAWQ,EAAe3wB,GAC9BmwB,EAASjwB,KAAMiwB,EAASC,QAASM,IAGzC,OAAOrtB,YAITwtB,IAAI,SAASxwB,EAAQnB,EAAOD,GAsBlC,SAAS6xB,EAAgBC,EAAWC,EAAWpnB,GAG3C,GAFAA,EAAUA,QAELmnB,aAAqBE,GAAeD,aAAqBC,GAC1D,MAAM,IAAIhxB,MAAM,mDAQpBoD,KAAK6Q,GAAK4c,EAAgBI,YAO1B7tB,KAAK0tB,UAAYA,EAOjB1tB,KAAK2tB,UAAYA,EAQjB3tB,KAAK8tB,cAAwC,IAAtBvnB,EAAgB,SAAoBlE,OAAOkE,EAAQunB,UAAY,GAQtF9tB,KAAKsM,iBAA8C,IAAzB/F,EAAmB,YAAoBlE,OAAOkE,EAAQ+F,aAAe,EAO/FtM,KAAKuM,eAA0C,IAAvBhG,EAAiB,UAAoBlE,OAAOkE,EAAQgG,WAAaC,EAASC,kBAOlGzM,KAAK0M,gBAA4C,IAAxBnG,EAAkB,WAAoBlE,OAAOkE,EAAQmG,YAAcF,EAASG,mBAOrG3M,KAAK4M,uBAA0D,IAA/BrG,EAAyB,kBAAoBlE,OAAOkE,EAAQqG,mBAAqBJ,EAASC,kBAO1HzM,KAAK6M,wBAA4D,IAAhCtG,EAA0B,mBAAoBlE,OAAOkE,EAAQsG,oBAAuBL,EAASG,mBAO9H3M,KAAKgM,qBAAsD,IAA7BzF,EAAuB,gBAAoBlE,OAAOkE,EAAQyF,iBAAmB,EAO3GhM,KAAKiN,gBAAkB,KAzG3B,IAAI2gB,EAAW5wB,EAAQ,cACnBwP,EAAWxP,EAAQ,yBAEvBnB,EAAOD,QAAU6xB,EAyGjBA,EAAgBI,UAAY,IAEzBjP,wBAAwB,GAAGmP,aAAa,KAAKC,IAAI,SAAShxB,EAAQnB,EAAOD,GAU5E,SAASgyB,EAAS/c,GAMd7Q,KAAK6Q,GAAKA,GAAM+c,EAASC,YAf7BhyB,EAAOD,QAAUgyB,EAkBjBA,EAASC,UAAY,OAEfI,IAAI,SAASjxB,EAAQnB,EAAOD,GA+B9B,IAAIsyB,KAmDJA,EAAMC,QAAU,SAAS1sB,GAErB,GAAGA,EAAE3E,OAAQ,EAAG,OAAO,EAGvB,IAAI,IAFAmK,EAAIxF,EAAE3E,OAAS,EACfsxB,EAAM,EACFzxB,EAAE,EAAGA,EAAEsK,EAAGtK,GAAG,EACjByxB,IAAQ3sB,EAAE9E,EAAE,GAAG8E,EAAE9E,KAAO8E,EAAE9E,EAAE,GAAG8E,EAAE9E,EAAE,IAEvC,MAAe,KADfyxB,IAAQ3sB,EAAE,GAAGA,EAAEwF,KAAOxF,EAAEwF,EAAE,GAAGxF,EAAE,MAqBnCysB,EAAMG,YAAc,SAAS5sB,GAEzB,IAAIrF,EAAIqF,EAAE3E,QAAQ,EAClB,GAAGV,EAAE,EAAG,SAGR,IAAI,IAFAkyB,KACAC,KACI5xB,EAAE,EAAGA,EAAEP,EAAGO,IAAK4xB,EAAIztB,KAAKnE,GAIhC,IAFA,IAAIA,EAAI,EACJ6xB,EAAKpyB,EACHoyB,EAAK,GACX,CACI,IAAIC,EAAKF,GAAK5xB,EAAE,GAAG6xB,GACfE,EAAKH,GAAK5xB,EAAE,GAAG6xB,GACfG,EAAKJ,GAAK5xB,EAAE,GAAG6xB,GAEfI,EAAKntB,EAAE,EAAEgtB,GAAMI,EAAKptB,EAAE,EAAEgtB,EAAG,GAC3BK,EAAKrtB,EAAE,EAAEitB,GAAMK,EAAKttB,EAAE,EAAEitB,EAAG,GAC3BM,EAAKvtB,EAAE,EAAEktB,GAAMM,EAAKxtB,EAAE,EAAEktB,EAAG,GAE3BO,GAAW,EACf,GAAGhB,EAAMiB,QAAQP,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACrC,CACIC,GAAW,EACX,IAAI,IAAIttB,EAAE,EAAGA,EAAE4sB,EAAI5sB,IACnB,CACI,IAAIylB,EAAKkH,EAAI3sB,GACb,GAAGylB,GAAIoH,GAAMpH,GAAIqH,GAAMrH,GAAIsH,GACxBT,EAAMkB,iBAAiB3tB,EAAE,EAAE4lB,GAAK5lB,EAAE,EAAE4lB,EAAG,GAAIuH,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAAK,CAACC,GAAW,EAAO,QAGlG,GAAGA,EAECZ,EAAIxtB,KAAK2tB,EAAIC,EAAIC,GACjBJ,EAAIxrB,QAAQpG,EAAE,GAAG6xB,EAAI,GACrBA,IACA7xB,EAAG,OAEF,GAAGA,IAAM,EAAE6xB,EAAI,MAGxB,OADAF,EAAIxtB,KAAKytB,EAAI,GAAIA,EAAI,GAAIA,EAAI,IACtBD,GAiOXJ,EAAMkB,iBAAmB,SAASC,EAAIC,EAAIV,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAE1D,IAAIM,EAAMP,EAAGJ,EACTY,EAAMP,EAAGJ,EACTY,EAAMX,EAAGF,EACTc,EAAMX,EAAGF,EACTc,EAAMN,EAAGT,EACTgB,EAAMN,EAAGT,EAETgB,EAAQN,EAAIA,EAAIC,EAAIA,EACpBM,EAAQP,EAAIE,EAAID,EAAIE,EACpBK,EAAQR,EAAII,EAAIH,EAAII,EACpBI,EAAQP,EAAIA,EAAIC,EAAIA,EACpBO,EAAQR,EAAIE,EAAID,EAAIE,EAEpBM,EAAW,GAAKL,EAAQG,EAAQF,EAAQA,GACxCtzB,GAAKwzB,EAAQD,EAAQD,EAAQG,GAASC,EACtC5vB,GAAKuvB,EAAQI,EAAQH,EAAQC,GAASG,EAG1C,OAAQ1zB,GAAK,GAAO8D,GAAK,GAAO9D,EAAI8D,EAAI,GAuD5C4tB,EAAMiB,QAAU,SAASP,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAEzC,OAAQJ,EAAGE,IAAKC,EAAGF,IAAOA,EAAGF,IAAKK,EAAGF,IAAO,GAwBpDlzB,EAAOD,QAAUsyB,OAEXiC,IAAI,SAASnzB,EAAQnB,EAAOD,GA4BlC,IAAI6K,EAAO5K,EAAOD,WAEd4mB,EAAQxlB,EAAQ,kBAUpByJ,EAAK+H,YAAc,SAAS/R,EAAEkC,GAC1B,OAAOlC,EAAE,GAAKkC,EAAE,GAAKlC,EAAE,GAAKkC,EAAE,IAYlC8H,EAAK2pB,QAAU,SAASxO,EAAKyO,EAAKC,GAG9B,OAFA7pB,EAAKS,OAAO0a,EAAIyO,GAAK5wB,KAAKye,GAAG,GAC7BzX,EAAK4L,MAAMuP,EAAIA,EAAI0O,GACZ1O,GAYXnb,EAAK8pB,QAAU,SAAS3O,EAAK0O,EAAOD,GAGhC,OAFA5pB,EAAKS,OAAO0a,EAAIyO,EAAI5wB,KAAKye,GAAG,GAC5BzX,EAAK4L,MAAMuP,EAAIA,EAAI0O,GACZ1O,GAWXnb,EAAKS,OAAS,SAAS0a,EAAInlB,EAAEsK,GACzB,GAAa,IAAVA,EAAY,CACX,IAAInI,EAAIa,KAAK2H,IAAIL,GACbzK,EAAImD,KAAK6H,IAAIP,GACbQ,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACVmlB,EAAI,GAAKhjB,EAAE2I,EAAGjL,EAAEkL,EAChBoa,EAAI,GAAKtlB,EAAEiL,EAAG3I,EAAE4I,OAEhBoa,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,IAYnBgK,EAAKuL,WAAa,SAAS4P,EAAKnlB,GAC5B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACVmlB,EAAI,GAAKpa,EACToa,EAAI,IAAMra,GAWdd,EAAK+pB,aAAe,SAAS5O,EAAKpU,EAAYijB,EAAeC,GACzDjqB,EAAK9E,KAAKigB,EAAKpU,GACf/G,EAAKiD,IAAIkY,EAAKA,EAAK6O,GACnBhqB,EAAKS,OAAO0a,EAAKA,GAAM8O,IAW3BjqB,EAAKkqB,cAAgB,SAAS/O,EAAKgP,EAAYH,EAAeC,GAC1DjqB,EAAK9E,KAAKigB,EAAKgP,GACfnqB,EAAKS,OAAO0a,EAAKA,EAAK8O,GACtBjqB,EAAKgB,IAAIma,EAAKA,EAAK6O,IAUvBhqB,EAAKoqB,mBAAqB,SAASjP,EAAKkP,EAAaJ,GACjDjqB,EAAKS,OAAO0a,EAAKkP,GAAcJ,IAUnCjqB,EAAKsqB,oBAAsB,SAASnP,EAAKoP,EAAaN,GAClDjqB,EAAKS,OAAO0a,EAAKoP,EAAaN,IAalCjqB,EAAKwqB,SAAW,SAASrP,EAAKnlB,EAAGkC,EAAGC,GAIhC,OAHA6H,EAAKgB,IAAIma,EAAKnlB,EAAGkC,GACjB8H,EAAKgB,IAAIma,EAAKA,EAAKhjB,GACnB6H,EAAK4L,MAAMuP,EAAKA,EAAK,EAAE,GAChBA,GASXnb,EAAKC,OAAS,WACV,IAAIkb,EAAM,IAAIY,EAAM0H,WAAW,GAG/B,OAFAtI,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,GAUXnb,EAAKyqB,MAAQ,SAASz0B,GAClB,IAAImlB,EAAM,IAAIY,EAAM0H,WAAW,GAG/B,OAFAtI,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,GACJmlB,GAWXnb,EAAKqI,WAAa,SAASvH,EAAGC,GAC1B,IAAIoa,EAAM,IAAIY,EAAM0H,WAAW,GAG/B,OAFAtI,EAAI,GAAKra,EACTqa,EAAI,GAAKpa,EACFoa,GAWXnb,EAAK9E,KAAO,SAASigB,EAAKnlB,GAGtB,OAFAmlB,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,GACJmlB,GAYXnb,EAAK4G,IAAM,SAASuU,EAAKra,EAAGC,GAGxB,OAFAoa,EAAI,GAAKra,EACTqa,EAAI,GAAKpa,EACFoa,GAYXnb,EAAKgB,IAAM,SAASma,EAAKnlB,EAAGkC,GAGxB,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAYXnb,EAAKujB,SAAW,SAASpI,EAAKnlB,EAAGkC,GAG7B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAKiD,IAAMjD,EAAKujB,SAWhBvjB,EAAK+kB,SAAW,SAAS5J,EAAKnlB,EAAGkC,GAG7B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAK0qB,IAAM1qB,EAAK+kB,SAWhB/kB,EAAK2qB,OAAS,SAASxP,EAAKnlB,EAAGkC,GAG3B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAK4qB,IAAM5qB,EAAK2qB,OAWhB3qB,EAAK4L,MAAQ,SAASuP,EAAKnlB,EAAGkC,GAG1B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAChBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EACTijB,GAWXnb,EAAKib,SAAW,SAASjlB,EAAGkC,GACxB,IAAI4I,EAAI5I,EAAE,GAAKlC,EAAE,GACb+K,EAAI7I,EAAE,GAAKlC,EAAE,GACjB,OAAOgD,KAAKC,KAAK6H,EAAEA,EAAIC,EAAEA,IAQ7Bf,EAAK/E,KAAO+E,EAAKib,SAUjBjb,EAAKuZ,gBAAkB,SAASvjB,EAAGkC,GAC/B,IAAI4I,EAAI5I,EAAE,GAAKlC,EAAE,GACb+K,EAAI7I,EAAE,GAAKlC,EAAE,GACjB,OAAO8K,EAAEA,EAAIC,EAAEA,GAQnBf,EAAK6qB,QAAU7qB,EAAKuZ,gBASpBvZ,EAAK3J,OAAS,SAAUL,GACpB,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACV,OAAOgD,KAAKC,KAAK6H,EAAEA,EAAIC,EAAEA,IAQ7Bf,EAAK8qB,IAAM9qB,EAAK3J,OAShB2J,EAAKmD,cAAgB,SAAUnN,GAC3B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACV,OAAO8K,EAAEA,EAAIC,EAAEA,GAQnBf,EAAK+qB,OAAS/qB,EAAKmD,cAUnBnD,EAAKgrB,OAAS,SAAS7P,EAAKnlB,GAGxB,OAFAmlB,EAAI,IAAMnlB,EAAE,GACZmlB,EAAI,IAAMnlB,EAAE,GACLmlB,GAWXnb,EAAK6L,UAAY,SAASsP,EAAKnlB,GAC3B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACN80B,EAAMhqB,EAAEA,EAAIC,EAAEA,EAOlB,OANI+pB,EAAM,IAENA,EAAM,EAAI9xB,KAAKC,KAAK6xB,GACpB3P,EAAI,GAAKnlB,EAAE,GAAK80B,EAChB3P,EAAI,GAAKnlB,EAAE,GAAK80B,GAEb3P,GAWXnb,EAAKlH,IAAM,SAAU9C,EAAGkC,GACpB,OAAOlC,EAAE,GAAKkC,EAAE,GAAKlC,EAAE,GAAKkC,EAAE,IAUlC8H,EAAKirB,IAAM,SAAUj1B,GACjB,MAAO,QAAUA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAY1CgK,EAAKob,KAAO,SAAUD,EAAKnlB,EAAGkC,EAAGxC,GAC7B,IAAIyyB,EAAKnyB,EAAE,GACPoyB,EAAKpyB,EAAE,GAGX,OAFAmlB,EAAI,GAAKgN,EAAKzyB,GAAKwC,EAAE,GAAKiwB,GAC1BhN,EAAI,GAAKiN,EAAK1yB,GAAKwC,EAAE,GAAKkwB,GACnBjN,GAWXnb,EAAKkrB,QAAU,SAAS/P,EAAKgQ,EAAQ1V,GACjC,IAAI3c,EAAMqyB,EAAO,GAAK1V,EAAO,GAAK0V,EAAO,GAAK1V,EAAO,GACrD0F,EAAI,GAAKgQ,EAAO,GAAK,EAAI1V,EAAO,GAAK3c,EACrCqiB,EAAI,GAAKgQ,EAAO,GAAK,EAAI1V,EAAO,GAAK3c,GAczCkH,EAAKorB,4BAA8B,SAASjQ,EAAKkQ,EAAI9zB,EAAI9B,EAAI61B,GACzD,IAAI51B,EAAIsK,EAAKurB,oCAAoCF,EAAI9zB,EAAI9B,EAAI61B,GAC7D,QAAG51B,EAAI,KAGHylB,EAAI,GAAKkQ,EAAG,GAAM31B,GAAK6B,EAAG,GAAK8zB,EAAG,IAClClQ,EAAI,GAAKkQ,EAAG,GAAM31B,GAAK6B,EAAG,GAAK8zB,EAAG,KAC3B,IAcfrrB,EAAKurB,oCAAsC,SAASF,EAAI9zB,EAAI9B,EAAI61B,GAC5D,IAKIz1B,EAAGH,EALH81B,EAAOj0B,EAAG,GAAK8zB,EAAG,GAClBI,EAAOl0B,EAAG,GAAK8zB,EAAG,GAClBK,EAAOJ,EAAG,GAAK71B,EAAG,GAClBk2B,EAAOL,EAAG,GAAK71B,EAAG,GAKtB,OAFAI,IAAM41B,GAAQJ,EAAG,GAAK51B,EAAG,IAAM+1B,GAAQH,EAAG,GAAK51B,EAAG,OAASi2B,EAAOD,EAAOD,EAAOG,GAChFj2B,GAAMg2B,GAAQL,EAAG,GAAK51B,EAAG,IAAMk2B,GAAQN,EAAG,GAAK51B,EAAG,OAASi2B,EAAOD,EAAOD,EAAOG,GAC5E91B,GAAK,GAAKA,GAAK,GAAKH,GAAK,GAAKA,GAAK,EAC5BA,GAEH,KAGT2M,iBAAiB,KAAKupB,IAAI,SAASr1B,EAAQnB,EAAOD,GAqDrD,SAASuN,EAAK5C,GACVA,EAAUA,MAEVsmB,EAAahwB,KAAKmD,MAOlBA,KAAK6Q,GAAKtK,EAAQsK,MAAQ1H,EAAKmpB,WAO/BtyB,KAAKiJ,MAAQ,KAQbjJ,KAAKsQ,UAOLtQ,KAAKuyB,KAAOhsB,EAAQgsB,MAAQ,EAO5BvyB,KAAKwyB,QAAU,EAOfxyB,KAAKyyB,QAAU,EAOfzyB,KAAK0yB,WAAa,EAElB1yB,KAAKmrB,aAAe,EACpBnrB,KAAKsrB,gBAAkB,EAOvBtrB,KAAK2yB,gBAAkBpsB,EAAQosB,cAM/B3yB,KAAK4yB,SAAWrsB,EAAQqsB,OAMxB5yB,KAAK6yB,SAAWtsB,EAAQssB,OAMxB7yB,KAAKyrB,eAAiBhlB,EAAKC,SAO3B1G,KAAK8G,SAAWL,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQO,UACPL,EAAK9E,KAAK3B,KAAK8G,SAAUP,EAAQO,UAQrC9G,KAAK8yB,qBAAuBrsB,EAAKqI,WAAW,EAAE,GAO9C9O,KAAK+yB,kBAAoB,EAOzB/yB,KAAKgzB,iBAAmBvsB,EAAKqI,WAAW,EAAE,GAO1C9O,KAAKizB,cAAgB,EAOrBjzB,KAAK6mB,SAAWpgB,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQsgB,UACPpgB,EAAK9E,KAAK3B,KAAK6mB,SAAUtgB,EAAQsgB,UAQrC7mB,KAAKyqB,QAAUhkB,EAAKqI,WAAW,EAAE,GAOjC9O,KAAK0qB,QAAU,EAiBf1qB,KAAK+G,MAAQR,EAAQQ,OAAS,EAO9B/G,KAAKwnB,gBAAkBjhB,EAAQihB,iBAAmB,EAqBlDxnB,KAAKmmB,MAAQ1f,EAAKC,SACfH,EAAQ4f,OACP1f,EAAK9E,KAAK3B,KAAKmmB,MAAO5f,EAAQ4f,OAQlCnmB,KAAK+qB,aAAexkB,EAAQwkB,cAAgB,EAQ5C/qB,KAAKkzB,QAAsC,iBAArB3sB,EAAe,QAAiBA,EAAQ2sB,QAAU,GAQxElzB,KAAKmzB,eAAoD,iBAA5B5sB,EAAsB,eAAiBA,EAAQ4sB,eAAiB,GA+B7FnzB,KAAKuF,KAAO4D,EAAKgB,YAEW,IAAlB5D,EAAY,KAClBvG,KAAKuF,KAAOgB,EAAQhB,KACbgB,EAAQgsB,KAGfvyB,KAAKuF,KAAO4D,EAAKiqB,QAFjBpzB,KAAKuF,KAAO4D,EAAKgB,OAUrBnK,KAAK6J,eAAiB,EAOtB7J,KAAK0H,KAAO,IAAIpB,EAchBtG,KAAKiL,iBAAkB,EAQvBjL,KAAKqzB,gBAAoC/T,IAAvB/Y,EAAQ8sB,YAA2B9sB,EAAQ8sB,WAE7DrzB,KAAKszB,cAAe,EAWpBtzB,KAAKoK,WAAajB,EAAKoqB,MAQvBvzB,KAAKwzB,qBAA8ClU,IAA5B/Y,EAAQitB,gBAAgCjtB,EAAQitB,gBAAkB,GAQzFxzB,KAAKyzB,oBAA4CnU,IAA3B/Y,EAAQktB,eAA+BltB,EAAQktB,eAAiB,EAOtFzzB,KAAK0zB,kBAAwCpU,IAAzB/Y,EAAQmtB,aAA6BntB,EAAQmtB,aAAe,EAMhF1zB,KAAKwgB,uBAAkDlB,IAA9B/Y,EAAQia,mBAAkCja,EAAQia,kBAM3ExgB,KAAK2zB,SAAW,EAOhB3zB,KAAK4zB,eAAiB,EAOtB5zB,KAAK6zB,uBAAkDvU,IAA9B/Y,EAAQstB,kBAAkCttB,EAAQstB,mBAAqB,EAOhG7zB,KAAK8zB,mBAA0CxU,IAA1B/Y,EAAQutB,cAA8BvtB,EAAQutB,cAAgB,GAEnF9zB,KAAK+zB,YAAc,KAEnB/zB,KAAKg0B,yBAA0B,EAE/Bh0B,KAAKi0B,uBAhaT,IAAIxtB,EAAOzJ,EAAQ,gBACfuF,EAASvF,EAAQ,eACjB0R,EAAS1R,EAAQ,oBACjBukB,EAAgBvkB,EAAQ,8BACxBoiB,EAAMpiB,EAAQ,oBACdsJ,EAAOtJ,EAAQ,qBACf6vB,EAAe7vB,EAAQ,0BAE3BnB,EAAOD,QAAUuN,EA0ZjBA,EAAK/I,UAAY,IAAIysB,EACrB1jB,EAAK/I,UAAUuK,YAAcxB,EAE7BA,EAAKmpB,WAAa,EAMlBnpB,EAAK/I,UAAU8zB,0BAA4B,WACpCl0B,KAAKoK,aAAejB,EAAKkB,UAAYrK,KAAKuF,OAAS4D,EAAKe,WACvDlK,KAAKmrB,aAAe,EACpBnrB,KAAKsrB,gBAAkB,IAEvBtrB,KAAKmrB,aAAenrB,KAAKwyB,QACzBxyB,KAAKsrB,gBAAkBtrB,KAAK0yB,aASpCvpB,EAAK/I,UAAU+zB,WAAa,SAASC,GACjC,IAAIC,EAAYr0B,KAAKs0B,UACrBt0B,KAAKuyB,KAAO8B,EAAYD,EACxBp0B,KAAKi0B,wBAQT9qB,EAAK/I,UAAUk0B,QAAU,WAErB,IAAI,IADAD,EAAY,EACR13B,EAAE,EAAGA,EAAEqD,KAAKsQ,OAAOxT,OAAQH,IAC/B03B,GAAar0B,KAAKsQ,OAAO3T,GAAG+B,KAEhC,OAAO21B,GAQXlrB,EAAK/I,UAAU2J,QAAU,WAIrB,OAHG/J,KAAKiL,iBACJjL,KAAKkL,aAEFlL,KAAK0H,MAGhB,IAAI6sB,EAAY,IAAIjuB,EAChBpF,EAAMuF,EAAKC,SAMfyC,EAAK/I,UAAU8K,WAAa,WAMxB,IAAI,IALAoF,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACX2U,EAASvQ,EACTszB,EAAYx0B,KAAK+G,MAEbpK,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CACpB,IAAI+jB,EAAQpQ,EAAO3T,GACfoK,EAAQ2Z,EAAM3Z,MAAQytB,EAG1B/tB,EAAKS,OAAOuK,EAAQiP,EAAM5Z,SAAU0tB,GACpC/tB,EAAKgB,IAAIgK,EAAQA,EAAQzR,KAAK8G,UAG9B4Z,EAAM+T,YAAYF,EAAW9iB,EAAQ1K,GAE9B,IAAJpK,EACCqD,KAAK0H,KAAK/F,KAAK4yB,GAEfv0B,KAAK0H,KAAKC,OAAO4sB,GAIzBv0B,KAAKiL,iBAAkB,GAO3B9B,EAAK/I,UAAUs0B,qBAAuB,WAKlC,IAAI,IAJApkB,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACXwQ,EAAS,EAEL3Q,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CACpB,IAAI+jB,EAAQpQ,EAAO3T,GACf8U,EAAShL,EAAK3J,OAAO4jB,EAAM5Z,UAC3BzK,EAAIqkB,EAAM7W,eACX4H,EAASpV,EAAIiR,IACZA,EAASmE,EAASpV,GAI1B2D,KAAK6J,eAAiByD,GA0B1BnE,EAAK/I,UAAUu0B,SAAW,SAASjU,EAAOjP,EAAQ1K,GAC9C,GAAG2Z,EAAML,KACL,MAAM,IAAIzjB,MAAM,0CAEpB8jB,EAAML,KAAOrgB,KAGVyR,EACChL,EAAK9E,KAAK+e,EAAM5Z,SAAU2K,GAE1BhL,EAAK4G,IAAIqT,EAAM5Z,SAAU,EAAG,GAGhC4Z,EAAM3Z,MAAQA,GAAS,EAEvB/G,KAAKsQ,OAAOxP,KAAK4f,GACjB1gB,KAAKi0B,uBACLj0B,KAAK00B,uBAEL10B,KAAKiL,iBAAkB,GAS3B9B,EAAK/I,UAAUw0B,YAAc,SAASlU,GAClC,IAAI6B,EAAMviB,KAAKsQ,OAAOtN,QAAQ0d,GAE9B,OAAY,IAAT6B,IACCviB,KAAKsQ,OAAOvN,OAAOwf,EAAI,GACvBviB,KAAKiL,iBAAkB,EACvByV,EAAML,KAAO,MACN,IAgBflX,EAAK/I,UAAU6zB,qBAAuB,WAClC,GAAGj0B,KAAKuF,OAAS4D,EAAKgB,QAAUnK,KAAKuF,OAAS4D,EAAKe,UAE/ClK,KAAKuyB,KAAOlwB,OAAOC,UACnBtC,KAAKwyB,QAAU,EACfxyB,KAAKyyB,QAAUpwB,OAAOC,UACtBtC,KAAK0yB,WAAa,MAEf,CAEH,IAAIpiB,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACX+3B,EAAI70B,KAAKuyB,KAAOpxB,EAChB2zB,EAAI,EAER,GAAI90B,KAAK2yB,cAWL3yB,KAAKyyB,QAAUpwB,OAAOC,UACtBtC,KAAK0yB,WAAa,MAZC,CACnB,IAAI,IAAI/1B,EAAE,EAAGA,EAAEwE,EAAGxE,IAAI,CAClB,IAAI+jB,EAAQpQ,EAAO3T,GACfo4B,EAAKtuB,EAAKmD,cAAc8W,EAAM5Z,UAElCguB,GADUpU,EAAMsU,uBAAuBH,GAC5BA,EAAEE,EAEjB/0B,KAAKyyB,QAAUqC,EACf90B,KAAK0yB,WAAaoC,EAAE,EAAI,EAAEA,EAAI,EAQlC90B,KAAKwyB,QAAU,EAAIxyB,KAAKuyB,KAExB9rB,EAAK4G,IACDrN,KAAKyrB,eACLzrB,KAAK4yB,OAAS,EAAI,EAClB5yB,KAAK6yB,OAAS,EAAI,KAKNpsB,EAAKC,SAQ7ByC,EAAK/I,UAAU60B,WAAa,SAAS9O,EAAO+O,GAKxC,GAFAzuB,EAAKgB,IAAIzH,KAAKmmB,MAAOnmB,KAAKmmB,MAAOA,GAE9B+O,EAAc,CAGb,IAAIC,EAAW1uB,EAAK+H,YAAY0mB,EAAc/O,GAG9CnmB,KAAK+qB,cAAgBoK,IAU7B,IAAIC,EAA6B3uB,EAAKC,SAClC2uB,EAA6B5uB,EAAKC,SAClC4uB,EAA6B7uB,EAAKC,SACtCyC,EAAK/I,UAAUm1B,gBAAkB,SAASC,EAAY5E,GAClDA,EAAaA,GAAc0E,EAC3B,IAAIG,EAAaL,EACb5nB,EAAa6nB,EACjBr1B,KAAK01B,mBAAmBD,EAAYD,GACpCx1B,KAAK01B,mBAAmBloB,EAAYojB,GACpC5wB,KAAKi1B,WAAWQ,EAAYjoB,IAShC,IAAImoB,EAAyBlvB,EAAKC,SAClCyC,EAAK/I,UAAUw1B,aAAe,SAASC,EAAeX,GAClD,GAAGl1B,KAAKuF,OAAS4D,EAAKiqB,QAAtB,CAKA,IAAI0C,EAAOH,EAOX,GANAlvB,EAAK4L,MAAMyjB,EAAMD,EAAe71B,KAAKwyB,SACrC/rB,EAAK+kB,SAASsK,EAAM91B,KAAKyrB,eAAgBqK,GAGzCrvB,EAAKgB,IAAIzH,KAAK6mB,SAAUiP,EAAM91B,KAAK6mB,UAEhCqO,EAAc,CAEb,IAAIa,EAAUtvB,EAAK+H,YAAY0mB,EAAeW,GAC9CE,GAAW/1B,KAAK0yB,WAGhB1yB,KAAKwnB,iBAAmBuO,KAUhC,IAAIC,EAAiCvvB,EAAKC,SACtCuvB,EAA+BxvB,EAAKC,SACpCwvB,EAA+BzvB,EAAKC,SACxCyC,EAAK/I,UAAU+1B,kBAAoB,SAASC,EAAcxF,GACtDA,EAAaA,GAAcsF,EAC3B,IAAIG,EAAeL,EACfxoB,EAAayoB,EACjBj2B,KAAK01B,mBAAmBW,EAAcD,GACtCp2B,KAAK01B,mBAAmBloB,EAAYojB,GACpC5wB,KAAK41B,aAAaS,EAAc7oB,IASpCrE,EAAK/I,UAAUowB,aAAe,SAAS5O,EAAKpU,GACxC/G,EAAK+pB,aAAa5O,EAAKpU,EAAYxN,KAAK8G,SAAU9G,KAAK+G,QAS3DoC,EAAK/I,UAAUoQ,aAAe,SAASoR,EAAKgP,GACxCnqB,EAAKkqB,cAAc/O,EAAKgP,EAAY5wB,KAAK8G,SAAU9G,KAAK+G,QAS5DoC,EAAK/I,UAAUywB,mBAAqB,SAASjP,EAAKkP,GAC9CrqB,EAAKoqB,mBAAmBjP,EAAKkP,EAAa9wB,KAAK+G,QASnDoC,EAAK/I,UAAUs1B,mBAAqB,SAAS9T,EAAKoP,GAC9CvqB,EAAKsqB,oBAAoBnP,EAAKoP,EAAahxB,KAAK+G,QAapDoC,EAAK/I,UAAUk2B,YAAc,SAASpzB,EAAKqD,GACvCA,EAAUA,MAGV,IAAQ5J,EAAEqD,KAAKsQ,OAAOxT,OAAQH,GAAG,IAAKA,EAClCqD,KAAK40B,YAAY50B,KAAKsQ,OAAO3T,IAGjC,IAAI8E,EAAI,IAAIc,EAAOxC,QAWnB,GAVA0B,EAAExB,SAAWiD,EAGbzB,EAAEV,UAE2C,iBAAnCwF,EAA6B,uBACnC9E,EAAE4C,sBAAsBkC,EAAQlC,4BAIG,IAA7BkC,EAAuB,kBACzB9E,EAAEwB,WACF,OAAO,EAKfjD,KAAK+zB,YAActyB,EAAExB,SAASwC,MAAM,GACpC,IAAQ9F,EAAE,EAAGA,EAAEqD,KAAK+zB,YAAYj3B,OAAQH,IAAI,CACpC2D,GAAK,EAAE,GACXmG,EAAK9E,KAAKrB,EAAEN,KAAK+zB,YAAYp3B,IAC7BqD,KAAK+zB,YAAYp3B,GAAK2D,EAI1B,IAAIi2B,EAEAA,EADDhwB,EAAQiwB,cACI/0B,EAAEc,SAEFd,EAAE0B,cAMjB,IAAI,IAHAszB,EAAKhwB,EAAKC,SAGN/J,EAAE,EAAGA,IAAI45B,EAASz5B,OAAQH,IAAI,CAKlC,IAAI,IAHAiC,EAAI,IAAI8P,GAASzO,SAAUs2B,EAAS55B,GAAGsD,WAGnC2B,EAAE,EAAGA,IAAIhD,EAAEqB,SAASnD,OAAQ8E,IAAI,CACpC,IAAItB,EAAI1B,EAAEqB,SAAS2B,GACnB6E,EAAKiD,IAAIpJ,EAAEA,EAAE1B,EAAE83B,cAGnBjwB,EAAK4L,MAAMokB,EAAG73B,EAAE83B,aAAa,GAC7B93B,EAAE+3B,kBACF/3B,EAAEg4B,qBACFh4B,EAAE81B,uBAGF10B,KAAK20B,SAAS/1B,EAAE63B,GAOpB,OAJAz2B,KAAK62B,qBAEL72B,KAAKiL,iBAAkB,GAEhB,GAGmBxE,EAAKqI,WAAW,EAAE,GAAhD,IACIgoB,EAA0BrwB,EAAKqI,WAAW,EAAE,GAC5CioB,EAA0BtwB,EAAKqI,WAAW,EAAE,GAC5CkoB,EAA0BvwB,EAAKqI,WAAW,EAAE,GAMhD3F,EAAK/I,UAAUy2B,mBAAqB,WAChC,IAAII,EAAoBH,EACpB1I,EAAoB2I,EACpBN,EAAoBO,EACpB3C,EAAoB,EACxB5tB,EAAK4G,IAAI+gB,EAAI,EAAE,GAEf,IAAQzxB,EAAE,EAAGA,IAAIqD,KAAKsQ,OAAOxT,OAAQH,IAAI,CACjCL,EAAI0D,KAAKsQ,OAAO3T,GACpB8J,EAAK4L,MAAM4kB,EAAmB36B,EAAEwK,SAAUxK,EAAEoC,MAC5C+H,EAAKgB,IAAI2mB,EAAKA,EAAK6I,GACnB5C,GAAa/3B,EAAEoC,KAGnB+H,EAAK4L,MAAMokB,EAAGrI,EAAI,EAAEiG,GAGpB,IAAQ13B,EAAE,EAAGA,IAAIqD,KAAKsQ,OAAOxT,OAAQH,IAAI,CACrC,IAAIL,EAAI0D,KAAKsQ,OAAO3T,GACpB8J,EAAKiD,IAAIpN,EAAEwK,SAAUxK,EAAEwK,SAAU2vB,GAIrChwB,EAAKgB,IAAIzH,KAAK8G,SAAS9G,KAAK8G,SAAS2vB,GAGrC,IAAI,IAAI95B,EAAE,EAAGqD,KAAK+zB,aAAep3B,EAAEqD,KAAK+zB,YAAYj3B,OAAQH,IACxD8J,EAAKiD,IAAI1J,KAAK+zB,YAAYp3B,GAAIqD,KAAK+zB,YAAYp3B,GAAI85B,GAGvDz2B,KAAKi0B,uBACLj0B,KAAK00B,wBAOTvrB,EAAK/I,UAAU82B,aAAe,WAC1BzwB,EAAK4G,IAAIrN,KAAKmmB,MAAM,EAAI,GACxBnmB,KAAK+qB,aAAe,GAGxB5hB,EAAK/I,UAAU+2B,wBAA0B,WACrC,IAAIx4B,EAAIqB,KACJyqB,EAAU9rB,EAAE8rB,QAChBhkB,EAAK4G,IAAIod,EAAQ,EAAE,GACnB9rB,EAAE+rB,QAAU,GAGhBvhB,EAAK/I,UAAUg3B,sBAAwB,WACnC,IAAIz4B,EAAIqB,KACJM,EAAI3B,EAAEkoB,SACVpgB,EAAKgB,IAAKnH,EAAGA,EAAG3B,EAAE8rB,SAClB9rB,EAAE6oB,iBAAmB7oB,EAAE+rB,SAQ3BvhB,EAAK/I,UAAUi3B,aAAe,SAASC,GACnC,GAAGt3B,KAAKuF,OAAS4D,EAAKiqB,QAAQ,CAC1B,IAAI9yB,EAAIN,KAAK6mB,SACbpgB,EAAK4L,MAAM/R,EAAGA,EAAGb,KAAKsY,IAAI,EAAM/X,KAAKkzB,QAAQoE,IAC7Ct3B,KAAKwnB,iBAAmB/nB,KAAKsY,IAAI,EAAM/X,KAAKmzB,eAAemE,KASnEnuB,EAAK/I,UAAUgjB,OAAS,WACpB,IAAI9mB,EAAI0D,KAAKoK,WACbpK,KAAKoK,WAAajB,EAAKoqB,MACvBvzB,KAAK2zB,SAAW,EACbr3B,IAAM6M,EAAKoqB,OACVvzB,KAAKotB,KAAKjkB,EAAKouB,cAQvBpuB,EAAK/I,UAAUo3B,MAAQ,WACnBx3B,KAAKoK,WAAajB,EAAKkB,SACvBrK,KAAKwnB,gBAAkB,EACvBxnB,KAAK+qB,aAAe,EACpBtkB,EAAK4G,IAAIrN,KAAK6mB,SAAS,EAAE,GACzBpgB,EAAK4G,IAAIrN,KAAKmmB,MAAM,EAAE,GACtBnmB,KAAKotB,KAAKjkB,EAAKsuB,aAUnBtuB,EAAK/I,UAAUs3B,UAAY,SAASC,EAAMC,EAAWN,GACjD,GAAIt3B,KAAKqzB,YAAcrzB,KAAKuF,OAAS4D,EAAKkB,SAA1C,CAIArK,KAAKszB,cAAe,EAEHtzB,KAAKoK,WACH3D,EAAKmD,cAAc5J,KAAK6mB,UAAYpnB,KAAKsY,IAAI/X,KAAKwnB,gBAAgB,IAC7D/nB,KAAKsY,IAAI/X,KAAKwzB,gBAAgB,IAIlDxzB,KAAK2zB,SAAW,EAChB3zB,KAAKoK,WAAajB,EAAKoqB,QAEvBvzB,KAAK2zB,UAAY2D,EACjBt3B,KAAKoK,WAAajB,EAAK0uB,QAExB73B,KAAK2zB,SAAW3zB,KAAKyzB,iBAChBmE,EAGA53B,KAAKszB,cAAe,EAFpBtzB,KAAKw3B,WAajBruB,EAAK/I,UAAUwH,SAAW,SAASyY,GAC/B,OAAOrgB,KAAKiJ,MAAM6uB,cAAcC,qBAAqB/3B,KAAMqgB,IAG/D,IAAI2X,EAAmBvxB,EAAKC,SACxBuxB,EAAmBxxB,EAAKC,SAO5ByC,EAAK/I,UAAU83B,UAAY,SAASZ,GAChC,IAAIa,EAAOn4B,KAAKwyB,QACZ12B,EAAIkE,KAAKmmB,MACTvO,EAAM5X,KAAK8G,SACXgvB,EAAO91B,KAAK6mB,SAGhBpgB,EAAK9E,KAAK3B,KAAKgzB,iBAAkBhzB,KAAK8G,UACtC9G,KAAKizB,cAAgBjzB,KAAK+G,MAGtB/G,KAAK2yB,gBACL3yB,KAAKwnB,iBAAmBxnB,KAAK+qB,aAAe/qB,KAAK0yB,WAAa4E,GAElE7wB,EAAK4L,MAAM2lB,EAAkBl8B,EAAGw7B,EAAKa,GACrC1xB,EAAK+kB,SAASwM,EAAkBh4B,KAAKyrB,eAAgBuM,GACrDvxB,EAAKgB,IAAIquB,EAAMkC,EAAkBlC,GAG7B91B,KAAKo4B,wBAAwBd,KAG7B7wB,EAAK4L,MAAM4lB,EAAkBnC,EAAMwB,GACnC7wB,EAAKgB,IAAImQ,EAAKA,EAAKqgB,GACfj4B,KAAK2yB,gBACL3yB,KAAK+G,OAAS/G,KAAKwnB,gBAAkB8P,IAI7Ct3B,KAAKiL,iBAAkB,GAG3B,IAAInI,EAAS,IAAIye,EACbrZ,EAAM,IAAIkX,GACVM,KAAMN,EAAIc,MAEV9X,EAAY3B,EAAKC,SACjB2xB,EAAM5xB,EAAKC,SACX4xB,EAAa7xB,EAAKC,SAClB6xB,EAAmB9xB,EAAKC,SAC5ByC,EAAK/I,UAAUg4B,wBAA0B,SAASd,GAE9C,GAAGt3B,KAAK6zB,kBAAoB,GAAKptB,EAAKmD,cAAc5J,KAAK6mB,UAAYpnB,KAAKsY,IAAI/X,KAAK6zB,kBAAmB,GAClG,OAAO,EAGXptB,EAAK6L,UAAUlK,EAAWpI,KAAK6mB,UAE/BpgB,EAAK4L,MAAMgmB,EAAKr4B,KAAK6mB,SAAUyQ,GAC/B7wB,EAAKgB,IAAI4wB,EAAKA,EAAKr4B,KAAK8G,UAExBL,EAAKiD,IAAI4uB,EAAYD,EAAKr4B,KAAK8G,UAC/B,IAKI0xB,EALAC,EAAkBz4B,KAAKwnB,gBAAkB8P,EACzC/F,EAAM9qB,EAAK3J,OAAOw7B,GAElBI,EAAe,EAGftW,EAAOpiB,KAiBX,GAhBA8C,EAAOkO,QACP9I,EAAI0X,SAAW,SAAU9c,GAClBA,EAAOud,OAAS+B,IAGnBoW,EAAM11B,EAAOud,KACbvd,EAAO6e,YAAY0W,EAAKnwB,GACxBzB,EAAKiD,IAAI4uB,EAAYD,EAAKjW,EAAKtb,UAC/B4xB,EAAejyB,EAAK3J,OAAOw7B,GAAc/G,EACzCzuB,EAAOgf,SAEXrb,EAAK9E,KAAKuG,EAAItH,KAAMZ,KAAK8G,UACzBL,EAAK9E,KAAKuG,EAAIrH,GAAIw3B,GAClBnwB,EAAI2X,SACJ7f,KAAKiJ,MAAM8X,QAAQje,EAAQoF,IAEvBswB,EACA,OAAO,EAGX,IAAIG,EAAgB34B,KAAK+G,MACzBN,EAAK9E,KAAK42B,EAAkBv4B,KAAK8G,UAOjC,IAJA,IAAI8xB,EAAO,EACPlwB,EAAO,EACPmwB,EAAO,EACPjwB,EAAO8vB,EACJ9vB,GAAQF,GAAQkwB,EAAO54B,KAAK8zB,eAC/B8E,IAGAC,GAAQjwB,EAAOF,GAAQ,EAGvBjC,EAAK4L,MAAM4lB,EAAkBK,EAAYI,GACzCjyB,EAAKgB,IAAIzH,KAAK8G,SAAUyxB,EAAkBN,GAC1Cj4B,KAAK+G,MAAQ4xB,EAAgBF,EAAkBC,EAC/C14B,KAAKkL,aAGUlL,KAAK0H,KAAKE,SAAS4wB,EAAI9wB,OAAS1H,KAAKiJ,MAAM6vB,YAAY5oB,cAAclQ,KAAMw4B,GAItF9vB,EAAOmwB,EAGPjwB,EAAOiwB,EAgBf,OAZAH,EAAeG,EAEfpyB,EAAK9E,KAAK3B,KAAK8G,SAAUyxB,GACzBv4B,KAAK+G,MAAQ4xB,EAGblyB,EAAK4L,MAAM4lB,EAAkBK,EAAYI,GACzCjyB,EAAKgB,IAAIzH,KAAK8G,SAAU9G,KAAK8G,SAAUmxB,GACnCj4B,KAAK2yB,gBACL3yB,KAAK+G,OAAS0xB,EAAkBC,IAG7B,GAUXvvB,EAAK/I,UAAU2pB,mBAAqB,SAASjnB,EAAQoyB,GAGjD,OAFAzuB,EAAK2pB,QAAQttB,EAAQoyB,EAAel1B,KAAKwnB,iBACzC/gB,EAAKujB,SAASlnB,EAAQ9C,KAAK6mB,SAAU/jB,GAC9BA,GAMXqG,EAAK4vB,aACDxzB,KAAM,UAMV4D,EAAKsuB,YACDlyB,KAAM,SAMV4D,EAAKouB,aACDhyB,KAAM,UASV4D,EAAKiqB,QAAU,EAQfjqB,EAAKgB,OAAS,EAQdhB,EAAKe,UAAY,EAOjBf,EAAKoqB,MAAQ,EAObpqB,EAAK0uB,OAAS,EAOd1uB,EAAKkB,SAAW,IAGb+W,oBAAoB,EAAEW,mBAAmB,GAAGV,6BAA6B,GAAG2X,yBAAyB,GAAGnwB,eAAe,GAAGkW,mBAAmB,GAAG3Y,cAAc,IAAI6yB,IAAI,SAASj8B,EAAQnB,EAAOD,GA0BjM,SAASs9B,EAAa1vB,EAAMC,EAAMlD,GAC9BA,EAAUA,MAEV4yB,EAAOt8B,KAAKmD,KAAMwJ,EAAOC,EAAOlD,GAOhCvG,KAAK8jB,aAAerd,EAAKqI,WAAW,EAAE,GAOtC9O,KAAK+jB,aAAetd,EAAKqI,WAAW,EAAE,GAEnCvI,EAAQud,cAAerd,EAAK9E,KAAK3B,KAAK8jB,aAAcvd,EAAQud,cAC5Dvd,EAAQwd,cAAetd,EAAK9E,KAAK3B,KAAK+jB,aAAcxd,EAAQwd,cAC5Dxd,EAAQyd,cAAehkB,KAAKo5B,gBAAgB7yB,EAAQyd,cACpDzd,EAAQ0d,cAAejkB,KAAKq5B,gBAAgB9yB,EAAQ0d,cAEvD,IAAID,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACxB1G,KAAKs5B,gBAAgBtV,GACrBhkB,KAAKu5B,gBAAgBtV,GACrB,IAAIuV,EAAgB/yB,EAAKib,SAASsC,EAAcC,GAOhDjkB,KAAKy5B,WAA4C,iBAAxBlzB,EAAkB,WAAiBA,EAAQkzB,WAAaD,EA5DrF,IAAI/yB,EAAOzJ,EAAQ,gBACfm8B,EAASn8B,EAAQ,YACTA,EAAQ,kBAEpBnB,EAAOD,QAAUs9B,GA0DjBA,EAAa94B,UAAY,IAAI+4B,GACNxuB,YAAcuuB,EAOrCA,EAAa94B,UAAUg5B,gBAAkB,SAASpV,GAC9ChkB,KAAKwJ,MAAMgnB,aAAaxwB,KAAK8jB,aAAcE,IAQ/CkV,EAAa94B,UAAUi5B,gBAAkB,SAASpV,GAC9CjkB,KAAKyJ,MAAM+mB,aAAaxwB,KAAK+jB,aAAcE,IAQ/CiV,EAAa94B,UAAUk5B,gBAAkB,SAASx2B,GAC9C9C,KAAKwJ,MAAMgH,aAAa1N,EAAQ9C,KAAK8jB,eAQzCoV,EAAa94B,UAAUm5B,gBAAkB,SAASz2B,GAC9C9C,KAAKyJ,MAAM+G,aAAa1N,EAAQ9C,KAAK+jB,eAGzC,IAAI2V,EAA4BjzB,EAAKC,SACjCizB,EAA4BlzB,EAAKC,SACjCkzB,EAA4BnzB,EAAKC,SACjCmzB,EAA4BpzB,EAAKC,SACjCozB,EAA4BrzB,EAAKC,SACjCqzB,EAA4BtzB,EAAKC,SACjCszB,EAA4BvzB,EAAKC,SACjCuzB,EAA4BxzB,EAAKC,SACjCwzB,EAA4BzzB,EAAKC,SAMrCwyB,EAAa94B,UAAU60B,WAAa,WAChC,IAAInzB,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAKkzB,QACTjsB,EAAIjH,KAAKy5B,WACTjwB,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACbpN,EAAIq9B,EACJS,EAASR,EACTn9B,EAAIo9B,EACJ99B,EAAI+9B,EACJ34B,EAAMg5B,EAENlW,EAAe8V,EACf7V,EAAe8V,EACf5V,EAAK6V,EACL5V,EAAK6V,EAGTj6B,KAAKs5B,gBAAgBtV,GACrBhkB,KAAKu5B,gBAAgBtV,GAGrBxd,EAAKiD,IAAIya,EAAIH,EAAcxa,EAAM1C,UACjCL,EAAKiD,IAAI0a,EAAIH,EAAcxa,EAAM3C,UAGjCL,EAAKiD,IAAIrN,EAAG4nB,EAAcD,GAC1B,IAAIoW,EAAO3zB,EAAK8qB,IAAIl1B,GACpBoK,EAAK6L,UAAU6nB,EAAO99B,GAMtBoK,EAAKiD,IAAIlN,EAAGiN,EAAMod,SAAUrd,EAAMqd,UAClCpgB,EAAK8pB,QAAQrvB,EAAKuI,EAAM+d,gBAAiBpD,GACzC3d,EAAKgB,IAAIjL,EAAGA,EAAG0E,GACfuF,EAAK8pB,QAAQrvB,EAAKsI,EAAMge,gBAAiBrD,GACzC1d,EAAKiD,IAAIlN,EAAGA,EAAG0E,GAGfuF,EAAK4L,MAAMvW,EAAGq+B,GAASr4B,GAAGs4B,EAAKnzB,GAAKrD,EAAE6C,EAAKlH,IAAI/C,EAAE29B,IAGjD1zB,EAAKiD,IAAKF,EAAM2c,MAAO3c,EAAM2c,MAAOrqB,GACpC2K,EAAKgB,IAAKgC,EAAM0c,MAAO1c,EAAM0c,MAAOrqB,GAGpC,IAAIu+B,EAAS5zB,EAAK+H,YAAY2V,EAAIroB,GAC9Bw+B,EAAS7zB,EAAK+H,YAAY4V,EAAItoB,GAClC0N,EAAMuhB,cAAgBsP,EACtB5wB,EAAMshB,cAAgBuP,KAGvBzxB,eAAe,GAAGC,iBAAiB,GAAGyxB,WAAW,KAAKC,IAAI,SAASx9B,EAAQnB,EAAOD,GAqBrF,SAAS6+B,EAAiBjxB,EAAOC,EAAOlD,GACpCA,EAAUA,MAEV4yB,EAAOt8B,KAAKmD,KAAMwJ,EAAOC,EAAOlD,GAOhCvG,KAAK06B,UAA0C,iBAAvBn0B,EAAiB,UAAiBA,EAAQm0B,UAAYjxB,EAAM1C,MAAQyC,EAAMzC,MA9B3F/J,EAAQ,gBAAnB,IACIm8B,EAASn8B,EAAQ,YAErBnB,EAAOD,QAAU6+B,GA6BjBA,EAAiBr6B,UAAY,IAAI+4B,GACNxuB,YAAc8vB,EAMzCA,EAAiBr6B,UAAU60B,WAAa,WACpC,IAAInzB,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAKkzB,QACTjsB,EAAIjH,KAAK06B,UACTlxB,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAIbic,GAAW5jB,GAHP2H,EAAM1C,MAAQyC,EAAMzC,MAGJE,GAAKrD,GAFrB6F,EAAM+d,gBAAkBhe,EAAMge,iBAED,EAErChe,EAAMuhB,cAAgBrF,EACtBjc,EAAMshB,cAAgBrF,KAGvB7c,eAAe,GAAG0xB,WAAW,KAAKI,IAAI,SAAS39B,EAAQnB,EAAOD,GAqBjE,SAASu9B,EAAO3vB,EAAOC,EAAOlD,GAC1BA,EAAUic,EAAMQ,SAASzc,GACrBgG,UAAW,IACX2mB,QAAS,IAQblzB,KAAKuM,UAAYhG,EAAQgG,UAOzBvM,KAAKkzB,QAAU3sB,EAAQ2sB,QAOvBlzB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EApDNzM,EAAQ,gBAAnB,IACIwlB,EAAQxlB,EAAQ,kBAEpBnB,EAAOD,QAAUu9B,EAwDjBA,EAAO/4B,UAAU60B,WAAa,eAI3BpsB,eAAe,GAAGC,iBAAiB,KAAK8xB,IAAI,SAAS59B,EAAQnB,EAAOD,GAgDvE,SAASi/B,EAAeC,EAAav0B,GACjCA,EAAUA,MAKVvG,KAAK86B,YAAcA,EAKnB96B,KAAK+6B,UAGL/6B,KAAKg7B,WAAa,IAAI7xB,GAAOopB,KAAM,IAEnCvyB,KAAKiJ,MAAQ,KAEb,IAAImZ,EAAOpiB,KACXA,KAAKi7B,gBAAkB,WACnB7Y,EAAKvC,UA+Db,SAASqb,EAAgBC,EAAS50B,GAC9BA,EAAUA,MAEVvG,KAAKm7B,QAAUA,EAEfn7B,KAAKo7B,gBAAkB,IAAI/O,EAAiB8O,EAAQL,YAAaK,EAAQH,YAEzEh7B,KAAKq7B,aAAe,IAAIhP,EAAiB8O,EAAQL,YAAaK,EAAQH,YAKtEh7B,KAAKs7B,WAAa,EAKlBt7B,KAAKu7B,YAAc,EAEnBv7B,KAAKw7B,qBAAyClc,IAAzB/Y,EAAQk1B,aAA6Bl1B,EAAQk1B,aAAe,GAKjFz7B,KAAK07B,mBAAqBj1B,EAAKqI,WAAW,EAAG,GAC1CvI,EAAQm1B,oBACPj1B,EAAK9E,KAAK3B,KAAK07B,mBAAoBn1B,EAAQm1B,oBAM/C17B,KAAK27B,cAAgBl1B,EAAKqI,WAAW,EAAG,GACrCvI,EAAQo1B,eACPl1B,EAAK9E,KAAK3B,KAAK27B,cAAep1B,EAAQo1B,eAG1C5Y,EAAW6Y,MAAM57B,KAAMm7B,EAAQL,YAAaK,EAAQH,YAEpDh7B,KAAKmjB,UAAUriB,KACXd,KAAKo7B,gBACLp7B,KAAKq7B,cAGTr7B,KAAK67B,cAAc,GA9KvB,IAAIp1B,EAAOzJ,EAAQ,gBAEf+lB,GADQ/lB,EAAQ,kBACHA,EAAQ,8BACrBqvB,EAAmBrvB,EAAQ,iCAC3BmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAUi/B,EAqEjBA,EAAez6B,UAAU07B,WAAa,SAAS7yB,GAC3CjJ,KAAKiJ,MAAQA,EACbA,EAAM8yB,QAAQ/7B,KAAKg7B,YACnB/xB,EAAM0Z,GAAG,UAAW3iB,KAAKi7B,iBACzB,IAAK,IAAIt+B,EAAI,EAAGA,EAAIqD,KAAK+6B,OAAOj+B,OAAQH,IAAK,CACzC,IAAIq/B,EAAQh8B,KAAK+6B,OAAOp+B,GACxBsM,EAAMgzB,cAAcD,KAQ5BnB,EAAez6B,UAAU87B,gBAAkB,WACvC,IAAIjzB,EAAQjJ,KAAKiJ,MACjBA,EAAMkzB,WAAWn8B,KAAKg7B,YACtB/xB,EAAMyZ,IAAI,UAAW1iB,KAAKi7B,iBAC1B,IAAK,IAAIt+B,EAAI,EAAGA,EAAIqD,KAAK+6B,OAAOj+B,OAAQH,IAAK,CACzC,IAAIq/B,EAAQh8B,KAAK+6B,OAAOp+B,GACxBsM,EAAMmzB,iBAAiBJ,GAE3Bh8B,KAAKiJ,MAAQ,MAQjB4xB,EAAez6B,UAAUi8B,SAAW,SAASC,GACzC,IAAIN,EAAQ,IAAId,EAAgBl7B,KAAKs8B,GAErC,OADAt8B,KAAK+6B,OAAOj6B,KAAKk7B,GACVA,GAMXnB,EAAez6B,UAAUyf,OAAS,WAC9B,IAAK,IAAIljB,EAAI,EAAGA,EAAIqD,KAAK+6B,OAAOj+B,OAAQH,IACpCqD,KAAK+6B,OAAOp+B,GAAGkjB,WA4DvBqb,EAAgB96B,UAAY,IAAI2iB,GAKN8Y,cAAgB,SAAS1V,GAC/CnmB,KAAKo7B,gBAAgBzpB,aAAawU,IAMtC+U,EAAgB96B,UAAUo7B,gBAAkB,SAASrV,GACjDnmB,KAAKq7B,aAAa1pB,aAAawU,IAGnC,IAAIoW,EAAgB91B,EAAKC,SACrBwuB,EAAgBzuB,EAAKC,SAKzBw0B,EAAgB96B,UAAUo8B,SAAW,WAGjC,OAFAx8B,KAAKm7B,QAAQL,YAAYpF,mBAAmBR,EAAel1B,KAAK07B,oBAChE17B,KAAKm7B,QAAQL,YAAY/Q,mBAAmBwS,EAAerH,GACpDzuB,EAAKlH,IAAIg9B,EAAerH,IAGnC,IAAIuH,EAASh2B,EAAKC,SAKlBw0B,EAAgB96B,UAAUyf,OAAS,WAG/B7f,KAAKm7B,QAAQL,YAAYpF,mBAAmB11B,KAAKo7B,gBAAgBj/B,EAAG6D,KAAK07B,oBACzEj1B,EAAKS,OAAOlH,KAAKq7B,aAAal/B,EAAG6D,KAAK07B,mBAAoBj8B,KAAKye,GAAK,GACpEle,KAAKm7B,QAAQL,YAAYpF,mBAAmB11B,KAAKq7B,aAAal/B,EAAG6D,KAAKq7B,aAAal/B,GAEnFsK,EAAKS,OAAOlH,KAAKo7B,gBAAgBj/B,EAAG6D,KAAKo7B,gBAAgBj/B,EAAG6D,KAAKs7B,YACjE70B,EAAKS,OAAOlH,KAAKq7B,aAAal/B,EAAG6D,KAAKq7B,aAAal/B,EAAG6D,KAAKs7B,YAG3Dt7B,KAAKm7B,QAAQL,YAAYtqB,aAAaxQ,KAAKo7B,gBAAgBrpB,cAAe/R,KAAK27B,eAC/El1B,EAAK9E,KAAK3B,KAAKq7B,aAAatpB,cAAe/R,KAAKo7B,gBAAgBrpB,eAEhE/R,KAAKm7B,QAAQL,YAAYpF,mBAAmB11B,KAAKo7B,gBAAgBtpB,cAAe9R,KAAK27B,eACrFl1B,EAAK9E,KAAK3B,KAAKq7B,aAAavpB,cAAe9R,KAAKo7B,gBAAgBtpB,eAGhErL,EAAK6L,UAAUmqB,EAAQz8B,KAAKo7B,gBAAgBj/B,GAC5CsK,EAAK4L,MAAMoqB,EAAQA,EAAQz8B,KAAKu7B,aAEhCv7B,KAAKm7B,QAAQL,YAAY7F,WAAWwH,EAAQz8B,KAAKo7B,gBAAgBtpB,kBAElE4qB,4BAA4B,GAAG7d,gCAAgC,GAAGhW,eAAe,GAAG2B,kBAAkB,GAAG1B,iBAAiB,KAAK6zB,IAAI,SAAS3/B,EAAQnB,EAAOD,GAE9J,IAAIM,EAAKL,EAAOD,SACZ0K,KAAgCtJ,EAAQ,oBACxCsoB,kBAAgCtoB,EAAQ,iCACxCmM,KAAgCnM,EAAQ,kBACxCgM,WAAgChM,EAAQ,0BACxC4/B,QAAgC5/B,EAAQ,oBACxCyR,OAAgCzR,EAAQ,mBACxC+lB,WAAgC/lB,EAAQ,4BACxC+pB,gBAAgC/pB,EAAQ,+BACxCkP,oBAAgClP,EAAQ,+BACxCywB,gBAAgCzwB,EAAQ,8BACxC0R,OAAgC1R,EAAQ,mBACxC6mB,mBAAgC7mB,EAAQ,oCACxCwP,SAAgCxP,EAAQ,wBACxC6vB,aAAgC7vB,EAAQ,yBACxCqvB,iBAAgCrvB,EAAQ,gCACxCqP,qBAAgCrP,EAAQ,gCACxCooB,eAAgCpoB,EAAQ,gCACxC6/B,SAAgC7/B,EAAQ,qBACxC8/B,YAAgC9/B,EAAQ,wBACxCC,KAAgCD,EAAQ,iBACxC8oB,eAAgC9oB,EAAQ,gCACxC4wB,SAAgC5wB,EAAQ,uBACxCyO,YAAgCzO,EAAQ,2BACxC0N,gBAAgC1N,EAAQ,+BACxC+/B,SAAgC//B,EAAQ,qBACxCggC,MAAgChgC,EAAQ,kBACxCigC,KAAgCjgC,EAAQ,gBACxCsrB,mBAAgCtrB,EAAQ,oCACxCspB,oBAAgCtpB,EAAQ,qCACxCoiB,IAAgCpiB,EAAQ,mBACxCukB,cAAgCvkB,EAAQ,6BACxC4R,IAAgC5R,EAAQ,gBACxC8rB,2BAAgC9rB,EAAQ,0CACxCilB,cAAgCjlB,EAAQ,6BACxC2R,MAAgC3R,EAAQ,kBACxCkgC,OAAgClgC,EAAQ,mBACxCm8B,OAAgCn8B,EAAQ,oBACxC69B,eAAgC79B,EAAQ,4BACxCk8B,aAAgCl8B,EAAQ,0BACxCy9B,iBAAgCz9B,EAAQ,8BACxCwlB,MAAgCxlB,EAAQ,iBACxCmgC,MAAgCngC,EAAQ,iBACxCyJ,KAAgCzJ,EAAQ,eACxC+H,QAAgC/H,EAAQ,mBAAmB+H,SAG/Dq4B,OAAOC,eAAenhC,EAAI,aACtB6U,IAAK,WAED,OADA5M,QAAQC,KAAK,gDACNpE,KAAK4O,SAGjB0uB,kBAAkB,EAAEC,mBAAmB,EAAEC,yBAAyB,EAAEC,8BAA8B,EAAEC,0BAA0B,GAAGC,kBAAkB,GAAGC,4BAA4B,GAAGC,4BAA4B,GAAGC,2BAA2B,GAAGC,mCAAmC,GAAGC,+BAA+B,GAAGC,+BAA+B,GAAGC,oCAAoC,GAAGC,mCAAmC,GAAGC,gCAAgC,GAAGC,8BAA8B,GAAGC,uBAAuB,GAAGC,+BAA+B,GAAGC,yCAAyC,GAAGC,wBAAwB,GAAGC,6BAA6B,GAAGC,sBAAsB,GAAGC,cAAc,GAAGC,iBAAiB,GAAGC,yBAAyB,GAAGC,6BAA6B,GAAGC,mBAAmB,GAAGC,2BAA2B,GAAGC,eAAe,GAAGC,mBAAmB,GAAGC,kBAAkB,GAAGC,kBAAkB,GAAGC,uBAAuB,GAAGC,gBAAgB,GAAGC,oBAAoB,GAAGC,iBAAiB,GAAGC,iBAAiB,GAAGC,oBAAoB,GAAGC,kBAAkB,GAAGC,8BAA8B,GAAGC,+BAA+B,GAAGC,eAAe,GAAGC,gBAAgB,GAAGC,gBAAgB,KAAKC,IAAI,SAASljC,EAAQnB,EAAOD,GAgBpsC,SAASgT,EAAIrI,GACmB,iBAAlB45B,UAAU,IAA6C,iBAAlBA,UAAU,KACrD55B,GACIgN,MAAO4sB,UAAU,GACjB3sB,OAAQ2sB,UAAU,IAEtBh8B,QAAQC,KAAK,4JAEjBmC,EAAUA,MAOV,IAAIgN,EAAQvT,KAAKuT,MAAQhN,EAAQgN,OAAS,EAOtCC,EAASxT,KAAKwT,OAASjN,EAAQiN,QAAU,EAEzCrF,GACA1H,EAAKqI,YAAYyE,EAAM,GAAIC,EAAO,GAClC/M,EAAKqI,WAAYyE,EAAM,GAAIC,EAAO,GAClC/M,EAAKqI,WAAYyE,EAAM,EAAIC,EAAO,GAClC/M,EAAKqI,YAAYyE,EAAM,EAAIC,EAAO,IAElC4sB,GACA35B,EAAKqI,WAAW,EAAG,GACnBrI,EAAKqI,WAAW,EAAG,IAGvBvI,EAAQtG,SAAWkO,EACnB5H,EAAQ65B,KAAOA,EACf75B,EAAQhB,KAAOoJ,EAAMqE,IACrBtE,EAAO7R,KAAKmD,KAAMuG,GArDtB,IAAIE,EAAOzJ,EAAQ,gBACf2R,EAAQ3R,EAAQ,WAChB0R,EAAS1R,EAAQ,YAErBnB,EAAOD,QAAUgT,GAmDjBA,EAAIxO,UAAY,IAAIsO,GACN/D,YAAciE,EAQ5BA,EAAIxO,UAAU40B,uBAAyB,SAASzC,GAC5C,IAAI5U,EAAI3d,KAAKuT,MACTkW,EAAIzpB,KAAKwT,OACb,OAAO+e,GAAQ9I,EAAEA,EAAI9L,EAAEA,GAAK,IAOhC/O,EAAIxO,UAAUs0B,qBAAuB,WACjC,IAAI/W,EAAI3d,KAAKuT,MACTkW,EAAIzpB,KAAKwT,OACbxT,KAAK6J,eAAiBpK,KAAKC,KAAKie,EAAEA,EAAI8L,EAAEA,GAAK,GAGnChjB,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SAQnBkI,EAAIxO,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GAChD6a,EAAIhb,cAAc5G,KAAKC,SAAS6G,EAASC,EAAM,IAGnD6H,EAAIxO,UAAUigC,WAAa,WACvBrgC,KAAKtB,KAAOsB,KAAKuT,MAAQvT,KAAKwT,UAI/B3K,eAAe,GAAGy3B,WAAW,GAAGC,UAAU,KAAKC,IAAI,SAASxjC,EAAQnB,EAAOD,GAqB9E,SAASghC,EAAQr2B,GACe,iBAAlB45B,UAAU,IAA6C,iBAAlBA,UAAU,KACrD55B,GACIzJ,OAAQqjC,UAAU,GAClB7yB,OAAQ6yB,UAAU,IAEtBh8B,QAAQC,KAAK,0HAEjBmC,EAAUA,MAMVvG,KAAKlD,OAASyJ,EAAQzJ,QAAU,EAMhCkD,KAAKsN,OAAS/G,EAAQ+G,QAAU,EAEhC/G,EAAQhB,KAAOoJ,EAAM+E,QACrB/E,EAAM9R,KAAKmD,KAAMuG,GA3CrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUghC,GA0CjBA,EAAQx8B,UAAY,IAAIuO,GACNhE,YAAciyB,EAShCA,EAAQx8B,UAAU40B,uBAAyB,SAASzC,GAEhD,IAAIl2B,EAAI2D,KAAKsN,OACTqQ,EAAI3d,KAAKlD,OAAST,EAClBotB,EAAM,EAAFptB,EACR,OAAOk2B,GAAQ9I,EAAEA,EAAI9L,EAAEA,GAAK,IAMhCif,EAAQx8B,UAAUs0B,qBAAuB,WACrC10B,KAAK6J,eAAiB7J,KAAKsN,OAAStN,KAAKlD,OAAO,GAMpD8/B,EAAQx8B,UAAUigC,WAAa,WAC3BrgC,KAAKtB,KAAOe,KAAKye,GAAKle,KAAKsN,OAAStN,KAAKsN,OAAuB,EAAdtN,KAAKsN,OAAatN,KAAKlD,QAG7E,IAAIT,EAAIoK,EAAKC,SAQbk2B,EAAQx8B,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACpD,IAAIuG,EAAStN,KAAKsN,OAGlB7G,EAAK4G,IAAIhR,EAAE2D,KAAKlD,OAAS,EAAE,GACd,IAAViK,GACCN,EAAKS,OAAO7K,EAAEA,EAAE0K,GAIpBN,EAAK4G,IAAIuU,EAAIjb,WAAalH,KAAKkJ,IAAItM,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,GAC5B7N,KAAKkJ,IAAItM,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,IACtD7G,EAAK4G,IAAIuU,EAAIpb,WAAa/G,KAAKuC,IAAI3F,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,GAC5B7N,KAAKuC,IAAI3F,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,IAGtD7G,EAAKgB,IAAIma,EAAIpb,WAAYob,EAAIpb,WAAYM,GACzCL,EAAKgB,IAAIma,EAAIjb,WAAYib,EAAIjb,WAAYG,IAG7C,IAAI25B,EAAiCh6B,EAAKC,SACtCg6B,EAA0Bj6B,EAAKC,SAC/Bi6B,EAAsBl6B,EAAKC,SAC3Bk6B,EAAsBn6B,EAAKC,SAC3Bm6B,EAA0Bp6B,EAAKqI,WAAW,EAAE,GAShD8tB,EAAQx8B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GAYxD,IAAI,IAXAnG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAGTigC,GAFY54B,EAAIE,UAEAq4B,GAChBvkB,EAASwkB,EACTK,EAAKJ,EACLvjC,EAAKwjC,EAGLI,EAAUhhC,KAAKlD,OAAS,EACpBH,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAGlB,IAAI6K,EAAIxH,KAAKsN,QAAY,EAAF3Q,EAAI,GAO3B,GANA8J,EAAK4G,IAAI0zB,GAAKC,EAASx5B,GACvBf,EAAK4G,IAAIjQ,EAAI4jC,EAASx5B,GACtBf,EAAKkqB,cAAcoQ,EAAIA,EAAIj6B,EAAUC,GACrCN,EAAKkqB,cAAcvzB,EAAIA,EAAI0J,EAAUC,IAEjC5G,EAAQsG,EAAKurB,oCAAoCpxB,EAAMC,EAAIkgC,EAAI3jC,KACvD,IACRqJ,EAAKS,OAAOgV,EAAQ2kB,EAAyB95B,GAC7CN,EAAK4L,MAAM6J,EAAQA,EAAW,EAAFvf,EAAI,GAChCuL,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,GAC5CpZ,EAAOsd,WAAWlY,IACjB,OAOZ,IAAI,IADA+4B,EAAwBxhC,KAAKsY,IAAI/X,KAAKsN,OAAQ,GAAK7N,KAAKsY,IAAIipB,EAAS,GACjErkC,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAClB8J,EAAK4G,IAAI0zB,EAAIC,GAAa,EAAFrkC,EAAI,GAAI,GAChC8J,EAAKkqB,cAAcoQ,EAAIA,EAAIj6B,EAAUC,GAErC,IAAItK,EAAIgD,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAAKnB,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAC7DjC,EAAI,IAAMkC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKmgC,EAAG,KAAOlgC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKmgC,EAAG,KACnFniC,EAAIa,KAAKsY,IAAInX,EAAK,GAAKmgC,EAAG,GAAI,GAAKthC,KAAKsY,IAAInX,EAAK,GAAKmgC,EAAG,GAAI,GAAKthC,KAAKsY,IAAI/X,KAAKsN,OAAQ,GACxFnN,EAAQV,KAAKsY,IAAIpZ,EAAG,GAAK,EAAIlC,EAAImC,EAErC,KAAGuB,EAAQ,GAIJ,GAAa,IAAVA,GAIN,GAFAsG,EAAKob,KAAKif,EAAelgC,EAAMC,EAAIV,GAEhCsG,EAAKuZ,gBAAgB8gB,EAAeh6B,GAAYm6B,IAC/Cx6B,EAAKiD,IAAIwS,EAAQ4kB,EAAeC,GAChCt6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,GAC5CpZ,EAAOsd,WAAWlY,IACjB,WAIL,CACH,IAAIg5B,EAAYzhC,KAAKC,KAAKS,GACtBghC,EAAQ,GAAK,EAAI1kC,GACjB2kC,IAAQziC,EAAIuiC,GAAaC,EACzBx3B,IAAQhL,EAAIuiC,GAAaC,EAE7B,GAAGC,GAAM,GAAKA,GAAM,IAChB36B,EAAKob,KAAKif,EAAelgC,EAAMC,EAAIugC,GAChC36B,EAAKuZ,gBAAgB8gB,EAAeh6B,GAAYm6B,IAC/Cx6B,EAAKiD,IAAIwS,EAAQ4kB,EAAeC,GAChCt6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQs+B,EAAIllB,GAAS,GACzCpZ,EAAOsd,WAAWlY,KACjB,OAKZ,GAAGyB,GAAM,GAAKA,GAAM,IAChBlD,EAAKob,KAAKif,EAAelgC,EAAMC,EAAI8I,GAChClD,EAAKuZ,gBAAgB8gB,EAAeh6B,GAAYm6B,IAC/Cx6B,EAAKiD,IAAIwS,EAAQ4kB,EAAeC,GAChCt6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQ6G,EAAIuS,GAAS,GACzCpZ,EAAOsd,WAAWlY,KACjB,YAOrBW,eAAe,GAAG03B,UAAU,KAAKc,IAAI,SAASrkC,EAAQnB,EAAOD,GAkBhE,SAAS6S,EAAOlI,GACgB,iBAAlB45B,UAAU,KAChB55B,GACI+G,OAAQ6yB,UAAU,IAEtBh8B,QAAQC,KAAK,6GAEjBmC,EAAUA,MAOVvG,KAAKsN,OAAS/G,EAAQ+G,QAAU,EAEhC/G,EAAQhB,KAAOoJ,EAAMmI,OACrBnI,EAAM9R,KAAKmD,KAAMuG,GAlCrB,IAAIoI,EAAQ3R,EAAQ,WACfyJ,EAAOzJ,EAAQ,gBAEpBnB,EAAOD,QAAU6S,GAiCjBA,EAAOrO,UAAY,IAAIuO,GACNhE,YAAc8D,EAO/BA,EAAOrO,UAAU40B,uBAAyB,SAASzC,GAC/C,IAAIl2B,EAAI2D,KAAKsN,OACb,OAAOilB,EAAOl2B,EAAIA,EAAI,GAO1BoS,EAAOrO,UAAUs0B,qBAAuB,WACpC10B,KAAK6J,eAAiB7J,KAAKsN,QAO/BmB,EAAOrO,UAAUigC,WAAa,WAC1BrgC,KAAKtB,KAAOe,KAAKye,GAAKle,KAAKsN,OAAStN,KAAKsN,QAS7CmB,EAAOrO,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACnD,IAAI1K,EAAI2D,KAAKsN,OACb7G,EAAK4G,IAAIuU,EAAIjb,WAAatK,EAAIA,GAC9BoK,EAAK4G,IAAIuU,EAAIpb,YAAanK,GAAIA,GAC3ByK,IACCL,EAAKgB,IAAIma,EAAIpb,WAAYob,EAAIpb,WAAYM,GACzCL,EAAKgB,IAAIma,EAAIjb,WAAYib,EAAIjb,WAAYG,KAIjD,IAAIw6B,EAAwC76B,EAAKC,SAC7C66B,EAA6B96B,EAAKC,SAStC+H,EAAOrO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACvD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GACTxE,EAAI2D,KAAKsN,OAET7Q,EAAIgD,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAAKnB,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAC7DjC,EAAI,IAAMkC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkG,EAAS,KAAOjG,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkG,EAAS,KAC/FlI,EAAIa,KAAKsY,IAAInX,EAAK,GAAKkG,EAAS,GAAI,GAAKrH,KAAKsY,IAAInX,EAAK,GAAKkG,EAAS,GAAI,GAAKrH,KAAKsY,IAAI1b,EAAG,GAC1F8D,EAAQV,KAAKsY,IAAIpZ,EAAG,GAAK,EAAIlC,EAAImC,EAEjC4iC,EAAoBF,EACpBplB,EAASqlB,EAEb,KAAGphC,EAAQ,GAIJ,GAAa,IAAVA,EAENsG,EAAKob,KAAK2f,EAAmB5gC,EAAMC,EAAIV,GAEvCsG,EAAKiD,IAAIwS,EAAQslB,EAAmB16B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,OAE5C,CACH,IAAIglB,EAAYzhC,KAAKC,KAAKS,GACtBghC,EAAQ,GAAK,EAAI1kC,GACjB2kC,IAAQziC,EAAIuiC,GAAaC,EACzBx3B,IAAQhL,EAAIuiC,GAAaC,EAE7B,GAAGC,GAAM,GAAKA,GAAM,IAChB36B,EAAKob,KAAK2f,EAAmB5gC,EAAMC,EAAIugC,GAEvC36B,EAAKiD,IAAIwS,EAAQslB,EAAmB16B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQs+B,EAAIllB,GAAS,GAEzCpZ,EAAOsd,WAAWlY,IACjB,OAILyB,GAAM,GAAKA,GAAM,IAChBlD,EAAKob,KAAK2f,EAAmB5gC,EAAMC,EAAI8I,GAEvClD,EAAKiD,IAAIwS,EAAQslB,EAAmB16B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQ6G,EAAIuS,GAAS,QAIrDrT,eAAe,GAAG03B,UAAU,KAAKkB,IAAI,SAASzkC,EAAQnB,EAAOD,GAsBhE,SAAS8S,EAAOnI,GACT5D,MAAM++B,QAAQvB,UAAU,MACvB55B,GACItG,SAAUkgC,UAAU,GACpBC,KAAMD,UAAU,IAEpBh8B,QAAQC,KAAK,wHAEjBmC,EAAUA,MAOVvG,KAAKC,YAIL,IAAI,IADAA,OAAgCqf,IAArB/Y,EAAQtG,SAAyBsG,EAAQtG,YAChDtD,EAAE,EAAGA,EAAIsD,EAASnD,OAAQH,IAAI,CAClC,IAAI2D,EAAImG,EAAKC,SACbD,EAAK9E,KAAKrB,EAAGL,EAAStD,IACtBqD,KAAKC,SAASa,KAAKR,GAUvB,GAFAN,KAAKogC,QAEF75B,EAAQ65B,KAGP,IAAQzjC,EAAE,EAAGA,EAAI4J,EAAQ65B,KAAKtjC,OAAQH,IAAI,CACtC,IAAI6f,EAAO/V,EAAKC,SAChBD,EAAK9E,KAAK6a,EAAMjW,EAAQ65B,KAAKzjC,IAC7BqD,KAAKogC,KAAKt/B,KAAK0b,QAMnB,IAAQ7f,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,OAAQH,IAAI,CAEzC,IAAI2d,EAActa,KAAKC,SAAStD,GAC5B4d,EAAcva,KAAKC,UAAUtD,EAAE,GAAKqD,KAAKC,SAASnD,QAElDof,EAASzV,EAAKC,SAClBD,EAAKiD,IAAIwS,EAAQ3B,EAAaD,GAG9B7T,EAAKuL,WAAWkK,EAAQA,GACxBzV,EAAK6L,UAAU4J,EAAQA,GAEvBlc,KAAKogC,KAAKt/B,KAAKob,GAoCvB,GA1BAlc,KAAK02B,aAAejwB,EAAKqI,WAAW,EAAE,GAOtC9O,KAAK2hC,aAEF3hC,KAAKC,SAASnD,SACbkD,KAAK22B,kBACL32B,KAAK42B,sBAQT52B,KAAK6J,eAAiB,EAEtBtD,EAAQhB,KAAOoJ,EAAM6D,OACrB7D,EAAM9R,KAAKmD,KAAMuG,GAEjBvG,KAAK00B,uBACL10B,KAAKqgC,aACFrgC,KAAKtB,KAAO,EACX,MAAM,IAAI9B,MAAM,8DAlHxB,IAAI+R,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBACf4kC,EAAQ5kC,EAAQ,iBACPA,EAAQ,eAErBnB,EAAOD,QAAU8S,GAgHjBA,EAAOtO,UAAY,IAAIuO,GACNhE,YAAc+D,EAE/B,IAAImzB,EAAUp7B,EAAKC,SACfo7B,EAAUr7B,EAAKC,SAUnBgI,EAAOtO,UAAU2hC,qBAAuB,SAAS3mB,EAAWtY,GAQxD,IAAI,IALAxC,EACA6a,EAHAxS,EAAI,KACJ3G,EAAI,KAGJoZ,EAAYymB,EAGRllC,EAAE,EAAGA,EAAEqD,KAAKC,SAASnD,OAAQH,IACjC2D,EAAIN,KAAKC,SAAStD,GAClBwe,EAAQ1U,EAAKlH,IAAIe,EAAG8a,IACT,OAARzS,GAAgBwS,EAAQxS,KACvBA,EAAMwS,IAEC,OAARnZ,GAAgBmZ,EAAQnZ,KACvBA,EAAMmZ,GAId,GAAGnZ,EAAM2G,EAAI,CACT,IAAIxM,EAAI6F,EACRA,EAAM2G,EACNA,EAAMxM,EAGVsK,EAAK4G,IAAIvK,EAAQd,EAAK2G,IAG1B+F,EAAOtO,UAAU4hC,qBAAuB,SAAS5mB,EAAW6mB,EAAaC,EAAYp/B,GACjF,IAAIoY,EAAY4mB,EAEhB9hC,KAAK+hC,qBAAqB3mB,EAAWtY,GAGnB,IAAfo/B,EACCz7B,EAAKS,OAAOgU,EAAWE,EAAW8mB,GAElChnB,EAAYE,EAEhB,IAAI3J,EAAShL,EAAKlH,IAAI0iC,EAAa/mB,GAEnCzU,EAAK4G,IAAIvK,EAAQA,EAAO,GAAK2O,EAAQ3O,EAAO,GAAK2O,IAQrD/C,EAAOtO,UAAUu2B,gBAAkB,WAE/B32B,KAAK2hC,UAAU7kC,OAAS,EAIxB,IAAI,IADAqlC,KACIxlC,EAAE,EAAGA,EAAEqD,KAAKC,SAASnD,OAAQH,IAAI,CACrC,IAAI2D,EAAIN,KAAKC,SAAStD,GACtBwlC,EAAWrhC,KAAKR,EAAE,GAAGA,EAAE,IAO3B,IAAI,IAHAqhC,EAAYC,EAAMvT,YAAY8T,GAG1BxlC,EAAE,EAAGA,EAAEglC,EAAU7kC,OAAQH,GAAG,EAAE,CAClC,IAAIiU,EAAM+wB,EAAUhlC,GAChBmU,EAAM6wB,EAAUhlC,EAAE,GAClBylC,EAAMT,EAAUhlC,EAAE,GAGtBqD,KAAK2hC,UAAU7gC,MAAM8P,EAAIE,EAAIsxB,MAIrC,IAAIC,EAA8B57B,EAAKC,SACnC47B,EAAyC77B,EAAKC,SAC9C67B,EAAuB97B,EAAKC,SAC5B87B,EAAuB/7B,EAAKC,SAC5B+7B,EAAuBh8B,EAAKC,SACJD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACND,EAAKC,SAMhCgI,EAAOtO,UAAUw2B,mBAAqB,WAClC,IAAI+K,EAAY3hC,KAAK2hC,UACjBxzB,EAAQnO,KAAKC,SACbw2B,EAAKz2B,KAAK02B,aACVzF,EAAWoR,EAEX5lC,EAAI8lC,EACJ5jC,EAAI6jC,EACJ5jC,EAAI6jC,EAIJC,EAAsBJ,EAE1B77B,EAAK4G,IAAIopB,EAAG,EAAE,GAGd,IAAI,IAFApC,EAAY,EAER13B,EAAE,EAAGA,IAAIglC,EAAU7kC,OAAQH,IAAI,CACnC,IAAIR,EAAIwlC,EAAUhlC,GACdF,EAAI0R,EAAMhS,EAAE,IACZwC,EAAIwP,EAAMhS,EAAE,IACZyC,EAAIuP,EAAMhS,EAAE,IAEhBsK,EAAKwqB,SAASA,EAASx0B,EAAEkC,EAAEC,GAI3B,IAAIi2B,EAAInmB,EAAOi0B,aAAalmC,EAAEkC,EAAEC,GAChCy1B,GAAaQ,EAGbpuB,EAAK4L,MAAMqwB,EAAqBzR,EAAU4D,GAC1CpuB,EAAKgB,IAAIgvB,EAAIA,EAAIiM,GAGrBj8B,EAAK4L,MAAMokB,EAAGA,EAAG,EAAEpC,IAUvB3lB,EAAOtO,UAAU40B,uBAAyB,SAASzC,GAI/C,IAAI,IAHAqQ,EAAQ,EACRC,EAAQ,EACR1hC,EAAInB,KAAKC,SAASnD,OACd8E,EAAIT,EAAE,EAAGxE,EAAI,EAAGA,EAAIwE,EAAGS,EAAIjF,EAAGA,IAAK,CACvC,IAAIm1B,EAAK9xB,KAAKC,SAAS2B,GACnB5D,EAAKgC,KAAKC,SAAStD,GACnBF,EAAIgD,KAAKiF,IAAI+B,EAAK+H,YAAYsjB,EAAG9zB,IAErC4kC,GAASnmC,GADDgK,EAAKlH,IAAIvB,EAAGA,GAAMyI,EAAKlH,IAAIvB,EAAG8zB,GAAMrrB,EAAKlH,IAAIuyB,EAAGA,IAExD+Q,GAASpmC,EAEb,OAAQ81B,EAAO,GAAQqQ,EAAQC,IAOnCn0B,EAAOtO,UAAUs0B,qBAAuB,WAIpC,IAAI,IAHAvmB,EAAQnO,KAAKC,SACb80B,EAAK,EAEDp4B,EAAE,EAAGA,IAAIwR,EAAMrR,OAAQH,IAAI,CAC/B,IAAIU,EAAKoJ,EAAKmD,cAAcuE,EAAMxR,IAC/BU,EAAK03B,IACJA,EAAK13B,GAIb2C,KAAK6J,eAAiBpK,KAAKC,KAAKq1B,IAYpCrmB,EAAOi0B,aAAe,SAASlmC,EAAEkC,EAAEC,GAC/B,MAAuE,KAA7DD,EAAE,GAAKlC,EAAE,KAAKmC,EAAE,GAAKnC,EAAE,KAAOmC,EAAE,GAAKnC,EAAE,KAAKkC,EAAE,GAAKlC,EAAE,MAOnEiS,EAAOtO,UAAUigC,WAAa,WAC1BrgC,KAAK22B,kBACL32B,KAAKtB,KAAO,EAIZ,IAAI,IAFAijC,EAAY3hC,KAAK2hC,UACjBxzB,EAAQnO,KAAKC,SACTtD,EAAE,EAAGA,IAAIglC,EAAU7kC,OAAQH,IAAI,CACnC,IAAIR,EAAIwlC,EAAUhlC,GACdF,EAAI0R,EAAMhS,EAAE,IACZwC,EAAIwP,EAAMhS,EAAE,IACZyC,EAAIuP,EAAMhS,EAAE,IAGZ04B,EAAInmB,EAAOi0B,aAAalmC,EAAEkC,EAAEC,GAChCoB,KAAKtB,MAAQm2B,IAUrBnmB,EAAOtO,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACnD6a,EAAIhb,cAAc5G,KAAKC,SAAU6G,EAAUC,EAAO,IAGtD,IAAI+7B,EAA2Br8B,EAAKC,SAChCq8B,EAAyBt8B,EAAKC,SAC9Bs8B,EAAyBv8B,EAAKC,SASlCgI,EAAOtO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACvD,IAAIk8B,EAAWH,EACXI,EAASH,EACT7mB,EAAS8mB,EACT/iC,EAAWD,KAAKC,SAGpBwG,EAAK+pB,aAAayS,EAAU/6B,EAAItH,KAAMkG,EAAUC,GAChDN,EAAK+pB,aAAa0S,EAAQh7B,EAAIrH,GAAIiG,EAAUC,GAI5C,IAAK,IAFD3K,EAAI6D,EAASnD,OAERH,EAAI,EAAGA,EAAIP,IAAM0G,EAAOsd,WAAWlY,GAAMvL,IAAK,CACnD,IAAIsB,EAAKgC,EAAStD,GACduB,EAAK+B,GAAUtD,EAAE,GAAKP,GACtB+D,EAAQsG,EAAKurB,oCAAoCiR,EAAUC,EAAQjlC,EAAIC,GAExEiC,GAAS,IACRsG,EAAKiD,IAAIwS,EAAQhe,EAAID,GACrBwI,EAAKS,OAAOgV,EAAQA,GAASzc,KAAKye,GAAK,EAAInX,GAC3CN,EAAK6L,UAAU4J,EAAQA,GACvBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,EAAQvf,QAKvDwmC,gBAAgB,GAAGt6B,eAAe,GAAG03B,UAAU,GAAGn6B,cAAc,IAAIg9B,IAAI,SAASpmC,EAAQnB,EAAOD,GAqCnG,SAASkhC,EAAYv2B,GACjB,GAAG5D,MAAM++B,QAAQvB,UAAU,IAAI,CAK3B,GAJA55B,GACImX,QAASyiB,UAAU,IAGK,iBAAlBA,UAAU,GAChB,IAAI,IAAIkD,KAAOlD,UAAU,GACrB55B,EAAQ88B,GAAOlD,UAAU,GAAGkD,GAIpCl/B,QAAQC,KAAK,gIAEjBmC,EAAUA,MAMVvG,KAAK0d,QAAUnX,EAAQmX,QAAUnX,EAAQmX,QAAQjb,MAAM,MAMvDzC,KAAKsjC,SAAW/8B,EAAQ+8B,UAAY,KAMpCtjC,KAAKujC,SAAWh9B,EAAQg9B,UAAY,KAMpCvjC,KAAK4d,aAAerX,EAAQqX,cAAgB,QAEpB0B,IAArB/Y,EAAQ+8B,eAA+ChkB,IAArB/Y,EAAQg9B,UACzCvjC,KAAKwjC,qBAGTj9B,EAAQhB,KAAOoJ,EAAMwO,YACrBxO,EAAM9R,KAAKmD,KAAMuG,GAjFrB,IAAIoI,EAAQ3R,EAAQ,WACfyJ,EAAOzJ,EAAQ,gBACPA,EAAQ,kBAErBnB,EAAOD,QAAUkhC,GA+EjBA,EAAY18B,UAAY,IAAIuO,GACNhE,YAAcmyB,EAMpCA,EAAY18B,UAAUojC,mBAAqB,WAIvC,IAAI,IAHA/lB,EAAOzd,KAAK0d,QACZ4lB,EAAW7lB,EAAK,GAChB8lB,EAAW9lB,EAAK,GACZ9gB,EAAE,EAAGA,IAAM8gB,EAAK3gB,OAAQH,IAAI,CAChC,IAAI2D,EAAImd,EAAK9gB,GACV2D,EAAIgjC,IACHA,EAAWhjC,GAEZA,EAAIijC,IACHA,EAAWjjC,GAGnBN,KAAKsjC,SAAWA,EAChBtjC,KAAKujC,SAAWA,GAQpBzG,EAAY18B,UAAU40B,uBAAyB,SAASzC,GACpD,OAAOlwB,OAAOC,WAGlBw6B,EAAY18B,UAAUs0B,qBAAuB,WACzC10B,KAAK6J,eAAiBxH,OAAOC,WAGjCw6B,EAAY18B,UAAUigC,WAAa,WAG/B,IAAI,IAFA5iB,EAAOzd,KAAK0d,QACZhf,EAAO,EACH/B,EAAE,EAAGA,EAAE8gB,EAAK3gB,OAAO,EAAGH,IAC1B+B,IAAS+e,EAAK9gB,GAAG8gB,EAAK9gB,EAAE,IAAM,EAAIqD,KAAK4d,aAE3C5d,KAAKtB,KAAOA,GAGhB,IAAImI,GACAJ,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,UASTo2B,EAAY18B,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACxDN,EAAK4G,IAAIxG,EAAO,GAAI,EAAG7G,KAAKsjC,UAC5B78B,EAAK4G,IAAIxG,EAAO,GAAI7G,KAAK4d,aAAe5d,KAAK0d,QAAQ5gB,OAAQkD,KAAKsjC,UAClE78B,EAAK4G,IAAIxG,EAAO,GAAI7G,KAAK4d,aAAe5d,KAAK0d,QAAQ5gB,OAAQkD,KAAKujC,UAClE98B,EAAK4G,IAAIxG,EAAO,GAAI,EAAG7G,KAAKujC,UAC5B3hB,EAAIhb,cAAcC,EAAQC,EAAUC,IAUxC+1B,EAAY18B,UAAUqjC,eAAiB,SAASC,EAAOrL,EAAK17B,GACxD,IAAI8gB,EAAOzd,KAAK0d,QACZnK,EAAQvT,KAAK4d,aACjBnX,EAAK4G,IAAIq2B,EAAO/mC,EAAI4W,EAAOkK,EAAK9gB,IAChC8J,EAAK4G,IAAIgrB,GAAM17B,EAAI,GAAK4W,EAAOkK,EAAK9gB,EAAI,KAG5CmgC,EAAY18B,UAAUujC,gBAAkB,SAAS78B,GAC7C,OAAOrH,KAAKse,MAAMjX,EAAS,GAAK9G,KAAK4d,eAGzCkf,EAAY18B,UAAUwjC,uBAAyB,SAAS98B,GACpD,IAAInK,EAAIqD,KAAK2jC,gBAAgB78B,GAE7B,OADAnK,EAAI8C,KAAKuC,IAAIhC,KAAK0d,QAAQ5gB,OAAQ2C,KAAKkJ,IAAIhM,EAAG,KAIT8J,EAAKC,SAA9C,IACIm9B,EAAmCp9B,EAAKC,SACxCo9B,EAA0Br9B,EAAKC,SAC/Bq9B,EAA0Bt9B,EAAKC,SAC/Bs9B,EAAiCv9B,EAAKC,SACtCu9B,EAA+Bx9B,EAAKC,SACND,EAAKqI,WAAW,EAAE,GA+BpDguB,EAAY18B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GAC5D,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAITwV,GAHYnO,EAAIE,UAGFy7B,GACd9C,EAAK+C,EACL1mC,EAAK2mC,EACLG,EAAYF,EACZG,EAAUF,EAGdx9B,EAAK+pB,aAAa0T,EAAWtjC,EAAMkG,EAAUC,GAC7CN,EAAK+pB,aAAa2T,EAAStjC,EAAIiG,EAAUC,GAGzC,IAAI0nB,EAAKzuB,KAAK4jC,uBAAuBM,GACjCxV,EAAK1uB,KAAK4jC,uBAAuBO,GACrC,GAAG1V,EAAKC,EAAG,CACP,IAAIxtB,EAAMutB,EACVA,EAAKC,EACLA,EAAKxtB,EAIT,IAAI,IAAIvE,EAAE,EAAGA,EAAEqD,KAAK0d,QAAQ5gB,OAAS,EAAGH,IAAI,CACxCqD,KAAKyjC,eAAe1C,EAAI3jC,EAAIT,GAC5B,IAAIR,EAAIsK,EAAKurB,oCAAoCkS,EAAWC,EAASpD,EAAI3jC,GACzE,GAAGjB,GAAK,IACJsK,EAAKiD,IAAI2M,EAAajZ,EAAI2jC,GAC1Bt6B,EAAKS,OAAOmP,EAAaA,EAAatP,EAAQtH,KAAKye,GAAK,GACxDzX,EAAK6L,UAAU+D,EAAaA,GAC5BnO,EAAI8Y,mBAAmBle,EAAQ3G,EAAGka,GAAc,GAC7CvT,EAAOsd,WAAWlY,IACjB,WAKbW,eAAe,GAAGC,iBAAiB,GAAGy3B,UAAU,KAAK6D,IAAI,SAASpnC,EAAQnB,EAAOD,GAcpF,SAASqB,EAAKsJ,GACkB,iBAAlB45B,UAAU,KAChB55B,GACIzJ,OAAQqjC,UAAU,IAEtBh8B,QAAQC,KAAK,8GAEjBmC,EAAUA,MAOVvG,KAAKlD,OAASyJ,EAAQzJ,QAAU,EAEhCyJ,EAAQhB,KAAOoJ,EAAM4D,KACrB5D,EAAM9R,KAAKmD,KAAMuG,GA9BrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUqB,GA6BjBA,EAAKmD,UAAY,IAAIuO,GACNhE,YAAc1N,EAE7BA,EAAKmD,UAAU40B,uBAAyB,SAASzC,GAC7C,OAAOA,EAAO9yB,KAAKsY,IAAI/X,KAAKlD,OAAO,GAAK,IAG5CG,EAAKmD,UAAUs0B,qBAAuB,WAClC10B,KAAK6J,eAAiB7J,KAAKlD,OAAO,GAGtC,IAAI+J,GAAUJ,EAAKC,SAASD,EAAKC,UAQjCzJ,EAAKmD,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACjD,IAAI1J,EAAK2C,KAAKlD,OAAS,EACvB2J,EAAK4G,IAAIxG,EAAO,IAAKxJ,EAAK,GAC1BoJ,EAAK4G,IAAIxG,EAAO,GAAKxJ,EAAK,GAC1BukB,EAAIhb,cAAcC,EAAOC,EAASC,EAAM,IAGrBN,EAAKC,SAA5B,IACI29B,EAAiB59B,EAAKC,SACtB49B,EAAa79B,EAAKC,SAClB69B,EAAa99B,EAAKC,SAClB89B,EAAiB/9B,EAAKqI,WAAW,EAAE,GASvC7R,EAAKmD,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACrD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAETkgC,EAAKuD,EACLlnC,EAAKmnC,EAGLvD,EAAUhhC,KAAKlD,OAAS,EAC5B2J,EAAK4G,IAAI0zB,GAAKC,EAAS,GACvBv6B,EAAK4G,IAAIjQ,EAAI4jC,EAAS,GACtBv6B,EAAKkqB,cAAcoQ,EAAIA,EAAIj6B,EAAUC,GACrCN,EAAKkqB,cAAcvzB,EAAIA,EAAI0J,EAAUC,GAErC,IAAIka,EAAWxa,EAAKurB,oCAAoC+O,EAAI3jC,EAAIwD,EAAMC,GACtE,GAAGogB,GAAY,EAAE,CACb,IAAI/E,EAASmoB,EACb59B,EAAKS,OAAOgV,EAAQsoB,EAAgBz9B,GACpCmB,EAAI8Y,mBAAmBle,EAAQme,EAAU/E,GAAS,OAGvDrT,eAAe,GAAG03B,UAAU,KAAKkE,IAAI,SAASznC,EAAQnB,EAAOD,GAahE,SAASmhC,EAASx2B,IACdA,EAAUA,OACLhB,KAAOoJ,EAAM4H,SAClB5H,EAAM9R,KAAKmD,KAAMuG,GAfrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUmhC,GAcjBA,EAAS38B,UAAY,IAAIuO,GACNhE,YAAcoyB,EAEjCA,EAAS38B,UAAU40B,uBAAyB,SAASzC,GACjD,OAAO,GAGXwK,EAAS38B,UAAUs0B,qBAAuB,WACtC10B,KAAK6J,eAAiB,GAS1BkzB,EAAS38B,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GACrDN,EAAK9E,KAAKigB,EAAIpb,WAAYM,GAC1BL,EAAK9E,KAAKigB,EAAIjb,WAAYG,MAG3B+B,eAAe,GAAG03B,UAAU,KAAKmE,IAAI,SAAS1nC,EAAQnB,EAAOD,GAchE,SAASohC,EAAMz2B,IACXA,EAAUA,OACFhB,KAAOoJ,EAAMgH,MACrBhH,EAAM9R,KAAKmD,KAAMuG,GAhBrB,IAAIoI,EAAS3R,EAAQ,WAChByJ,EAAQzJ,EAAQ,gBACRA,EAAQ,kBAErBnB,EAAOD,QAAUohC,GAcjBA,EAAM58B,UAAY,IAAIuO,GACNhE,YAAcqyB,EAM9BA,EAAM58B,UAAU40B,uBAAyB,SAASzC,GAC9C,OAAO,GAOXyK,EAAM58B,UAAUs0B,qBAAuB,WACnC10B,KAAK6J,eAAiBxH,OAAOC,WASjC06B,EAAM58B,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,GAClD,IAAItK,EAAIsK,GAAS,EAAItH,KAAKye,IACtB7Q,EAAM5G,EAAK4G,IAEX7G,EAAaob,EAAIpb,WACjBG,EAAaib,EAAIjb,WAGrB0G,EAAI7G,GALM,KAAA,KAMV6G,EAAI1G,EANM,IAAA,KAQD,IAANlK,EAECkK,EAAW,GAAK,EAIVlK,IAAMgD,KAAKye,GAAK,EAGtB1X,EAAW,GAAK,EAIV/J,IAAMgD,KAAKye,GAGjB1X,EAAW,GAAK,EAIV/J,IAAM,EAAEgD,KAAKye,GAAG,IAGtBvX,EAAW,GAAK,IAOxBq2B,EAAM58B,UAAUigC,WAAa,WACzBrgC,KAAKtB,KAAO2D,OAAOC,WAGvB,IAAIqiC,EAAkCl+B,EAAKC,SAGvCk+B,GAFmCn+B,EAAKC,SACdD,EAAKC,SACPD,EAAKC,UAC7Bm+B,EAAqBp+B,EAAKC,SAS9Bs2B,EAAM58B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACtD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GACTuH,EAAYF,EAAIE,UAChB08B,EAAmBH,EAGnBzoB,EAAS0oB,EACTrT,EAAMsT,EAGVp+B,EAAK4G,IAAI6O,EAAQ,EAAG,GACpBzV,EAAKS,OAAOgV,EAAQA,EAAQnV,GAE5BN,EAAKiD,IAAI6nB,EAAK3wB,EAAMkG,GACpB,IAAIi+B,EAAct+B,EAAKlH,IAAIgyB,EAAKrV,GAIhC,GAHAzV,EAAKiD,IAAI6nB,EAAK1wB,EAAIiG,KAGfi+B,EAFat+B,EAAKlH,IAAIgyB,EAAKrV,GAED,GAK1BzV,EAAKuZ,gBAAgBpf,EAAMC,GAAMkkC,EAAcA,GAAlD,CAIA,IAAIC,EAAYv+B,EAAKlH,IAAI2c,EAAQ9T,GAEjC3B,EAAKiD,IAAIo7B,EAAkBlkC,EAAMkG,GACjC,IAAI3K,GAAKsK,EAAKlH,IAAI2c,EAAQ4oB,GAAoBE,EAAY98B,EAAIpL,OAE9DoL,EAAI8Y,mBAAmBle,EAAQ3G,EAAG+f,GAAS,OAE5CrT,eAAe,GAAGC,iBAAiB,GAAGy3B,UAAU,KAAK0E,IAAI,SAASjoC,EAAQnB,EAAOD,GAkBpF,SAAS+S,EAAMpI,GACXA,EAAUA,MAMVvG,KAAKqgB,KAAO,KAMZrgB,KAAK8G,SAAWL,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQO,UACPL,EAAK9E,KAAK3B,KAAK8G,SAAUP,EAAQO,UAOrC9G,KAAK+G,MAAQR,EAAQQ,OAAS,EAgB9B/G,KAAKuF,KAAOgB,EAAQhB,MAAQ,EAO5BvF,KAAK6Q,GAAKlC,EAAMkf,YAOhB7tB,KAAK6J,eAAiB,EA+BtB7J,KAAKyf,oBAA4CH,IAA3B/Y,EAAQkZ,eAA+BlZ,EAAQkZ,eAAiB,EAMtFzf,KAAKwgB,uBAAkDlB,IAA9B/Y,EAAQia,mBAAkCja,EAAQia,kBAO3ExgB,KAAKwf,mBAA0CF,IAA1B/Y,EAAQiZ,cAA8BjZ,EAAQiZ,cAAgB,EAOnFxf,KAAKklC,SAAW3+B,EAAQ2+B,UAAY,KAOpCllC,KAAKtB,KAAO,EAMZsB,KAAKmlC,YAA4B7lB,IAAnB/Y,EAAQ4+B,QAAuB5+B,EAAQ4+B,OAElDnlC,KAAKuF,MACJvF,KAAK00B,uBAGT10B,KAAKqgC,aA3ITxkC,EAAOD,QAAU+S,EAEjB,IAAIlI,EAAOzJ,EAAQ,gBA4InB2R,EAAMkf,UAAY,EAMlBlf,EAAMmI,OAAc,EAMpBnI,EAAM4H,SAAc,EAMpB5H,EAAMgH,MAAc,EAMpBhH,EAAM6D,OAAc,EAMpB7D,EAAM4D,KAAc,GAMpB5D,EAAMqE,IAAQ,GAEdoqB,OAAOC,eAAe1uB,EAAO,aACzBoC,IAAK,WAED,OADA5M,QAAQC,KAAK,yDACNuK,EAAMqE,OAQrBrE,EAAM+E,QAAc,GAMpB/E,EAAMwO,YAAc,IAQpBxO,EAAMvO,UAAU40B,uBAAyB,SAASzC,KAOlD5jB,EAAMvO,UAAUs0B,qBAAuB,aAMvC/lB,EAAMvO,UAAUigC,WAAa,aAW7B1xB,EAAMvO,UAAUq0B,YAAc,SAAS7S,EAAK9a,EAAUC,KAYtD4H,EAAMvO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,OAGvD8B,eAAe,KAAKu8B,IAAI,SAASpoC,EAAQnB,EAAOD,GAkBnD,SAASihC,EAASt2B,GACd22B,EAAOrgC,KAAKmD,KAAKuG,EAAQ22B,EAAOmI,IAChC9+B,EAAUA,MAOVvG,KAAKslC,WAAa/+B,EAAQ++B,YAAc,GAQxCtlC,KAAKulC,UAAYh/B,EAAQg/B,WAAa,KAEtCvlC,KAAKwlC,UAAY,GACjBxlC,KAAKylC,OAAS,IAAIjjB,EAAM0H,WAAWlqB,KAAKwlC,WACxCxlC,KAAK0lC,GAAS,IAAIljB,EAAM0H,WAAWlqB,KAAKwlC,WACxCxlC,KAAK2lC,MAAS,IAAInjB,EAAM0H,WAAWlqB,KAAKwlC,WAQxCxlC,KAAK4lC,YAAa,EAWlB5lC,KAAK6lC,wBAAoDvmB,IAA/B/Y,EAAQs/B,mBAAmC,EAAIt/B,EAAQs/B,mBAMjF7lC,KAAK8lC,eAAiB,EAK1B,SAASC,EAAaC,GAElB,IADA,IAAI/+B,EAAI++B,EAAMlpC,OACRmK,KACF++B,EAAM/+B,GAAK,EAxEnB,IAAIR,EAAOzJ,EAAQ,gBACfkgC,EAASlgC,EAAQ,YACjBwlB,EAAQxlB,EAAQ,kBAChBqvB,EAAmBrvB,EAAQ,iCAE/BnB,EAAOD,QAAUihC,GA6DjBA,EAASz8B,UAAY,IAAI88B,GACNvyB,YAAckyB,EAejCA,EAASz8B,UAAU6lC,MAAQ,SAASxc,EAAGxgB,GAEnCjJ,KAAKkmC,gBAEL,IAAItN,EAAO,EACPuN,EAAUnmC,KAAKslC,WACfc,EAAkBpmC,KAAK6lC,mBACvB1iB,EAAYnjB,KAAKmjB,UACjBkjB,EAAMljB,EAAUrmB,OAChBwpC,EAAa7mC,KAAKsY,IAAI/X,KAAKulC,UAAUc,EAAK,GAC1Cz7B,EAAS3B,EAAM2B,OACf27B,EAAUt9B,EAAM2B,OAAO9N,OAGvB8oC,GAFMn/B,EAAKgB,IACLhB,EAAK4G,IACErN,KAAK4lC,YAClBH,EAASzlC,KAAKylC,OAIlB,GAFAzlC,KAAK8lC,eAAiB,EAEnBO,EACC,IAAQ1pC,EAAE,EAAGA,IAAI4pC,EAAS5pC,KAClBgC,EAAIiM,EAAOjO,IAGbu3B,4BAKPuR,EAAO3oC,OAASupC,IACfZ,EAASzlC,KAAKylC,OAAU,IAAIjjB,EAAM0H,WAAWmc,EAAMrmC,KAAKwlC,WACxDxlC,KAAK0lC,GAAmB,IAAIljB,EAAM0H,WAAWmc,EAAMrmC,KAAKwlC,WACxDxlC,KAAK2lC,MAAmB,IAAInjB,EAAM0H,WAAWmc,EAAMrmC,KAAKwlC,YAE5DO,EAAaN,GAKb,IAAI,IAJAE,EAAQ3lC,KAAK2lC,MACbD,EAAK1lC,KAAK0lC,GACVD,EAASzlC,KAAKylC,OAEV9oC,EAAE,EAAGA,IAAIwmB,EAAUrmB,OAAQH,MAC3BiC,EAAIukB,EAAUxmB,IACbytB,WAAaX,GAAK7qB,EAAE2S,eACrB3S,EAAEwrB,SAAWX,EACb7qB,EAAEihB,UAEN6lB,EAAG/oC,GAASiC,EAAE4qB,SAAS5qB,EAAEnC,EAAEmC,EAAED,EAAE8qB,GAC/Bkc,EAAMhpC,GAAMiC,EAAEstB,YAAYttB,EAAEurB,SAGhC,IAAUvrB,EAAG4nC,EAAiB5kC,EAE9B,GAAW,IAARykC,EAAU,CAET,IAAI1pC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAAI,CACtB,IAAIgC,EAAIiM,EAAOjO,GAGfgC,EAAEw4B,0BAGN,GAAGiP,EAAgB,CAEf,IAAIxN,EAAK,EAAGA,IAAOwN,EAAiBxN,IAAO,CAKvC,IAFA4N,EAAiB,EAEb5kC,EAAE,EAAGA,IAAIykC,EAAKzkC,IAAI,CAClBhD,EAAIukB,EAAUvhB,GAEVmqB,EAAc8Q,EAAS4J,gBAAgB7kC,EAAEhD,EAAEA,EAAEurB,QAAQub,EAAGC,EAAMF,EAAOG,EAAWnc,EAAEmP,GACtF4N,GAAkB/mC,KAAKiF,IAAIqnB,GAM/B,GAHA/rB,KAAK8lC,iBAGFU,EAAeA,GAAkBF,EAChC,MAOR,IAHAzJ,EAAS6J,kBAAkBvjB,EAAWsiB,EAAQ,EAAEhc,GAG5C7nB,EAAE,EAAGA,IAAIykC,EAAKzkC,IAAI,CAClB,IAAI9D,EAAKqlB,EAAUvhB,GACnB,GAAG9D,aAAcuuB,EAAiB,CAE9B,IAAI,IADAvwB,EAAI,EACAgG,EAAE,EAAGA,IAAIhE,EAAG4N,iBAAiB5O,OAAQgF,IACzChG,GAAKgC,EAAG4N,iBAAiB5J,GAAGuoB,WAEhCvuB,GAAKgC,EAAGiO,oBAAsBjO,EAAG4N,iBAAiB5O,OAClDgB,EAAGomB,SAAYpoB,EACfgC,EAAGgnB,UAAYhpB,IAM3B,IAAI88B,EAAK,EAAGA,IAAOuN,EAASvN,IAAO,CAK/B,IAFA4N,EAAiB,EAEb5kC,EAAE,EAAGA,IAAIykC,EAAKzkC,IAAI,CAClBhD,EAAIukB,EAAUvhB,GAEd,IAAImqB,EAAc8Q,EAAS4J,gBAAgB7kC,EAAEhD,EAAEA,EAAEurB,QAAQub,EAAGC,EAAMF,EAAOG,EAAWnc,EAAEmP,GACtF4N,GAAkB/mC,KAAKiF,IAAIqnB,GAM/B,GAHA/rB,KAAK8lC,iBAGFU,EAAeA,GAAkBF,EAChC,MAKR,IAAI3pC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAClBiO,EAAOjO,GAAGy6B,wBAGdyF,EAAS6J,kBAAkBvjB,EAAWsiB,EAAQ,EAAEhc,KAKxDoT,EAAS6J,kBAAoB,SAASvjB,EAAWsiB,EAAQkB,GAGrD,IADA,IAAI1/B,EAAIkc,EAAUrmB,OACZmK,KACFkc,EAAUlc,GAAGojB,WAAaob,EAAOx+B,GAAK0/B,GAI9C9J,EAAS4J,gBAAkB,SAAS7kC,EAAE9D,EAAGquB,EAAIuZ,EAAGC,EAAMF,EAAOG,EAAWtO,EAAGsB,GAEvE,IAAIgO,EAAIlB,EAAG9jC,GACPilC,EAAOlB,EAAM/jC,GACbklC,EAAUrB,EAAO7jC,GACjBmlC,EAAWjpC,EAAG0sB,kBAEdtG,EAAWpmB,EAAGomB,SACdY,EAAWhnB,EAAGgnB,SAEf8gB,IACCgB,EAAI,GAGR,IAAI7a,EAAc8a,GAASD,EAAIG,EAAW5a,EAAM2a,GAG5CE,EAA2BF,EAAU/a,EASzC,OARGib,EAA2BliB,EAASwS,EACnCvL,EAAcjH,EAASwS,EAAKwP,EACtBE,EAA2B9iB,EAASoT,IAC1CvL,EAAc7H,EAASoT,EAAKwP,GAEhCrB,EAAO7jC,IAAMmqB,EACbjuB,EAAGguB,aAAaC,GAETA,KAGRlN,gCAAgC,GAAGhW,eAAe,GAAGC,iBAAiB,GAAGm+B,WAAW,KAAKC,IAAI,SAASlqC,EAAQnB,EAAOD,GAYxH,SAASshC,EAAO32B,EAAQhB,GACpBgB,EAAUA,MAEVsmB,EAAahwB,KAAKmD,MAElBA,KAAKuF,KAAOA,EAQZvF,KAAKmjB,aAOLnjB,KAAKmnC,qBAAuB5gC,EAAQ4gC,uBAAwB,EA/BpDnqC,EAAQ,kBAApB,IACI6vB,EAAe7vB,EAAQ,0BAE3BnB,EAAOD,QAAUshC,GA8BjBA,EAAO98B,UAAY,IAAIysB,GACNliB,YAAcuyB,EAQ/BA,EAAO98B,UAAU6lC,MAAQ,SAAS3O,EAAGruB,GACjC,MAAM,IAAIrM,MAAM,sDAGpB,IAAIwqC,GAAax8B,WAQjBsyB,EAAO98B,UAAUinC,YAAc,SAAS/P,EAAGgQ,GAEvCtnC,KAAKunC,qBAEFD,EAAOnkB,UAAUrmB,SAEhBkD,KAAKwnC,aAAaF,EAAOnkB,WACzBikB,EAAUx8B,OAAO9N,OAAS,EAC1BwqC,EAAOG,UAAUL,EAAUx8B,QAGxBw8B,EAAUx8B,OAAO9N,QAChBkD,KAAKimC,MAAM3O,EAAG8P,KAS1BlK,EAAO98B,UAAU8lC,cAAgB,WAC1BlmC,KAAKmnC,sBACJnnC,KAAKmjB,UAAUukB,KAAK1nC,KAAKmnC,uBAUjCjK,EAAO98B,UAAUunC,YAAc,SAAS7pC,GACjCA,EAAG0T,SACFxR,KAAKmjB,UAAUriB,KAAKhD,IAU5Bo/B,EAAO98B,UAAUonC,aAAe,SAASv2B,GAErC,IAAI,IAAItU,EAAE,EAAGwE,EAAE8P,EAAInU,OAAQH,IAAIwE,EAAGxE,IAAI,CAClC,IAAImB,EAAKmT,EAAItU,GACVmB,EAAG0T,SACFxR,KAAKmjB,UAAUriB,KAAKhD,KAWhCo/B,EAAO98B,UAAUwnC,eAAiB,SAAS9pC,GACvC,IAAInB,EAAIqD,KAAKmjB,UAAUngB,QAAQlF,IACrB,IAAPnB,GACCqD,KAAKmjB,UAAUpgB,OAAOpG,EAAE,IAShCugC,EAAO98B,UAAUmnC,mBAAqB,WAClCvnC,KAAKmjB,UAAUrmB,OAAO,GAG1BogC,EAAOmI,GAAK,EACZnI,EAAO2K,OAAS,IAEb7O,yBAAyB,GAAGlwB,iBAAiB,KAAKg/B,IAAI,SAAS9qC,EAAQnB,EAAOD,GASjF,SAASsQ,IACR+wB,EAAKrB,MAAM57B,KAAMmgC,WATlB,IAAIpZ,EAAkB/pB,EAAQ,gCAC1BigC,EAAOjgC,EAAQ,UAEnBnB,EAAOD,QAAUsQ,GAQjBA,EAAoB9L,UAAY,IAAI68B,GACNtyB,YAAcuB,EAM5CA,EAAoB9L,UAAUsG,OAAS,WACtC,OAAO,IAAIqgB,GAQZ7a,EAAoB9L,UAAU2nC,QAAU,SAAUC,GAEjD,OADAA,EAASx+B,MAAQw+B,EAASv+B,MAAQ,KAC3BzJ,QAGL2e,+BAA+B,GAAGspB,SAAS,KAAKC,IAAI,SAASlrC,EAAQnB,EAAOD,GAS/E,SAASyQ,IACR4wB,EAAKrB,MAAM57B,KAAMmgC,WATlB,IAAI9T,EAAmBrvB,EAAQ,iCAC3BigC,EAAOjgC,EAAQ,UAEnBnB,EAAOD,QAAUyQ,GAQjBA,EAAqBjM,UAAY,IAAI68B,GACNtyB,YAAc0B,EAM7CA,EAAqBjM,UAAUsG,OAAS,WACvC,OAAO,IAAI2lB,GAQZhgB,EAAqBjM,UAAU2nC,QAAU,SAAUC,GAElD,OADAA,EAASx+B,MAAQw+B,EAASv+B,MAAQ,KAC3BzJ,QAGL6e,gCAAgC,GAAGopB,SAAS,KAAKE,IAAI,SAASnrC,EAAQnB,EAAOD,GAShF,SAASwsC,IACRnL,EAAKrB,MAAM57B,KAAMmgC,WATlB,IAAIkI,EAAarrC,EAAQ,uBACrBigC,EAAOjgC,EAAQ,UAEnBnB,EAAOD,QAAUwsC,GAQjBA,EAAehoC,UAAY,IAAI68B,GACNtyB,YAAcy9B,EAMvCA,EAAehoC,UAAUsG,OAAS,WACjC,OAAO,IAAI2hC,GAQZD,EAAehoC,UAAU2nC,QAAU,SAAU1iC,GAE5C,OADAA,EAAK2L,QACEhR,QAGLsoC,sBAAsB,GAAGL,SAAS,KAAKM,IAAI,SAASvrC,EAAQnB,EAAOD,GAStE,SAAS4sC,IACRvL,EAAKrB,MAAM57B,KAAMmgC,WATlB,IAAIsI,EAASzrC,EAAQ,mBACjBigC,EAAOjgC,EAAQ,UAEnBnB,EAAOD,QAAU4sC,GAQjBA,EAAWpoC,UAAY,IAAI68B,GACNtyB,YAAc69B,EAMnCA,EAAWpoC,UAAUsG,OAAS,WAC7B,OAAO,IAAI+hC,GAQZD,EAAWpoC,UAAU2nC,QAAU,SAAUT,GAExC,OADAA,EAAOt2B,QACAhR,QAGL0oC,kBAAkB,GAAGT,SAAS,KAAKU,IAAI,SAAS3rC,EAAQnB,EAAOD,GAalE,SAASgtC,IACL5oC,KAAK6oC,2BAA6B,IAAI77B,EACtChN,KAAK8oC,8BAAgC,IAAI97B,EACzChN,KAAK+oC,WAAa,IAAIC,GAA0B78B,KAAM,KACtDnM,KAAKipC,QAAU,IAAIj8B,EACnBhN,KAAKkpC,aAjBT,IAAIl8B,EAAkBhQ,EAAQ,qBAE1BgsC,GADsBhsC,EAAQ,yBACJA,EAAQ,8BAC1BA,EAAQ,WAEpBnB,EAAOD,QAAUgtC,EAmBjBA,EAAcxoC,UAAU+oC,KAAO,WAM3B,IALA,IAAI3oC,EAAOR,KAAK6oC,2BACZO,EAAUppC,KAAK8oC,8BAGf7hC,EAAIzG,EAAK6oC,KAAKvsC,OACZmK,KAAI,CACN,IAAIo8B,EAAM7iC,EAAK6oC,KAAKpiC,GAChBqiC,EAAa9oC,EAAK+oC,SAASlG,GACX+F,EAAQG,SAASlG,GAClCiG,GAECtpC,KAAK+oC,WAAW33B,QAAQk4B,GAKhC9oC,EAAKwQ,QAGLxQ,EAAKmB,KAAKynC,GAGVA,EAAQp4B,SAUZ43B,EAAcxoC,UAAUopC,eAAiB,SAAShgC,EAAO+G,EAAQ9G,EAAOiH,GACzD1Q,KAAK6oC,2BAAhB,IACIO,EAAUppC,KAAK8oC,8BAGnB,IAAIM,EAAQr4B,IAAIR,EAAOM,GAAIH,EAAOG,IAAI,CAClC,IAAI4M,EAAOzd,KAAK+oC,WAAWh4B,MAC3B0M,EAAKpQ,IAAI7D,EAAO+G,EAAQ9G,EAAOiH,GAC/B04B,EAAQ/7B,IAAIkD,EAAOM,GAAIH,EAAOG,GAAI4M,KAI1CmrB,EAAcxoC,UAAUqpC,eAAiB,SAAS3mC,GAC9C,OAAO9C,KAAK0pC,QAAQ1pC,KAAK6oC,2BAA4B7oC,KAAK8oC,8BAA+BhmC,IAG7F8lC,EAAcxoC,UAAUupC,eAAiB,SAAS7mC,GAC9C,OAAO9C,KAAK0pC,QAAQ1pC,KAAK8oC,8BAA+B9oC,KAAK6oC,2BAA4B/lC,IAU7F8lC,EAAcxoC,UAAU23B,qBAAuB,SAASvuB,EAAOC,GAG3D,IAFA,IAAI2/B,EAAUppC,KAAK8oC,8BACf7hC,EAAImiC,EAAQC,KAAKvsC,OACfmK,KAAI,CACN,IAAIo8B,EAAM+F,EAAQC,KAAKpiC,GACnBwW,EAAO2rB,EAAQ3rB,KAAK4lB,GACxB,GAAI5lB,EAAKjU,QAAUA,GAASiU,EAAKhU,QAAUA,GAAUgU,EAAKjU,QAAUC,GAASgU,EAAKhU,QAAUD,EACxF,OAAO,EAGf,OAAO,GAGXo/B,EAAcxoC,UAAUspC,QAAU,SAASE,EAAOC,EAAO/mC,GACrD,IACItC,EAAOopC,EACPR,EAAUS,GAFV/mC,EAASA,OAINhG,OAAS,EAGhB,IADA,IAAImK,EAAImiC,EAAQC,KAAKvsC,OACfmK,KAAI,CACN,IAAIo8B,EAAM+F,EAAQC,KAAKpiC,GACnBwW,EAAO2rB,EAAQ3rB,KAAK4lB,GAExB,IAAI5lB,EACA,MAAM,IAAI7gB,MAAM,OAAOymC,EAAI,iBAGhB7iC,EAAKid,KAAK4lB,IAGrBvgC,EAAOhC,KAAK2c,GAIpB,OAAO3a,GAGX8lC,EAAcxoC,UAAU0pC,aAAe,SAASv5B,EAAQG,GACpD,IAAIq5B,EAAgB,EAAVx5B,EAAOM,GACbm5B,EAAgB,EAAVt5B,EAAOG,GACbrQ,EAAOR,KAAK6oC,2BACZO,EAAUppC,KAAK8oC,8BAEnB,OAAUtoC,EAAKuQ,IAAIg5B,EAAKC,MAAUZ,EAAQr4B,IAAIg5B,EAAKC,IAGvDpB,EAAcxoC,UAAU6pC,mBAAqB,SAASnnC,GAClD9C,KAAKkpC,UAAUpsC,OAAS,EACxB,IAAI8K,EAAW5H,KAAKypC,eAAezpC,KAAKkpC,WACxC,OAAOlpC,KAAKkqC,YAAYtiC,EAAU9E,IAGtC8lC,EAAcxoC,UAAU+pC,mBAAqB,SAASrnC,GAClD9C,KAAKkpC,UAAUpsC,OAAS,EACxB,IAAI8K,EAAW5H,KAAK2pC,eAAe3pC,KAAKkpC,WACxC,OAAOlpC,KAAKkqC,YAAYtiC,EAAU9E,IAGtC8lC,EAAcxoC,UAAU8pC,YAAc,SAAStiC,EAAU9E,GACrDA,EAASA,MAKT,IAJA,IAAIsnC,EAAcpqC,KAAKipC,QAEnBhiC,EAAIW,EAAS9K,OAEXmK,KAAI,CACN,IAAIwW,EAAO7V,EAASX,GAGpBmjC,EAAY/8B,IAAkB,EAAdoQ,EAAKjU,MAAMqH,GAAoB,EAAd4M,EAAKhU,MAAMoH,GAAM4M,GAItD,IADAxW,EAAImjC,EAAYf,KAAKvsC,OACfmK,MACEwW,EAAO2sB,EAAYb,SAASa,EAAYf,KAAKpiC,MAE7CnE,EAAOhC,KAAK2c,EAAKjU,MAAOiU,EAAKhU,OAMrC,OAFA2gC,EAAYp5B,QAELlO,KAGRunC,wBAAwB,GAAGC,4BAA4B,GAAGC,oBAAoB,GAAGC,UAAU,KAAKC,IAAI,SAASztC,EAAQnB,EAAOD,GAY/H,SAAS8uC,EAAoBlhC,EAAO+G,EAAQ9G,EAAOiH,GAI/C1Q,KAAKuQ,OAASA,EAIdvQ,KAAK0Q,OAASA,EAId1Q,KAAKwJ,MAAQA,EAIbxJ,KAAKyJ,MAAQA,EA3BjB5N,EAAOD,QAAU8uC,EAsCjBA,EAAoBtqC,UAAUiN,IAAM,SAAS7D,EAAO+G,EAAQ9G,EAAOiH,GAC/Dg6B,EAAoB7tC,KAAKmD,KAAMwJ,EAAO+G,EAAQ9G,EAAOiH,SAGnDi6B,IAAI,SAAS3tC,EAAQnB,EAAOD,GASlC,SAASotC,IACR/L,EAAKrB,MAAM57B,KAAMmgC,WATlB,IAAIuK,EAAsB1tC,EAAQ,yBAC9BigC,EAAOjgC,EAAQ,UAEnBnB,EAAOD,QAAUotC,GAQjBA,EAAwB5oC,UAAY,IAAI68B,GACNtyB,YAAcq+B,EAMhDA,EAAwB5oC,UAAUsG,OAAS,WAC1C,OAAO,IAAIgkC,GAQZ1B,EAAwB5oC,UAAU2nC,QAAU,SAAU6C,GAErD,OADAA,EAAOphC,MAAQohC,EAAOnhC,MAAQmhC,EAAOr6B,OAASq6B,EAAOl6B,OAAS,KACvD1Q,QAGLqqC,wBAAwB,GAAGpC,SAAS,KAAK4C,IAAI,SAAS7tC,EAAQnB,EAAOD,GAMxE,SAASqhC,EAAK12B,GACbA,EAAUA,MAMVvG,KAAK8qC,gBAEexrB,IAAjB/Y,EAAQ4F,MACVnM,KAAK+qC,OAAOxkC,EAAQ4F,MAftBtQ,EAAOD,QAAUqhC,EAwBjBA,EAAK78B,UAAU2qC,OAAS,SAAU5+B,GAGjC,IAFA,IAAI2+B,EAAU9qC,KAAK8qC,QAEZA,EAAQhuC,OAASqP,GACvB2+B,EAAQ1pC,MAGT,KAAO0pC,EAAQhuC,OAASqP,GACvB2+B,EAAQhqC,KAAKd,KAAK0G,UAGnB,OAAO1G,MAQRi9B,EAAK78B,UAAU2Q,IAAM,WACpB,IAAI+5B,EAAU9qC,KAAK8qC,QACnB,OAAOA,EAAQhuC,OAASguC,EAAQ1pC,MAAQpB,KAAK0G,UAS9Cu2B,EAAK78B,UAAUgR,QAAU,SAAU45B,GAGlC,OAFAhrC,KAAK+nC,QAAQiD,GACbhrC,KAAK8qC,QAAQhqC,KAAKkqC,GACXhrC,WAGFirC,IAAI,SAASjuC,EAAQnB,EAAOD,GASlC,SAASoR,IAOLhN,KAAKyd,QAMLzd,KAAKqpC,QArBT,IAAI7mB,EAAQxlB,EAAQ,WAEpBnB,EAAOD,QAAUoR,EA6BjBA,EAAgB5M,UAAU8qC,OAAS,SAASt6B,EAAKE,GAI7C,OAHAF,GAAU,EACVE,GAAU,GAEA,EAAJF,KAAgB,EAAJE,IACN,EAMsB,IAFrB,EAAJF,IAAc,EAAJE,GACdF,GAAO,GAAa,MAANE,EACdA,GAAO,GAAa,MAANF,IASvB5D,EAAgB5M,UAAUmpC,SAAW,SAASlG,GAE1C,OADAA,GAAU,EACHrjC,KAAKyd,KAAK4lB,IASrBr2B,EAAgB5M,UAAU2Q,IAAM,SAASpU,EAAGiF,GACxC,OAAO5B,KAAKyd,KAAKzd,KAAKkrC,OAAOvuC,EAAGiF,KAUpCoL,EAAgB5M,UAAUiN,IAAM,SAAS1Q,EAAGiF,EAAGuZ,GAC3C,IAAIA,EACA,MAAM,IAAIve,MAAM,YAGpB,IAAIymC,EAAMrjC,KAAKkrC,OAAOvuC,EAAGiF,GASzB,OANI5B,KAAKyd,KAAK4lB,IACVrjC,KAAKqpC,KAAKvoC,KAAKuiC,GAGnBrjC,KAAKyd,KAAK4lB,GAAOloB,EAEVkoB,GAOXr2B,EAAgB5M,UAAU4Q,MAAQ,WAK9B,IAJA,IAAIyM,EAAOzd,KAAKyd,KACZ4rB,EAAOrpC,KAAKqpC,KAEZpiC,EAAIoiC,EAAKvsC,OACPmK,YACKwW,EAAK4rB,EAAKpiC,IAGrBoiC,EAAKvsC,OAAS,GAQlBkQ,EAAgB5M,UAAUuB,KAAO,SAASwpC,GACtCnrC,KAAKgR,QACLwR,EAAMC,YAAYziB,KAAKqpC,KAAM8B,EAAK9B,MAElC,IADA,IAAIpiC,EAAIkkC,EAAK9B,KAAKvsC,OACZmK,KAAI,CACN,IAAIo8B,EAAM8H,EAAK9B,KAAKpiC,GACpBjH,KAAKyd,KAAK4lB,GAAO8H,EAAK1tB,KAAK4lB,OAIhCmH,UAAU,KAAKY,IAAI,SAASpuC,EAAQnB,EAAOD,GAU9C,SAAS4mB,KAPT3mB,EAAOD,QAAU4mB,EAgBjBA,EAAMC,YAAc,SAAShmB,EAAEkC,GAC3B,GAAIA,EAAE7B,OAAS,KACXL,EAAEqE,KAAK86B,MAAMn/B,EAAGkC,QAEhB,IAAK,IAAIhC,EAAI,EAAG40B,EAAM5yB,EAAE7B,OAAQH,IAAM40B,IAAO50B,EACzCF,EAAEqE,KAAKnC,EAAEhC,KAarB6lB,EAAMzf,OAAS,SAASijC,EAAM7Y,EAAMke,GAChCA,EAAUA,GAAW,EACrB,IAAK,IAAI1uC,EAAEwwB,EAAOoE,EAAIyU,EAAMlpC,OAAOuuC,EAAS1uC,EAAI40B,EAAK50B,IACjDqpC,EAAMrpC,GAAKqpC,EAAMrpC,EAAI0uC,GAEzBrF,EAAMlpC,OAASy0B,GAef/O,EAAM0H,WADkB,oBAAlBohB,cACaA,cACY,oBAAjBC,aACKA,aAEA5oC,MAUvB6f,EAAM7a,OAAS,SAASlL,EAAEkC,GACtB,IAAI,IAAI0kC,KAAO1kC,EACXlC,EAAE4mC,GAAO1kC,EAAE0kC,IAYnB7gB,EAAMQ,SAAW,SAASzc,EAASyc,GAC/Bzc,EAAUA,MACV,IAAI,IAAI88B,KAAOrgB,EACNqgB,KAAO98B,IACRA,EAAQ88B,GAAOrgB,EAASqgB,IAGhC,OAAO98B,QAGLilC,IAAI,SAASxuC,EAAQnB,EAAOD,GAUlC,SAAS6sC,IAOLzoC,KAAKmjB,aAOLnjB,KAAK4K,UAvBT,IAAIzB,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAU6sC,EA4BjBA,EAAOroC,UAAU4Q,MAAQ,WACrBhR,KAAKmjB,UAAUrmB,OAASkD,KAAK4K,OAAO9N,OAAS,GAGjD,IAAI2uC,KAOJhD,EAAOroC,UAAUqnC,UAAY,SAAS3kC,GAClC,IAAI8H,EAAS9H,MACTmO,EAAMjR,KAAKmjB,UACfsoB,EAAQ3uC,OAAS,EACjB,IAAI,IAAIH,EAAE,EAAGA,IAAIsU,EAAInU,OAAQH,IAAI,CAC7B,IAAImB,EAAKmT,EAAItU,IACsB,IAAhC8uC,EAAQzoC,QAAQlF,EAAG0L,MAAMqH,MACxBjG,EAAO9J,KAAKhD,EAAG0L,OACfiiC,EAAQ3qC,KAAKhD,EAAG0L,MAAMqH,MAES,IAAhC46B,EAAQzoC,QAAQlF,EAAG2L,MAAMoH,MACxBjG,EAAO9J,KAAKhD,EAAG2L,OACfgiC,EAAQ3qC,KAAKhD,EAAG2L,MAAMoH,KAG9B,OAAOjG,GAQX69B,EAAOroC,UAAUkzB,aAAe,WAC5B,IAAI,IAAI32B,EAAE,EAAGA,EAAEqD,KAAK4K,OAAO9N,OAAQH,IAAI,CACnC,IAAIgC,EAAIqB,KAAK4K,OAAOjO,GACpB,GAAGgC,EAAE4G,OAAS4D,EAAKiqB,UAAYz0B,EAAE20B,aAC7B,OAAO,EAGf,OAAO,GAOXmV,EAAOroC,UAAUo3B,MAAQ,WACrB,IAAI,IAAI76B,EAAE,EAAGA,EAAEqD,KAAK4K,OAAO9N,OAAQH,IACvBqD,KAAK4K,OAAOjO,GAClB66B,QAEN,OAAO,KAGRhtB,kBAAkB,KAAKkhC,IAAI,SAAS1uC,EAAQnB,EAAOD,GAkBtD,SAAS+vC,EAAcplC,GAMnBvG,KAAK4rC,SAAW,IAAIxD,GAAiBj8B,KAAM,KAM3CnM,KAAK6rC,WAAa,IAAIrD,GAAar8B,KAAM,IAMzCnM,KAAKmjB,aAMLnjB,KAAK8rC,WAML9rC,KAAK+rC,SAOL/rC,KAAKgsC,SAtDEhvC,EAAQ,gBACNA,EAAQ,YACJA,EAAQ,gBAFzB,IAGIorC,EAAiBprC,EAAQ,6BACzBwrC,EAAaxrC,EAAQ,yBACrBmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAU+vC,EAyDjBA,EAAcM,iBAAmB,SAASF,GAEtC,IAAI,IADAG,EAASH,EAAMjvC,OACXH,EAAE,EAAGA,IAAIuvC,EAAQvvC,IAAI,CACzB,IAAI0I,EAAO0mC,EAAMpvC,GACjB,IAAI0I,EAAK8mC,SAAW9mC,EAAKgb,KAAK9a,OAAS4D,EAAKiqB,QACxC,OAAO/tB,EAGf,OAAO,GAUXsmC,EAAcvrC,UAAUgsC,MAAQ,SAAU/mC,EAAKgnC,EAAIp7B,GAC/Co7B,EAAIvrC,KAAKuE,EAAKgb,MAEd,IAAI,IADAisB,EAAOjnC,EAAK8d,UAAUrmB,OAClBH,EAAE,EAAGA,IAAI2vC,EAAM3vC,IAAI,CACvB,IAAImB,EAAKuH,EAAK8d,UAAUxmB,IACA,IAArBsU,EAAIjO,QAAQlF,IACXmT,EAAInQ,KAAKhD,KAYrB6tC,EAAcvrC,UAAUmsC,IAAM,SAASC,EAAKH,EAAIp7B,GAG5C,IAAI+6B,EAAQhsC,KAAKgsC,MASjB,IARAA,EAAMlvC,OAAS,EAGfkvC,EAAMlrC,KAAK0rC,GACXA,EAAKL,SAAU,EACfnsC,KAAKosC,MAAMI,EAAKH,EAAIp7B,GAGd+6B,EAAMlvC,QAOR,IAJA,IAGI2vC,EAHApnC,EAAO2mC,EAAM5qC,MAIVqrC,EAAQd,EAAcM,iBAAiB5mC,EAAKqnC,YAC/CD,EAAMN,SAAU,EAChBnsC,KAAKosC,MAAMK,EAAMJ,EAAIp7B,GAGlBw7B,EAAMpsB,KAAK9a,OAAS4D,EAAKiqB,SACxB4Y,EAAMlrC,KAAK2rC,IAY3Bd,EAAcvrC,UAAUusC,MAAQ,SAAS1jC,GAMrC,IALA,IAAI2B,EAAS3B,EAAM2B,OACfmhC,EAAQ/rC,KAAK+rC,MACb5oB,EAAYnjB,KAAKmjB,UAGf4oB,EAAMjvC,QACRkD,KAAK4rC,SAASx6B,QAAQ26B,EAAM3qC,OAIhC,IAAQzE,EAAE,EAAGA,IAAIiO,EAAO9N,OAAQH,IAAI,CAChC,IAAI0I,EAAOrF,KAAK4rC,SAAS76B,MACzB1L,EAAKgb,KAAOzV,EAAOjO,GACnBovC,EAAMjrC,KAAKuE,GAYf,IAAI,IAAIvD,EAAE,EAAGA,IAAIqhB,EAAUrmB,OAAQgF,IAAI,CACnC,IAAIhE,EAAGqlB,EAAUrhB,GACbnF,EAAEiO,EAAO5H,QAAQlF,EAAG0L,OACpB5H,EAAEgJ,EAAO5H,QAAQlF,EAAG2L,OACpBmjC,EAAGb,EAAMpvC,GACTkwC,EAAGd,EAAMnqC,GACbgrC,EAAGF,UAAU5rC,KAAK+rC,GAClBA,EAAGH,UAAU5rC,KAAK8rC,GAClBA,EAAGzpB,UAAUriB,KAAKhD,GAClB+uC,EAAG1pB,UAAUriB,KAAKhD,GAKtB,IAAI,IADAguC,EAAU9rC,KAAK8rC,QACXnvC,EAAE,EAAGA,EAAEmvC,EAAQhvC,OAAQH,IAC3BqD,KAAK6rC,WAAWz6B,QAAQ06B,EAAQnvC,IAEpCmvC,EAAQhvC,OAAS,EAIjB,IADA,IAAI2vC,EACGA,EAAQd,EAAcM,iBAAiBF,IAAQ,CAGlD,IAAIzE,EAAStnC,KAAK6rC,WAAW96B,MAG7B/Q,KAAKusC,IAAIE,EAAOnF,EAAO18B,OAAQ08B,EAAOnkB,WAEtC2oB,EAAQhrC,KAAKwmC,GAGjB,OAAOwE,KAGRjjC,eAAe,GAAG2B,kBAAkB,GAAGsiC,4BAA4B,GAAGC,wBAAwB,GAAGC,WAAW,GAAGC,eAAe,KAAKC,IAAI,SAASlwC,EAAQnB,EAAOD,GASlK,SAASysC,EAAWhoB,GAMhBrgB,KAAKqgB,KAAOA,EAMZrgB,KAAK0sC,aAML1sC,KAAKmjB,aAOLnjB,KAAKmsC,SAAU,EAjCnBtwC,EAAOD,QAAUysC,EAwCjBA,EAAWjoC,UAAU4Q,MAAQ,WACzBhR,KAAKmjB,UAAUrmB,OAAS,EACxBkD,KAAK0sC,UAAU5vC,OAAS,EACxBkD,KAAKmsC,SAAU,EACfnsC,KAAKqgB,KAAO,WAGV8sB,IAAI,SAASnwC,EAAQnB,EAAOD,GAsDlC,SAASuhC,EAAM52B,GACXsmB,EAAa+O,MAAM57B,MAEnBuG,EAAUA,MAQVvG,KAAKotC,WAMLptC,KAAK4K,UAOL5K,KAAKqtC,8BAMLrtC,KAAKstC,OAAS/mC,EAAQ+mC,QAAU,IAAIzQ,EAQpC78B,KAAK84B,YAAc,IAAIrtB,EAAYzL,MAMnCA,KAAKutC,cAAgB,IAAI5B,EAQzB3rC,KAAKwtC,QAAU/mC,EAAKqI,WAAW,GAAI,MAChCvI,EAAQinC,SACP/mC,EAAK9E,KAAK3B,KAAKwtC,QAASjnC,EAAQinC,SAOpCxtC,KAAKytC,gBAAkBhnC,EAAK3J,OAAOkD,KAAKwtC,UAAY,GAOpDxtC,KAAK0tC,kCAAmC,EAOxC1tC,KAAK2tC,iCAAkC,EAQvC3tC,KAAK4tC,WAAarnC,EAAQqnC,YAAc,IAAI3rB,EAC5CjiB,KAAK4tC,WAAWvkC,SAASrJ,MAQzBA,KAAK6tC,eAML7tC,KAAK8tC,gBAAkB,IAAIlgB,EAM3B5tB,KAAK+tC,uBAAyB,IAAItgB,EAAgBztB,KAAK8tC,gBAAgB9tC,KAAK8tC,iBAO5E9tC,KAAKguC,aAAe,EAAE,GAQtBhuC,KAAKiuC,mBAAoB,EAQzBjuC,KAAKq3B,cAAe,EAQpBr3B,KAAKkuC,cAAe,EAQpBluC,KAAKmuC,kBAAmB,EAOxBnuC,KAAKouC,oBAOLpuC,KAAK23B,KAAO,EACZ33B,KAAKoqC,YAAc,EAMnBpqC,KAAKquC,UAAW,EAOhBruC,KAAKsuC,qBAOLtuC,KAAKuuC,iBAA4C,IAAvBhoC,EAAmB,eAAoBA,EAAQgoC,YAQzEvuC,KAAKwuC,iBAAkB,EAGvBxuC,KAAKyuC,qBAAuB,EAC5BzuC,KAAK0uC,eAAiB,EAMtB1uC,KAAK2uC,eACDppC,KAAO,YAQXvF,KAAK4uC,cACDrpC,KAAO,UACP8a,KAAO,MAQXrgB,KAAK6uC,iBACDtpC,KAAO,aACP8a,KAAO,MAQXrgB,KAAK8uC,gBACDvpC,KAAO,YACPwpC,OAAS,MASb/uC,KAAKgvC,aACDzpC,KAAM,SACNiE,MAAQ,KACRC,MAAQ,KACR8G,OAAS,KACTG,OAAS,KACTu+B,gBAAkB,MAUtBjvC,KAAKkvC,qBACD3pC,KAAM,iBACN4pC,MAAO,MAUXnvC,KAAKovC,UAAYjS,EAAMkS,YAWvBrvC,KAAKsvC,mBACD/pC,KAAM,eACNgL,OAAQ,KACRG,OAAQ,KACRlH,MAAO,KACPC,MAAO,KACPiC,qBAWJ1L,KAAKuvC,iBACDhqC,KAAM,aACNgL,OAAQ,KACRG,OAAQ,KACRlH,MAAO,KACPC,MAAO,MASXzJ,KAAKwvC,eACDjqC,KAAM,WACNmG,iBAAkB,KAClBC,kBAAmB,MAIvB3L,KAAK6oC,4BAA+BQ,SACpCrpC,KAAK8oC,+BAAkCO,SAKvCrpC,KAAK83B,cAAgB,IAAI8Q,EApX7B,IAAK/L,EAAW7/B,EAAQ,sBAGnByJ,GAFSzJ,EAAQ,oBACXA,EAAQ,oBACPA,EAAQ,iBACfyR,EAASzR,EAAQ,oBACjB0R,EAAS1R,EAAQ,oBAEjBggC,GADOhgC,EAAQ,kBACPA,EAAQ,oBAChB4/B,EAAU5/B,EAAQ,qBAClB+/B,EAAW//B,EAAQ,sBACnB6vB,EAAe7vB,EAAQ,0BACvBmM,EAAOnM,EAAQ,mBAGf4wB,GAFQ5wB,EAAQ,mBACDA,EAAQ,2BACZA,EAAQ,yBACnBywB,EAAkBzwB,EAAQ,+BAS1BsJ,GARqBtJ,EAAQ,qCAChBA,EAAQ,6BACJA,EAAQ,iCACJA,EAAQ,qCACPA,EAAQ,sCACbA,EAAQ,iCACnBA,EAAQ,sBACDA,EAAQ,2BACdA,EAAQ,sBACfilB,EAAgBjlB,EAAQ,8BACxByO,EAAczO,EAAQ,4BACtBwlB,EAAQxlB,EAAQ,kBAChB4rC,EAAgB5rC,EAAQ,0BACxB2uC,EAAgB3uC,EAAQ,mBACLA,EAAQ,+BAEhCnB,EAAOD,QAAUuhC,EAsVjBA,EAAM/8B,UAAY,IAAIg9B,OAAOvQ,EAAazsB,WAC1C+8B,EAAM/8B,UAAUuK,YAAcwyB,EAO9BA,EAAMkS,YAAc,EAOpBlS,EAAMsS,cAAgB,EAOtBtS,EAAMuS,gBAAkB,EAWxBvS,EAAM/8B,UAAU67B,cAAgB,SAAS0T,GACrC3vC,KAAK6tC,YAAY/sC,KAAK6uC,IAQ1BxS,EAAM/8B,UAAUwvC,mBAAqB,SAASC,GAC1C7vC,KAAKouC,iBAAiBttC,KAAK+uC,IAS/B1S,EAAM/8B,UAAU0vC,sBAAwB,SAASrZ,GAC7C,IAAIlU,EAAMviB,KAAKouC,iBAAiBprC,QAAQyzB,IAC9B,IAAPlU,GACCC,EAAMzf,OAAO/C,KAAKouC,iBAAiB7rB,EAAI,IAY/C4a,EAAM/8B,UAAU2vC,mBAAqB,SAASriB,EAAUC,GAEpD,IAAI,IADAqiB,EAAQhwC,KAAKouC,iBACTzxC,EAAE,EAAGwE,EAAE6uC,EAAMlzC,OAAQH,IAAIwE,EAAGxE,IAAI,CACpC,IAAI85B,EAAKuZ,EAAMrzC,GACf,GAAK85B,EAAG/I,UAAU7c,KAAO6c,EAAU7c,IAAQ4lB,EAAG9I,UAAU9c,KAAO8c,EAAU9c,IACpE4lB,EAAG/I,UAAU7c,KAAO8c,EAAU9c,IAAQ4lB,EAAG9I,UAAU9c,KAAO6c,EAAU7c,GACrE,OAAO4lB,EAGf,OAAO,GASX0G,EAAM/8B,UAAUg8B,iBAAmB,SAASuT,GACxC,IAAIptB,EAAMviB,KAAK6tC,YAAY7qC,QAAQ2sC,IACzB,IAAPptB,GACCC,EAAMzf,OAAO/C,KAAK6tC,YAAYtrB,EAAI,IAI7B9b,EAAKC,SACDD,EAAKC,SACTD,EAAKC,SACLD,EAAKC,SACAD,EAAKC,SACLD,EAAKC,SALvB,IAMIupC,EAAUxpC,EAAKC,SACfwpC,EAAMzpC,EAAKqI,WAAW,EAAE,GACxBqhC,EAAM1pC,EAAKqI,WAAW,EAAE,GACjBrI,EAAKqI,WAAW,EAAE,GACZrI,EAAKqI,WAAW,EAAE,GAiDnCquB,EAAM/8B,UAAUgwC,KAAO,SAAS9Y,EAAG+Y,EAAoBC,GAInD,GAHAA,EAAcA,GAAe,GAGF,KAF3BD,EAAsBA,GAAuB,GAIzCrwC,KAAKuwC,aAAajZ,GAGlBt3B,KAAK23B,MAAQL,MAEV,CAEHt3B,KAAKoqC,aAAeiG,EAEpB,IADA,IAAIG,EAAW,EACRxwC,KAAKoqC,aAAe9S,GAAMkZ,EAAWF,GAExCtwC,KAAKuwC,aAAajZ,GAClBt3B,KAAK23B,MAAQL,EACbt3B,KAAKoqC,aAAe9S,EACpBkZ,IAIJ,IAAI,IADAr0C,EAAK6D,KAAKoqC,YAAc9S,EAAMA,EAC1B11B,EAAE,EAAGA,IAAI5B,KAAK4K,OAAO9N,OAAQ8E,IAAI,CACrC,IAAIjD,EAAIqB,KAAK4K,OAAOhJ,GACpB6E,EAAKob,KAAKljB,EAAEm0B,qBAAsBn0B,EAAEq0B,iBAAkBr0B,EAAEmI,SAAU3K,GAClEwC,EAAEo0B,kBAAoBp0B,EAAEs0B,cAAgB92B,GAAKwC,EAAEoI,MAAQpI,EAAEs0B,kBAKrE,IAAIwd,KAQJtT,EAAM/8B,UAAUmwC,aAAe,SAASjZ,GACpCt3B,KAAKquC,UAAW,EAEhB,IACIqC,EAAW1wC,KAAKotC,QAAQtwC,OACxBswC,EAAUptC,KAAKotC,QACfxiC,EAAS5K,KAAK4K,OACdqb,EAAIjmB,KAAKwtC,QACTF,EAASttC,KAAKstC,OACd/G,EAAUvmC,KAAK4K,OAAO9N,OACtB8wC,EAAa5tC,KAAK4tC,WAClB+C,EAAK3wC,KAAK84B,YACV+U,EAAc7tC,KAAK6tC,YAInB+C,EAAKX,EAELxoC,GADQhB,EAAK4L,MACP5L,EAAKgB,KAEX8lC,GADS9mC,EAAKS,OACElH,KAAKutC,eAOzB,GALAvtC,KAAK83B,cAAcqR,OAEnBnpC,KAAKguC,aAAe1W,EAGjBt3B,KAAK0tC,iCAAiC,CACrC,IAAImD,EAAapqC,EAAK3J,OAAOkD,KAAKwtC,SACd,IAAfqD,GAAoB7wC,KAAK2tC,kCAE1B3tC,KAAKytC,gBAAkBoD,GAK/B,GAAG7wC,KAAKkuC,aACJ,IAAQvxC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAAI,CAC1B,IACIkuB,GADAlsB,EAAIiM,EAAOjO,IACJwpB,MACRxnB,EAAE4G,OAAS4D,EAAKiqB,SAAWz0B,EAAEyL,aAAejB,EAAKkB,WAGpD5D,EAAK4L,MAAMu+B,EAAG3qB,EAAEtnB,EAAE4zB,KAAK5zB,EAAE+0B,cACzBjsB,EAAIojB,EAAGA,EAAG+lB,IAKlB,GAAG5wC,KAAKiuC,kBACJ,IAAQtxC,EAAE,EAAGA,IAAI+zC,EAAU/zC,IACfywC,EAAQzwC,GACds4B,aAIV,GAAGj1B,KAAKq3B,aACJ,IAAQ16B,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAAI,CAC1B,IAAIgC,EAAIiM,EAAOjO,GACZgC,EAAE4G,OAAS4D,EAAKiqB,SACfz0B,EAAE04B,aAAaC,GAU3B,IAAI,IAJAx0B,EAAS8qC,EAAWtkC,kBAAkBtJ,MAGtC8wC,EAAe9wC,KAAKqtC,2BAChB1wC,EAAEm0C,EAAah0C,OAAO,EAAGH,GAAG,EAAGA,GAAG,EACtC,IAAQiF,EAAEkB,EAAOhG,OAAO,EAAG8E,GAAG,EAAGA,GAAG,GAC3BkvC,EAAan0C,KAASmG,EAAOlB,IAAMkvC,EAAan0C,EAAE,KAAOmG,EAAOlB,EAAE,IAClEkvC,EAAan0C,EAAE,KAAOmG,EAAOlB,IAAMkvC,EAAan0C,KAASmG,EAAOlB,EAAE,KACnEkB,EAAOC,OAAOnB,EAAE,GAMxBmvC,EAAelD,EAAY/wC,OAC/B,IAAIH,EAAE,EAAGA,IAAIo0C,EAAcp0C,IAAI,CAC3B,IAAIiC,EAAIivC,EAAYlxC,GACpB,IAAIiC,EAAEqkB,iBACF,IAAI,IAAIrhB,EAAEkB,EAAOhG,OAAO,EAAG8E,GAAG,EAAGA,GAAG,GAC3BhD,EAAE4K,QAAU1G,EAAOlB,IAAMhD,EAAE6K,QAAU3G,EAAOlB,EAAE,IAC9ChD,EAAE6K,QAAU3G,EAAOlB,IAAMhD,EAAE4K,QAAU1G,EAAOlB,EAAE,KAC/CkB,EAAOC,OAAOnB,EAAE,GAOhC5B,KAAKkvC,oBAAoBC,MAAQrsC,EACjC9C,KAAKotB,KAAKptB,KAAKkvC,qBACflvC,KAAKkvC,oBAAoBC,MAAQ,KAGjCwB,EAAG3/B,MAAMhR,MACT,IAAI,IAAIrD,EAAE,EAAGq0C,EAASluC,EAAOhG,OAAQH,IAAIq0C,EAAUr0C,GAAG,EAKlD,IAAI,IAJAmO,EAAKhI,EAAOnG,GACZoO,EAAKjI,EAAOnG,EAAE,GAGVmF,EAAE,EAAGuO,EAASvF,EAAGwF,OAAOxT,OAAQgF,IAAIuO,EAAUvO,IAMlD,IAAI,IALA6S,EAAK7J,EAAGwF,OAAOxO,GACf8S,EAAKD,EAAG7N,SACR+N,EAAKF,EAAG5N,MAGJE,EAAE,EAAGwJ,EAAS1F,EAAGuF,OAAOxT,OAAQmK,IAAIwJ,EAAUxJ,IAAI,CACtD,IAAI6N,EAAK/J,EAAGuF,OAAOrJ,GACf8N,EAAKD,EAAGhO,SACRkO,EAAKF,EAAG/N,MAER0vB,EAAKz2B,KAAK+tC,uBACd,GAAGp5B,EAAGuwB,UAAYpwB,EAAGowB,SAAS,CAC1B,IAAIhkC,EAAMlB,KAAK+vC,mBAAmBp7B,EAAGuwB,SAASpwB,EAAGowB,UAC9ChkC,IACCu1B,EAAKv1B,GAIblB,KAAKixC,eAAeN,EAAG7lC,EAAG6J,EAAGC,EAAGC,EAAG9J,EAAG+J,EAAGC,EAAGC,EAAGyhB,EAAGz2B,KAAKytC,iBAMnE,IAAQ9wC,EAAE,EAAGA,IAAI4pC,EAAS5pC,KAClB0jB,EAAOzV,EAAOjO,IACVq3B,0BACJ3T,EAAK+C,SACL/C,EAAK2T,yBAA0B,GAKvC,GAAGh0B,KAAKktB,IAAI,cAAc,CACtBltB,KAAK83B,cAAc6R,eAAe8G,GAGlC,IAFA,IAAI90C,EAAIqE,KAAKuvC,gBACTtoC,EAAIwpC,EAAY3zC,OACdmK,KAAI,CACN,IAAIwW,EAAOgzB,EAAYxpC,GACvBtL,EAAE4U,OAASkN,EAAKlN,OAChB5U,EAAE+U,OAAS+M,EAAK/M,OAChB/U,EAAE6N,MAAQiU,EAAKjU,MACf7N,EAAE8N,MAAQgU,EAAKhU,MACfzJ,KAAKotB,KAAKzxB,GAEd80C,EAAY3zC,OAAS,EAGzB,IAAI0yC,EAAgBxvC,KAAKwvC,cACzBA,EAAc9jC,iBAAmBilC,EAAGjlC,iBACpC8jC,EAAc7jC,kBAAoBglC,EAAGhlC,kBACrC3L,KAAKotB,KAAKoiB,GACVA,EAAc9jC,iBAAmB8jC,EAAc7jC,kBAAoB,KAGnE,IAAIolC,EAAelD,EAAY/wC,OAC/B,IAAIH,EAAE,EAAGA,IAAIo0C,EAAcp0C,IACvBkxC,EAAYlxC,GAAGkjB,SAGnB,GAAG8wB,EAAGjlC,iBAAiB5O,QAAU6zC,EAAGhlC,kBAAkB7O,QAAUi0C,EAC5D,GAAG/wC,KAAKuuC,YAAY,CAKhB,IAHAhB,EAAcpqB,UAAUrmB,OAAS,EACjC0lB,EAAMC,YAAY8qB,EAAcpqB,UAAWwtB,EAAGjlC,kBAC9C8W,EAAMC,YAAY8qB,EAAcpqB,UAAWwtB,EAAGhlC,mBAC1ChP,EAAE,EAAGA,IAAIo0C,EAAcp0C,IACvB6lB,EAAMC,YAAY8qB,EAAcpqB,UAAW0qB,EAAYlxC,GAAGwmB,WAE9DoqB,EAAcZ,MAAM3sC,MAEpB,IAAQrD,EAAE,EAAGA,IAAI4wC,EAAczB,QAAQhvC,OAAQH,KACvC2qC,EAASiG,EAAczB,QAAQnvC,IACzBwmB,UAAUrmB,QAChBwwC,EAAOjG,YAAY/P,EAAGgQ,OAI3B,CAOH,IAJAgG,EAAO9F,aAAamJ,EAAGjlC,kBACvB4hC,EAAO9F,aAAamJ,EAAGhlC,mBAGnBhP,EAAE,EAAGA,IAAIo0C,EAAcp0C,IACvB2wC,EAAO9F,aAAaqG,EAAYlxC,GAAGwmB,WAGpCnjB,KAAKmuC,kBACJb,EAAOrH,MAAM3O,EAAGt3B,MAGpBstC,EAAO/F,qBAKf,IAAQ5qC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAAI,CAC1B,IAAI0jB,EAAOzV,EAAOjO,GAGlB0jB,EAAK6X,UAAUZ,GAKnB,IAAQ36B,EAAE,EAAGA,IAAI4pC,EAAS5pC,IACtBiO,EAAOjO,GAAGu6B,eAId,GAAGl3B,KAAKwuC,iBAAmBxuC,KAAKktB,IAAI,UAEhC,IAAI,IADAgkB,EAAKlxC,KAAKgvC,YACNryC,EAAE,EAAGA,IAAIg0C,EAAGjlC,iBAAiB5O,OAAQH,IAAI,CAC7C,IAAImB,EAAK6yC,EAAGjlC,iBAAiB/O,GAC1BmB,EAAGwT,cACF4/B,EAAG1nC,MAAQ1L,EAAG0L,MACd0nC,EAAGznC,MAAQ3L,EAAG2L,MACdynC,EAAG3gC,OAASzS,EAAGyS,OACf2gC,EAAGxgC,OAAS5S,EAAG4S,OACfwgC,EAAGjC,gBAAkBnxC,EACrBkC,KAAKotB,KAAK8jB,IAMtB,GAAGlxC,KAAKovC,YAAcjS,EAAMsS,cACxB,IAAI9yC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAClBiO,EAAOjO,GAAG+6B,UAAU13B,KAAK23B,MAAM,EAAOL,QAEvC,GAAGt3B,KAAKovC,YAAcjS,EAAMuS,iBAAmB1vC,KAAKuuC,YAAY,CAGnE,IAAI5xC,EAAE,EAAGA,IAAI4pC,EAAS5pC,IAClBiO,EAAOjO,GAAG+6B,UAAU13B,KAAK23B,MAAM,EAAML,GAIzC,IAAQ36B,EAAE,EAAGA,EAAEqD,KAAKutC,cAAczB,QAAQhvC,OAAQH,IAAI,CAClD,IAAI2qC,EAAStnC,KAAKutC,cAAczB,QAAQnvC,GACrC2qC,EAAOhU,gBACNgU,EAAO9P,SAKnBx3B,KAAKquC,UAAW,EAIhB,IAAI,IADAC,EAAoBtuC,KAAKsuC,kBACrB3xC,EAAE,EAAGA,IAAI2xC,EAAkBxxC,OAAQH,IACvCqD,KAAKm8B,WAAWmS,EAAkB3xC,IAEtC2xC,EAAkBxxC,OAAS,EAE3BkD,KAAKotB,KAAKptB,KAAK2uC,gBAiBnBxR,EAAM/8B,UAAU6wC,eAAiB,SAASN,EAAG7lC,EAAG6J,EAAGC,EAAGC,EAAG9J,EAAG+J,EAAGC,EAAGC,EAAGyhB,EAAG0a,GAGpE,GAAgD,IAA1Cx8B,EAAG8K,eAAiB3K,EAAG0K,gBAAmE,IAA1C1K,EAAG2K,eAAiB9K,EAAG6K,eAA7E,CAKA/Y,EAAKS,OAAOgpC,EAAKt7B,EAAI9J,EAAG/D,OACxBN,EAAKS,OAAOipC,EAAKp7B,EAAIhK,EAAGhE,OACxBN,EAAKgB,IAAIyoC,EAAKA,EAAKplC,EAAGhE,UACtBL,EAAKgB,IAAI0oC,EAAKA,EAAKplC,EAAGjE,UACtB,IAAIsqC,EAAMv8B,EAAK/J,EAAG/D,MACdsqC,EAAMr8B,EAAKjK,EAAGhE,MAElB4pC,EAAG/kC,eAAiB6qB,EAAG3I,SAAW,EAClC6iB,EAAG5kC,oBAAsB0qB,EAAG3I,SAC5B,IAAIwjB,EAEAA,EADDxmC,EAAGvF,OAAS4D,EAAKgB,QAAUW,EAAGvF,OAAS4D,EAAKe,UAC7Ba,EAAGwnB,KACXxnB,EAAGxF,OAAS4D,EAAKgB,QAAUY,EAAGxF,OAAS4D,EAAKe,UACpCY,EAAGynB,KAEFznB,EAAGynB,KAAKxnB,EAAGwnB,MAAOznB,EAAGynB,KAAKxnB,EAAGwnB,MAEhDoe,EAAG7kC,UAAY2qB,EAAG3I,SAASqjB,EAAKG,EAChCX,EAAGrkC,YAAcmqB,EAAGnqB,YACpBqkC,EAAG3kC,gBAAkByqB,EAAGzqB,gBACxB2kC,EAAG/jC,kBAAoB6pB,EAAG7pB,kBAC1B+jC,EAAG9jC,mBAAqB4pB,EAAG5pB,mBAC3B8jC,EAAGpkC,UAAYkqB,EAAGlqB,UAClBokC,EAAGjkC,WAAa+pB,EAAG/pB,WACnBikC,EAAG1jC,gBAAkBwpB,EAAGxpB,gBACxB0jC,EAAG9kC,iBAAmBf,EAAG0V,mBAAqBzV,EAAGyV,mBAAqB7L,EAAG6L,mBAAqB1L,EAAG0L,kBAEjG,IAAI+wB,EAAWZ,EAAGh8B,EAAGpP,KAAOuP,EAAGvP,MAC3B4M,EAAc,EAClB,GAAIo/B,EAAU,CACV,IAAIpM,EAASxwB,EAAGwwB,QAAUrwB,EAAGqwB,OACzBqM,EAAoBb,EAAGhlC,kBAAkB7O,OAEzCqV,EADAwC,EAAGpP,KAAOuP,EAAGvP,KACCgsC,EAAS10C,KAAK8zC,EAAI7lC,EAAG6J,EAAGu7B,EAAIkB,EAAKrmC,EAAG+J,EAAGq7B,EAAIkB,EAAKlM,GAEhDoM,EAAS10C,KAAK8zC,EAAI5lC,EAAG+J,EAAGq7B,EAAIkB,EAAKvmC,EAAG6J,EAAGu7B,EAAIkB,EAAKjM,GAElE,IAAIsM,EAAuBd,EAAGhlC,kBAAkB7O,OAAS00C,EAEzD,GAAGr/B,EAAY,CA6BX,GA3BIrH,EAAGuoB,YACHvoB,EAAGvF,OAAS4D,EAAKiqB,SACjBtoB,EAAGV,aAAgBjB,EAAKkB,UACxBU,EAAGX,aAAgBjB,EAAKoqB,OACxBxoB,EAAGxF,OAAS4D,EAAKgB,QAEG1D,EAAKmD,cAAcmB,EAAG8b,UAAYpnB,KAAKsY,IAAIhN,EAAGyc,gBAAgB,IAE3C,EADd/nB,KAAKsY,IAAIhN,EAAGyoB,gBAAgB,KAEjD1oB,EAAGkpB,yBAA0B,GAIjCjpB,EAAGsoB,YACHtoB,EAAGxF,OAAS4D,EAAKiqB,SACjBroB,EAAGX,aAAgBjB,EAAKkB,UACxBS,EAAGV,aAAgBjB,EAAKoqB,OACxBzoB,EAAGvF,OAAS4D,EAAKgB,QAEG1D,EAAKmD,cAAckB,EAAG+b,UAAYpnB,KAAKsY,IAAIjN,EAAG0c,gBAAgB,IAE3C,EADd/nB,KAAKsY,IAAIjN,EAAG0oB,gBAAgB,KAEjDzoB,EAAGipB,yBAA0B,GAIrCh0B,KAAK83B,cAAc0R,eAAe1+B,EAAI6J,EAAI5J,EAAI+J,GAC3C9U,KAAKktB,IAAI,iBAAmBltB,KAAK83B,cAAcgS,aAAan1B,EAAIG,GAAI,CAGnE,IAAInZ,EAAIqE,KAAKsvC,kBASb,GARA3zC,EAAE4U,OAASoE,EACXhZ,EAAE+U,OAASoE,EACXnZ,EAAE6N,MAAQsB,EACVnP,EAAE8N,MAAQsB,EAGVpP,EAAE+P,iBAAiB5O,OAAS,EAEH,iBAAhB,EACL,IAAQH,EAAEg0C,EAAGjlC,iBAAiB5O,OAAOqV,EAAaxV,EAAEg0C,EAAGjlC,iBAAiB5O,OAAQH,IAC5EhB,EAAE+P,iBAAiB5K,KAAK6vC,EAAGjlC,iBAAiB/O,IAIpDqD,KAAKotB,KAAKzxB,GAId,GAAyB,iBAAhB,GAA4B81C,EAAuB,EACxD,IAAI,IAAI90C,EAAEg0C,EAAGhlC,kBAAkB7O,OAAO20C,EAAsB90C,EAAEg0C,EAAGhlC,kBAAkB7O,OAAQH,IAAI,CAC3F,IAAIb,EAAI60C,EAAGhlC,kBAAkBhP,GAC7Bb,EAAE6V,aAAa7V,EAAEwwB,eAAiBmlB,QActDtU,EAAM/8B,UAAUsxC,UAAY,SAAS3C,GACjC/uC,KAAKotC,QAAQtsC,KAAKiuC,GAClB,IAAI4C,EAAM3xC,KAAK8uC,eACf6C,EAAI5C,OAASA,EACb/uC,KAAKotB,KAAKukB,GACVA,EAAI5C,OAAS,MASjB5R,EAAM/8B,UAAUwxC,aAAe,SAAS7C,GACpC,IAAIxsB,EAAMviB,KAAKotC,QAAQpqC,QAAQ+rC,IACnB,IAATxsB,GACCC,EAAMzf,OAAO/C,KAAKotC,QAAQ7qB,EAAI,IAgBtC4a,EAAM/8B,UAAU27B,QAAU,SAAS1b,GAC/B,IAAkC,IAA/BrgB,KAAK4K,OAAO5H,QAAQqd,GAAa,CAChCrgB,KAAK4K,OAAO9J,KAAKuf,GACjBA,EAAKpX,MAAQjJ,KACb,IAAI2xC,EAAM3xC,KAAK4uC,aACf+C,EAAItxB,KAAOA,EACXrgB,KAAKotB,KAAKukB,GACVA,EAAItxB,KAAO,OAUnB8c,EAAM/8B,UAAU+7B,WAAa,SAAS9b,GAClC,GAAGrgB,KAAKquC,SACJruC,KAAKsuC,kBAAkBxtC,KAAKuf,OACzB,CACHA,EAAKpX,MAAQ,KACb,IAAIsZ,EAAMviB,KAAK4K,OAAO5H,QAAQqd,IACpB,IAAPkC,IACCC,EAAMzf,OAAO/C,KAAK4K,OAAO2X,EAAI,GAC7BviB,KAAK6uC,gBAAgBxuB,KAAOA,EAC5BA,EAAK8W,0BACLn3B,KAAKotB,KAAKptB,KAAK6uC,iBACf7uC,KAAK6uC,gBAAgBxuB,KAAO,QAWxC8c,EAAM/8B,UAAUyxC,YAAc,SAAShhC,GAEnC,IAAI,IADAjG,EAAS5K,KAAK4K,OACVjO,EAAE,EAAGA,EAAEiO,EAAO9N,OAAQH,IAAI,CAC9B,IAAIgC,EAAIiM,EAAOjO,GACf,GAAGgC,EAAEkS,KAAOA,EACR,OAAOlS,EAGf,OAAO,GASXw+B,EAAM/8B,UAAU0xC,qBAAuB,SAAStoC,EAAMC,GAClDzJ,KAAKqtC,2BAA2BvsC,KAAK0I,EAAMC,IAS/C0zB,EAAM/8B,UAAU2xC,oBAAsB,SAASvoC,EAAMC,GAEjD,IAAI,IADA0lC,EAAQnvC,KAAKqtC,2BACT1wC,EAAE,EAAGA,EAAEwyC,EAAMryC,OAAQH,GAAG,EAC5B,GAAIwyC,EAAMxyC,KAAO6M,GAAS2lC,EAAMxyC,EAAE,KAAO8M,GAAW0lC,EAAMxyC,EAAE,KAAO6M,GAAS2lC,EAAMxyC,KAAO8M,EAErF,YADA0lC,EAAMpsC,OAAOpG,EAAE,IAW3BwgC,EAAM/8B,UAAUK,MAAQ,WAEpBT,KAAK23B,KAAO,EAGT33B,KAAKstC,QAAUttC,KAAKstC,OAAOnqB,UAAUrmB,QACpCkD,KAAKstC,OAAO/F,qBAKhB,IAAI,IADAyK,EAAKhyC,KAAK6tC,YACNlxC,EAAEq1C,EAAGl1C,OAAO,EAAGH,GAAG,EAAGA,IACzBqD,KAAKo8B,iBAAiB4V,EAAGr1C,IAK7B,IAAI,IADAiO,EAAS5K,KAAK4K,OACVjO,EAAEiO,EAAO9N,OAAO,EAAGH,GAAG,EAAGA,IAC7BqD,KAAKm8B,WAAWvxB,EAAOjO,IAK3B,IAAI,IADAywC,EAAUptC,KAAKotC,QACXzwC,EAAEywC,EAAQtwC,OAAO,EAAGH,GAAG,EAAGA,IAC9BqD,KAAK4xC,aAAaxE,EAAQzwC,IAK9B,IAAI,IADAs1C,EAAMjyC,KAAKouC,iBACPzxC,EAAEs1C,EAAIn1C,OAAO,EAAGH,GAAG,EAAGA,IAC1BqD,KAAK8vC,sBAAsBmC,EAAIt1C,IAGnCwgC,EAAMvB,MAAM57B,OAGhB,IAAIkyC,EAAezrC,EAAKC,SAEpByrC,GADe1rC,EAAKqI,WAAW,EAAE,GAClBrI,EAAKqI,WAAW,EAAE,IAarCquB,EAAM/8B,UAAUgyC,QAAU,SAAS5kC,EAAW5C,EAAOtN,GACjDA,EAAYA,GAAa,EAGzB,IAAI+0C,EAAK,IAAIlpC,GAAOrC,SAAS0G,IACzB8kC,EAAK,IAAIvV,EACT1N,EAAK7hB,EAELjG,EAAI2qC,EAEJhxC,EAAMixC,EACVE,EAAG1d,SAAS2d,GAMZ,IAAI,IAJAl2C,EAAI4D,KAAK84B,YACTh2B,KAGInG,EAAE,EAAGwE,EAAEyJ,EAAO9N,OAAQH,IAAIwE,EAAGxE,IAGjC,IAAI,IAFAgC,EAAIiM,EAAOjO,GAEPiF,EAAE,EAAG2wC,EAAG5zC,EAAE2R,OAAOxT,OAAQ8E,IAAI2wC,EAAI3wC,IAAI,CACzC,IAAItF,EAAIqC,EAAE2R,OAAO1O,GAGjB6E,EAAKS,OAAOK,EAAGjL,EAAEwK,SAAUnI,EAAEoI,OAC7BN,EAAKgB,IAAIF,EAAGA,EAAG5I,EAAEmI,UACjB,IAAIrK,EAAIH,EAAEyK,MAAQpI,EAAEoI,OAEfzK,aAAamS,GAAarS,EAAEid,eAAiB1a,EAAErC,EAAEiL,EAAE9K,EAAO41C,EAAGC,EAAGjjB,EArBpE,GAqB2E,IACvE/yB,aAAaoS,GAAatS,EAAEsc,eAAiB25B,EAAGC,EAAGjjB,EAtBvD,EAsB8D1wB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAa0gC,GAAa5gC,EAAEgd,cAAiBi5B,EAAGC,EAAGjjB,EAvBvD,EAuB8D1wB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAasgC,GAAaxgC,EAAEoa,gBAAiB67B,EAAGC,EAAGjjB,EAxBvD,EAwB8D1wB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAaygC,GAAat2B,EAAKmD,cAAcnD,EAAKiD,IAAIxI,EAAIqG,EAAEiG,IAAelQ,EAAUA,IAEtFwF,EAAOhC,KAAKnC,GAKxB,OAAOmE,GAQXq6B,EAAM/8B,UAAUoyC,mBAAqB,SAASjmC,GAI1C,IAAI,IADAshC,EAAc7tC,KAAK6tC,YACflxC,EAAE,EAAGA,IAAMkxC,EAAY/wC,OAAQH,IAEnC,IAAI,IADAiC,EAAIivC,EAAYlxC,GACZiF,EAAE,EAAGA,IAAMhD,EAAEukB,UAAUrmB,OAAQ8E,IAAI,CACvC,IAAI9D,EAAKc,EAAEukB,UAAUvhB,GACrB9D,EAAGyO,UAAYA,EACfzO,EAAGyT,aAAc,EAMzB,IAAI,IADA68B,EAAmBpuC,KAAKouC,iBACpBzxC,EAAE,EAAGA,IAAMyxC,EAAiBtxC,OAAQH,KACpCiC,EAAIwvC,EAAiBzxC,IACvB4P,UAAY3N,EAAEgO,kBAAoBL,GAIpC3N,EAAIoB,KAAK+tC,wBACXxhC,UAAY3N,EAAEgO,kBAAoBL,GAQxC4wB,EAAM/8B,UAAUqyC,oBAAsB,SAAS/lC,GAG3C,IAAQ/P,EAAE,EAAGA,IAAMqD,KAAK6tC,YAAY/wC,OAAQH,IAExC,IAAI,IADAiC,EAAIoB,KAAK6tC,YAAYlxC,GACjBiF,EAAE,EAAGA,IAAMhD,EAAEukB,UAAUrmB,OAAQ8E,IAAI,CACvC,IAAI9D,EAAKc,EAAEukB,UAAUvhB,GACrB9D,EAAG4O,WAAaA,EAChB5O,EAAGyT,aAAc,EAKzB,IAAI,IAAI5U,EAAE,EAAGA,IAAMqD,KAAKouC,iBAAiBtxC,OAAQH,KACzCiC,EAAIoB,KAAKouC,iBAAiBzxC,IAC5B+P,WAAa9N,EAAEiO,mBAAqBH,GAItC9N,EAAIoB,KAAK+tC,wBACXrhC,WAAa9N,EAAEiO,mBAAqBH,GAG1C,IAAIgmC,EAAU,IAAIpsC,EACdyJ,KA6CJotB,EAAM/8B,UAAU2gB,QAAU,SAASje,EAAQoF,GAQvC,OALAA,EAAI6B,QAAQ2oC,GACZ1yC,KAAK4tC,WAAW5iC,UAAUhL,KAAM0yC,EAAS3iC,GACzC7H,EAAIiY,gBAAgBrd,EAAQiN,GAC5BA,EAASjT,OAAS,EAEXgG,EAAOqe,YAGfwxB,qBAAqB,EAAEvxB,oBAAoB,EAAEjW,0BAA0B,EAAEynC,2BAA2B,GAAG7wB,mBAAmB,GAAG8wB,6BAA6B,GAAGnW,4BAA4B,GAAGoW,oCAAoC,GAAGC,gCAAgC,GAAGC,gCAAgC,GAAGC,qCAAqC,GAAGC,oCAAoC,GAAGla,yBAAyB,GAAGma,8BAA8B,GAAGC,uBAAuB,GAAGvqC,eAAe,GAAG2B,kBAAkB,GAAG6oC,0BAA0B,GAAGC,8BAA8B,GAAGC,oBAAoB,GAAGnoC,mBAAmB,GAAG2T,mBAAmB,GAAGy0B,iBAAiB,GAAGnoC,qBAAqB,GAAGC,kBAAkB,GAAGC,kBAAkB,GAAGkoC,qBAAqB,GAAGC,mBAAmB,GAAGC,yBAAyB,GAAG7qC,iBAAiB,GAAG8qC,kBAAkB,UAAU,KACz0B,MAMD,WA6lMA,SAASC,EAAoBC,EAAIvgC,EAAOC,EAAQugC,GAC5C,IAAIC,EAAUF,EAAGG,gBAOjB,OANAH,EAAGI,YAAYJ,EAAGK,WAAYH,GAC9BF,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgBP,EAAGQ,eACtDR,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgBT,EAAGQ,eACtDR,EAAGM,cAAcN,EAAGK,WAAYL,EAAGU,mBAAoBT,IAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAC7Gd,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBd,IAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAC7Gd,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGL,EAAGiB,KAAMxhC,EAAOC,EAAQ,EAAGsgC,EAAGiB,KAAMjB,EAAGkB,cAAe,MAC/EhB,EAgBX,SAASiB,EAAmBnB,EAAIvgC,EAAOC,EAAQugC,EAAWmB,GACtD,IAAIC,EAAcrB,EAAGsB,oBACjBC,EAAqBvB,EAAGwB,qBACxBC,EAAc,KACdC,EAAW,EAgBf,OAdA1B,EAAG2B,cAAc3B,EAAG4B,SAAWR,GAC/BpB,EAAG6B,gBAAgB7B,EAAG8B,YAAaT,GACnCrB,EAAG+B,iBAAiB/B,EAAGgC,aAAcT,GACrCvB,EAAGiC,wBAAwBjC,EAAG8B,YAAa9B,EAAGkC,yBAA0BlC,EAAGgC,aAAc91C,KAAKi2C,cAC9FV,EAAc1B,EAAoBC,EAAIvgC,EAAOC,EAAQugC,GACrDD,EAAGoC,qBAAqBpC,EAAG8B,YAAa9B,EAAGqC,kBAAmBrC,EAAGK,WAAYoB,EAAa,IAC1FC,EAAW1B,EAAGsC,uBAAuBtC,EAAG8B,gBACxB9B,EAAGuC,sBACflyC,QAAQmyC,MAAM,8BAA+BC,EAAUf,IAE3DL,EAAY5hC,MAAQA,EACpB4hC,EAAY3hC,OAASA,EACrB2hC,EAAYqB,cAAgBjB,EAC5BJ,EAAYc,aAAeZ,EACpBF,EAvoMP,IAAI3I,EAAOxsC,KAUXy0C,EAAOA,MAmBXA,EAAKgC,cAAgB,WAWjBz2C,KAAK8G,SAAW,IAAI2tC,EAAKh2C,MAAM,EAAG,GAYlCuB,KAAKqS,MAAQ,IAAIoiC,EAAKh2C,MAAM,EAAG,GAQ/BuB,KAAK02C,MAAQ,IAAIjC,EAAKh2C,MAAM,EAAG,GAY/BuB,KAAK22C,SAAW,EAYhB32C,KAAK42C,MAAQ,EAcb52C,KAAK62C,SAAU,EASf72C,KAAK82C,QAAU,KASf92C,KAAK+2C,YAAa,EAYlB/2C,KAAKg3C,OAAS,KAgBdh3C,KAAKi3C,WAAa,EAelBj3C,KAAKk3C,eAAiB,IAAIC,OAAOC,OAejCp3C,KAAKygB,cAAgB,IAAIg0B,EAAKh2C,MAAM,EAAG,GAevCuB,KAAKq3C,WAAa,IAAI5C,EAAKh2C,MAAM,EAAG,GAepCuB,KAAKs3C,cAAgB,EASrBt3C,KAAKu3C,WAAa,KAMlBv3C,KAAKw3C,IAAM,EAMXx3C,KAAKy3C,IAAM,EAMXz3C,KAAK03C,QAAU,IAAIjD,EAAKkD,UAAU,EAAG,EAAG,EAAG,GAM3C33C,KAAK43C,eAAiB,KAMtB53C,KAAK63C,MAAQ,KAMb73C,KAAK83C,gBAAiB,EAMtB93C,KAAK+3C,eAAgB,GAIzBtD,EAAKgC,cAAcr2C,WAEfuK,YAAa8pC,EAAKgC,cAWlB1O,QAAS,WAEL,GAAI/nC,KAAKg4C,SACT,CAGI,IAFA,IAAIr7C,EAAIqD,KAAKg4C,SAASl7C,OAEfH,KAEHqD,KAAKg4C,SAASr7C,GAAGorC,UAGrB/nC,KAAKg4C,YAGTh4C,KAAK82C,QAAU,KACf92C,KAAKg3C,OAAS,KACdh3C,KAAKk3C,eAAiB,KACtBl3C,KAAKu3C,WAAa,KAClBv3C,KAAK+2C,YAAa,EAElB/2C,KAAK03C,QAAU,KACf13C,KAAK43C,eAAiB,KACtB53C,KAAK63C,MAAQ,KAEb73C,KAAKi4C,wBAuBTC,gBAAiB,SAAUlB,GAEvB,IAAKA,IAAWh3C,KAAKg3C,SAAWh3C,KAAKm4C,KAEjC,OAAOn4C,KAGX,IAAIyB,EAAIzB,KAAKg3C,OAETA,EAEAv1C,EAAIu1C,EAEEh3C,KAAKg3C,SAEXv1C,EAAIzB,KAAKm4C,KAAKlvC,OAIlB,IAIIxM,EAAGkC,EAAGC,EAAGgF,EAAGw0C,EAAIC,EAJhBC,EAAK72C,EAAEy1C,eACPqB,EAAKv4C,KAAKk3C,eAMVl3C,KAAK22C,SAAWQ,OAAO13C,KAAK+4C,KAGxBx4C,KAAK22C,WAAa32C,KAAKy4C,gBAEvBz4C,KAAKy4C,cAAgBz4C,KAAK22C,SAC1B32C,KAAKw3C,IAAM/3C,KAAK6H,IAAItH,KAAK22C,UACzB32C,KAAKy3C,IAAMh4C,KAAK2H,IAAIpH,KAAK22C,WAI7Bl6C,EAAMuD,KAAKy3C,IAAMz3C,KAAKqS,MAAM9K,EAC5B5I,EAAMqB,KAAKw3C,IAAMx3C,KAAKqS,MAAM9K,EAC5B3I,GAAMoB,KAAKw3C,IAAMx3C,KAAKqS,MAAM7K,EAC5B5D,EAAM5D,KAAKy3C,IAAMz3C,KAAKqS,MAAM7K,EAC5B4wC,EAAMp4C,KAAK8G,SAASS,EACpB8wC,EAAMr4C,KAAK8G,SAASU,GAGhBxH,KAAK02C,MAAMnvC,GAAKvH,KAAK02C,MAAMlvC,KAE3B4wC,GAAMp4C,KAAK02C,MAAMnvC,EAAI9K,EAAIuD,KAAK02C,MAAMlvC,EAAI5I,EACxCy5C,GAAMr4C,KAAK02C,MAAMnvC,EAAI5I,EAAIqB,KAAK02C,MAAMlvC,EAAI5D,GAI5C20C,EAAG97C,EAAKA,EAAK67C,EAAG77C,EAAIkC,EAAK25C,EAAG15C,EAC5B25C,EAAG55C,EAAKlC,EAAK67C,EAAG35C,EAAIA,EAAK25C,EAAG10C,EAC5B20C,EAAG35C,EAAKA,EAAK05C,EAAG77C,EAAImH,EAAK00C,EAAG15C,EAC5B25C,EAAG30C,EAAKhF,EAAK05C,EAAG35C,EAAIiF,EAAK00C,EAAG10C,EAC5B20C,EAAGH,GAAKA,EAAKE,EAAG77C,EAAI47C,EAAKC,EAAG15C,EAAI05C,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAG35C,EAAI05C,EAAKC,EAAG10C,EAAI00C,EAAGD,KAKnC57C,EAAKuD,KAAKqS,MAAM9K,EAChB5I,EAAK,EACLC,EAAK,EACLgF,EAAK5D,KAAKqS,MAAM7K,EAChB4wC,EAAKp4C,KAAK8G,SAASS,EAAIvH,KAAK02C,MAAMnvC,EAAI9K,EACtC47C,EAAKr4C,KAAK8G,SAASU,EAAIxH,KAAK02C,MAAMlvC,EAAI5D,EAEtC20C,EAAG97C,EAAKA,EAAK67C,EAAG77C,EAChB87C,EAAG55C,EAAKlC,EAAK67C,EAAG35C,EAChB45C,EAAG35C,EAAKgF,EAAK00C,EAAG15C,EAChB25C,EAAG30C,EAAKA,EAAK00C,EAAG10C,EAChB20C,EAAGH,GAAKA,EAAKE,EAAG77C,EAAI47C,EAAKC,EAAG15C,EAAI05C,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAG35C,EAAI05C,EAAKC,EAAG10C,EAAI00C,EAAGD,IAGvC57C,EAAI87C,EAAG97C,EACPkC,EAAI45C,EAAG55C,EACPC,EAAI25C,EAAG35C,EAGP,IAAI85C,EAAUj8C,GAFdmH,EAAI20C,EAAG30C,GAEiBjF,EAAIC,EAE5B,GAAInC,GAAKkC,EACT,CACI,IAAItC,EAAIoD,KAAKC,KAAMjD,EAAIA,EAAMkC,EAAIA,GAEjCqB,KAAKs3C,cAAiB34C,EAAI,EAAKc,KAAKG,KAAKnD,EAAIJ,IAAMoD,KAAKG,KAAKnD,EAAIJ,GACjE2D,KAAKq3C,WAAW9vC,EAAIlL,EACpB2D,KAAKq3C,WAAW7vC,EAAIkxC,EAASr8C,OAE5B,GAAIuC,GAAKgF,EACd,CACI,IAAItH,EAAImD,KAAKC,KAAMd,EAAIA,EAAMgF,EAAIA,GAEjC5D,KAAKs3C,cAAgBH,OAAO13C,KAAKk5C,SAAY/0C,EAAI,EAAKnE,KAAKG,MAAMhB,EAAItC,IAAMmD,KAAKG,KAAKhB,EAAItC,IACzF0D,KAAKq3C,WAAW9vC,EAAImxC,EAASp8C,EAC7B0D,KAAKq3C,WAAW7vC,EAAIlL,OAIpB0D,KAAKq3C,WAAW9vC,EAAI,EACpBvH,KAAKq3C,WAAW7vC,EAAI,EAiBxB,OAbAxH,KAAKi3C,WAAaj3C,KAAK42C,MAAQn1C,EAAEw1C,WACjCj3C,KAAKygB,cAAclZ,EAAIgxC,EAAGH,GAC1Bp4C,KAAKygB,cAAcjZ,EAAI+wC,EAAGF,GAG1Br4C,KAAK43C,eAAiB,KAGlB53C,KAAK44C,mBAEL54C,KAAK44C,kBAAkB/7C,KAAKmD,KAAK64C,yBAA0BN,EAAID,GAG5Dt4C,MASX84C,UAAW,aAiBXC,gBAAiB,SAAUC,EAAYjF,EAAWkF,GAE9C,IAAIC,EAASl5C,KAAKm5C,iBAEdC,EAAgB,IAAIjC,OAAOkC,cAAcr5C,KAAKm4C,KAAqB,EAAfe,EAAO3lC,MAA2B,EAAhB2lC,EAAO1lC,OAAYylC,EAAUlF,EAAWiF,GAOlH,OALAvE,EAAKgC,cAAc6C,YAAYlB,IAAMc,EAAO3xC,EAC5CktC,EAAKgC,cAAc6C,YAAYjB,IAAMa,EAAO1xC,EAE5C4xC,EAAcG,OAAOv5C,KAAMy0C,EAAKgC,cAAc6C,aAEvCF,GAUXI,YAAa,WAIT,OAFAx5C,KAAKy5C,wBAEEz5C,MAWX05C,SAAU,SAAU5yC,GAIhB,OAFA9G,KAAKk4C,kBAEEl4C,KAAKk3C,eAAetb,MAAM90B,IAYrC6yC,QAAS,SAAU7yC,EAAUlG,GASzB,OAPIA,IAEAkG,EAAWlG,EAAK84C,SAAS5yC,IAG7B9G,KAAKk4C,kBAEEl4C,KAAKk3C,eAAe0C,aAAa9yC,IAW5C+yC,oBAAqB,SAAUC,GAE3B95C,KAAK+5C,cAAc9C,WAAaj3C,KAAKi3C,WAEjC6C,EAAchG,GAEdW,EAAKuF,OAAO55C,UAAU65C,aAAap9C,KAAKmD,KAAK+5C,cAAeD,GAI5DrF,EAAKuF,OAAO55C,UAAU85C,cAAcr9C,KAAKmD,KAAK+5C,cAAeD,IAWrEL,sBAAuB,WAEnBz5C,KAAK83C,gBAAiB,EAEtB,IAAIoB,EAASl5C,KAAKm5C,iBAQlB,GALAD,EAAO3lC,MAAQ9T,KAAKkJ,IAAI,EAAGlJ,KAAKwe,KAAKi7B,EAAO3lC,QAC5C2lC,EAAO1lC,OAAS/T,KAAKkJ,IAAI,EAAGlJ,KAAKwe,KAAKi7B,EAAO1lC,SAE7CxT,KAAKk4C,kBAEAl4C,KAAK+5C,cAaN/5C,KAAK+5C,cAAc/F,QAAQjJ,OAAOmO,EAAO3lC,MAAO2lC,EAAO1lC,YAZ3D,CACI,IAAI0hC,EAAc,EACdl1C,KAAKg0C,SAAWh0C,KAAKg0C,QAAQmG,aAAe1F,EAAK2F,4BAEjDlF,EAAcl1C,KAAKg0C,QAAQmG,YAAYE,cAE3C,IAAIjB,EAAgB,IAAIjC,OAAOkC,cAAcr5C,KAAKm4C,KAAMe,EAAO3lC,MAAO2lC,EAAO1lC,YAAQ8L,OAAWA,OAAWA,OAAWA,EAAW41B,GACjIl1C,KAAK+5C,cAAgB,IAAItF,EAAKuF,OAAOZ,GACrCp5C,KAAK+5C,cAAc7C,eAAiBl3C,KAAKk3C,eAQ7C,IAAIoD,EAAct6C,KAAKu6C,SAEvBv6C,KAAKu6C,SAAW,KAChBv6C,KAAK+5C,cAAcS,QAAUF,EAE7B7F,EAAKgC,cAAc6C,YAAYlB,IAAMc,EAAO3xC,EAC5CktC,EAAKgC,cAAc6C,YAAYjB,IAAMa,EAAO1xC,EAC5CxH,KAAK+5C,cAAc/F,QAAQuF,OAAOv5C,KAAMy0C,EAAKgC,cAAc6C,aAAa,GACxEt5C,KAAK+5C,cAAcU,OAAOlzC,GAAM2xC,EAAO3xC,EAAI2xC,EAAO3lC,MAClDvT,KAAK+5C,cAAcU,OAAOjzC,GAAM0xC,EAAO1xC,EAAI0xC,EAAO1lC,OAElDxT,KAAKu6C,SAAWD,EAEhBt6C,KAAK83C,gBAAiB,GAU1BG,qBAAsB,WAEbj4C,KAAK+5C,gBAKV/5C,KAAK+5C,cAAc/F,QAAQjM,SAAQ,GAEnC/nC,KAAK+5C,cAAgB,QAO7BtF,EAAKgC,cAAcr2C,UAAUs6C,6BAA+BjG,EAAKgC,cAAcr2C,UAAU83C,gBAEzF9a,OAAOud,iBAAiBlG,EAAKgC,cAAcr2C,WAQvCmH,GAEIwJ,IAAK,WAED,OAAO/Q,KAAK8G,SAASS,GAIzB8F,IAAK,SAAU8N,GAEXnb,KAAK8G,SAASS,EAAI4T,IAY1B3T,GAEIuJ,IAAK,WAED,OAAO/Q,KAAK8G,SAASU,GAIzB6F,IAAK,SAAU8N,GAEXnb,KAAK8G,SAASU,EAAI2T,IAW1By/B,cAEI7pC,IAAK,WAED,GAAK/Q,KAAK62C,QAKV,CACI,IAAIgE,EAAO76C,KAAKg3C,OAEhB,IAAK6D,EAED,OAAO76C,KAAK62C,QAIZ,EACA,CACI,IAAKgE,EAAKhE,QAEN,OAAO,EAGXgE,EAAOA,EAAK7D,aAET6D,GAIX,OAAO,EAzBP,OAAO,IAyCnBC,MAEI/pC,IAAK,WAED,OAAO/Q,KAAK63C,OAIhBxqC,IAAK,SAAU8N,GAEPnb,KAAK63C,QAEL73C,KAAK63C,MAAMkD,QAAS,GAGxB/6C,KAAK63C,MAAQ18B,EAETA,IAEAnb,KAAK63C,MAAMkD,QAAS,KAoBhCP,SAEIzpC,IAAK,WAED,OAAO/Q,KAAKu6C,UAIhBltC,IAAK,SAAU8N,GAEX,GAAIxY,MAAM++B,QAAQvmB,GAClB,CAII,IAAK,IAFD6/B,KAEKr+C,EAAI,EAAGA,EAAIwe,EAAMre,OAAQH,IAI9B,IAAK,IAFDs+C,EAAe9/B,EAAMxe,GAAGq+C,OAEnBp5C,EAAI,EAAGA,EAAIq5C,EAAan+C,OAAQ8E,IAErCo5C,EAAOl6C,KAAKm6C,EAAar5C,IAKjC5B,KAAKk7C,cAAiB3tB,OAAQvtB,KAAMi7C,aAAcD,GAGtDh7C,KAAKu6C,SAAWp/B,EAEZnb,KAAKm7C,WAAan7C,KAAKm7C,YAAc1G,EAAK2G,WAAWC,WAErDr7C,KAAKm7C,UAAY1G,EAAK2G,WAAWE,UAwB7CC,eAEIxqC,IAAK,WAED,OAAO/Q,KAAK83C,gBAIhBzqC,IAAK,SAAU8N,GAEPnb,KAAK83C,iBAAmB38B,IAKxBA,EAEAnb,KAAKy5C,wBAILz5C,KAAKi4C,uBAGTj4C,KAAK83C,eAAiB38B,OAoBlCs5B,EAAK+G,uBAAyB,WAE1B/G,EAAKgC,cAAc55C,KAAKmD,MASxBA,KAAKg4C,YAWLh4C,KAAKy7C,kBAAmB,GAI5BhH,EAAK+G,uBAAuBp7C,UAAYg9B,OAAO12B,OAAQ+tC,EAAKgC,cAAcr2C,WAC1Eq0C,EAAK+G,uBAAuBp7C,UAAUuK,YAAc8pC,EAAK+G,uBASzD/G,EAAK+G,uBAAuBp7C,UAAUs7C,SAAW,SAAUjP,GAEvD,OAAOzsC,KAAK27C,WAAWlP,EAAOzsC,KAAKg4C,SAASl7C,SAYhD23C,EAAK+G,uBAAuBp7C,UAAUu7C,WAAa,SAAUlP,EAAOtf,GAEhE,GAAIA,GAAS,GAAKA,GAASntB,KAAKg4C,SAASl7C,OAWrC,OATI2vC,EAAMuK,QAENvK,EAAMuK,OAAO4E,YAAYnP,GAG7BA,EAAMuK,OAASh3C,KAEfA,KAAKg4C,SAASj1C,OAAOoqB,EAAO,EAAGsf,GAExBA,EAIP,MAAM,IAAI7vC,MAAM6vC,EAAQ,yBAA0Btf,EAAO,8BAAgCntB,KAAKg4C,SAASl7C,SAY/G23C,EAAK+G,uBAAuBp7C,UAAUy7C,aAAe,SAAUpP,EAAOqP,GAElE,GAAIrP,IAAUqP,EAAd,CAKA,IAAIC,EAAS/7C,KAAKg8C,cAAcvP,GAC5BwP,EAASj8C,KAAKg8C,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIr/C,MAAM,iFAGpBoD,KAAKg4C,SAAS+D,GAAUD,EACxB97C,KAAKg4C,SAASiE,GAAUxP,IAW5BgI,EAAK+G,uBAAuBp7C,UAAU47C,cAAgB,SAAUvP,GAE5D,IAAItf,EAAQntB,KAAKg4C,SAASh1C,QAAQypC,GAElC,IAAe,IAAXtf,EAEA,MAAM,IAAIvwB,MAAM,4DAGpB,OAAOuwB,GAWXsnB,EAAK+G,uBAAuBp7C,UAAU87C,cAAgB,SAAUzP,EAAOtf,GAEnE,GAAIA,EAAQ,GAAKA,GAASntB,KAAKg4C,SAASl7C,OAEpC,MAAM,IAAIF,MAAM,uCAGpB,IAAIu/C,EAAen8C,KAAKg8C,cAAcvP,GAEtCzsC,KAAKg4C,SAASj1C,OAAOo5C,EAAc,GACnCn8C,KAAKg4C,SAASj1C,OAAOoqB,EAAO,EAAGsf,IAWnCgI,EAAK+G,uBAAuBp7C,UAAUg8C,WAAa,SAAUjvB,GAEzD,GAAIA,EAAQ,GAAKA,GAASntB,KAAKg4C,SAASl7C,OAEpC,MAAM,IAAIF,MAAM,8BAA+BuwB,EAAO,kGAG1D,OAAOntB,KAAKg4C,SAAS7qB,IAWzBsnB,EAAK+G,uBAAuBp7C,UAAUw7C,YAAc,SAAUnP,GAE1D,IAAItf,EAAQntB,KAAKg4C,SAASh1C,QAAQypC,GAElC,IAAe,IAAXtf,EAKJ,OAAOntB,KAAKq8C,cAAclvB,IAW9BsnB,EAAK+G,uBAAuBp7C,UAAUi8C,cAAgB,SAAUlvB,GAE5D,IAAIsf,EAAQzsC,KAAKo8C,WAAWjvB,GAS5B,OAPIsf,IAEAA,EAAMuK,YAAS13B,EAEftf,KAAKg4C,SAASj1C,OAAOoqB,EAAO,IAGzBsf,GAWXgI,EAAK+G,uBAAuBp7C,UAAUk8C,eAAiB,SAAUC,EAAYC,QAEtDl9B,IAAfi9B,IAA4BA,EAAa,QAC5Bj9B,IAAbk9B,IAA0BA,EAAWx8C,KAAKg4C,SAASl7C,QAEvD,IAAI2/C,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAU18C,KAAKg4C,SAASj1C,OAAOw5C,EAAYE,GAEtC9/C,EAAI,EAAGA,EAAI+/C,EAAQ5/C,OAAQH,IAEpB+/C,EAAQ//C,GACdq6C,YAAS13B,EAGnB,OAAOo9B,EAEN,GAAc,IAAVD,GAAwC,IAAzBz8C,KAAKg4C,SAASl7C,OAElC,SAIA,MAAM,IAAIF,MAAO,iFAWzB63C,EAAK+G,uBAAuBp7C,UAAU83C,gBAAkB,WAEpD,GAAKl4C,KAAK62C,UAKV72C,KAAK06C,gCAED16C,KAAK83C,gBAKT,IAAK,IAAIn7C,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGu7C,mBAMzBzD,EAAK+G,uBAAuBp7C,UAAUu8C,sCAAwClI,EAAK+G,uBAAuBp7C,UAAU83C,gBASpHzD,EAAK+G,uBAAuBp7C,UAAUw8C,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiCpI,EAAKgC,cACvGsG,GAAsC,EAErCD,EAMDC,EAFEF,aAAiCpI,EAAK+G,wBAEFqB,EAAsBG,SAASh9C,MAJrE68C,EAAwB78C,KAW5B,IAAIrD,EAEJ,GAAImgD,EACJ,CACI,IAAIG,EAAcJ,EAAsB3F,eAIxC,IAFA2F,EAAsB3F,eAAiBC,OAAO+F,eAEzCvgD,EAAI,EAAGA,EAAIkgD,EAAsB7E,SAASl7C,OAAQH,IAEnDkgD,EAAsB7E,SAASr7C,GAAGu7C,kBAI1C,IAMIiF,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKhhD,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtBqD,KAAKg4C,SAASr7C,GAEfk6C,UAKX8G,GAAe,EAIfL,EAAQA,GAFRH,EAAcn9C,KAAKg4C,SAASr7C,GAAGigD,aAEJr1C,EAAK+1C,EAAOH,EAAY51C,EACnDi2C,EAAQA,EAAOL,EAAY31C,EAAKg2C,EAAOL,EAAY31C,EAEnD41C,EAAYD,EAAY5pC,MAAQ4pC,EAAY51C,EAC5C81C,EAAYF,EAAY3pC,OAAS2pC,EAAY31C,EAE7Ci2C,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAInE,EAASl5C,KAAK03C,QAElB,IAAKiG,EACR,CAGO,IAAIC,GAFJ1E,EAAS,IAAIzE,EAAKkD,WAEFpwC,EACZs2C,EAAK3E,EAAO3lC,MAAQ2lC,EAAO3xC,EAE3Bu2C,EAAK5E,EAAO1xC,EACZu2C,EAAK7E,EAAO1lC,OAAS0lC,EAAO1xC,EAE5B0vC,EAAiBl3C,KAAKk3C,eAEtBz6C,EAAIy6C,EAAez6C,EACnBkC,EAAIu4C,EAAev4C,EACnBC,EAAIs4C,EAAet4C,EACnBgF,EAAIszC,EAAetzC,EACnBw0C,EAAKlB,EAAekB,GACpBC,EAAKnB,EAAemB,GAEpB2F,EAAKvhD,EAAIohD,EAAKj/C,EAAIm/C,EAAK3F,EACvB6F,EAAKr6C,EAAIm6C,EAAKp/C,EAAIk/C,EAAKxF,EAEvB6F,EAAKzhD,EAAImhD,EAAKh/C,EAAIm/C,EAAK3F,EACvB+F,EAAKv6C,EAAIm6C,EAAKp/C,EAAIi/C,EAAKvF,EAEvB+F,EAAK3hD,EAAImhD,EAAKh/C,EAAIk/C,EAAK1F,EACvBiG,EAAKz6C,EAAIk6C,EAAKn/C,EAAIi/C,EAAKvF,EAEvBiG,EAAK7hD,EAAIohD,EAAKj/C,EAAIk/C,EAAK1F,EACvBmG,EAAK36C,EAAIk6C,EAAKn/C,EAAIk/C,EAAKxF,EAE3BoF,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,GALAxE,EAAO3xC,EAAI+1C,EACXpE,EAAO1xC,EAAIg2C,EACXtE,EAAO3lC,MAAQkqC,EAAOH,EACtBpE,EAAO1lC,OAASkqC,EAAOF,EAEnBV,EAIA,IAFAD,EAAsB3F,eAAiB+F,EAElCtgD,EAAI,EAAGA,EAAIkgD,EAAsB7E,SAASl7C,OAAQH,IAEnDkgD,EAAsB7E,SAASr7C,GAAGu7C,kBAI1C,IAAK6E,EACR,CACO,IAAIyB,EAA8B3B,EAAsBD,YAExD1D,EAAO3xC,GAAKi3C,EAA4Bj3C,EACxC2xC,EAAO1xC,GAAKg3C,EAA4Bh3C,EAG5C,OAAO0xC,GAUXzE,EAAK+G,uBAAuBp7C,UAAU+4C,eAAiB,WAEnD,OAAOn5C,KAAK48C,UAAU58C,OAW1By0C,EAAK+G,uBAAuBp7C,UAAU48C,SAAW,SAAUvQ,GAEvD,QAAKA,IAIIA,IAAUzsC,MAMRA,KAAKg9C,SAASvQ,EAAMuK,UAWnCvC,EAAK+G,uBAAuBp7C,UAAU65C,aAAe,SAAUH,GAE3D,GAAK95C,KAAK62C,WAAW72C,KAAK42C,OAAS,GAKnC,GAAI52C,KAAK83C,eAEL93C,KAAK65C,oBAAoBC,OAF7B,CAMA,IAAIn9C,EAEJ,GAAIqD,KAAK63C,OAAS73C,KAAKu6C,SACvB,CAgBI,IAdIv6C,KAAKu6C,WAELT,EAAc2E,YAAYC,QAC1B5E,EAAc6E,cAAcC,WAAW5+C,KAAKk7C,eAG5Cl7C,KAAK63C,QAELiC,EAAc2E,YAAY38B,OAC1Bg4B,EAAc+E,YAAYC,SAAS9+C,KAAK86C,KAAMhB,GAC9CA,EAAc2E,YAAY/a,SAIzB/mC,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAElCqD,KAAKg4C,SAASr7C,GAAGs9C,aAAaH,GAGlCA,EAAc2E,YAAY38B,OAEtB9hB,KAAK63C,OAAOiC,EAAc+E,YAAYE,QAAQ/+C,KAAK63C,MAAOiC,GAC1D95C,KAAKu6C,UAAUT,EAAc6E,cAAcK,YAE/ClF,EAAc2E,YAAY/a,aAK1B,IAAK/mC,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAElCqD,KAAKg4C,SAASr7C,GAAGs9C,aAAaH,KAa1CrF,EAAK+G,uBAAuBp7C,UAAU85C,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB95C,KAAK62C,SAAoC,IAAf72C,KAAK42C,MAKnC,GAAI52C,KAAK83C,eAEL93C,KAAK65C,oBAAoBC,OAF7B,CAMI95C,KAAK63C,OAELiC,EAAc+E,YAAYC,SAAS9+C,KAAK63C,MAAOiC,GAGnD,IAAK,IAAIn9C,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGu9C,cAAcJ,GAG/B95C,KAAK63C,OAELiC,EAAc+E,YAAYE,QAAQjF,KAW1C1c,OAAOC,eAAeoX,EAAK+G,uBAAuBp7C,UAAW,SAEzD2Q,IAAK,WACD,OAAO/Q,KAAKm5C,iBAAiB5lC,MAAQvT,KAAKqS,MAAM9K,GAGpD8F,IAAK,SAAS8N,GAEV,IAAI5H,EAAQvT,KAAKm5C,iBAAiB5lC,MAI9BvT,KAAKqS,MAAM9K,EAFD,IAAVgM,EAEe4H,EAAQ5H,EAIR,EAGnBvT,KAAKi/C,OAAS9jC,KAUtBiiB,OAAOC,eAAeoX,EAAK+G,uBAAuBp7C,UAAW,UAEzD2Q,IAAK,WACD,OAAO/Q,KAAKm5C,iBAAiB3lC,OAASxT,KAAKqS,MAAM7K,GAGrD6F,IAAK,SAAS8N,GAEV,IAAI3H,EAASxT,KAAKm5C,iBAAiB3lC,OAI/BxT,KAAKqS,MAAM7K,EAFA,IAAXgM,EAEe2H,EAAQ3H,EAIR,EAGnBxT,KAAKk/C,QAAU/jC,KAiBvBs5B,EAAKuF,OAAS,SAAUhG,GAEpBS,EAAK+G,uBAAuB3+C,KAAKmD,MAajCA,KAAKy6C,OAAS,IAAIhG,EAAKh2C,MAAMg2C,EAAKuF,OAAOmF,cAAc53C,EAAGktC,EAAKuF,OAAOmF,cAAc33C,GAQpFxH,KAAKg0C,QAAUA,GAAWS,EAAK2K,QAAQC,aASvCr/C,KAAKi/C,OAAS,EASdj/C,KAAKk/C,QAAU,EASfl/C,KAAKs/C,KAAO,SAUZt/C,KAAKu/C,YAAc,EASnBv/C,KAAKw/C,cAAgB,KAWrBx/C,KAAKm7C,UAAY1G,EAAK2G,WAAWE,OAUjCt7C,KAAKy/C,OAAS,KASdz/C,KAAK0/C,QAAS,EAEV1/C,KAAKg0C,QAAQmG,YAAYwF,WAEzB3/C,KAAK4/C,kBAGT5/C,KAAK+2C,YAAa,GAStBtC,EAAKuF,OAAOmF,eAAiB53C,EAAG,EAAGC,EAAG,GAGtCitC,EAAKuF,OAAO55C,UAAYg9B,OAAO12B,OAAO+tC,EAAK+G,uBAAuBp7C,WAClEq0C,EAAKuF,OAAO55C,UAAUuK,YAAc8pC,EAAKuF,OAQzC5c,OAAOC,eAAeoX,EAAKuF,OAAO55C,UAAW,SAEzC2Q,IAAK,WACD,OAAO/Q,KAAKqS,MAAM9K,EAAIvH,KAAKg0C,QAAQ6L,MAAMtsC,OAG7ClG,IAAK,SAAS8N,GACVnb,KAAKqS,MAAM9K,EAAI4T,EAAQnb,KAAKg0C,QAAQ6L,MAAMtsC,MAC1CvT,KAAKi/C,OAAS9jC,KAWtBiiB,OAAOC,eAAeoX,EAAKuF,OAAO55C,UAAW,UAEzC2Q,IAAK,WACD,OAAQ/Q,KAAKqS,MAAM7K,EAAIxH,KAAKg0C,QAAQ6L,MAAMrsC,QAG9CnG,IAAK,SAAS8N,GACVnb,KAAKqS,MAAM7K,EAAI2T,EAAQnb,KAAKg0C,QAAQ6L,MAAMrsC,OAC1CxT,KAAKk/C,QAAU/jC,KAavBs5B,EAAKuF,OAAO55C,UAAU0/C,WAAa,SAAS9L,EAAS+L,QAE7BzgC,IAAhBygC,GAEA//C,KAAKg0C,QAAQmG,YAAYpS,UAI7B/nC,KAAKg0C,QAAQmG,YAAY6F,YAAa,EACtChgD,KAAKg0C,QAAUA,EACfh0C,KAAKg0C,QAAQiM,OAAQ,EACrBjgD,KAAKu/C,YAAc,GAUvB9K,EAAKuF,OAAO55C,UAAUw/C,gBAAkB,WAGhC5/C,KAAKi/C,SAAQj/C,KAAKqS,MAAM9K,EAAIvH,KAAKi/C,OAASj/C,KAAKg0C,QAAQ6L,MAAMtsC,OAC7DvT,KAAKk/C,UAASl/C,KAAKqS,MAAM7K,EAAIxH,KAAKk/C,QAAUl/C,KAAKg0C,QAAQ6L,MAAMrsC,SAkBvEihC,EAAKuF,OAAO55C,UAAUw8C,UAAY,SAASsD,GAEvC,IAAI3sC,EAAQvT,KAAKg0C,QAAQ6L,MAAMtsC,MAC3BC,EAASxT,KAAKg0C,QAAQ6L,MAAMrsC,OAE5BoqC,EAAKrqC,GAAS,EAAEvT,KAAKy6C,OAAOlzC,GAC5Bs2C,EAAKtqC,GAASvT,KAAKy6C,OAAOlzC,EAE1Bu2C,EAAKtqC,GAAU,EAAExT,KAAKy6C,OAAOjzC,GAC7Bu2C,EAAKvqC,GAAUxT,KAAKy6C,OAAOjzC,EAE3B0vC,EAAiBgJ,GAAUlgD,KAAKk3C,eAEhCz6C,EAAIy6C,EAAez6C,EACnBkC,EAAIu4C,EAAev4C,EACnBC,EAAIs4C,EAAet4C,EACnBgF,EAAIszC,EAAetzC,EACnBw0C,EAAKlB,EAAekB,GACpBC,EAAKnB,EAAemB,GAEpBoF,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAAN5+C,GAAiB,IAANC,EACf,CAEI,GAAInC,EAAI,EACR,CACIA,IAAM,EACF0d,EAAOyjC,EACXA,GAAMC,EACNA,GAAM1jC,EAGV,GAAIvW,EAAI,EACR,CACIA,IAAM,EACN,IAAIuW,EAAO2jC,EACXA,GAAMC,EACNA,GAAM5jC,EAKVmjC,EAAO7gD,EAAIohD,EAAKzF,EAChBqF,EAAOhhD,EAAImhD,EAAKxF,EAChBoF,EAAO55C,EAAIm6C,EAAK1F,EAChBqF,EAAO95C,EAAIk6C,EAAKzF,MAGpB,CACI,IAAI2F,EAAKvhD,EAAIohD,EAAKj/C,EAAIm/C,EAAK3F,EACvB6F,EAAKr6C,EAAIm6C,EAAKp/C,EAAIk/C,EAAKxF,EAEvB6F,EAAKzhD,EAAImhD,EAAKh/C,EAAIm/C,EAAK3F,EACvB+F,EAAKv6C,EAAIm6C,EAAKp/C,EAAIi/C,EAAKvF,EAEvB+F,EAAK3hD,EAAImhD,EAAKh/C,EAAIk/C,EAAK1F,EACvBiG,EAAKz6C,EAAIk6C,EAAKn/C,EAAIi/C,EAAKvF,EAEvBiG,EAAM7hD,EAAIohD,EAAKj/C,EAAIk/C,EAAK1F,EACxBmG,EAAM36C,EAAIk6C,EAAKn/C,EAAIk/C,EAAKxF,EAK5BiF,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,IAAIxE,EAASl5C,KAAK03C,QAWlB,OATAwB,EAAO3xC,EAAI+1C,EACXpE,EAAO3lC,MAAQkqC,EAAOH,EAEtBpE,EAAO1xC,EAAIg2C,EACXtE,EAAO1lC,OAASkqC,EAAOF,EAGvBx9C,KAAK43C,eAAiBsB,EAEfA,GASXzE,EAAKuF,OAAO55C,UAAU+4C,eAAiB,WAEnC,IAAI8D,EAAcj9C,KAAKk3C,eAEvBl3C,KAAKk3C,eAAiBC,OAAO+F,eAE7B,IAAK,IAAIvgD,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGu7C,kBAGrB,IAAIgB,EAASl5C,KAAK48C,YAIlB,IAFA58C,KAAKk3C,eAAiB+F,EAEjBtgD,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAElCqD,KAAKg4C,SAASr7C,GAAGu7C,kBAGrB,OAAOgB,GAYXzE,EAAKuF,OAAO55C,UAAU65C,aAAe,SAASH,EAAeoG,GAGzD,GAAKlgD,KAAK62C,WAAW72C,KAAK42C,OAAS,IAAM52C,KAAK+2C,WAA9C,CAGA,IAAIwB,EAAKv4C,KAAKk3C,eAQd,GANIgJ,IAEA3H,EAAK2H,GAILlgD,KAAK63C,OAAS73C,KAAKu6C,SACvB,CACI,IAAIkE,EAAc3E,EAAc2E,YAG5Bz+C,KAAKu6C,WAELkE,EAAYC,QACZ5E,EAAc6E,cAAcC,WAAW5+C,KAAKk7C,eAG5Cl7C,KAAK63C,QAEL4G,EAAY38B,OACZg4B,EAAc+E,YAAYC,SAAS9+C,KAAK86C,KAAMhB,GAC9C2E,EAAY/a,SAIhB+a,EAAYlF,OAAOv5C,MAGnB,IAASrD,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGs9C,aAAaH,GAIlC2E,EAAY38B,OAER9hB,KAAK63C,OAAOiC,EAAc+E,YAAYE,QAAQ/+C,KAAK63C,MAAOiC,GAC1D95C,KAAKu6C,UAAUT,EAAc6E,cAAcK,YAE/CP,EAAY/a,YAGhB,CACIoW,EAAc2E,YAAYlF,OAAOv5C,MAGjC,IAAK,IAAIrD,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGs9C,aAAaH,EAAevB,MAczD9D,EAAKuF,OAAO55C,UAAU85C,cAAgB,SAASJ,EAAeoG,GAG1D,MAAKlgD,KAAK62C,SAA0B,IAAf72C,KAAK42C,QAAgB52C,KAAK+2C,YAAc/2C,KAAKg0C,QAAQmM,KAAK5sC,OAAS,GAAKvT,KAAKg0C,QAAQmM,KAAK3sC,QAAU,GAAzH,CAKA,IAAI+kC,EAAKv4C,KAAKk3C,eAoBd,GAjBIgJ,IAEA3H,EAAK2H,GAGLlgD,KAAKm7C,YAAcrB,EAAcsG,mBAEjCtG,EAAcsG,iBAAmBpgD,KAAKm7C,UACtCrB,EAAc/sB,QAAQszB,yBAA2B5L,EAAK6L,iBAAiBxG,EAAcsG,mBAGrFpgD,KAAK63C,OAELiC,EAAc+E,YAAYC,SAAS9+C,KAAK63C,MAAOiC,GAI9C95C,KAAKg0C,QAAQiM,MAAlB,CAgBA,IAAIjH,EAAah5C,KAAKg0C,QAAQmG,YAAYnB,WAAac,EAAcd,WAErEc,EAAc/sB,QAAQwzB,YAAcvgD,KAAKi3C,WAGrC6C,EAAc0G,gBAAkB1G,EAAc/F,YAAc/zC,KAAKg0C,QAAQmG,YAAYpG,YAErF+F,EAAc/F,UAAY/zC,KAAKg0C,QAAQmG,YAAYpG,UACnD+F,EAAc/sB,QAAQ+sB,EAAc0G,gBAAmB1G,EAAc/F,YAAcU,EAAKC,WAAWC,QAIvG,IAAIx2C,EAAM6B,KAAKg0C,QAAY,KAAIh0C,KAAKg0C,QAAQyM,KAAKl5C,EAAIvH,KAAKy6C,OAAOlzC,EAAIvH,KAAKg0C,QAAQyM,KAAKltC,MAAQvT,KAAKy6C,OAAOlzC,GAAKvH,KAAKg0C,QAAQ6L,MAAMtsC,MAC/HnV,EAAM4B,KAAKg0C,QAAY,KAAIh0C,KAAKg0C,QAAQyM,KAAKj5C,EAAIxH,KAAKy6C,OAAOjzC,EAAIxH,KAAKg0C,QAAQyM,KAAKjtC,OAASxT,KAAKy6C,OAAOjzC,GAAKxH,KAAKg0C,QAAQ6L,MAAMrsC,OAEhI4kC,EAAMG,EAAGH,GAAK0B,EAAcd,WAAcc,EAAc4G,OACxDrI,EAAME,EAAGF,GAAKyB,EAAcd,WAAcc,EAAc6G,OAExDC,EAAK5gD,KAAKg0C,QAAQmM,KAAK5sC,MACvBstC,EAAK7gD,KAAKg0C,QAAQmM,KAAK3sC,OAE3B,GAAIxT,KAAKg0C,QAAQ8M,QACjB,CACI,IAAIrkD,EAAI87C,EAAG97C,EACPkC,EAAI45C,EAAG55C,EACPC,EAAI25C,EAAG35C,EACPgF,EAAI20C,EAAG30C,EACPjI,EAAIilD,EAGRxI,EAAKG,EAAG35C,EAAIiiD,EAAKzI,EACjBC,EAAKE,EAAG30C,EAAIi9C,EAAKxI,EAIjBE,EAAG97C,EAAQ,sBAAJA,EAA6BmC,EACpC25C,EAAG55C,EAAQ,sBAAJA,EAA6BiF,EACpC20C,EAAG35C,EAAInC,EAAQ,sBAAJmC,EACX25C,EAAG30C,EAAIjF,EAAQ,sBAAJiF,EAGXg9C,EAAKC,EACLA,EAAKllD,EAkBT,GAdIm+C,EAAciH,aAEdjH,EAAc/sB,QAAQi0B,aAAazI,EAAG97C,EAAG87C,EAAG55C,EAAG45C,EAAG35C,EAAG25C,EAAG30C,EAAQ,EAALw0C,EAAa,EAALC,GACnEl6C,GAAM,EACNC,GAAM,GAIN07C,EAAc/sB,QAAQi0B,aAAazI,EAAG97C,EAAG87C,EAAG55C,EAAG45C,EAAG35C,EAAG25C,EAAG30C,EAAGw0C,EAAIC,GAGnEl6C,GAAM66C,EACN56C,GAAM46C,EAEY,WAAdh5C,KAAKs/C,MAEDt/C,KAAKg0C,QAAQiN,gBAAkBjhD,KAAKu/C,aAAev/C,KAAKs/C,QAExDt/C,KAAKw/C,cAAgB/K,EAAKyM,aAAaC,iBAAiBnhD,KAAMA,KAAKs/C,MAEnEt/C,KAAKu/C,WAAav/C,KAAKs/C,KACvBt/C,KAAKg0C,QAAQiN,gBAAiB,GAGlCnH,EAAc/sB,QAAQq0B,UAAUphD,KAAKw/C,cAAe,EAAG,EAAGoB,EAAIC,EAAI1iD,EAAIC,EAAIwiD,EAAK5H,EAAY6H,EAAK7H,OAGpG,CACI,IAAIhqB,EAAKhvB,KAAKg0C,QAAQmM,KAAK54C,EACvB0nB,EAAKjvB,KAAKg0C,QAAQmM,KAAK34C,EAE3Bo5C,EAAKnhD,KAAKse,MAAM6iC,GAChBC,EAAKphD,KAAKse,MAAM8iC,GAEhB/G,EAAc/sB,QAAQq0B,UAAUphD,KAAKg0C,QAAQmG,YAAYkH,OAAQryB,EAAIC,EAAI2xB,EAAIC,EAAI1iD,EAAIC,EAAIwiD,EAAK5H,EAAY6H,EAAK7H,GAGnH,IAASr8C,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGu9C,cAAcJ,GAG/B95C,KAAK63C,OAELiC,EAAc+E,YAAYE,QAAQjF,OA1GtC,CAGI,IAAK,IAAIn9C,EAAI,EAAGA,EAAIqD,KAAKg4C,SAASl7C,OAAQH,IAEtCqD,KAAKg4C,SAASr7C,GAAGu9C,cAAcJ,GAG/B95C,KAAK63C,OAELiC,EAAc+E,YAAYE,QAAQjF,MA8G9CrF,EAAK6M,mBAAqB,aAW1B7M,EAAK8M,oBAAsB,SAASzN,EAAI0N,GAEpC,OAAO/M,EAAKgN,eAAe3N,EAAI0N,EAAW1N,EAAG4N,gBAUjDjN,EAAKkN,sBAAwB,SAAS7N,EAAI0N,GAEtC,OAAO/M,EAAKgN,eAAe3N,EAAI0N,EAAW1N,EAAG8N,kBAYjDnN,EAAKgN,eAAiB,SAAS3N,EAAI0N,EAAWK,GAE1C,IAAIC,EAAMN,EAEN7+C,MAAM++B,QAAQ8f,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAItC,EAAS3L,EAAGkO,aAAaH,GAI7B,OAHA/N,EAAGmO,aAAaxC,EAAQqC,GACxBhO,EAAGoO,cAAczC,GAEZ3L,EAAGqO,mBAAmB1C,EAAQ3L,EAAGsO,gBAM/B3C,GAJH1jD,OAAOoI,QAAQk+C,IAAIvO,EAAGwO,iBAAiB7C,IAChC,OAcfhL,EAAK8N,eAAiB,SAASzO,EAAI0O,EAAWC,GAE1C,IAAIC,EAAiBjO,EAAKkN,sBAAsB7N,EAAI2O,GAChDE,EAAelO,EAAK8M,oBAAoBzN,EAAI0O,GAE5CI,EAAgB9O,EAAG+O,gBAYvB,OAVA/O,EAAGgP,aAAaF,EAAeD,GAC/B7O,EAAGgP,aAAaF,EAAeF,GAC/B5O,EAAGiP,YAAYH,GAEV9O,EAAGkP,oBAAoBJ,EAAe9O,EAAGmP,eAE1ClnD,OAAOoI,QAAQk+C,IAAIvO,EAAGoP,kBAAkBN,IACxC7mD,OAAOoI,QAAQk+C,IAAI,iCAGhBO,GAaXnO,EAAK0O,WAAa,SAASrP,GAOvB9zC,KAAKojD,KAAOjM,OAAOiM,OAMnBpjD,KAAK8zC,GAAKA,EAOV9zC,KAAKqjD,QAAU,KAOfrjD,KAAKyiD,YAAc,KAOnBziD,KAAKsjD,aAAe,EAQpBtjD,KAAKujD,UAAW,EAOhBvjD,KAAKwjD,OAAQ,EAQbxjD,KAAKyjD,cAELzjD,KAAK0jD,QAGTjP,EAAK0O,WAAW/iD,UAAUuK,YAAc8pC,EAAK0O,WAE7C1O,EAAK0O,WAAW/iD,UAAUujD,mBAAqB,WAC3C,IAAI7P,EAAK9zC,KAAK8zC,GACd9zC,KAAK4jD,aAAe9P,EAAG+P,aAAa/P,EAAGgQ,yBAEvC,IAAK,IADDC,EAAa,8GACR52B,EAAQ,EAAGA,EAAQntB,KAAK4jD,eAAgBz2B,EAE7C42B,GAAc,0BACF52B,EAAQ,+CACRA,EAAQ,wCAExBntB,KAAKyiD,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCziD,KAAK4jD,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B/jD,KAAK4jD,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,WAAa/N,EAAK0O,WAAWa,iBAAkBhkD,KAAKyiD,aAE/F3O,EAAGmQ,WAAWZ,GAIdrjD,KAAKkkD,cAAgBpQ,EAAGqQ,mBAAmBd,EAAS,oBACpDrjD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAKskD,WAAaxQ,EAAGqQ,mBAAmBd,EAAS,cAGjDrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBACrDrjD,KAAKykD,cAAgB3Q,EAAG0Q,kBAAkBnB,EAAS,iBACnDrjD,KAAK0kD,eAAiB5Q,EAAG0Q,kBAAkBnB,EAAS,UACpDrjD,KAAK2kD,cAAgB7Q,EAAG0Q,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAEAC,EAAc/Q,EAAGG,gBACrBH,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9B/Q,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGL,EAAGgR,IAAK,EAAG,EAAG,EAAGhR,EAAGgR,IAAKhR,EAAGkB,cAAe,MAC3E,IAAK,IAAIr4C,EAAI,EAAGA,EAAIqD,KAAK4jD,eAAgBjnD,EACrCm3C,EAAG2B,cAAc3B,EAAG4B,SAAW/4C,GAC/Bm3C,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9BD,EAAQ9jD,KAAKnE,GAEjBm3C,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGiR,WAAW/kD,KAAKkkD,cAAeU,IAQN,IAAzB5kD,KAAK0kD,iBAEJ1kD,KAAK0kD,eAAiB,GAG1B1kD,KAAKyjD,YAAczjD,KAAKukD,gBAAiBvkD,KAAKykD,cAAezkD,KAAK0kD,eAAgB1kD,KAAK2kD,eAKvF,IAAK,IAAIthB,KAAOrjC,KAAKglD,SAGjBhlD,KAAKglD,SAAS3hB,GAAK4hB,gBAAkBnR,EAAGqQ,mBAAmBd,EAAShgB,GAGxErjC,KAAKklD,eAELllD,KAAKqjD,QAAUA,GAGnB5O,EAAK0O,WAAW/iD,UAAU+kD,kBAAoB,WAEjB,OAArBnlD,KAAKyiD,cACLziD,KAAKyiD,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI3O,EAAK9zC,KAAK8zC,GAEVuP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,WAAa/N,EAAK0O,WAAWa,iBAAkBhkD,KAAKyiD,aAE/F3O,EAAGmQ,WAAWZ,GAGdrjD,KAAKolD,SAAWtR,EAAGqQ,mBAAmBd,EAAS,YAC/CrjD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAKskD,WAAaxQ,EAAGqQ,mBAAmBd,EAAS,cAGjDrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBACrDrjD,KAAKykD,cAAgB3Q,EAAG0Q,kBAAkBnB,EAAS,iBACnDrjD,KAAK0kD,eAAiB5Q,EAAG0Q,kBAAkBnB,EAAS,UACpDrjD,KAAK2kD,cAAgB7Q,EAAG0Q,kBAAkBnB,EAAS,kBASvB,IAAzBrjD,KAAK0kD,iBAEJ1kD,KAAK0kD,eAAiB,GAG1B1kD,KAAKyjD,YAAczjD,KAAKukD,gBAAiBvkD,KAAKykD,cAAezkD,KAAK0kD,eAAgB1kD,KAAK2kD,eAKvF,IAAK,IAAIthB,KAAOrjC,KAAKglD,SAGjBhlD,KAAKglD,SAAS3hB,GAAK4hB,gBAAkBnR,EAAGqQ,mBAAmBd,EAAShgB,GAGxErjC,KAAKklD,eAELllD,KAAKqjD,QAAUA,GAOnB5O,EAAK0O,WAAW/iD,UAAUsjD,KAAO,SAAS2B,GAElC5Q,EAAK2F,4BAA8BiL,EACnCrlD,KAAK2jD,qBAEL3jD,KAAKmlD,qBAYb1Q,EAAK0O,WAAW/iD,UAAU8kD,aAAe,WAErCllD,KAAKsjD,aAAe,EACpB,IACIgC,EADAxR,EAAK9zC,KAAK8zC,GAGd,IAAK,IAAIzQ,KAAOrjC,KAAKglD,SACrB,CAGI,IAAIz/C,GAFJ+/C,EAAUtlD,KAAKglD,SAAS3hB,IAEL99B,KAEN,cAATA,GAEA+/C,EAAQC,OAAQ,EAEM,OAAlBD,EAAQnqC,OAERnb,KAAKwlD,cAAcF,IAGT,SAAT//C,GAA4B,SAATA,GAA4B,SAATA,GAG3C+/C,EAAQG,UAAW,EACnBH,EAAQI,cAAgB,EAEX,SAATngD,EAEA+/C,EAAQK,OAAS7R,EAAG8R,iBAEN,SAATrgD,EAEL+/C,EAAQK,OAAS7R,EAAG+R,iBAEN,SAATtgD,IAEL+/C,EAAQK,OAAS7R,EAAGgS,oBAMxBR,EAAQK,OAAS7R,EAAG,UAAYvuC,GAI5B+/C,EAAQI,cAFC,OAATngD,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAYxCkvC,EAAK0O,WAAW/iD,UAAUolD,cAAgB,SAASF,GAE/C,GAAKA,EAAQnqC,OAAUmqC,EAAQnqC,MAAMg/B,aAAgBmL,EAAQnqC,MAAMg/B,YAAYwF,UAA/E,CAKA,IAAI7L,EAAK9zC,KAAK8zC,GAOd,GAJAA,EAAG2B,cAAc3B,EAAG4B,SAAW11C,KAAKsjD,cACpCxP,EAAGI,YAAYJ,EAAGK,WAAYmR,EAAQnqC,MAAMg/B,YAAY4L,YAAYjS,EAAGjjC,KAGnEy0C,EAAQU,YACZ,CACI,IAAIvoC,EAAO6nC,EAAQU,YAYfC,EAAaxoC,EAAc,UAAIA,EAAKwoC,UAAYnS,EAAGa,OACnDuR,EAAazoC,EAAc,UAAIA,EAAKyoC,UAAYpS,EAAGa,OACnDwR,EAAS1oC,EAAU,MAAIA,EAAK0oC,MAAQrS,EAAGQ,cACvC8R,EAAS3oC,EAAU,MAAIA,EAAK2oC,MAAQtS,EAAGQ,cACvC+R,EAAU5oC,EAAc,UAAIq2B,EAAGwS,UAAYxS,EAAGiB,KAUlD,GARIt3B,EAAK8oC,SAELJ,EAAQrS,EAAG0S,OACXJ,EAAQtS,EAAG0S,QAGf1S,EAAG2S,YAAY3S,EAAG4S,sBAAuBjpC,EAAKkpC,OAE1ClpC,EAAKlK,MACT,CACI,IAAIA,EAASkK,EAAU,MAAIA,EAAKlK,MAAQ,IACpCC,EAAUiK,EAAW,OAAIA,EAAKjK,OAAS,EACvCozC,EAAUnpC,EAAW,OAAIA,EAAKmpC,OAAS,EAG3C9S,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGkS,EAAQ9yC,EAAOC,EAAQozC,EAAQP,EAAQvS,EAAGkB,cAAe,WAKzFlB,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGkS,EAAQvS,EAAGiB,KAAMjB,EAAGkB,cAAesQ,EAAQnqC,MAAMg/B,YAAYkH,QAGjGvN,EAAGM,cAAcN,EAAGK,WAAYL,EAAGU,mBAAoByR,GACvDnS,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBqR,GACvDpS,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgB8R,GACnDrS,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgB6R,GAGvDtS,EAAG+S,UAAUvB,EAAQL,gBAAiBjlD,KAAKsjD,cAE3CgC,EAAQC,OAAQ,EAEhBvlD,KAAKsjD,iBAST7O,EAAK0O,WAAW/iD,UAAU0mD,aAAe,WAErC9mD,KAAKsjD,aAAe,EACpB,IAAIgC,EACAxR,EAAK9zC,KAAK8zC,GAGd,IAAK,IAAIzQ,KAAOrjC,KAAKglD,SAGa,KAD9BM,EAAUtlD,KAAKglD,SAAS3hB,IACZqiB,eAEiB,IAArBJ,EAAQG,SAERH,EAAQK,OAAO9oD,KAAKi3C,EAAIwR,EAAQL,gBAAiBK,EAAQyB,UAAWzB,EAAQnqC,OAI5EmqC,EAAQK,OAAO9oD,KAAKi3C,EAAIwR,EAAQL,gBAAiBK,EAAQnqC,OAG9B,IAA1BmqC,EAAQI,cAEbJ,EAAQK,OAAO9oD,KAAKi3C,EAAIwR,EAAQL,gBAAiBK,EAAQnqC,MAAM5T,EAAG+9C,EAAQnqC,MAAM3T,GAEjD,IAA1B89C,EAAQI,cAEbJ,EAAQK,OAAO9oD,KAAKi3C,EAAIwR,EAAQL,gBAAiBK,EAAQnqC,MAAM5T,EAAG+9C,EAAQnqC,MAAM3T,EAAG89C,EAAQnqC,MAAM6rC,GAElE,IAA1B1B,EAAQI,cAEbJ,EAAQK,OAAO9oD,KAAKi3C,EAAIwR,EAAQL,gBAAiBK,EAAQnqC,MAAM5T,EAAG+9C,EAAQnqC,MAAM3T,EAAG89C,EAAQnqC,MAAM6rC,EAAG1B,EAAQnqC,MAAMwC,GAE5F,cAAjB2nC,EAAQ//C,OAET+/C,EAAQC,OAERzR,EAAG2B,cAAc3B,EAAG,UAAY9zC,KAAKsjD,eAElCgC,EAAQnqC,MAAMg/B,YAAY8M,OAAOnT,EAAGjjC,IAEnC4jC,EAAKyS,UAAUpT,EAAGjjC,IAAIs2C,cAAc7B,EAAQnqC,MAAMg/B,aAKlDrG,EAAGI,YAAYJ,EAAGK,WAAYmR,EAAQnqC,MAAMg/B,YAAY4L,YAAYjS,EAAGjjC,KAI3EijC,EAAG+S,UAAUvB,EAAQL,gBAAiBjlD,KAAKsjD,cAC3CtjD,KAAKsjD,gBAILtjD,KAAKwlD,cAAcF,KAYnC7Q,EAAK0O,WAAW/iD,UAAU2nC,QAAU,WAEhC/nC,KAAK8zC,GAAGsT,cAAepnD,KAAKqjD,SAC5BrjD,KAAKglD,SAAW,KAChBhlD,KAAK8zC,GAAK,KAEV9zC,KAAKyjD,WAAa,MAStBhP,EAAK0O,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJvP,EAAK4S,eAAiB,SAAUvT,GAqB5B,GAfA9zC,KAAKojD,KAAOjM,OAAOiM,OAMnBpjD,KAAK8zC,GAAKA,EAOV9zC,KAAKqjD,QAAU,KAEX5O,EAAK2F,0BAA2B,CAChC,IAAItG,EAAK9zC,KAAK8zC,GACd9zC,KAAK4jD,aAAe9P,EAAG+P,aAAa/P,EAAGgQ,yBAEvC,IAAK,IADDC,EAAa,8GACR52B,EAAQ,EAAGA,EAAQntB,KAAK4jD,eAAgBz2B,EAE7C42B,GAAc,0BACF52B,EAAQ,gDACRA,EAAQ,wCAQxBntB,KAAKyiD,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCziD,KAAK4jD,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B/jD,KAAK4jD,aAAe,qCAChD,2DACA,UAGJ5jD,KAAKyiD,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRziD,KAAKwiD,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAEA,sBACA,KAQJxiD,KAAKsjD,aAAe,EAEpBtjD,KAAK0jD,QAGTjP,EAAK4S,eAAejnD,UAAUuK,YAAc8pC,EAAK4S,eAOjD5S,EAAK4S,eAAejnD,UAAUsjD,KAAO,WAEjC,IAAI5P,EAAK9zC,KAAK8zC,GACVuP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,UAAWxiD,KAAKyiD,aAS3D,GAPA3O,EAAGmQ,WAAWZ,GAGdrjD,KAAKolD,SAAW3Q,EAAK2F,0BACAtG,EAAGqQ,mBAAmBd,EAAS,oBAC/BvP,EAAGqQ,mBAAmBd,EAAS,YAEhD5O,EAAK2F,0BAA2B,CAChC,IAAIwK,KAEAC,EAAc/Q,EAAGG,gBACrBH,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9B/Q,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGL,EAAGgR,IAAK,EAAG,EAAG,EAAGhR,EAAGgR,IAAKhR,EAAGkB,cAAe,MAC3E,IAAK,IAAIr4C,EAAI,EAAGA,EAAIqD,KAAK4jD,eAAgBjnD,EACrCm3C,EAAG2B,cAAc3B,EAAG4B,SAAW/4C,GAC/Bm3C,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9BD,EAAQ9jD,KAAKnE,GAEjBm3C,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGiR,WAAW/kD,KAAKolD,SAAUR,GAGjC5kD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAKskD,WAAaxQ,EAAGqQ,mBAAmBd,EAAS,cACjDrjD,KAAKsnD,QAAUxT,EAAGqQ,mBAAmBd,EAAS,WAG9CrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBACrDrjD,KAAKunD,eAAiBzT,EAAG0Q,kBAAkBnB,EAAS,kBAEpDrjD,KAAKwnD,OAAS1T,EAAG0Q,kBAAkBnB,EAAS,UAC5CrjD,KAAKynD,UAAY3T,EAAG0Q,kBAAkBnB,EAAS,aAE/CrjD,KAAKykD,cAAgB3Q,EAAG0Q,kBAAkBnB,EAAS,iBACnDrjD,KAAK0kD,eAAiB5Q,EAAG0Q,kBAAkBnB,EAAS,UAEpDrjD,KAAK2kD,cAAgB7Q,EAAG0Q,kBAAkBnB,EAAS,kBAQtB,IAAzBrjD,KAAK0kD,iBACL1kD,KAAK0kD,eAAiB,GAG1B1kD,KAAKyjD,YACDzjD,KAAKukD,gBACLvkD,KAAKunD,eACLvnD,KAAKwnD,OACLxnD,KAAKynD,UACLznD,KAAKykD,cACLzkD,KAAK0kD,eACL1kD,KAAK2kD,eAKT3kD,KAAKqjD,QAAUA,GAQnB5O,EAAK4S,eAAejnD,UAAU2nC,QAAU,WACpC/nC,KAAK8zC,GAAGsT,cAAcpnD,KAAKqjD,SAC3BrjD,KAAKglD,SAAW,KAChBhlD,KAAK8zC,GAAK,KAEV9zC,KAAKyjD,WAAa,MAYtBhP,EAAKiT,YAAc,SAAS5T,GAsBxB,GAfA9zC,KAAKojD,KAAOjM,OAAOiM,OAMnBpjD,KAAK8zC,GAAKA,EAOV9zC,KAAKqjD,QAAU,KAEX5O,EAAK2F,0BAA2B,CAChC,IAAItG,EAAK9zC,KAAK8zC,GACd9zC,KAAK4jD,aAAe9P,EAAG+P,aAAa/P,EAAGgQ,yBAEvC,IAAK,IADDC,EAAa,qGACR52B,EAAQ,EAAGA,EAAQntB,KAAK4jD,eAAgBz2B,EAE7C42B,GAAc,0BACF52B,EAAQ,gDACRA,EAAQ,gCASxBntB,KAAKyiD,aACD,iCACA,2BACA,+FACA,8BACA,+BAEA,uBACA,mCAAqCziD,KAAK4jD,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B/jD,KAAK4jD,aAAe,qCAChD,2DACA,UAQJ5jD,KAAKyiD,aACD,iCACA,2BACA,8BACA,+BAEA,uBACA,8BACA,oBACA,wDACA,KASRziD,KAAKwiD,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAGA,8BACA,+BAGA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAEA,KAGJxiD,KAAK0jD,QAGTjP,EAAKiT,YAAYtnD,UAAUuK,YAAc8pC,EAAKiT,YAO9CjT,EAAKiT,YAAYtnD,UAAUsjD,KAAO,WAE9B,IAAI5P,EAAK9zC,KAAK8zC,GACVuP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,UAAWxiD,KAAKyiD,aAS3D,GARA3O,EAAGmQ,WAAWZ,GAGdrjD,KAAKolD,SAAW3Q,EAAK2F,0BACAtG,EAAGqQ,mBAAmBd,EAAS,oBAC/BvP,EAAGqQ,mBAAmBd,EAAS,YAGhD5O,EAAK2F,0BAA2B,CAChC,IAAIwK,KAEAC,EAAc/Q,EAAGG,gBACrBH,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9B/Q,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGL,EAAGgR,IAAK,EAAG,EAAG,EAAGhR,EAAGgR,IAAKhR,EAAGkB,cAAe,MAC3E,IAAK,IAAIr4C,EAAI,EAAGA,EAAIqD,KAAK4jD,eAAgBjnD,EACrCm3C,EAAG2B,cAAc3B,EAAG4B,SAAW/4C,GAC/Bm3C,EAAGI,YAAYJ,EAAGK,WAAY0Q,GAC9BD,EAAQ9jD,KAAKnE,GAEjBm3C,EAAG2B,cAAc3B,EAAG4B,UACpB5B,EAAGiR,WAAW/kD,KAAKolD,SAAUR,GAGjC5kD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAK0kD,eAAiB5Q,EAAG0Q,kBAAkBnB,EAAS,UACpDrjD,KAAK2kD,cAAgB7Q,EAAG0Q,kBAAkBnB,EAAS,iBAInDrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBACrDrjD,KAAKykD,cAAgB3Q,EAAG0Q,kBAAkBnB,EAAS,iBAEnDrjD,KAAKyjD,YAAczjD,KAAKukD,gBAAiBvkD,KAAKykD,cAAezkD,KAAK2kD,eAElE3kD,KAAK2nD,kBAAoB7T,EAAGqQ,mBAAmBd,EAAS,qBACxDrjD,KAAK42C,MAAQ9C,EAAGqQ,mBAAmBd,EAAS,SAE5CrjD,KAAKqjD,QAAUA,GAQnB5O,EAAKiT,YAAYtnD,UAAU2nC,QAAU,WAEjC/nC,KAAK8zC,GAAGsT,cAAepnD,KAAKqjD,SAC5BrjD,KAAKglD,SAAW,KAChBhlD,KAAK8zC,GAAK,KAEV9zC,KAAK4nD,UAAY,MAYrBnT,EAAKoT,gBAAkB,SAAS/T,GAO5B9zC,KAAKojD,KAAOjM,OAAOiM,OAMnBpjD,KAAK8zC,GAAKA,EAOV9zC,KAAKqjD,QAAU,KAOfrjD,KAAKyiD,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJziD,KAAKwiD,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJxiD,KAAK0jD,QAGTjP,EAAKoT,gBAAgBznD,UAAUuK,YAAc8pC,EAAKoT,gBAOlDpT,EAAKoT,gBAAgBznD,UAAUsjD,KAAO,WAElC,IAAI5P,EAAK9zC,KAAK8zC,GAEVuP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,UAAWxiD,KAAKyiD,aAC3D3O,EAAGmQ,WAAWZ,GAGdrjD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAK8nD,UAAYhU,EAAGqQ,mBAAmBd,EAAS,QAChDrjD,KAAK2mD,MAAQ7S,EAAGqQ,mBAAmBd,EAAS,SAG5CrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBACrDrjD,KAAK0kD,eAAiB5Q,EAAG0Q,kBAAkBnB,EAAS,UAEpDrjD,KAAKyjD,YAAczjD,KAAKukD,gBAAiBvkD,KAAK0kD,gBAE9C1kD,KAAK2nD,kBAAoB7T,EAAGqQ,mBAAmBd,EAAS,qBACxDrjD,KAAK42C,MAAQ9C,EAAGqQ,mBAAmBd,EAAS,SAE5CrjD,KAAKqjD,QAAUA,GAQnB5O,EAAKoT,gBAAgBznD,UAAU2nC,QAAU,WAErC/nC,KAAK8zC,GAAGsT,cAAepnD,KAAKqjD,SAC5BrjD,KAAKglD,SAAW,KAChBhlD,KAAK8zC,GAAK,KAEV9zC,KAAKyjD,WAAa,MAYtBhP,EAAKsT,uBAAyB,SAASjU,GAOnC9zC,KAAKojD,KAAOjM,OAAOiM,OAMnBpjD,KAAK8zC,GAAKA,EAOV9zC,KAAKqjD,QAAU,KAOfrjD,KAAKyiD,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJziD,KAAKwiD,WACD,kCAEA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJxiD,KAAK0jD,QAGTjP,EAAKsT,uBAAuB3nD,UAAUuK,YAAc8pC,EAAKsT,uBAOzDtT,EAAKsT,uBAAuB3nD,UAAUsjD,KAAO,WAEzC,IAAI5P,EAAK9zC,KAAK8zC,GAEVuP,EAAU5O,EAAK8N,eAAezO,EAAI9zC,KAAKwiD,UAAWxiD,KAAKyiD,aAC3D3O,EAAGmQ,WAAWZ,GAGdrjD,KAAKokD,iBAAmBtQ,EAAGqQ,mBAAmBd,EAAS,oBACvDrjD,KAAKqkD,aAAevQ,EAAGqQ,mBAAmBd,EAAS,gBACnDrjD,KAAK8nD,UAAYhU,EAAGqQ,mBAAmBd,EAAS,QAChDrjD,KAAKgoD,MAAQlU,EAAGqQ,mBAAmBd,EAAS,SAC5CrjD,KAAK2mD,MAAQ7S,EAAGqQ,mBAAmBd,EAAS,SAG5CrjD,KAAKukD,gBAAkBzQ,EAAG0Q,kBAAkBnB,EAAS,mBAGrDrjD,KAAKyjD,YAAczjD,KAAKukD,gBAAiBvkD,KAAK0kD,gBAE9C1kD,KAAK2nD,kBAAoB7T,EAAGqQ,mBAAmBd,EAAS,qBACxDrjD,KAAK42C,MAAQ9C,EAAGqQ,mBAAmBd,EAAS,SAE5CrjD,KAAKqjD,QAAUA,GAQnB5O,EAAKsT,uBAAuB3nD,UAAU2nC,QAAU,WAE5C/nC,KAAK8zC,GAAGsT,cAAepnD,KAAKqjD,SAC5BrjD,KAAKglD,SAAW,KAChBhlD,KAAK8zC,GAAK,KAEV9zC,KAAK4nD,UAAY,MAOrBnT,EAAKwT,cACLxT,EAAKyS,aACLzS,EAAK2F,2BAA4B,EAYjC3F,EAAKyT,cAAgB,SAAS/P,GAK1Bn4C,KAAKm4C,KAAOA,EAEP1D,EAAK0T,kBAEN1T,EAAK0T,gBAAkBnoD,MAG3BA,KAAKooD,cAMLpoD,KAAKuF,KAAO4xC,OAAOkR,MASnBroD,KAAKg5C,WAAab,EAAKa,WAQvBh5C,KAAKsoD,YAAcnQ,EAAKmQ,YAQxBtoD,KAAKuoD,YAAa,EAQlBvoD,KAAKwoD,sBAAwBrQ,EAAKqQ,sBAYlCxoD,KAAKyoD,kBAAoBtQ,EAAKsQ,kBAQ9BzoD,KAAKuT,MAAQ4kC,EAAK5kC,MAQlBvT,KAAKwT,OAAS2kC,EAAK3kC,OAQnBxT,KAAK0oD,KAAOvQ,EAAKwQ,OAOjB3oD,KAAK4oD,iBACDhS,MAAO52C,KAAKsoD,YACZO,UAAW1Q,EAAK0Q,UAChBC,mBAAoB9oD,KAAKsoD,aAAoC,kBAArBtoD,KAAKsoD,YAC7CS,SAAS,EACTP,sBAAuBxoD,KAAKwoD,uBAOhCxoD,KAAKgpD,WAAa,IAAIvU,EAAKh2C,MAM3BuB,KAAKyR,OAAS,IAAIgjC,EAAKh2C,MASvBuB,KAAKipD,cAAgB,IAAIxU,EAAKyU,mBAO9BlpD,KAAKy+C,YAAc,IAAIhK,EAAK0U,iBAAiBhR,GAO7Cn4C,KAAK6+C,YAAc,IAAIpK,EAAK2U,iBAO5BppD,KAAK2+C,cAAgB,IAAIlK,EAAK4U,mBAO9BrpD,KAAKspD,eAAiB,IAAI7U,EAAK8U,oBAO/BvpD,KAAKwpD,iBAAmB,IAAI/U,EAAKgV,sBAMjCzpD,KAAK85C,iBAML95C,KAAK0pD,0BAGL1pD,KAAK85C,cAAc3B,KAAOn4C,KAAKm4C,KAC/Bn4C,KAAK85C,cAAchG,GAAK9zC,KAAK8zC,GAC7B9zC,KAAK85C,cAAc6P,UAAY,EAC/B3pD,KAAK85C,cAAc8P,WAAa,EAChC5pD,KAAK85C,cAAcmP,cAAgBjpD,KAAKipD,cACxCjpD,KAAK85C,cAAc+E,YAAc7+C,KAAK6+C,YACtC7+C,KAAK85C,cAAc6E,cAAgB3+C,KAAK2+C,cACxC3+C,KAAK85C,cAAc0P,iBAAmBxpD,KAAKwpD,iBAC3CxpD,KAAK85C,cAAc2E,YAAcz+C,KAAKy+C,YACtCz+C,KAAK85C,cAAcwP,eAAiBtpD,KAAKspD,eACzCtpD,KAAK85C,cAAcb,SAAWj5C,KAC9BA,KAAK85C,cAAcd,WAAah5C,KAAKg5C,WACrCh5C,KAAK85C,cAAc+P,yBAA2B,KAG9C7pD,KAAK8pD,cAGL9pD,KAAK+pD,iBAKTtV,EAAKyT,cAAc9nD,UAAUuK,YAAc8pC,EAAKyT,cAKhDzT,EAAKyT,cAAc9nD,UAAU0pD,YAAc,WAEvC,IAAIhW,EAAK9zC,KAAK0oD,KAAKsB,WAAW,QAAShqD,KAAK4oD,kBAAoB5oD,KAAK0oD,KAAKsB,WAAW,qBAAsBhqD,KAAK4oD,iBAIhH,GAFA5oD,KAAK8zC,GAAKA,GAELA,EAED,MAAM,IAAIl3C,MAAM,sEAGpBoD,KAAKiqD,YAAcnW,EAAG+P,aAAa/P,EAAGgQ,yBACtC9jD,KAAKkqD,eAAiBlqD,KAAK8zC,GAAG+P,aAAa/P,EAAGqW,kBAE9CnqD,KAAKoqD,YAActW,EAAGjjC,GAAK4jC,EAAKyT,cAAckC,cAE9C3V,EAAKwT,WAAWjoD,KAAKoqD,aAAetW,EAEpCW,EAAKyS,UAAUlnD,KAAKoqD,aAAepqD,KAGnC8zC,EAAGuW,QAAQvW,EAAGwW,YACdxW,EAAGuW,QAAQvW,EAAGyW,WACdzW,EAAG0W,OAAO1W,EAAG2W,OAGbzqD,KAAKipD,cAAcyB,WAAW5W,GAC9B9zC,KAAKy+C,YAAYiM,WAAW5W,GAC5B9zC,KAAK6+C,YAAY6L,WAAW5W,GAC5B9zC,KAAK2+C,cAAc+L,WAAW5W,GAC9B9zC,KAAKwpD,iBAAiBkB,WAAW5W,GACjC9zC,KAAKspD,eAAeoB,WAAW5W,GAE/B9zC,KAAK85C,cAAchG,GAAK9zC,KAAK8zC,GAG7B9zC,KAAK+qC,OAAO/qC,KAAKuT,MAAOvT,KAAKwT,QAG7BxT,KAAKooD,WAAWuC,eAEhB,IAAIC,EAAO9W,EAAG+W,aAAa,kCAAoC/W,EAAG+W,aAAa,wCAC3EC,EAAQhX,EAAG+W,aAAa,mCAAqC/W,EAAG+W,aAAa,yCAC7EE,EAAOjX,EAAG+W,aAAa,kCAAoC/W,EAAG+W,aAAa,wCAE3ED,IAAQ5qD,KAAKooD,WAAWuC,YAAYK,KAAOJ,GAC3CE,IAAS9qD,KAAKooD,WAAWuC,YAAYM,MAAQH,GAC7CC,IAAQ/qD,KAAKooD,WAAWuC,YAAYO,KAAOH,IA0BnDtW,EAAKyT,cAAc9nD,UAAU+qD,mBAAqB,SAAUC,GAExD,GAAK3W,EAAK2F,0BAAV,CAuBA,IAAK,IAlBDiR,EAAW,SAAUC,GAOrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAETxX,EAAK9zC,KAAK8zC,GACVmW,EAAcnW,EAAG+P,aAAa/P,EAAGgQ,yBACjCoG,EAAiBpW,EAAG+P,aAAa/P,EAAGqW,kBACpCoB,EAAavrD,KAAKm4C,KAAKqT,MAAMC,OAAOC,MACpCC,EAAY,KAKPhvD,EAAI,EAAGA,EAAIqD,KAAK0pD,uBAAuB5sD,OAAQH,KAEpDgvD,EAAY3rD,KAAK0pD,uBAAuB/sD,MAErB4uD,EAMnBA,EAAWI,GAAWC,KAAKvR,aAAe,EAJtCl2C,QAAQC,KAAK,iEAAkEunD,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAAS5rD,KAAKkJ,IAAI3I,KAAKuT,MAAOvT,KAAKwT,SACrFxT,KAAK0pD,uBAAuB5sD,OAAS,EAErC,IAAK,IAAI8E,EAAI,EAAGA,EAAIwpD,EAAsBtuD,SAAU8E,EAIhD,IAFA+pD,EAAYP,EAAsBxpD,MAEf2pD,EAAnB,CAMA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAAS5rD,KAAKkJ,IAAIijD,EAAKr4C,MAAOq4C,EAAKp4C,WAC/B,GAC5Bo4C,EAAKvR,aAAe,EACpBl2C,QAAQC,KAAK,4GACTunD,EAAW9B,IAEf+B,EAAKvR,aAAgB,EAAKz4C,GAAKqoD,EAAc,GAEjDjqD,KAAK0pD,uBAAuB5oD,KAAK6qD,QAb7BxnD,QAAQC,KAAK,iEAAkEunD,GAkBvF,OAFA3rD,KAAK85C,cAAc+P,yBAA2BA,EAEvC7pD,KAAK0pD,uBA5DRvlD,QAAQC,KAAK,mGAsErBqwC,EAAKyT,cAAc9nD,UAAUm5C,OAAS,SAASsS,GAG3C,IAAI7rD,KAAK8rD,YAAT,CAKA,IAAIhY,EAAK9zC,KAAK8zC,GAGdA,EAAGiY,SAAS,EAAG,EAAG/rD,KAAKuT,MAAOvT,KAAKwT,QAGnCsgC,EAAG6B,gBAAgB7B,EAAG8B,YAAa,MAE/B51C,KAAKm4C,KAAKsQ,oBAEV3U,EAAGkY,WAAWH,EAAMI,SAAS5vD,EAAGwvD,EAAMI,SAAShmC,EAAG4lC,EAAMI,SAASttD,EAAGktD,EAAMI,SAASxvD,GAEnFq3C,EAAGrzC,MAAMqzC,EAAGoY,mBAGhBlsD,KAAKyR,OAAOlK,EAAIvH,KAAKm4C,KAAKgU,OAAOC,OAAO7kD,EACxCvH,KAAKyR,OAAOjK,EAAIxH,KAAKm4C,KAAKgU,OAAOC,OAAO5kD,EAExCxH,KAAKqsD,oBAAoBR,EAAO7rD,KAAKgpD,cAWzCvU,EAAKyT,cAAc9nD,UAAUisD,oBAAsB,SAASC,EAAetD,EAAYuD,EAAQrM,GAE3FlgD,KAAK85C,cAAc0P,iBAAiBgD,aAAa/X,EAAK2G,WAAWE,QAGjEt7C,KAAK85C,cAAc6P,UAAY,EAC/B3pD,KAAK85C,cAAc8P,WAAa,EAGhC5pD,KAAK85C,cAAc6M,MAAQ4F,GAAU,EAAI,EAGzCvsD,KAAK85C,cAAckP,WAAaA,EAGhChpD,KAAK85C,cAAcroC,OAASzR,KAAKyR,OAGjCzR,KAAKy+C,YAAYgO,MAAMzsD,KAAK85C,eAG5B95C,KAAK2+C,cAAc8N,MAAMzsD,KAAK85C,cAAeyS,GAG7CD,EAAcrS,aAAaj6C,KAAK85C,cAAeoG,GAG/ClgD,KAAKy+C,YAAYpmB,OAUrBoc,EAAKyT,cAAc9nD,UAAU2qC,OAAS,SAASx3B,EAAOC,GAElDxT,KAAKuT,MAAQA,EAAQvT,KAAKg5C,WAC1Bh5C,KAAKwT,OAASA,EAASxT,KAAKg5C,WAE5Bh5C,KAAK0oD,KAAKn1C,MAAQvT,KAAKuT,MACvBvT,KAAK0oD,KAAKl1C,OAASxT,KAAKwT,OAEpBxT,KAAKuoD,aACLvoD,KAAK0oD,KAAKgE,MAAMn5C,MAAQvT,KAAKuT,MAAQvT,KAAKg5C,WAAa,KACvDh5C,KAAK0oD,KAAKgE,MAAMl5C,OAASxT,KAAKwT,OAASxT,KAAKg5C,WAAa,MAG7Dh5C,KAAK8zC,GAAGiY,SAAS,EAAG,EAAG/rD,KAAKuT,MAAOvT,KAAKwT,QAExCxT,KAAKgpD,WAAWzhD,EAAKvH,KAAKuT,MAAQ,EAAIvT,KAAKg5C,WAC3Ch5C,KAAKgpD,WAAWxhD,GAAMxH,KAAKwT,OAAS,EAAIxT,KAAKg5C,YAUjDvE,EAAKyT,cAAc9nD,UAAUusD,wBAA0B,SAAU3Y,GAC7D,IAAKA,EAAQ2L,UAET,OAAO,EAEX,IAAI7L,EAAK9zC,KAAK8zC,GACV8Y,EAAkB5Y,EAAQqN,OA2C9B,OAzCKrN,EAAQ+R,YAAYjS,EAAGjjC,MAExBmjC,EAAQ+R,YAAYjS,EAAGjjC,IAAMijC,EAAGG,iBAEpCH,EAAG2B,cAAc3B,EAAG4B,SAAW1B,EAAQqG,cAEvCvG,EAAGI,YAAYJ,EAAGK,WAAYH,EAAQ+R,YAAYjS,EAAGjjC,KAErDijC,EAAG+Y,qBACC/Y,EAAGK,WACH,EACAyY,EAAgBE,kBAChBF,EAAgBr5C,MAChBq5C,EAAgBp5C,OAChB,EACAo5C,EAAgB5G,aAGpBlS,EAAGM,cAAcN,EAAGK,WAAYL,EAAGU,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAEjHZ,EAAQ+Y,QAAU5V,OAAO13C,KAAKutD,aAAahZ,EAAQzgC,MAAOygC,EAAQxgC,SAElEsgC,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGmZ,qBAAuBnZ,EAAGoZ,wBACnIpZ,EAAGqZ,eAAerZ,EAAGK,aAIrBL,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAGpHZ,EAAQoZ,WAOTtZ,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgBP,EAAG0S,QACtD1S,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgBT,EAAG0S,UANtD1S,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgBP,EAAGQ,eACtDR,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgBT,EAAGQ,gBAO1DN,EAAQiT,OAAOnT,EAAGjjC,KAAM,GACjB,GAUX4jC,EAAKyT,cAAc9nD,UAAU+mD,cAAgB,SAASnT,GAElD,IAAKA,EAAQ2L,UAET,OAAO,EAEX,GAAI3L,EAAQqN,OAAOgM,qBACf,OAAOrtD,KAAK2sD,wBAAwB3Y,GAGxC,IAAIF,EAAK9zC,KAAK8zC,GAwCd,OAtCKE,EAAQ+R,YAAYjS,EAAGjjC,MAExBmjC,EAAQ+R,YAAYjS,EAAGjjC,IAAMijC,EAAGG,iBAEpCH,EAAG2B,cAAc3B,EAAG4B,SAAW1B,EAAQqG,cAEvCvG,EAAGI,YAAYJ,EAAGK,WAAYH,EAAQ+R,YAAYjS,EAAGjjC,KAErDijC,EAAG2S,YAAY3S,EAAGwZ,+BAAgCtZ,EAAQ8U,oBAE1DhV,EAAGgB,WAAWhB,EAAGK,WAAY,EAAGL,EAAGiB,KAAMjB,EAAGiB,KAAMjB,EAAGkB,cAAehB,EAAQqN,QAE5EvN,EAAGM,cAAcN,EAAGK,WAAYL,EAAGU,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAEjHZ,EAAQ+Y,QAAU5V,OAAO13C,KAAKutD,aAAahZ,EAAQzgC,MAAOygC,EAAQxgC,SAElEsgC,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGmZ,qBAAuBnZ,EAAGoZ,wBACnIpZ,EAAGqZ,eAAerZ,EAAGK,aAIrBL,EAAGM,cAAcN,EAAGK,WAAYL,EAAGe,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASb,EAAGa,OAASb,EAAGc,SAGpHZ,EAAQoZ,WAOTtZ,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgBP,EAAG0S,QACtD1S,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgBT,EAAG0S,UANtD1S,EAAGM,cAAcN,EAAGK,WAAYL,EAAGO,eAAgBP,EAAGQ,eACtDR,EAAGM,cAAcN,EAAGK,WAAYL,EAAGS,eAAgBT,EAAGQ,gBAQ1DN,EAAQiT,OAAOnT,EAAGjjC,KAAM,GAGjB,GASX4jC,EAAKyT,cAAc9nD,UAAU2nC,QAAU,WAEnC0M,EAAKwT,WAAWjoD,KAAKoqD,aAAe,KAEpCpqD,KAAKgpD,WAAa,KAClBhpD,KAAKyR,OAAS,KAEdzR,KAAKipD,cAAclhB,UACnB/nC,KAAKy+C,YAAY1W,UACjB/nC,KAAK6+C,YAAY9W,UACjB/nC,KAAK2+C,cAAc5W,UAEnB/nC,KAAKipD,cAAgB,KACrBjpD,KAAKy+C,YAAc,KACnBz+C,KAAK6+C,YAAc,KACnB7+C,KAAK2+C,cAAgB,KAErB3+C,KAAK8zC,GAAK,KACV9zC,KAAK85C,cAAgB,KAErB3C,OAAOoW,WAAWC,OAAOxtD,MAEzBy0C,EAAKyS,UAAUlnD,KAAKoqD,aAAe,KAEnC3V,EAAKyT,cAAckC,eAQvB3V,EAAKyT,cAAc9nD,UAAU2pD,cAAgB,WAEzC,IAAIjW,EAAK9zC,KAAK8zC,GAEd,IAAKW,EAAKgZ,gBACV,CACI,IAAI9uD,KACA+uD,EAAQjZ,EAAK2G,WAEjBz8C,EAAE+uD,EAAMpS,SAAkBxH,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMG,MAAkB/Z,EAAGga,UAAWha,EAAGia,WAC3CpvD,EAAE+uD,EAAMrS,WAAkBvH,EAAGka,UAAWla,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMO,SAAkBna,EAAGga,UAAWha,EAAG6Z,KAC3ChvD,EAAE+uD,EAAMQ,UAAkBpa,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMS,SAAkBra,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMU,UAAkBta,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMW,cAAkBva,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMY,aAAkBxa,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMa,aAAkBza,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMc,aAAkB1a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMe,aAAkB3a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMgB,YAAkB5a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMiB,MAAkB7a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMkB,aAAkB9a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMmB,QAAkB/a,EAAG6Z,IAAW7Z,EAAG8Z,qBAC3CjvD,EAAE+uD,EAAMoB,aAAkBhb,EAAG6Z,IAAW7Z,EAAG8Z,qBAE3CnZ,EAAKgZ,gBAAkB9uD,IAI/B81C,EAAKyT,cAAc9nD,UAAU2uD,kBAAoB,WAC7C,IAAIjb,EAAK9zC,KAAK8zC,GACd,OAAOA,EAAG+P,aAAa/P,EAAGgQ,0BAG9BrP,EAAKua,mBAAqB,WACtBva,EAAK2F,2BAA4B,GAGrC3F,EAAKyT,cAAckC,YAAc,EACjC3V,EAAKyT,cAAc+G,gBAWnBxa,EAAKgV,sBAAwB,WAMzBzpD,KAAKogD,iBAAmB,OAG5B3L,EAAKgV,sBAAsBrpD,UAAUuK,YAAc8pC,EAAKgV,sBAQxDhV,EAAKgV,sBAAsBrpD,UAAUsqD,WAAa,SAAS5W,GAEvD9zC,KAAK8zC,GAAKA,GASdW,EAAKgV,sBAAsBrpD,UAAUosD,aAAe,SAASrR,GAEzD,GAAGn7C,KAAKogD,mBAAqBjF,EAAU,OAAO,EAE9Cn7C,KAAKogD,iBAAmBjF,EAExB,IAAI+T,EAAiBza,EAAKgZ,gBAAgBztD,KAAKogD,kBAO/C,OALI8O,GAEAlvD,KAAK8zC,GAAGqb,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXza,EAAKgV,sBAAsBrpD,UAAU2nC,QAAU,WAE3C/nC,KAAK8zC,GAAK,MAYdW,EAAK2U,iBAAmB,aAIxB3U,EAAK2U,iBAAiBhpD,UAAUuK,YAAc8pC,EAAK2U,iBAQnD3U,EAAK2U,iBAAiBhpD,UAAUsqD,WAAa,SAAS5W,GAElD9zC,KAAK8zC,GAAKA,GAUdW,EAAK2U,iBAAiBhpD,UAAU0+C,SAAW,SAASsQ,EAAUtV,GAE1D,IAAIhG,EAAKgG,EAAchG,GAEnBsb,EAAS5L,OAET/O,EAAK4a,cAAcC,eAAeF,EAAUtb,QAGjBx0B,IAA3B8vC,EAASG,OAAOzb,EAAGjjC,UAAqDyO,IAAhC8vC,EAASG,OAAOzb,EAAGjjC,IAAI4M,MAA6D,IAAvC2xC,EAASG,OAAOzb,EAAGjjC,IAAI4M,KAAK3gB,QAKrHg9C,EAAcwP,eAAekG,YAAYJ,EAAUA,EAASG,OAAOzb,EAAGjjC,IAAI4M,KAAK,GAAIq8B,IAUvFrF,EAAK2U,iBAAiBhpD,UAAU2+C,QAAU,SAASqQ,EAAUtV,GAEzD,IAAIhG,EAAK9zC,KAAK8zC,QAEiBx0B,IAA3B8vC,EAASG,OAAOzb,EAAGjjC,UAAqDyO,IAAhC8vC,EAASG,OAAOzb,EAAGjjC,IAAI4M,MAA6D,IAAvC2xC,EAASG,OAAOzb,EAAGjjC,IAAI4M,KAAK3gB,QAKrHg9C,EAAcwP,eAAemG,WAAWL,EAAUA,EAASG,OAAOzb,EAAGjjC,IAAI4M,KAAK,GAAIq8B,IAStFrF,EAAK2U,iBAAiBhpD,UAAU2nC,QAAU,WAEtC/nC,KAAK8zC,GAAK,MAYdW,EAAK8U,oBAAsB,WAEvBvpD,KAAK0vD,gBACL1vD,KAAKiB,SAAU,EACfjB,KAAK2vD,MAAQ,GASjBlb,EAAK8U,oBAAoBnpD,UAAUsqD,WAAa,SAAS5W,GAErD9zC,KAAK8zC,GAAKA,GAWdW,EAAK8U,oBAAoBnpD,UAAUovD,YAAc,SAASI,EAAUC,EAAW/V,GAE3E,IAAIhG,EAAK9zC,KAAK8zC,GACd9zC,KAAK8vD,aAAaF,EAAUC,EAAW/V,GAEP,IAA7B95C,KAAK0vD,aAAa5yD,SAEjBg3C,EAAG0W,OAAO1W,EAAGic,cACbjc,EAAGrzC,MAAMqzC,EAAGkc,oBACZhwD,KAAKiB,SAAU,EACfjB,KAAK2vD,MAAQ,GAGjB3vD,KAAK0vD,aAAa5uD,KAAK+uD,GAEvB,IAAItsD,EAAQvD,KAAK2vD,MAEjB7b,EAAGmc,WAAU,GAAO,GAAO,GAAO,GAElCnc,EAAGoc,YAAYpc,EAAGqc,OAAO,EAAE,KAC3Brc,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAGwc,QAIV,IAAnBT,EAAUnwC,MAETo0B,EAAGyc,aAAazc,EAAG0c,aAAeX,EAAUjL,QAAQ9nD,OAAS,EAAGg3C,EAAG2c,eAAgB,GAEhFzwD,KAAKiB,SAEJ6yC,EAAGoc,YAAYpc,EAAG4c,MAAO,IAAOntD,EAAO,KACvCuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG6c,QAIhC7c,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAO,KAC/BuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG8c,OAIpC9c,EAAGyc,aAAazc,EAAG0c,aAAc,EAAG1c,EAAG2c,eAAmD,GAAjCZ,EAAUjL,QAAQ9nD,OAAS,IAEjFkD,KAAKiB,QAEJ6yC,EAAGoc,YAAYpc,EAAG4c,MAAM,KAAMntD,EAAM,GAAI,KAIxCuwC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAM,EAAG,KAGrCvD,KAAKiB,SAAWjB,KAAKiB,UAIjBjB,KAAKiB,SAOL6yC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAO,KAC/BuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG8c,QANhC9c,EAAGoc,YAAYpc,EAAG4c,MAAO,IAAOntD,EAAO,KACvCuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG6c,OAQpC7c,EAAGyc,aAAazc,EAAG+c,eAAiBhB,EAAUjL,QAAQ9nD,OAAQg3C,EAAG2c,eAAgB,GAE7EzwD,KAAKiB,QAML6yC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAM,EAAG,KAJjCuwC,EAAGoc,YAAYpc,EAAG4c,MAAM,KAAMntD,EAAM,GAAI,MAQhDuwC,EAAGmc,WAAU,GAAM,GAAM,GAAM,GAC/Bnc,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAGuc,MAEhCrwD,KAAK2vD,SAWTlb,EAAK8U,oBAAoBnpD,UAAU0vD,aAAe,SAASF,EAAUC,EAAW/V,GAG5E95C,KAAK8wD,iBAAmBlB,EAExB,IAKInQ,EALA3L,EAAK9zC,KAAK8zC,GAGVkV,EAAalP,EAAckP,WAC3Bv3C,EAASqoC,EAAcroC,OAGL,IAAnBo+C,EAAUnwC,MAET+/B,EAAS3F,EAAcmP,cAAc8H,uBAErCjX,EAAcmP,cAAc+H,UAAWvR,GAEvC3L,EAAGmd,UAAUxR,EAAOkH,MAAO7M,EAAc6M,OAEzC7S,EAAG+R,iBAAiBpG,EAAOkI,mBAAmB,EAAOiI,EAAS1Y,eAAega,SAAQ,IAErFpd,EAAGqd,UAAU1R,EAAO2E,iBAAkB4E,EAAWzhD,GAAIyhD,EAAWxhD,GAChEssC,EAAGqd,UAAU1R,EAAO4E,cAAe5yC,EAAOlK,GAAIkK,EAAOjK,GAErDssC,EAAGsd,WAAW3R,EAAOqI,UAAW3Q,OAAOka,MAAMC,cAAc1B,EAAStQ,OACpExL,EAAGsd,WAAW3R,EAAOuI,MAAO6H,EAAU7H,OAEtClU,EAAGmd,UAAUxR,EAAO7I,MAAOgZ,EAAS3Y,WAAa4Y,EAAUjZ,OAE3D9C,EAAGyd,WAAWzd,EAAG0d,aAAc3B,EAAUtD,QAEzCzY,EAAG2d,oBAAoBhS,EAAO8E,gBAAiB,EAAGzQ,EAAG4d,OAAO,EAAO,EAAO,GAK1E5d,EAAGyd,WAAWzd,EAAG6d,qBAAsB9B,EAAU+B,eAKjDnS,EAAS3F,EAAcmP,cAAc4I,gBACrC/X,EAAcmP,cAAc+H,UAAWvR,GAEvC3L,EAAG+R,iBAAiBpG,EAAOkI,mBAAmB,EAAOiI,EAAS1Y,eAAega,SAAQ,IAErFpd,EAAGmd,UAAUxR,EAAOkH,MAAO7M,EAAc6M,OACzC7S,EAAGqd,UAAU1R,EAAO2E,iBAAkB4E,EAAWzhD,GAAIyhD,EAAWxhD,GAChEssC,EAAGqd,UAAU1R,EAAO4E,cAAe5yC,EAAOlK,GAAIkK,EAAOjK,GAErDssC,EAAGsd,WAAW3R,EAAOqI,UAAW3Q,OAAOka,MAAMC,cAAc1B,EAAStQ,OAEpExL,EAAGmd,UAAUxR,EAAO7I,MAAOgZ,EAAS3Y,YAEpCnD,EAAGyd,WAAWzd,EAAG0d,aAAc3B,EAAUtD,QAEzCzY,EAAG2d,oBAAoBhS,EAAO8E,gBAAiB,EAAGzQ,EAAG4d,OAAO,EAAO,GAAO,GAC1E5d,EAAG2d,oBAAoBhS,EAAOiF,eAAgB,EAAG5Q,EAAG4d,OAAO,EAAM,GAAO,GAGxE5d,EAAGyd,WAAWzd,EAAG6d,qBAAsB9B,EAAU+B,eAUzDnd,EAAK8U,oBAAoBnpD,UAAUqvD,WAAa,SAASG,EAAUC,EAAW/V,GAE7E,IAAIhG,EAAK9zC,KAAK8zC,GAKX,GAJA9zC,KAAK0vD,aAAatuD,MAElBpB,KAAK2vD,QAE2B,IAA7B3vD,KAAK0vD,aAAa5yD,OAGjBg3C,EAAGuW,QAAQvW,EAAGic,kBAIlB,CAEI,IAAIxsD,EAAQvD,KAAK2vD,MAEjB3vD,KAAK8vD,aAAaF,EAAUC,EAAW/V,GAEvChG,EAAGmc,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBJ,EAAUnwC,MAET1f,KAAKiB,SAAWjB,KAAKiB,QAElBjB,KAAKiB,SAEJ6yC,EAAGoc,YAAYpc,EAAG4c,MAAO,KAAQntD,EAAM,GAAI,KAC3CuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG8c,QAIhC9c,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAM,EAAG,KACjCuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG6c,OAIpC7c,EAAGyc,aAAazc,EAAG0c,aAAc,EAAG1c,EAAG2c,eAAmD,GAAjCZ,EAAUjL,QAAQ9nD,OAAS,IAEpFg3C,EAAGoc,YAAYpc,EAAGqc,OAAO,EAAE,KAC3Brc,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAGwc,QAGhCxc,EAAGyc,aAAazc,EAAG0c,aAAeX,EAAUjL,QAAQ9nD,OAAS,EAAGg3C,EAAG2c,eAAgB,GAE/EzwD,KAAKiB,QAML6yC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAO,KAJ/BuwC,EAAGoc,YAAYpc,EAAG4c,MAAM,IAAK,EAAS,OAWtC1wD,KAAKiB,SAOL6yC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAM,EAAG,KACjCuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG6c,QANhC7c,EAAGoc,YAAYpc,EAAG4c,MAAO,KAAQntD,EAAM,GAAI,KAC3CuwC,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAG8c,OAQpC9c,EAAGyc,aAAazc,EAAG+c,eAAiBhB,EAAUjL,QAAQ9nD,OAAQg3C,EAAG2c,eAAgB,GAE7EzwD,KAAKiB,QAML6yC,EAAGoc,YAAYpc,EAAG4c,MAAMntD,EAAO,KAJ/BuwC,EAAGoc,YAAYpc,EAAG4c,MAAM,IAAK,EAAS,MAQ9C5c,EAAGmc,WAAU,GAAM,GAAM,GAAM,GAC/Bnc,EAAGsc,UAAUtc,EAAGuc,KAAKvc,EAAGuc,KAAKvc,EAAGuc,QAWxC5b,EAAK8U,oBAAoBnpD,UAAU2nC,QAAU,WAEzC/nC,KAAK0vD,aAAe,KACpB1vD,KAAK8zC,GAAK,MAYdW,EAAKyU,mBAAqB,WAMtBlpD,KAAK8xD,UAAY,GAMjB9xD,KAAK+xD,eAML/xD,KAAKgyD,mBAEL,IAAK,IAAIr1D,EAAI,EAAGA,EAAIqD,KAAK8xD,UAAWn1D,IAEhCqD,KAAK+xD,YAAYp1D,IAAK,EAO1BqD,KAAKiyD,UAITxd,EAAKyU,mBAAmB9oD,UAAUuK,YAAc8pC,EAAKyU,mBAQrDzU,EAAKyU,mBAAmB9oD,UAAUsqD,WAAa,SAAS5W,GAEpD9zC,KAAK8zC,GAAKA,EAGV9zC,KAAK6xD,gBAAkB,IAAIpd,EAAKoT,gBAAgB/T,GAGhD9zC,KAAK+wD,uBAAyB,IAAItc,EAAKsT,uBAAuBjU,GAG9D9zC,KAAKkyD,cAAgB,IAAIzd,EAAK0O,WAAWrP,GAGzC9zC,KAAKmyD,WAAa,IAAI1d,EAAK4S,eAAevT,GAG1C9zC,KAAKoyD,YAAc,IAAI3d,EAAKiT,YAAY5T,GAGxC9zC,KAAKqyD,eAAiB5d,EAAK6d,eAAiB,IAAI7d,EAAK6d,eAAexe,GAAM,KAE1E9zC,KAAKgxD,UAAUhxD,KAAKkyD,gBASxBzd,EAAKyU,mBAAmB9oD,UAAUmyD,WAAa,SAASC,GAGpD,IAAI71D,EAEJ,IAAKA,EAAI,EAAGA,EAAIqD,KAAKgyD,gBAAgBl1D,OAAQH,IAEzCqD,KAAKgyD,gBAAgBr1D,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAI61D,EAAQ11D,OAAQH,IAChC,CACI,IAAI81D,EAAWD,EAAQ71D,GACvBqD,KAAKgyD,gBAAgBS,IAAY,EAGrC,IAAI3e,EAAK9zC,KAAK8zC,GAEd,IAAKn3C,EAAI,EAAGA,EAAIqD,KAAK+xD,YAAYj1D,OAAQH,IAElCqD,KAAK+xD,YAAYp1D,KAAOqD,KAAKgyD,gBAAgBr1D,KAE5CqD,KAAK+xD,YAAYp1D,GAAKqD,KAAKgyD,gBAAgBr1D,GAExCqD,KAAKgyD,gBAAgBr1D,GAEpBm3C,EAAG4e,wBAAwB/1D,GAI3Bm3C,EAAG6e,yBAAyBh2D,KAY5C83C,EAAKyU,mBAAmB9oD,UAAU4wD,UAAY,SAASvR,GAEnD,OAAGz/C,KAAK4yD,aAAenT,EAAO2D,OAE9BpjD,KAAK4yD,WAAanT,EAAO2D,KAEzBpjD,KAAK6yD,cAAgBpT,EAErBz/C,KAAK8zC,GAAGmQ,WAAWxE,EAAO4D,SAC1BrjD,KAAKuyD,WAAW9S,EAAOgE,aAEhB,IAQXhP,EAAKyU,mBAAmB9oD,UAAU2nC,QAAU,WAExC/nC,KAAK+xD,YAAc,KAEnB/xD,KAAKgyD,gBAAkB,KAEvBhyD,KAAK6xD,gBAAgB9pB,UAErB/nC,KAAK+wD,uBAAuBhpB,UAE5B/nC,KAAKkyD,cAAcnqB,UAEnB/nC,KAAKmyD,WAAWpqB,UAEhB/nC,KAAKoyD,YAAYrqB,UAEb/nC,KAAKqyD,gBACPryD,KAAKqyD,eAAetqB,UAGtB/nC,KAAK8zC,GAAK,MAoBdW,EAAK0U,iBAAmB,SAAUhR,GAK9Bn4C,KAAKm4C,KAAOA,EAMZn4C,KAAK8yD,SAAW,EAOhB9yD,KAAKmM,KAAO,IAMZnM,KAAK+yD,WAAa,GAClB,IAAIC,EAAWhzD,KAAK+yD,WAAa/yD,KAAKmM,KAAO,EAGzC8mD,EAAyB,EAAZjzD,KAAKmM,KAQtBnM,KAAKC,SAAW,IAAIizD,YAAYF,GAQhChzD,KAAKmzD,UAAY,IAAI5nB,aAAavrC,KAAKC,UAQvCD,KAAKozD,OAAS,IAAIC,YAAYrzD,KAAKC,UAQnCD,KAAK4kD,QAAU,IAAI0O,YAAYL,GAM/BjzD,KAAKuzD,eAAiB,EAEtB,IAAK,IAAI52D,EAAI,EAAGiF,EAAI,EAAGjF,EAAIs2D,EAAYt2D,GAAK,EAAGiF,GAAK,EAChD5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAO9B5B,KAAKwzD,SAAU,EAMfxzD,KAAKyzD,iBAAmB,EAMxBzzD,KAAK0zD,mBAAqB,KAM1B1zD,KAAKwjD,OAAQ,EAMbxjD,KAAK2zD,YAML3zD,KAAKo7C,cAMLp7C,KAAK4zD,WAML5zD,KAAK6zD,WAML7zD,KAAKkyD,cAAgB,MAOzBzd,EAAK0U,iBAAiB/oD,UAAUsqD,WAAa,SAAU5W,GAGnD,GAFA9zC,KAAK4jD,aAAe9P,EAAG+P,aAAa/P,EAAGgQ,yBACvC9jD,KAAK8zC,GAAKA,EACNW,EAAK2F,0BAA2B,CAEhC,IAAK,IADD2J,EAAa,6GACR52B,EAAQ,EAAGA,EAAQntB,KAAK4jD,eAAgBz2B,EAC7C42B,GAAc,0BACV52B,EAAQ,+CACRA,EAAQ,wCAEhBntB,KAAKkyD,cAAgB,IAAI/a,OAAO2c,OAC5B9zD,KAAKm4C,UACL74B,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCtf,KAAK4jD,aAAe,KACzD,oBACIG,EACA,wEACJ,WAKR/jD,KAAKkyD,cAAgB,IAAI/a,OAAO2c,OAC5B9zD,KAAKm4C,UACL74B,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZtf,KAAK+zD,aAAejgB,EAAGkgB,eACvBh0D,KAAK4xD,YAAc9d,EAAGkgB,eAKtBlgB,EAAGyd,WAAWzd,EAAG6d,qBAAsB3xD,KAAK4xD,aAC5C9d,EAAGmgB,WAAWngB,EAAG6d,qBAAsB3xD,KAAK4kD,QAAS9Q,EAAGogB,aAExDpgB,EAAGyd,WAAWzd,EAAG0d,aAAcxxD,KAAK+zD,cACpCjgB,EAAGmgB,WAAWngB,EAAG0d,aAAcxxD,KAAKC,SAAU6zC,EAAGqgB,cAEjDn0D,KAAKogD,iBAAmB,MAExB,IAAIX,EAAS,IAAIhL,EAAK0O,WAAWrP,GAEjC2L,EAAOgD,YAAcziD,KAAKkyD,cAAczP,YACxChD,EAAOuF,YACPvF,EAAOiE,OAEP1jD,KAAKkyD,cAAc0B,QAAQ9f,EAAGjjC,IAAM4uC,GAOxChL,EAAK0U,iBAAiB/oD,UAAUqsD,MAAQ,SAAU3S,GAC9C95C,KAAK85C,cAAgBA,EACrB95C,KAAKy/C,OAASz/C,KAAK85C,cAAcmP,cAAciJ,cAE/ClyD,KAAK0jC,SAMT+Q,EAAK0U,iBAAiB/oD,UAAUi4B,IAAM,WAClCr4B,KAAK0+C,SAQTjK,EAAK0U,iBAAiB/oD,UAAUm5C,OAAS,SAAU6a,EAAQlU,GACvD,IAAIlM,EAAUogB,EAAOpgB,QACjBmG,EAAcnG,EAAQmG,YACtBrG,EAAK9zC,KAAK8zC,GACVW,EAAKyT,cAAc+G,aAAa9U,EAAYE,eAAiBF,IAC7Dn6C,KAAK0+C,QACL5K,EAAG2B,cAAc3B,EAAG4B,SAAWyE,EAAYE,cAC3CvG,EAAGI,YAAYJ,EAAGK,WAAYgG,EAAY4L,YAAYjS,EAAGjjC,KACzD4jC,EAAKyT,cAAc+G,aAAa9U,EAAYE,cAAgBF,GAIhE,IAAI5B,EAAK6b,EAAOld,eAEZgJ,IACA3H,EAAK2H,GAILlgD,KAAKyzD,kBAAoBzzD,KAAKmM,OAC9BnM,KAAK0+C,QACL1+C,KAAK0zD,mBAAqB1f,EAAQmG,aAItC,IAAIka,EAAMrgB,EAAQsgB,KAGlB,GAAKD,EAAL,CAIA,IAGIzW,EAAIC,EAAIC,EAAIC,EAHZwW,EAAKH,EAAO3Z,OAAOlzC,EACnBitD,EAAKJ,EAAO3Z,OAAOjzC,EAIvB,GAAIwsC,EAAQyM,KAAM,CAEd,IAAIA,EAAOzM,EAAQyM,KAGnB7C,GADAC,EAAK4C,EAAKl5C,EAAIgtD,EAAK9T,EAAKltC,OACdygC,EAAQmM,KAAK5sC,MAGvBuqC,GADAC,EAAK0C,EAAKj5C,EAAIgtD,EAAK/T,EAAKjtC,QACdwgC,EAAQmM,KAAK3sC,YAEvBoqC,EAAM5J,EAAQ6L,MAAW,OAAK,EAAI0U,GAClC1W,EAAM7J,EAAQ6L,MAAW,OAAK0U,EAE9BzW,EAAK9J,EAAQ6L,MAAMrsC,QAAU,EAAIghD,GACjCzW,EAAK/J,EAAQ6L,MAAMrsC,QAAUghD,EAGjC,IAAI73D,EAAIqD,KAAKyzD,iBAAmBzzD,KAAK+yD,WAEjC/Z,GADWh5C,KAAKyzD,iBACHzf,EAAQmG,YAAYnB,YACjCqB,EAAerG,EAAQmG,YAAYE,aAEnC59C,EAAI87C,EAAG97C,EAAIu8C,EACXr6C,EAAI45C,EAAG55C,EAAIq6C,EACXp6C,EAAI25C,EAAG35C,EAAIo6C,EACXp1C,EAAI20C,EAAG30C,EAAIo1C,EACXZ,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGRwI,GADK7M,EAAQmM,KAAK5sC,MACbygC,EAAQmM,KAAK3sC,QAEtB,GAAIwgC,EAAQ8M,QACZ,CACI,IAAI2T,EAAKlc,EAAG97C,EACRi4D,EAAKnc,EAAG55C,EACRg2D,EAAKpc,EAAG35C,EACRg2D,EAAKrc,EAAG30C,EACRixD,EAAMhX,EACNiX,EAAMlX,EAGVxF,EAAKG,EAAG35C,EAAIiiD,EAAKzI,EACjBC,EAAKE,EAAG30C,EAAIi9C,EAAKxI,EAIjB57C,EAAS,sBAALg4D,EAA8BE,EAClCh2D,EAAS,sBAAL+1D,EAA8BE,EAClCh2D,EAAI61D,EAAU,sBAALE,EACT/wD,EAAI8wD,EAAU,sBAALE,EAGT5gB,EAAQ+gB,qBAGRnX,EAAKE,EACLD,EAAKE,EACLD,EAAKgX,EACL/W,EAAK8W,EAGT,IAAIzB,EAASpzD,KAAKozD,OACdD,EAAYnzD,KAAKmzD,UACjB7T,EAAO8U,EAAO9U,KACd0I,GAAS1I,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApB8U,EAAOnd,YAAoB,IAE7Fj3C,KAAK85C,cAAciH,aACnBoS,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIm/C,EAAK3F,EAAK,EACxC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIk/C,EAAKxF,EAAK,EACxC8a,EAAUx2D,KAAO03D,EAAIW,GACrB7B,EAAUx2D,KAAO03D,EAAIY,GACrB7B,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAImhD,EAAKh/C,EAAIm/C,EAAK3F,EAAK,EACxC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIi/C,EAAKvF,EAAK,EACxC8a,EAAUx2D,KAAO03D,EAAIrW,GACrBmV,EAAUx2D,KAAO03D,EAAIpW,GACrBmV,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAImhD,EAAKh/C,EAAIk/C,EAAK1F,EAAK,EACxC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIi/C,EAAKvF,EAAK,EACxC8a,EAAUx2D,KAAO03D,EAAInW,GACrBiV,EAAUx2D,KAAO03D,EAAIlW,GACrBiV,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIk/C,EAAK1F,EAAK,EACxC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIk/C,EAAKxF,EAAK,EACxC8a,EAAUx2D,KAAO03D,EAAIjW,GACrB+U,EAAUx2D,KAAO03D,EAAIhW,GACrB+U,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,IAEjB8Y,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIm/C,EAAK3F,EACnC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIk/C,EAAKxF,EACnC8a,EAAUx2D,KAAO03D,EAAIW,GACrB7B,EAAUx2D,KAAO03D,EAAIY,GACrB7B,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAImhD,EAAKh/C,EAAIm/C,EAAK3F,EACnC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIi/C,EAAKvF,EACnC8a,EAAUx2D,KAAO03D,EAAIrW,GACrBmV,EAAUx2D,KAAO03D,EAAIpW,GACrBmV,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAImhD,EAAKh/C,EAAIk/C,EAAK1F,EACnC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIi/C,EAAKvF,EACnC8a,EAAUx2D,KAAO03D,EAAInW,GACrBiV,EAAUx2D,KAAO03D,EAAIlW,GACrBiV,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,EAEjB8Y,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIk/C,EAAK1F,EACnC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIk/C,EAAKxF,EACnC8a,EAAUx2D,KAAO03D,EAAIjW,GACrB+U,EAAUx2D,KAAO03D,EAAIhW,GACrB+U,EAAOz2D,KAAOqrD,EACdmL,EAAUx2D,KAAO09C,GAGrBr6C,KAAK6zD,QAAQ7zD,KAAKyzD,oBAAsBW,IAS5C3f,EAAK0U,iBAAiB/oD,UAAU80D,mBAAqB,SAAUd,GAC3D,IAAIpgB,EAAUogB,EAAOe,cACjBhb,EAAcnG,EAAQmG,YACtBrG,EAAK9zC,KAAK8zC,GACVuG,EAAe+Z,EAAOpgB,QAAQmG,YAAYE,aAC1C5F,EAAKyT,cAAc+G,aAAa5U,IAAiBF,IACjDn6C,KAAK0+C,QACL5K,EAAG2B,cAAc3B,EAAG4B,SAAW2E,GAC/BvG,EAAGI,YAAYJ,EAAGK,WAAYgG,EAAY4L,YAAYjS,EAAGjjC,KACzD4jC,EAAKyT,cAAc+G,aAAa5U,GAAgBF,GAIhDn6C,KAAKyzD,kBAAoBzzD,KAAKmM,OAC9BnM,KAAK0+C,QACL1+C,KAAK0zD,mBAAqB1f,EAAQmG,aAIjCia,EAAOE,OACRF,EAAOE,KAAO,IAAI7f,EAAK2gB,YAG3B,IAAIf,EAAMD,EAAOE,KAEb32C,EAAIq2B,EAAQmG,YAAY5mC,MACxBkW,EAAIuqB,EAAQmG,YAAY3mC,OAQ5B4gD,EAAOiB,aAAa9tD,GAAKoW,EAAIy2C,EAAOkB,gBAAgB/tD,EACpD6sD,EAAOiB,aAAa7tD,GAAKiiB,EAAI2qC,EAAOkB,gBAAgB9tD,EAEpD,IAAI+tD,EAAUnB,EAAOiB,aAAa9tD,GAAKoW,EAAIy2C,EAAOkB,gBAAgB/tD,GAC9DiuD,EAAUpB,EAAOiB,aAAa7tD,GAAKiiB,EAAI2qC,EAAOkB,gBAAgB9tD,GAE9DiuD,EAAUrB,EAAO7gD,MAAQoK,GAAMy2C,EAAOsB,UAAUnuD,EAAI6sD,EAAOkB,gBAAgB/tD,GAC3EouD,EAAUvB,EAAO5gD,OAASiW,GAAM2qC,EAAOsB,UAAUluD,EAAI4sD,EAAOkB,gBAAgB9tD,GAEhF6sD,EAAIW,GAAK,EAAIO,EACblB,EAAIY,GAAK,EAAIO,EAEbnB,EAAIrW,GAAM,EAAIyX,EAAUF,EACxBlB,EAAIpW,GAAK,EAAIuX,EAEbnB,EAAInW,GAAM,EAAIuX,EAAUF,EACxBlB,EAAIlW,GAAM,EAAIwX,EAAUH,EAExBnB,EAAIjW,GAAK,EAAImX,EACblB,EAAIhW,GAAM,EAAIsX,EAAUH,EAGxB,IAAIlW,EAAO8U,EAAO9U,KACd0I,GAAS1I,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApB8U,EAAOnd,YAAoB,IAE7Fkc,EAAYnzD,KAAKmzD,UACjBC,EAASpzD,KAAKozD,OAEd7/C,EAAQ6gD,EAAO7gD,MACfC,EAAS4gD,EAAO5gD,OAGhB+gD,EAAKH,EAAO3Z,OAAOlzC,EACnBitD,EAAKJ,EAAO3Z,OAAOjzC,EACnBo2C,EAAKrqC,GAAS,EAAIghD,GAClB1W,EAAKtqC,GAASghD,EAEdzW,EAAKtqC,GAAU,EAAIghD,GACnBzW,EAAKvqC,GAAUghD,EAEf73D,EAAIqD,KAAKyzD,iBAAmBzzD,KAAK+yD,WAEjC/Z,EAAahF,EAAQmG,YAAYnB,WAEjCT,EAAK6b,EAAOld,eAEZz6C,EAAI87C,EAAG97C,EAAIu8C,EACXr6C,EAAI45C,EAAG55C,EAAIq6C,EACXp6C,EAAI25C,EAAG35C,EAAIo6C,EACXp1C,EAAI20C,EAAG30C,EAAIo1C,EACXZ,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAEZ8a,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIm/C,EAAK3F,EACnC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIk/C,EAAKxF,EAEnC8a,EAAUx2D,KAAO03D,EAAIW,GACrB7B,EAAUx2D,KAAO03D,EAAIY,GAErB7B,EAAOz2D,KAAOqrD,EAEdmL,EAAUx2D,KAAO09C,EAGjB8Y,EAAUx2D,KAAQF,EAAImhD,EAAKh/C,EAAIm/C,EAAK3F,EACpC+a,EAAUx2D,KAAOiH,EAAIm6C,EAAKp/C,EAAIi/C,EAAKvF,EAEnC8a,EAAUx2D,KAAO03D,EAAIrW,GACrBmV,EAAUx2D,KAAO03D,EAAIpW,GAErBmV,EAAOz2D,KAAOqrD,EAEdmL,EAAUx2D,KAAO09C,EAGjB8Y,EAAUx2D,KAAOF,EAAImhD,EAAKh/C,EAAIk/C,EAAK1F,EACnC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIi/C,EAAKvF,EAEnC8a,EAAUx2D,KAAO03D,EAAInW,GACrBiV,EAAUx2D,KAAO03D,EAAIlW,GAErBiV,EAAOz2D,KAAOqrD,EAEdmL,EAAUx2D,KAAO09C,EAGjB8Y,EAAUx2D,KAAOF,EAAIohD,EAAKj/C,EAAIk/C,EAAK1F,EACnC+a,EAAUx2D,KAAOiH,EAAIk6C,EAAKn/C,EAAIk/C,EAAKxF,EAEnC8a,EAAUx2D,KAAO03D,EAAIjW,GACrB+U,EAAUx2D,KAAO03D,EAAIhW,GAErB+U,EAAOz2D,KAAOqrD,EAEdmL,EAAUx2D,KAAO09C,EAGjBr6C,KAAK6zD,QAAQ7zD,KAAKyzD,oBAAsBW,GAQ5C3f,EAAK0U,iBAAiB/oD,UAAUs+C,MAAQ,WAEpC,GAA8B,IAA1B1+C,KAAKyzD,iBAAT,CAIA,IACIhU,EADA3L,EAAK9zC,KAAK8zC,GAGd,GAAI9zC,KAAKwjD,MAAO,CACZxjD,KAAKwjD,OAAQ,EAEb/D,EAASz/C,KAAKkyD,cAAc0B,QAAQ9f,EAAGjjC,IAGvCijC,EAAG2B,cAAc3B,EAAG4B,UAGpB5B,EAAGyd,WAAWzd,EAAG0d,aAAcxxD,KAAK+zD,cACpCjgB,EAAGyd,WAAWzd,EAAG6d,qBAAsB3xD,KAAK4xD,aAE5C,IAAIgE,EAAS51D,KAAK+yD,WAClBjf,EAAG2d,oBAAoBhS,EAAO8E,gBAAiB,EAAGzQ,EAAG4d,OAAO,EAAOkE,EAAQ,GAC3E9hB,EAAG2d,oBAAoBhS,EAAOgF,cAAe,EAAG3Q,EAAG4d,OAAO,EAAOkE,EAAQ,GAGzE9hB,EAAG2d,oBAAoBhS,EAAOiF,eAAgB,EAAG5Q,EAAGkB,eAAe,EAAM4gB,EAAQ,IAGjF9hB,EAAG2d,oBAAoBhS,EAAOkF,cAAe,EAAG7Q,EAAG4d,OAAO,EAAOkE,EAAQ,IAI7E,GAAI51D,KAAKyzD,iBAAgC,GAAZzzD,KAAKmM,KAC9B2nC,EAAG+hB,cAAc/hB,EAAG0d,aAAc,EAAGxxD,KAAKC,cACvC,CACH6zC,EAAGyd,WAAWzd,EAAG0d,aAAcxxD,KAAK+zD,cACpC,IAAIrL,EAAO1oD,KAAKmzD,UAAU2C,SAAS,EAAG91D,KAAKyzD,iBAAmBzzD,KAAK+yD,YACnEjf,EAAG+hB,cAAc/hB,EAAG0d,aAAc,EAAG9I,GAgBzC,IAAK,IAbDqN,EAAaC,EAAeC,EAU5B7B,EATA8B,EAAY,EACZxyB,EAAQ,EAERgwB,EAAqB,KACrBtT,EAAmBpgD,KAAK85C,cAAc0P,iBAAiBpJ,iBACvDyS,EAAgB,KAEhBsD,GAAY,EACZC,GAAa,EAIRz5D,EAAI,EAAGiF,EAAI5B,KAAKyzD,iBAAkB92D,EAAIiF,EAAGjF,IAAK,CAK/Co5D,GAHJ3B,EAASp0D,KAAK6zD,QAAQl3D,IAEXw4D,cACOf,EAAOe,cAAchb,YAErBia,EAAOpgB,QAAQmG,YAMjCgc,EAAY/V,KAHZ4V,EAAgB5B,EAAOjZ,WAIvBib,EAAavD,KAHboD,EAAa7B,EAAO3U,QAAUz/C,KAAKkyD,eAKnC,IAAImE,EAAON,EAAY/V,WAMvB,GAJIqW,GAAQjC,EAAOpc,SAASl7C,OAAS,IACjCu5D,GAAO,IAIPF,GACAC,KACAp2D,KAAKs2D,YAAY5C,EAAoBwC,EAAWxyB,GAEhDA,EAAQ/mC,EACRu5D,EAAY,EACZxC,EAAqBqC,EAEjBI,IACA/V,EAAmB4V,EACnBh2D,KAAK85C,cAAc0P,iBAAiBgD,aAAapM,IAGjDgW,GAAY,EAGZ3W,GAFAoT,EAAgBoD,GAEOrC,QAAQ9f,EAAGjjC,QAG9B4uC,EAAS,IAAIhL,EAAK0O,WAAWrP,IAEtB2O,YAAcoQ,EAAcpQ,YACnChD,EAAOuF,SAAW6N,EAAc7N,SAChCvF,EAAOiE,OAEPmP,EAAce,QAAQ9f,EAAGjjC,IAAM4uC,GAInCz/C,KAAK85C,cAAcmP,cAAc+H,UAAUvR,GAEvCA,EAAO+D,OACP/D,EAAOqH,eAKX,IAAIkC,EAAahpD,KAAK85C,cAAckP,WACpClV,EAAGqd,UAAU1R,EAAO2E,iBAAkB4E,EAAWzhD,EAAGyhD,EAAWxhD,GAG/D,IAAI68C,EAAerkD,KAAK85C,cAAcroC,OACtCqiC,EAAGqd,UAAU1R,EAAO4E,aAAcA,EAAa98C,EAAG88C,EAAa78C,GAMvE0uD,IAGJl2D,KAAKs2D,YAAY5C,EAAoBwC,EAAWxyB,GAGhD1jC,KAAKyzD,iBAAmB,EACxBzzD,KAAK85C,cAAc8P,eASvBnV,EAAK0U,iBAAiB/oD,UAAUk2D,YAAc,SAAUtiB,EAAS7nC,EAAMoqD,GACnE,GAAa,IAATpqD,EAAJ,CAIA,IAAI2nC,EAAK9zC,KAAK8zC,GAGd,GAAIE,EAAQiT,OAAOnT,EAAGjjC,KAClB,IAAK7Q,KAAK85C,cAAcb,SAASkO,cAAcnT,GAE3C,YAGJF,EAAGI,YAAYJ,EAAGK,WAAYH,EAAQ+R,YAAYjS,EAAGjjC,KAGzDijC,EAAGyc,aAAazc,EAAG0iB,UAAkB,EAAPrqD,EAAU2nC,EAAG2c,eAA6B,EAAb8F,EAAiB,GAE5Ev2D,KAAK85C,cAAc6P,cAMvBlV,EAAK0U,iBAAiB/oD,UAAU0hB,KAAO,WACnC9hB,KAAK0+C,QACL1+C,KAAKwjD,OAAQ,GAMjB/O,EAAK0U,iBAAiB/oD,UAAUsjC,MAAQ,WACpC1jC,KAAKwjD,OAAQ,GAQjB/O,EAAK0U,iBAAiB/oD,UAAU2nC,QAAU,WACtC/nC,KAAKC,SAAW,KAChBD,KAAK4kD,QAAU,KAEf5kD,KAAK8zC,GAAG2iB,aAAaz2D,KAAK+zD,cAC1B/zD,KAAK8zC,GAAG2iB,aAAaz2D,KAAK4xD,aAE1B5xD,KAAK0zD,mBAAqB,KAE1B1zD,KAAK8zC,GAAK,MAiBdW,EAAKiiB,qBAAuB,SAAS5iB,GAOjC9zC,KAAK8yD,SAAW,GAMhB9yD,KAAK22D,QAAU,IAMf32D,KAAKmM,KAAOnM,KAAK22D,QAGjB,IAAI3D,EAAuB,EAAZhzD,KAAKmM,KAAYnM,KAAK8yD,SAGjCG,EAA4B,EAAfjzD,KAAK22D,QAOtB32D,KAAKC,SAAW,IAAIsrC,aAAaynB,GAOjChzD,KAAK4kD,QAAU,IAAI0O,YAAYL,GAM/BjzD,KAAK+zD,aAAe,KAMpB/zD,KAAK4xD,YAAc,KAMnB5xD,KAAKuzD,eAAiB,EAEtB,IAAK,IAAI52D,EAAE,EAAGiF,EAAE,EAAGjF,EAAIs2D,EAAYt2D,GAAK,EAAGiF,GAAK,EAE5C5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAC1B5B,KAAK4kD,QAAQjoD,EAAI,GAAKiF,EAAI,EAO9B5B,KAAKwzD,SAAU,EAMfxzD,KAAKyzD,iBAAmB,EAMxBzzD,KAAK0zD,mBAAqB,KAM1B1zD,KAAKogD,iBAAmB,EAMxBpgD,KAAK85C,cAAgB,KAMrB95C,KAAKy/C,OAAS,KAMdz/C,KAAKkgD,OAAS,KAEdlgD,KAAK0qD,WAAW5W,IAGpBW,EAAKiiB,qBAAqBt2D,UAAUuK,YAAc8pC,EAAKiiB,qBAQvDjiB,EAAKiiB,qBAAqBt2D,UAAUsqD,WAAa,SAAS5W,GAEtD9zC,KAAK8zC,GAAKA,EAGV9zC,KAAK+zD,aAAejgB,EAAGkgB,eACvBh0D,KAAK4xD,YAAc9d,EAAGkgB,eAKtBlgB,EAAGyd,WAAWzd,EAAG6d,qBAAsB3xD,KAAK4xD,aAC5C9d,EAAGmgB,WAAWngB,EAAG6d,qBAAsB3xD,KAAK4kD,QAAS9Q,EAAGogB,aAExDpgB,EAAGyd,WAAWzd,EAAG0d,aAAcxxD,KAAK+zD,cACpCjgB,EAAGmgB,WAAWngB,EAAG0d,aAAcxxD,KAAKC,SAAU6zC,EAAGqgB,eAQrD1f,EAAKiiB,qBAAqBt2D,UAAUqsD,MAAQ,SAAShO,EAAa3E,GAE9D95C,KAAK85C,cAAgBA,EACrB95C,KAAKy/C,OAASz/C,KAAK85C,cAAcmP,cAAckJ,WAE/CnyD,KAAKkgD,OAASzB,EAAYvH,eAAega,SAAQ,GAEjDlxD,KAAK0jC,SAMT+Q,EAAKiiB,qBAAqBt2D,UAAUi4B,IAAM,WAEtCr4B,KAAK0+C,SAOTjK,EAAKiiB,qBAAqBt2D,UAAUm5C,OAAS,SAAUkF,GAEnD,IAAIzG,EAAWyG,EAAYzG,SACvBoc,EAASpc,EAAS,GAKtB,GAAIoc,EAAOpgB,QAAQsgB,KAAnB,CAEAt0D,KAAK0zD,mBAAqBU,EAAOpgB,QAAQmG,YAGtCia,EAAOjZ,YAAcn7C,KAAK85C,cAAc0P,iBAAiBpJ,mBAExDpgD,KAAK0+C,QACL1+C,KAAK85C,cAAc0P,iBAAiBgD,aAAa4H,EAAOjZ,YAG5D,IAAI,IAAIx+C,EAAE,EAAEiF,EAAGo2C,EAASl7C,OAAQH,EAAEiF,EAAGjF,IAEjCqD,KAAK42D,aAAa5e,EAASr7C,IAG/BqD,KAAK0+C,UAOTjK,EAAKiiB,qBAAqBt2D,UAAUw2D,aAAe,SAASxC,GAExD,IACIja,EADUia,EAAOpgB,QACKmG,YACtBrG,EAAK9zC,KAAK8zC,GACVuG,EAAe+Z,EAAOpgB,QAAQmG,YAAYE,aAE9C,IAAI5F,EAAKyT,cAAc+G,aAAa5U,IAAiBF,IACjDA,EAAY4L,YAAYjS,EAAGjjC,KAAQujD,EAAOpgB,QAAQmG,YAAY6F,aAC9DhgD,KAAK0+C,QACL5K,EAAG2B,cAAc3B,EAAG4B,SAAW2E,GAC/BvG,EAAGI,YAAYJ,EAAGK,WAAYgG,EAAY4L,YAAYjS,EAAGjjC,KACzD4jC,EAAKyT,cAAc+G,aAAa5U,GAAgBF,EAC5Cia,EAAOpgB,QAAQsgB,QAInBF,EAAOvd,QAAX,CAEA,IAAIwd,EAA8CzW,EAAIC,EAAIC,EAAIC,EAAI5wB,EAAzDltB,EAAWD,KAAKC,SAOzB,GALAo0D,EAAMD,EAAOpgB,QAAQsgB,KAEbF,EAAOpgB,QAAQ6L,MAAMtsC,MACpB6gD,EAAOpgB,QAAQ6L,MAAMrsC,OAE1B4gD,EAAOpgB,QAAQyM,KACnB,CAEI,IAAIA,EAAO2T,EAAOpgB,QAAQyM,KAG1B7C,GADAC,EAAK4C,EAAKl5C,EAAI6sD,EAAO3Z,OAAOlzC,EAAIk5C,EAAKltC,OAC3B6gD,EAAOpgB,QAAQmM,KAAK5sC,MAG9BuqC,GADAC,EAAK0C,EAAKj5C,EAAI4sD,EAAO3Z,OAAOjzC,EAAIi5C,EAAKjtC,QAC3B4gD,EAAOpgB,QAAQmM,KAAK3sC,YAI9BoqC,EAAMwW,EAAOpgB,QAAQ6L,MAAY,OAAK,EAAEuU,EAAO3Z,OAAOlzC,GACtDs2C,EAAMuW,EAAOpgB,QAAQ6L,MAAY,OAAKuU,EAAO3Z,OAAOlzC,EAEpDu2C,EAAKsW,EAAOpgB,QAAQ6L,MAAMrsC,QAAU,EAAE4gD,EAAO3Z,OAAOjzC,GACpDu2C,EAAKqW,EAAOpgB,QAAQ6L,MAAMrsC,QAAU4gD,EAAO3Z,OAAOjzC,EAGtD2lB,EAAgC,EAAxBntB,KAAKyzD,iBAAuBzzD,KAAK8yD,SAEzC7yD,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIW,GACxB/0D,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIrW,GACxB/9C,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAInW,GACxBj+C,EAASktB,KAAWknC,EAAIlW,GAExBl+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAO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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","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","flushCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","prop","parts","val","setProperty","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","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","atan2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","inflatePoint","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","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","linear","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","gamePaused","gameResumed","focusLoss","focusGain","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","killAll","callAllExists","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","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","leftButton","rightButton","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","justReleased","pointerMode","CONTACT","middleButton","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","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","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","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","getFirst","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","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","yoyoCounter","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","MISSING","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","_line","_rect","currentColor","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","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","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","pixelWidth","pixelHeight","palette","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","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","center","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","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","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","fields","sliced","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","lastgid","curo","polygon","ellipse","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","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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D,SAEzC7yD,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIW,GACxB/0D,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAIrW,GACxB/9C,EAASktB,KAAWknC,EAAIpW,GAExBh+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,EAGpCvH,EAASktB,KAAWinC,EAAO/hD,MAAM9K,EACjCtH,EAASktB,KAAWinC,EAAO/hD,MAAM7K,EAGjCvH,EAASktB,KAAWinC,EAAOzd,SAG3B12C,EAASktB,KAAWknC,EAAInW,GACxBj+C,EAASktB,KAAWknC,EAAIlW,GAExBl+C,EAASktB,KAAWinC,EAAOxd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWinC,EAAOttD,SAASS,EACpCtH,EAASktB,KAAWinC,EAAOttD,SAASU,E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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 73de02732..e87d5b888 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.8.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.8.5 - 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;Tg&&(g+=this.vertices.length),m=Number.MAX_VALUE,g3&&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(m,2))return 0;if(u)return!0;var g=this.createContactEquation(t,n,e,r);return a(g.normalA,l,i),o.normalize(g.normalA,g.normalA),o.scale(g.contactPointA,g.normalA,d),o.scale(g.contactPointB,g.normalA,-p),h(g.contactPointA,g.contactPointA,i),a(g.contactPointA,g.contactPointA,t.position),h(g.contactPointB,g.contactPointB,l),a(g.contactPointB,g.contactPointB,n.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[g.PLANE|g.CONVEX]=s.prototype[g.PLANE|g.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,m=_,g=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(m,p,i),l(m,f)<=0){if(d)return!0;g++;var T=this.createContactEquation(t,n,e,r);a(m,p,i),o.copy(T.normalA,f);var P=l(m,T.normalA);o.scale(m,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,m),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&&g&&this.frictionEquations.push(this.createFrictionFromAverage(g)),g},s.prototype[g.PARTICLE|g.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 m=this.createContactEquation(n,t,r,e);return o.copy(m.normalA,p),o.scale(d,m.normalA,f),a(m.contactPointA,i,d),a(m.contactPointA,m.contactPointA,n.position),a(m.contactPointB,i,t.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[g.CIRCLE|g.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[g.PLANE|g.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 m=this.circlePlane(n,p,u,0,t,e,i,s,c),g=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return m||g;var y=m+g;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[g.CIRCLE|g.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,m=i,g=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,m,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(g,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,m),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,g.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[g.CONVEX]=s.prototype[g.CONVEX|g.BOX]=s.prototype[g.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var m=x,g=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,m))return 0;a(M,u,i),l(m,M)>0&&o.scale(m,m,-1);var B=s.getClosestEdge(e,n,m,!0),I=s.getClosestEdge(c,d,m);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,g,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,g,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,g,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,m=et,g=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(g,0,1):1===C&&o.set(g,1,0),0!==_&&o.rotate(g,g,_),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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(m,b.vertices[(C+1)%b.vertices.length],_),a(p,m,f),o.rotate90cw(g,p),o.normalize(g,g),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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[g.CIRCLE|g.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,m=lt,g=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]&&g[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(m,x,-E),o.add(y,g,m),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(m,i,b),o.squaredLength(m)=c.length&&(y=c.length-1);for(var v=c[g],x=c[y],b=g;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=g;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&&g>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],m=t[2*l+1],g=!1;if(s._convex(c,u,d,p,f,m)){g=!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,m=h*c+l*u,g=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-m*m),b=(y*g-m*v)*x,_=(f*v-m*g)*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(),m=n.create();s.prototype.applyForceLocal=function(t,e){e=e||m;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var g=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=g;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(g,2),y=0;y<2;y++){r.set(f,g*(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,m=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,p,m,-1);else{var g=Math.sqrt(p),y=1/(2*c),v=(-u-g)*y,x=(-u+g)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,v,m,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,x,m,-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(),m=r.create(),g=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=m,a=g,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 m=a;r.rotate(m,c,s),e.reportIntersection(t,f,m,-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&&(m=p*a-u),r[t]+=m,e.addToWlambda(m),m}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(m.equations.length=0,v.appendArray(m.equations,c.contactEquations),v.appendArray(m.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(m.equations,u[T].equations);m.split(this);for(T=0;T!==m.islands.length;T++)(K=m.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var m;m=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*m,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 g=t[i.type|a.type],y=0;if(g){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 m=this.narrowphase,g=[],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&&m.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&m.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&m.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&m.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=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*g+w*v+P,A=T*v+_*g+C,E=b*m+w*v+P,M=T*v+_*m+C,R=b*m+w*y+P,L=T*y+_*m+C,B=b*g+w*y+P,I=T*y+_*g+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,m=S>(m=P>(m=w>(m=b>m?b:m)?w:m)?P:m)?S:m}var A=this._bounds;return A.x=g,A.width=f-g,A.y=y,A.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[m++]=v*l+b*u+w|0,B[m++]=_*u+x*l+T|0,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w|0,B[m++]=_*u+x*h+T|0,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w|0,B[m++]=_*c+x*h+T|0,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w|0,B[m++]=_*c+x*l+T|0,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=y):(B[m++]=v*l+b*u+w,B[m++]=_*u+x*l+T,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w,B[m++]=_*u+x*h+T,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w,B[m++]=_*c+x*h+T,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w,B[m++]=_*c+x*l+T,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=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),m=this.positions,g=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;m[C++]=E*w+R*P+B,m[C++]=L*P+M*w+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=E*_+R*P+B,m[C++]=L*P+M*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=E*_+R*T+B,m[C++]=L*T+M*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=E*w+R*T+B,m[C++]=L*T+M*w+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,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(u,l,c),c=g,l=0,u=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)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var 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[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=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,R=m*c+l*y+g*u-c*y-l*g-m*u,L=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=m*p+d*y+g*f-p*y-d*g-m*f,O=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,c=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,m,g,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],m=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-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],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 r,o,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),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;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||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=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._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),n.reset(o,a),n.angle=0,n.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(n):this.particleSendToBack&&this.sendToBack(n),this.autoScale?n.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?n.scale.set(r.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?n.scale.set(r.realInRange(this._minParticleScale.x,this._maxParticleScale.x),r.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):n.scale.set(this._minParticleScale.x,this._minParticleScale.y),void 0===s&&(Array.isArray(this._frames)?n.frame=this.game.rnd.pick(this._frames):n.frame=this._frames),this.autoAlpha?n.setAlphaData(this.alphaData):n.alpha=r.realInRange(this.minParticleAlpha,this.maxParticleAlpha),n.blendMode=this.blendMode;var h=n.body;return h.updateBounds(),h.bounce.copyFrom(this.bounce),h.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:r.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:r.between(this.minSpeed,this.maxSpeed),h.velocity):(h.velocity.x=r.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),h.velocity.y=r.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),h.angularVelocity=r.between(this.minRotation,this.maxRotation),h.gravity.copyFrom(this.gravity),h.angularDrag=this.angularDrag,n.onEmit(),!0},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tg&&(g+=this.vertices.length),m=Number.MAX_VALUE,g3&&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(m,2))return 0;if(u)return!0;var g=this.createContactEquation(t,n,e,r);return a(g.normalA,l,i),o.normalize(g.normalA,g.normalA),o.scale(g.contactPointA,g.normalA,d),o.scale(g.contactPointB,g.normalA,-p),h(g.contactPointA,g.contactPointA,i),a(g.contactPointA,g.contactPointA,t.position),h(g.contactPointB,g.contactPointB,l),a(g.contactPointB,g.contactPointB,n.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[g.PLANE|g.CONVEX]=s.prototype[g.PLANE|g.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,m=_,g=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(m,p,i),l(m,f)<=0){if(d)return!0;g++;var T=this.createContactEquation(t,n,e,r);a(m,p,i),o.copy(T.normalA,f);var P=l(m,T.normalA);o.scale(m,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,m),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&&g&&this.frictionEquations.push(this.createFrictionFromAverage(g)),g},s.prototype[g.PARTICLE|g.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 m=this.createContactEquation(n,t,r,e);return o.copy(m.normalA,p),o.scale(d,m.normalA,f),a(m.contactPointA,i,d),a(m.contactPointA,m.contactPointA,n.position),a(m.contactPointB,i,t.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[g.CIRCLE|g.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[g.PLANE|g.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 m=this.circlePlane(n,p,u,0,t,e,i,s,c),g=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return m||g;var y=m+g;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[g.CIRCLE|g.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,m=i,g=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,m,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(g,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,m),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,g.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[g.CONVEX]=s.prototype[g.CONVEX|g.BOX]=s.prototype[g.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var m=x,g=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,m))return 0;a(M,u,i),l(m,M)>0&&o.scale(m,m,-1);var B=s.getClosestEdge(e,n,m,!0),I=s.getClosestEdge(c,d,m);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,g,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,g,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,g,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,m=et,g=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(g,0,1):1===C&&o.set(g,1,0),0!==_&&o.rotate(g,g,_),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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(m,b.vertices[(C+1)%b.vertices.length],_),a(p,m,f),o.rotate90cw(g,p),o.normalize(g,g),s.projectConvexOntoAxis(t,e,i,g,v),s.projectConvexOntoAxis(n,r,h,g,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,g),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[g.CIRCLE|g.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,m=lt,g=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]&&g[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(m,x,-E),o.add(y,g,m),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(m,i,b),o.squaredLength(m)=c.length&&(y=c.length-1);for(var v=c[g],x=c[y],b=g;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=g;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&&g>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],m=t[2*l+1],g=!1;if(s._convex(c,u,d,p,f,m)){g=!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,m=h*c+l*u,g=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-m*m),b=(y*g-m*v)*x,_=(f*v-m*g)*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(),m=n.create();s.prototype.applyForceLocal=function(t,e){e=e||m;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var g=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=g;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(g,2),y=0;y<2;y++){r.set(f,g*(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,m=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,p,m,-1);else{var g=Math.sqrt(p),y=1/(2*c),v=(-u-g)*y,x=(-u+g)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,v,m,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(m,f,i),r.normalize(m,m),e.reportIntersection(t,x,m,-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(),m=r.create(),g=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=m,a=g,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 m=a;r.rotate(m,c,s),e.reportIntersection(t,f,m,-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&&(m=p*a-u),r[t]+=m,e.addToWlambda(m),m}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(m.equations.length=0,v.appendArray(m.equations,c.contactEquations),v.appendArray(m.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(m.equations,u[T].equations);m.split(this);for(T=0;T!==m.islands.length;T++)(K=m.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var m;m=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*m,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 g=t[i.type|a.type],y=0;if(g){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 m=this.narrowphase,g=[],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&&m.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&m.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&m.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&m.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=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*g+w*v+P,A=T*v+_*g+C,E=b*m+w*v+P,M=T*v+_*m+C,R=b*m+w*y+P,L=T*y+_*m+C,B=b*g+w*y+P,I=T*y+_*g+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,m=S>(m=P>(m=w>(m=b>m?b:m)?w:m)?P:m)?S:m}var A=this._bounds;return A.x=g,A.width=f-g,A.y=y,A.height=m-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 m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[m++]=v*l+b*u+w|0,B[m++]=_*u+x*l+T|0,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w|0,B[m++]=_*u+x*h+T|0,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w|0,B[m++]=_*c+x*h+T|0,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w|0,B[m++]=_*c+x*l+T|0,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=y):(B[m++]=v*l+b*u+w,B[m++]=_*u+x*l+T,B[m++]=a.x0,B[m++]=a.y0,L[m++]=O,B[m++]=y,B[m++]=v*h+b*u+w,B[m++]=_*u+x*h+T,B[m++]=a.x1,B[m++]=a.y1,L[m++]=O,B[m++]=y,B[m++]=v*h+b*c+w,B[m++]=_*c+x*h+T,B[m++]=a.x2,B[m++]=a.y2,L[m++]=O,B[m++]=y,B[m++]=v*l+b*c+w,B[m++]=_*c+x*l+T,B[m++]=a.x3,B[m++]=a.y3,L[m++]=O,B[m++]=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),m=this.positions,g=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;m[C++]=E*w+R*P+B,m[C++]=L*P+M*w+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=E*_+R*P+B,m[C++]=L*P+M*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=E*_+R*T+B,m[C++]=L*T+M*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=E*w+R*T+B,m[C++]=L*T+M*w+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,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(f||m)&&(this.renderBatch(u,l,c),c=g,l=0,u=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)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0,this.renderSession.flushCount++}},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++,this.renderSession.flushCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.8.5",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},i.Circle.prototype.constructor=i.Circle,Object.defineProperty(i.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},i.Matrix=function(t,e,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),void 0!==n&&null!==n||(n=1),void 0!==r&&null!==r||(r=0),void 0!==o&&null!==o||(o=0),this.a=t,this.b=e,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=i.MATRIX},i.Matrix.prototype={fromArray:function(t){return this.setTo(t[0],t[1],t[3],t[4],t[2],t[5])},setTo:function(t,e,i,s,n,r){return this.a=t,this.b=e,this.c=i,this.d=s,this.tx=n,this.ty=r,this},clone:function(t){return void 0===t||null===t?t=new i.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty),t},copyTo:function(t){return t.copyFrom(this),t},copyFrom:function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},toArray:function(t,e){return void 0===e&&(e=new Float32Array(9)),t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},apply:function(t,e){return void 0===e&&(e=new i.Point),e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},applyInverse:function(t,e){void 0===e&&(e=new i.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return e.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,e},translate:function(t,e){return this.tx+=t,this.ty+=e,this},scale:function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),s=this.a,n=this.c,r=this.tx;return this.a=s*e-this.b*i,this.b=s*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=r*e-this.ty*i,this.ty=r*i+this.ty*e,this},append:function(t){var e=this.a,i=this.b,s=this.c,n=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*s,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},i.identityMatrix=new i.Matrix,i.Point=function(t,e){t=t||0,e=e||0,this.x=t,this.y=e,this.type=i.POINT},i.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,e){return i.Point.set(this,t,e)},set:function(t,e){return i.Point.set(this,t,e)},setToPolar:function(t,e,s){return null==e&&(e=1),s&&(t=i.Math.degToRad(t)),this.setTo(Math.cos(t)*e,Math.sin(t)*e)},add:function(t,e){return this.x+=t,this.y+=e,this},subtract:function(t,e){return this.x-=t,this.y-=e,this},multiply:function(t,e){return this.x*=t,this.y*=e,this},divide:function(t,e){return this.x/=t,this.y/=e,this},clampX:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this},clampY:function(t,e){return this.y=i.Math.clamp(this.y,t,e),this},clamp:function(t,e){return this.x=i.Math.clamp(this.x,t,e),this.y=i.Math.clamp(this.y,t,e),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},angle:function(t,e){return void 0===e&&(e=!1),e?i.Math.radToDeg(Math.atan2(t.y-this.y,t.x-this.x)):Math.atan2(t.y-this.y,t.x-this.x)},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},isZero:function(){return 0===this.x&&0===this.y},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},i.Point.prototype.constructor=i.Point,i.Point.add=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x+e.x,s.y=t.y+e.y,s},i.Point.subtract=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x-e.x,s.y=t.y-e.y,s},i.Point.multiply=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x*e.x,s.y=t.y*e.y,s},i.Point.divide=function(t,e,s){return void 0===s&&(s=new i.Point),s.x=t.x/e.x,s.y=t.y/e.y,s},i.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},i.Point.negative=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.x,-t.y)},i.Point.multiplyAdd=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+e.x*s,t.y+e.y*s)},i.Point.interpolate=function(t,e,s,n){return void 0===n&&(n=new i.Point),n.setTo(t.x+(e.x-t.x)*s,t.y+(e.y-t.y)*s)},i.Point.perp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-t.y,t.x)},i.Point.rperp=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(t.y,-t.x)},i.Point.distance=function(t,e,s){var n=i.Math.distance(t.x,t.y,e.x,e.y);return s?Math.round(n):n},i.Point.project=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e)/e.getMagnitudeSq();return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.projectUnit=function(t,e,s){void 0===s&&(s=new i.Point);var n=t.dot(e);return 0!==n&&s.setTo(n*e.x,n*e.y),s},i.Point.normalRightHand=function(t,e){return void 0===e&&(e=new i.Point),e.setTo(-1*t.y,t.x)},i.Point.normalize=function(t,e){void 0===e&&(e=new i.Point);var s=t.getMagnitude();return 0!==s&&e.setTo(t.x/s,t.y/s),e},i.Point.rotate=function(t,e,s,n,r,o){if(r&&(n=i.Math.degToRad(n)),void 0===o){t.subtract(e,s);var a=Math.sin(n),h=Math.cos(n),l=h*t.x-a*t.y,c=a*t.x+h*t.y;t.x=l+e,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-e);t.x=e+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},i.Point.centroid=function(t,e){if(void 0===e&&(e=new i.Point),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("Phaser.Point. Parameter 'points' must be an array");var s=t.length;if(s<1)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===s)return e.copyFrom(t[0]),e;for(var n=0;n0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var n=this,r=[];return e.forEach(function(e){i.forEach(function(i){for(var o=0;othis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.countLiving=function(){return this.iterate("alive",!0,i.Group.RETURN_TOTAL)},i.Group.prototype.countDead=function(){return this.iterate("alive",!1,i.Group.RETURN_TOTAL)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.TOUCH);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){i.Pointer.LEFT_BUTTON&t&&this.leftButton.start(e),i.Pointer.RIGHT_BUTTON&t&&this.rightButton.start(e),i.Pointer.MIDDLE_BUTTON&t&&this.middleButton.start(e),i.Pointer.BACK_BUTTON&t&&this.backButton.start(e),i.Pointer.FORWARD_BUTTON&t&&this.forwardButton.start(e),i.Pointer.ERASER_BUTTON&t&&this.eraserButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e),5===t&&this.eraserButton.stop(e)},updateButtons:function(t){this.button=t.button;var e="down"===t.type.toLowerCase().substr(-4);void 0!==t.buttons?e?this.processButtonsDown(t.buttons,t):this.processButtonsUp(t.button,t):e?this.leftButton.start(t):(this.leftButton.stop(t),this.rightButton.stop(t)),1===t.buttons&&t.ctrlKey&&this.leftButton.isDown&&(this.leftButton.stop(t),this.rightButton.start(t)),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),e&&this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];if(!1===s.isOver||t.dirty){var n=!1===s.isOver;s.isOver=!0,s.isOut=!1,s.timeOver=this.game.time.time,s.x=t.x-this.sprite.x,s.y=t.y-this.sprite.y,this.useHandCursor&&!1===s.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&n&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var s=this._pointerData[t.id];s.isOver=!1,s.isOut=!0,s.timeOut=this.game.time.time,this.useHandCursor&&!1===s.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.type===i.GROUP&&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.type===i.GROUP&&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 s=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,s),this.sprite&&this.sprite.parent&&this.sprite.parent.type===i.GROUP&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,s),s&&(s=this.checkPointerOver(t))),e.isOver=s,!s&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t),s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,i,s,n){return void 0===n&&(n=this.world),n.create(t,e,i,s)},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.TOUCH,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),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var 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[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:u,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=[],this.points=o,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,this.points=o,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=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,R=m*c+l*y+g*u-c*y-l*g-m*u,L=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=m*p+d*y+g*f-p*y-d*g-m*f,O=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=function(){try{var t=document.createElement("canvas");return t.screencanvas=!1,!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}(),s.webGL=!!s.webGL,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t){return this._tweens.some(function(e){return e.target===t})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),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.yoyoCounter=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction(a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this.addDefaultImage(),this.addMissingImage()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.MISSING=null,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addDefaultImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__default",null,e);s.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="},addMissingImage:function(){var t=this,e=new Image;e.onload=function(){var s=t.addImage("__missing",null,e);i.Cache.MISSING=new PIXI.Texture(s.base),e.onload=null},e.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.device.iOSVersion>8||this.game.device.chromeVersion>=55?this.game.input.addTouchLockCallback(this.unlock,this,!0):this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=parseInt(s[1],10),e.g=parseInt(s[2],10),e.b=parseInt(s[3],10),e.a=void 0!==s[4]?parseFloat(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r){void 0===r&&(r=255);var o=i.Color.getRGB(t),a=i.Color.getRGB(e),h=(a.red-o.red)*n/s+o.red,l=(a.green-o.green)*n/s+o.green,c=(a.blue-o.blue)*n/s+o.blue;return i.Color.getColor32(r,h,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(i=this.distanceBetween(t,e)/(s/1e3)),t.body.velocity.setToPolar(n,i),n},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i){void 0===i&&(i=!1);var s=i?t.world.x-e.world.x:t.x-e.x,n=i?t.world.y-e.world.y:t.y-e.y;return Math.sqrt(s*s+n*n)},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)},angleBetween:function(t,e,i){return void 0===i&&(i=!1),i?Math.atan2(e.world.y-t.world.y,e.world.x-t.world.x):Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(t){this.data.angle=t,this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,m,g,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],m=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-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],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 r,o,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),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)){void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o}console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"')},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;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||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=l,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}U={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&&(U.properties=o.properties);for(var u,d,p,f=0,m=[],g=[],y=0,h=o.data.length;y536870912)switch(A>2147483648&&(A-=2147483648,p+=4),A>1073741824&&(A-=1073741824,p+=2),A>536870912&&(A-=536870912,p+=1),p){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,d=!0;break;case 7:u=Math.PI/2,d=!0;break;case 2:u=Math.PI,d=!0;break;case 1:u=3*Math.PI/2,d=!0}A>0?((G=new i.Tile(U,A,f,g.length,t.tilewidth,t.tileheight)).rotation=u,G.flipped=d,0!==p&&(G.flippedVal=p),m.push(G)):i.TilemapParser.INSERT_NULL?m.push(null):m.push(new i.Tile(U,-1,f,g.length,t.tilewidth,t.tileheight)),++f===o.width&&(g.push(m),f=0,m=[])}U.data=g,n.push(U)}s.layers=n;for(var v=[],r=0;r=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=Math.atan2(this.body.velocity.y,this.body.velocity.x)),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 39d403d09..449c43d5b 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -5,9 +5,9 @@ - Phaser CE Class: CreatureShader + Phaser CE API Class: CreatureShader - + @@ -16,12 +16,12 @@