From 3778bcbc50f0703d52cdb29f48f9561422a8dd55 Mon Sep 17 00:00:00 2001
From: K8573 <k8573@student.jamk.fi>
Date: Sun, 24 Feb 2019 01:51:03 +0200
Subject: [PATCH] add phaser harkat

---
 public/phaser-harkat/.gitkeep                 |   0
 .../phaser-tutoriaali/assets/bomb.png         | Bin 0 -> 495 bytes
 .../phaser-tutoriaali/assets/dude.png         | Bin 0 -> 3226 bytes
 .../phaser-tutoriaali/assets/platform.png     | Bin 0 -> 14973 bytes
 .../phaser-tutoriaali/assets/sky.png          | Bin 0 -> 4757 bytes
 .../phaser-tutoriaali/assets/star.png         | Bin 0 -> 443 bytes
 .../phaser-tutoriaali/index.html              | 197 ++++++++++++++++++
 .../assets/backgrounds/sunset.png             | Bin 0 -> 77328 bytes
 .../phaser-udemy/assets/sounds/audio.wav      | Bin 0 -> 1250100 bytes
 .../assets/sprites/New Bitmap Image.bmp       |   0
 .../assets/sprites/armeija_apustus.png        | Bin 0 -> 13121 bytes
 .../phaser-udemy/assets/sprites/arrow.png     | Bin 0 -> 4752 bytes
 .../assets/sprites/rakenus_apustus.jpg        | Bin 0 -> 17917 bytes
 .../phaser-udemy/assets/sprites/saber.png     | Bin 0 -> 1665 bytes
 ...\303\244r\303\244nt\303\244nk\303\266.jpg" | Bin 0 -> 12012 bytes
 .../assets/spritesheets/saberSheet.png        | Bin 0 -> 22836 bytes
 .../phaser-udemy/assets/tilemaps/grass.png    | Bin 0 -> 480 bytes
 .../phaser-udemy/assets/tilemaps/ground.png   | Bin 0 -> 426 bytes
 .../phaser-udemy/assets/tilemaps/lava.png     | Bin 0 -> 432 bytes
 .../phaser-udemy/assets/tilemaps/lavarock.png | Bin 0 -> 438 bytes
 .../assets/tilemaps/state1Tilemap.json        |  91 ++++++++
 .../assets/tilemaps/state1Tilemap.tmx         |  85 ++++++++
 public/phaser-harkat/phaser-udemy/index.html  |  20 ++
 public/phaser-harkat/phaser-udemy/main.js     |  48 +++++
 public/phaser-harkat/phaser-udemy/state0.js   |  65 ++++++
 public/phaser-harkat/phaser-udemy/state1.js   |  72 +++++++
 public/phaser-harkat/phaser-udemy/state2.js   |  87 ++++++++
 public/phaser-harkat/phaser-udemy/state3.js   |  43 ++++
 public/phaser-harkat/phaser-udemy/state4.js   |  24 +++
 public/phaser-harkat/phaser-udemy/state5.js   |  44 ++++
 public/phaser-harkat/phaser-udemy/state6.js   |  39 ++++
 public/phaser-harkat/phaser-udemy/state7.js   |  58 ++++++
 public/phaser-harkat/phaser-udemy/state8.js   |  46 ++++
 public/phaser-harkat/phaser-udemy/state9.js   |  20 ++
 public/phaser-harkat/phaser-udemy/style.css   |   3 +
 public/phaser-harkat/phaser/phaser.min.js     |   1 +
 public/phaser-harkat/phaser/phaser2.min.js    |   4 +
 37 files changed, 947 insertions(+)
 create mode 100644 public/phaser-harkat/.gitkeep
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/assets/bomb.png
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/assets/dude.png
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/assets/platform.png
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/assets/sky.png
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/assets/star.png
 create mode 100644 public/phaser-harkat/phaser-tutoriaali/index.html
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/backgrounds/sunset.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sounds/audio.wav
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sprites/New Bitmap Image.bmp
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sprites/armeija_apustus.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sprites/arrow.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sprites/rakenus_apustus.jpg
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/sprites/saber.png
 create mode 100644 "public/phaser-harkat/phaser-udemy/assets/sprites/t\303\244r\303\244nt\303\244nk\303\266.jpg"
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/spritesheets/saberSheet.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/grass.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/ground.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/lava.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/lavarock.png
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.json
 create mode 100644 public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.tmx
 create mode 100644 public/phaser-harkat/phaser-udemy/index.html
 create mode 100644 public/phaser-harkat/phaser-udemy/main.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state0.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state1.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state2.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state3.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state4.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state5.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state6.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state7.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state8.js
 create mode 100644 public/phaser-harkat/phaser-udemy/state9.js
 create mode 100644 public/phaser-harkat/phaser-udemy/style.css
 create mode 100644 public/phaser-harkat/phaser/phaser.min.js
 create mode 100644 public/phaser-harkat/phaser/phaser2.min.js

diff --git a/public/phaser-harkat/.gitkeep b/public/phaser-harkat/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/public/phaser-harkat/phaser-tutoriaali/assets/bomb.png b/public/phaser-harkat/phaser-tutoriaali/assets/bomb.png
new file mode 100644
index 0000000000000000000000000000000000000000..28a0fbbddc37fd0a6872bbd170cbebdc81e7f597
GIT binary patch
literal 495
zcmV<L0TBL)P)<h;3K|Lk000e1NJLTq000gE000gM1^@s6A4o0H0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzkx4{BRCwBKQol<=VH7>D9zu&P4K|6B
zy7WV^1|cFcwUDgo`40q5)!rZ!88jJG&>Yy7O9dHWfrAKYlfEe&qJ}`MAqe92ozK39
zS_dxgd-vXR&i(Ftnq^t&M>3hT+O;=%9-bIMHk;M@do)E{^oM&C)=pCLdAgpm1t@k^
z&r6X3MPj2!!s{M{XCa99#+?kFnRB&TFg9jv16`>Rxk3?>iIDADs(<1rvnS76(J0O{
z4|cC4a)kT+9ejBMnD!6B>6=4hHUy^-Qee%C3e4ZT>s*8?kVKHAo}40oaVcvh1b}8)
zE^mNtY7q*#E+;~g#Mt4LCAkN3w3u(+;sP9IrN^}&ydV3Br<*c#UiSDfjm=0zDsnt7
zf+7kO<z`JmxNh9SFpSQ3)HKZ!&TwqUvHH<QHCOyYRPQtq98Fh6D#dnzs!%SBb(-Ac
zE;JusG1~lw#|u19xj+N^&*4XXi3d?TNXr7p>V_$ZQdrc~pF>+2ToQvR#`0N42G7i^
lJ{9OsC=n&_ABpiJzyJ*&>ep5+m(>6O002ovPDHLkV1k0g(4+tW

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-tutoriaali/assets/dude.png b/public/phaser-harkat/phaser-tutoriaali/assets/dude.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b35f4b4b1b00e757700e0852b8527200e82c538
GIT binary patch
literal 3226
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
M07*qoM6N<$g3k?Rn*aa+

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-tutoriaali/assets/platform.png b/public/phaser-harkat/phaser-tutoriaali/assets/platform.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e4a3f86d7311592c4fdd257daaf21db4176dd21
GIT binary patch
literal 14973
zcmeI3&2QsG7{;d{q@`$C0aB^BU}c3^Bocq*qqXH^X_J;#BBkmEZMzrh*pt?3VjJ6S
z(q32=fy52L1tIts5Qr1n0}>J!&RpPzIG{yHoRHu`nX#StjgxeWw8x3m<ju_UyfgEg
zcc#ANgYB(Xug*U=j}W@LxzX4`XzoK23s)W??_ckKbBBC9?rrP^2tDx({hLFdezu5^
z`i|Y&4R@QbX{OsN7?#_{g+b3FYJ~Kg1J5vza459#f$datf8PH#C)idsce~t_nqD0r
z+8bv+zIC?MGS7}o)ymzh&Fce=B<SJL5C*-j6KI2KF3PKsm^O<!A(Dhg)!YglP}ps5
z3w77WLb*`Ro041-mehh=mP^a>%Yq`wMNuk>axpI}nxtxSSx8>F+B}JL-|A>PjrC+W
z@~xUX3`0*7#eTnE=obsFe;~@Ls)~{#DoUOx^1-PS8iTwOT#u6s^E7Z^`nDI^t|QRA
zM%z6OtGOH<X!J_f)$>LJIYGjXP!tD-C&~p$oMCD<FShl1Q=LJ$gVU8w9WZE}dRW}S
zfqU$mn8>eBn?ew-oscCZh%S+6?F2jF)Kr!^%HtjT-3YX0inxn=#1aq+^3=6>hi>Qw
zhwco3qwbj)L%TDB1?`z>!vlMUjrPR0sHWnr)=432bsrm{>$hCDTZ_wedpLWcUKeiM
zwjImu2QTSjR-M*Nng}<H5Z7o;=VduBm0EH|lb5w(@ec6EqKv)iT6X6Y*p<9gq4v^}
zR+JJu5M}M;<XJ{&uo6Joc#39I+jN4^a7?_}sFB4MY}?Y7l}fu<QI_*d9jTlzn<Xo6
zsA@akmODkYQ)x?`iWx0!+&+=I;hM*^Xp+<xNiC`Jx>AzXmu00S%WKN2s;;d|t4pP_
zsw|b1)nQs-olJ{;`vhC-zT1n=vuF4LrpKh38=jNV1(0ldbkH<=a;eFD>a*uFVNK^l
zlIwA|HFKp6R%T#LGmkK&OU=|ULI1jMlPlcl0#<Yf{}1LVDZnI1HZshH9gwqf3dX1F
zrWffg{MLBuu%l~Va$`o@L#{8)FzFRt3k<Tkx)@z)!?tu%v4aj23#RPp<;r)$K6{M*
zA$F4Uojss&mPjz$AGn>cZ}@oSfE)(Kg%c+ncg)Ug9vaR8wrb*#*RUaL(M7spU3+}L
z;@0tP9G2eXw(FLubzHw^gf+Wo9AMFN4s<bXOvltmx4l+(yRJ{JFkCC@;<RSqqW3(l
zYC_3~N<r4eiMFhMm!A3Vaim{TB=Qnv`kq)}ch<Uhu@!b_t*P@3#|~>sGFqk?xadEl
z7{)E~0ETOoa=BR6#cXrdv271<cei1aYc!yTqeK@LnX)}ooqMUXNamOtK}TYYYXLkf
zMWqtAk|#0p5GanG0>`UpbR-{gkgn(<Cx+?xAdm(#=D3)Mpn&6oG?+2R#Y6-J92ca)
zj5#hQA}HXvAPr{BaWN4=0mlVtFk_C3i3kcfE=YqJb6iYBP{46P8qApEVj_Y9jtkOY
z#vB(D5fpG-kOnj6xR{8bfa8KRm@&u2L<9vK7o@?AIW8t5DB!pt4Q9-7F%dxl#|3FH
zV~&f72nskZNP`)3Tuekzz;Qtu%$Vb1B7y>r3({c592XN26mVRS1~cZkn24Z&<AOAp
zF~`M31O*%yq`{0iE+!%<;J6?SW_%&8`Sf>{*dafr?2}(j{@VWd7xIfs!Q9wsB6Riw
zLU-Rq=$~`)`2e9~38CNj5z;<E=vnupH@{ye+LO)3N^9`*A3w@ZA?XVGYUjlpuRQth
z=ll2GyWjZk+VemCg$jQ^joyE3fA_92x41ywXiOTScyS?$FVh(bzdRyCo}WL8w%$g+
U1q;`HAYaku+E(L>)%|<_0epuk@Bjb+

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-tutoriaali/assets/sky.png b/public/phaser-harkat/phaser-tutoriaali/assets/sky.png
new file mode 100644
index 0000000000000000000000000000000000000000..5972639f229c7362edac856b42b86b93811ef3f2
GIT binary patch
literal 4757
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

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-tutoriaali/assets/star.png b/public/phaser-harkat/phaser-tutoriaali/assets/star.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfc2d298426648f2a31e48db711b84a9962af703
GIT binary patch
literal 443
zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq000;O000&U1^@s6+I?Jz0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzT}ebiRCwB~RWVKjF%a}x_XQNBR7nFR
zRqhoOL`s{EUtFrYU(nGaLBT7Mijp*;LQ2FV9M9$qKF1sEOGdI}%e%8XzTI0g#;8;@
zWy!|Xa!JWf2#~Vs$;3Fc`y@Y|n)&1X&+i#~r{+KCRHcJzqttrJi}#7px!LEc&{^3#
zWT?=6vd>XL_|lRQ2#&J%ar3Hn%~(CXUq!D`&cv1a`M}0eNaS7+$&YT|RDu2O<wFf-
zQ`HMX0^kG+`$S}6w)mK{J9P<w{Ce?)Mx&zb=8FaK$ytH-%Q!noNZtu>Zjcyxv=3k)
zmE9@8CnOgejhjm<KcQ5mhNN&Fpy{gTVXtq{%)gIjh0e(y@9gS3RYgaEls!oC#*5X8
z&vxJ(ej|}W2vro()^EG>j~Lalp~}z9R$FcFI)PYuDUVDXxAlk@#^T}n^hksaY@J`|
l6LoM-IrG~2g?D=a1^@>-d`lX|xf=ig002ovPDHLkV1hKF%;Eq5

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-tutoriaali/index.html b/public/phaser-harkat/phaser-tutoriaali/index.html
new file mode 100644
index 0000000..1ce3c2c
--- /dev/null
+++ b/public/phaser-harkat/phaser-tutoriaali/index.html
@@ -0,0 +1,197 @@
+<!doctype html> 
+<html lang="en"> 
+<head> 
+    <meta charset="UTF-8" />
+    <title>Making your first Phaser 3 Game - Part 1</title>
+    <script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js"></script>
+    <style type="text/css">
+        body {
+            margin: 0;
+        }
+    </style>
+</head>
+<body>
+
+<script type="text/javascript">
+
+    var config = {
+        type: Phaser.AUTO,
+        width: 800,
+        height: 600,
+        physics: {
+            default: 'arcade',
+            arcade: {
+                gravity: { y: 300 },
+                debug: false
+            }
+        },
+        scene: {
+            preload: preload,
+            create: create,
+            update: update
+        }
+    };
+    var score = 0;
+    var scoreText;
+    var game = new Phaser.Game(config);
+
+    function preload ()
+    {
+        //ladataan alussa, ei vielä näytetä mitään
+        this.load.image('sky', 'assets/sky.png');
+        this.load.image('ground', 'assets/platform.png');
+        this.load.image('star', 'assets/star.png');
+        this.load.image('bomb', 'assets/bomb.png');
+        this.load.spritesheet('dude', 
+            'assets/dude.png',
+            { frameWidth: 32, frameHeight: 48 }
+        );
+    }
+
+    function create ()
+    {
+        //lisätään grafiikka peliin
+        this.add.image(400, 300, 'sky');
+        
+        //
+        platforms = this.physics.add.staticGroup();
+        
+        platforms.create(400, 568, 'ground').setScale(2).refreshBody();
+
+        platforms.create(600, 400, 'ground');
+        platforms.create(50, 250, 'ground');
+        platforms.create(750, 220, 'ground');
+        
+        //luodaan pelaaja
+        player = this.physics.add.sprite(100, 450, 'dude');
+        
+        //määritellään fysiikat
+        player.setBounce(0.2); //pelaaja pomppii kun osuu maahan
+        player.setCollideWorldBounds(true); //estetään pääsy pelimaailman ulkopuolelle
+        player.body.setGravityY(500); //simuloidaan painovoimaa
+        
+        //määritetään animaatiot
+        //pelihahmo ladattu spritesheettinä, joten määritetään mitä frameja käytetään
+        this.anims.create({
+            key: 'left',
+            frames: this.anims.generateFrameNumbers('dude', { start: 0, end: 3 }),
+            frameRate: 10,
+            repeat: -1
+        });
+
+        this.anims.create({
+            key: 'turn',
+            frames: [ { key: 'dude', frame: 4 } ],
+            frameRate: 20
+        });
+
+        this.anims.create({
+            key: 'right',
+            frames: this.anims.generateFrameNumbers('dude', { start: 5, end: 8 }),
+            frameRate: 10,
+            repeat: -1
+        });
+        
+        //collision-testi
+        this.physics.add.collider(player, platforms);
+        
+        //input
+        cursors = this.input.keyboard.createCursorKeys();
+        
+        stars = this.physics.add.group({
+            key: 'star',
+            repeat: 11,
+            setXY: { x: 12, y: 0, stepX: 70 }
+        });
+
+        stars.children.iterate(function (child) {
+
+            child.setBounceY(Phaser.Math.FloatBetween(0.4, 0.8));
+
+        });
+        
+        //tähtien collisionit
+        this.physics.add.collider(stars, platforms);
+        this.physics.add.overlap(player, stars, collectStar, null, this);
+        
+        //score
+        scoreText = this.add.text(16, 16, 'score: 0', { fontSize: '32px', fill: '#000', fontFamily: 'arial' });
+        
+        //viholliset
+        bombs = this.physics.add.group();
+
+        this.physics.add.collider(bombs, platforms);
+
+        this.physics.add.collider(player, bombs, hitBomb, null, this);
+        
+    }
+
+    function update ()
+    {
+        //perusliikkuminen, 
+        if (cursors.left.isDown)
+        {
+            player.setVelocityX(-300);
+
+            player.anims.play('left', true);
+        }
+        else if (cursors.right.isDown)
+        {
+            player.setVelocityX(300);
+
+            player.anims.play('right', true);
+        }
+        else
+        {
+            player.setVelocityX(0);
+
+            player.anims.play('turn');
+        }
+
+        if (cursors.up.isDown && player.body.touching.down)
+        {
+            player.setVelocityY(-630);
+        }
+    }
+    
+    //pelaajan ja tähden collision => poistetaan tähti ja annetaan pisteitä
+    function collectStar (player, star)
+    {
+        star.disableBody(true, true);
+        
+        score += 10;
+        scoreText.setText('Score: ' + score);
+        
+        //mikäli tähtiä ei jäljellä, spawnataan pommit ja päästetään helvetti irti
+        if (stars.countActive(true) === 0)
+        {
+            stars.children.iterate(function (child) {
+
+                child.enableBody(true, child.x, 0, true, true);
+
+            });
+
+            var x = (player.x < 400) ? Phaser.Math.Between(400, 800) : Phaser.Math.Between(0, 400);
+
+            var bomb = bombs.create(x, 16, 'bomb');
+            bomb.setBounce(1);
+            bomb.setCollideWorldBounds(true);
+            bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);
+        }
+    }
+    
+    //pelaajan ja pommin collision
+    function hitBomb (player, bomb)
+    {
+        this.physics.pause();
+
+        player.setTint(0xff0000);
+
+        player.anims.play('turn');
+
+        gameOver = true;
+    }
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/assets/backgrounds/sunset.png b/public/phaser-harkat/phaser-udemy/assets/backgrounds/sunset.png
new file mode 100644
index 0000000000000000000000000000000000000000..292057294294bb945238ff6c67b1c9595a21e913
GIT binary patch
literal 77328
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

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/sounds/audio.wav b/public/phaser-harkat/phaser-udemy/assets/sounds/audio.wav
new file mode 100644
index 0000000000000000000000000000000000000000..032641a52e347ff43efef297a59ac0f26acd57af
GIT binary patch
literal 1250100
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%0AMb;~!?v_YcO{)5YH8
zZ)6|#SFtboOW61PMeWD_-1d8a5aU^D+xD|I9f(>f1D~v%fsY{WcR|vxTNMK5Fb<vq
zT|WzwzSn9I_{(Y&SZVbMtg!k8mRJKYc8<q*IuYaP#Kbr{(wZOWZ!HhBvvxsy1Ffxt
zfhN|8Kuzm%psIBvP{4W}$ZdTHWV5~nvRHD!XL)I#MbRNM75xe1?~z%8zH3&b&w~0M
z0s&rQ4!}KN0zDb@cMOQ@U~?tN^me+Ld5ErNo(EaJ3o`tW&SZW98T<hvNNBI=W(<(F
z?;w01jqJ=Tkg5B|uOL-5K;D{yDm4JrYm56<PiBoVm|1BIVJ72VHqcnk^ad?zY8+rH
z8<&|1#uX;N@r21>d|_C_X1s=rjf4WM5=zd#31w&h36)^ahpMs1LiO3dLT%Z#p&sm?
zp`q-o&}iIyC$WP<i`h=0O>EoHUu;7#lNzDZY)!C{3ZYBvuTT-(v-5@?ve`q=+4P~0
zY}(LgmI_4@(siCAdUEcko`QR?XX5Vag}Ix0N$#><o;$AB;tuKcxovtIZiC(_q2+on
zu#W-UY<(CajH%oZeGWGm<f5CtlIyCk=9=icxElI#u9SX_E2iJ#3h8$cl|1A!>#w;C
z`UftJ{*_Csf94q7<S0ZgN%HD3E~E+kzldr+YMJ==+AsWPEx^CP^dBubqMm!4U)Q`|
zy^Q`qs}#Dc4bUs-`?X5?b}g^IPJ7Rd(tdCQv}SyJtqI=(@zZbGe2|4H{IA+jzKFJ)
zE2_2Tb83tDY+4s1hj!act&QOVT76B@%4xioO^>Kqw2+!f`=)l%KB%d+x2gyFpxWv~
z=!*JNy{*1e_p3d%P3lN~gF4Arp}yyrsI0J1%^=K1JUK-zC=3T<=%r4EMhHFBp+XmR
zxX?<SBs5TG3AGVdR#ztqRn<a5C3UV=P2HrHRu`*f)YfV_wLYe;)QV~;wWgX?U7{va
zlk1FHSEbdVYDCGRhLxJCqRdlerHA@P`A2=CEKzSNY1NC$DfXl?Q#h==6!s}0VV6=?
zT&L6)*D7_zl}Z<JuF?x6V1PJN87xj$#v-PkA`VyPi2ap?VlQQp*h5(>wnOaQR5>8l
z0xhVnoDwS{HZO`ey^wNG%nRi~44+MTCT3ASh-p9%Qb8$|ABgj1kyBKWR&>#ixZkBj
z#fa>dOymSA@`Uela_Os_4tYa%=_zuId&u~&$`wHqYD!1t-#`-@fhM$+w#n_K4RSlE
zhqN47{}OqKG+Q1eO+{`$S)K?QFbOnamNZ0OAoY`1fE=s`1=tEQuw7~{ACT(Hha}|S
zQZ4z6R7pN3Rgf=9W#zx6GV(2{sQf_6C%=@k${&zleMX-3T}mMnNs>`KkRy^;j!7Qb
z6^xTW&_e#G5-BK?l)-N#UGO7GAAFxs*5FH$J@_1X<U_E9`_Mh)kvEXfUO|3&3A&7&
z@*?ud^Q3C<B&h-RP&;^pGzjh^je>hf)8H=BJop!B8Qe<RBme9eTnDWoJ%Y<f@8A;B
z6Fj1CZ~+;BoV71_#E{@jGCDW~gkTzS=Si4OK`uRk41z`n$CH`C!Q@YHh(*C(2`vcr
zCd-juuMBpAx{wXQwjd8J$aZK~unE~6Y)tk98-YSJ1bt{g_9I6>h}``Ma`$7%+m9lD
zKY`r+By<|&;Ut!w4Av)ygRSwtvE)E-H{MfC-WOcX?Fv4U4hBQgfne_7;o#ra{@`or
zXmBNW2)DWO!ExjoKI;bFe*;wGdax>{RmiPi8FD9Bg4_)jBlm(u$o*g;@=vfh=8Ix^
zF>)Kzf1n$fzk%tQU|I4P_`x1*%er7o(jVV<6WGi)GDVt!y*deWp*ps{G`WDa-V7EX
zkAnrtLrk9pbCc)6T;xSUITO?8!8}-=3(Iqmm%;4h6{asR{r~54;<^94_8DH6q~}=A
zvtYjeS?@z^b<)<}!&cu7mc&+<#<wbqtu2RdSswb8Tm`GSf^U5}SdCo79yp7=dm1{4
zJ$)Q||1iGEK5(I}!S+xW9HButYSYLVoCRZoE6G%x5z~W<$Yh)evx2k8jNn`>Ux*{W
zB5@W>#B-hTnr=AbdP<K;Bk2V3<H+O<9w#}1Z^&h7D`^~jhxzlMEnD!q9XPYrl7S!}
zBS5}}V7()7c8$b3hhy0goOOfnxdZTAKb(=jgNpRV8QKk0q$}3jF}Rnsg<1y><Lo_&
z{eGI%3!Wl%LDy;~&h*QqV(=Qy{JS764?t3$;mUYLa^tGW8vKeY=U<XKsN;$<aAm~_
z74*oSpdVLUl0ZcyUUsD9atK$YB4x&vnNNN%6~@(C1S%&##Z~+i(}$oRcchB)O<djA
zrK<83T<PaQLM|k(_<HgQi~z?l66}>)$a}yDw@5wYwNf8>r8G!h1jaaD8X?aEA(<nM
z2Su48PnG_V$4d+3kr-_TORMAoAS1n{?ckGt$(^L#7>)MIZNNL5O4sDtARsj{a#aQe
zDJ#8@OJZ6AytIJyR?Z`R0~z@jBb<rRE&>`7l^IYFujE%^7#&TFltfIgd=qmhZ!wxa
z0`a&B;&D-|p_~(cQ%;DDm1AN{(2owvPO-bP6{GQHjLd5=LN5`=W0an*OcUoR<HSEP
zaxYOviffeq;zp&nxD6xw4yB{GM`<G-Q5uUUmHOh}N+t2OQbv3Xw)|GfA%0M@ia(V!
zV9c!OOK|A8kX%)TU%;iasqaBj9t&mFn?eosoKR0aF0@p43vJXLLT7a&*vJZ@pSlzz
zWw9_uogqw9$AO=W7Uru%aK9TMECqd8uXX_^X(b$0>k5~^Snh#~yj8ObAJojkCp9Bj
zd@8|K8NsD_1-};MQ-X)2)xPmrw0C@A?LJ>jyUSP6F7WlVqkI$83%Y3Q`2pHu)COko
ze`sU)S=uPjk>UKG+7Q$p27{sW<kxB4_`kF^{7$VEe?qInU)Rd;&$PV!S1mpN4OGNH
z3=z;H9Ib~r9`S{s8=xYe5q~`6is%ox%K9Z#Sq`ECvkg_2wcIfMPi`dQm+AThZoWPo
z^_=0T@AN{Qrz^J?m6?NjBkrPJ3Gq-V?txy2d#UF{tdxRN^&o0SUM^WkLG9@cn=AB^
zErWVg1=OOdhR(4~Lwnhd;3C~nx9SsG#`c8<hZaD8qK-9>od!-aBQ%Cx0Zy_N@!a-M
zYt*|Mvgg1^?uQD2mE>W+fsuqlJWCl-Mlf_Rk}rr4KQUR1w@gvvAH<B8nCix9rY5R;
zEsUK^Ph%xw%H_-;R5XVe^O*6ddj4UIWEP_ex!LG|s%UfOpwSTVXnE$bkq_0#oXlGz
z3-b;Y=%1*(#!+!iW-6$Pe}e1b1)axy2B*a}x~_SQ{tf)36Ie+f#KjZMDTt9Lf|(4X
zSDQWQ4PYi)&5raoI4KSymcC$Cqi>mI>34{+6~x+xnT(FX9l~0%Kz8eEprrK@G5U=_
z1MBZVTX2%z*0#V9Ya{r`g1}sBCb-D3z!Aj#XRL04D{$C6fD7jx*ob0f2xxHa=vL~0
zV+8{dOAJW1<IiM&_h+>~`SaMX{lD7R!9>paTiLt)?d-q&J?%A#++?CX%|92p$~=3x
zf3ZC<q0M$@|5m#r)ZTx{ZiM{iH~)FNs{gWG39O{7|Dj#T|H{tc*KHA;g!MZ%?GM`l
zKj)af%+5PsG3QP~NsOe1bISLdbI8}#S?lYMJZpk889CQj-*Rx0znoUSb50fCJ*SZG
zGx*34C#BC5j#KHvU#R@Z=?aDKQ)R-}5{#r;_zYD$e4J_=-iKUoBh@9mjv5-COHG1v
z>(B5YYDu^+wL08`+7)g=?F~1f4u^lE&WEc|m%<gP>)|rgeXx@!;e6DOaB4~qi<A?l
zsd$*8I53n<kq_SDk$;ep{ta%j*V{X?!aE`|E5S+DM!I=-L|S=|M{0YoMap>ZM2dOe
zMzVO{M>2WM2<vqs0j~%~k~8|;lRNs<Qzm*1Y~-w`TJ(&kS#)=Tjr54F^z@1@_w<V{
z@{Ea2^UR43^{kBcK(^h;b2M59nRrcP=!HBVkg+G}-)M4V@3hB_OrDB`-5FvZ-I-$V
z+<C!9s>IH^YsQYdo5ps#+k%TEv5_9JmF_XIX$dYeCpN^rDb~(?B38qFEmqq7HkR3K
z#F&J{xZ+9{|JRi~{?nB^{@7JC!A4fPYQ$T{>&ENHJI6c42jXv7d_;V1{LlD;_>%ad
z_{#Y9_|Evj_@Vfz`04nS_|^Ee_>K7E_|v$IKMHQ;Wbi8|!(U$fm3EbKRd-c$)pXTx
z)ppf#HFY&{b;I8n{7uE*T>Pzet#xg7ZFB8$9dMm-op)Vx-E=*0J$8L{{cve6!{u``
z?&R*&?p*G?;2=faRovCwHNiq!y4$&bcMo!pbdPh-aW4i5S>ayi-s0ZpKH}c%J`N^w
z!F|+y!@bdc8@lT*me_CKun#>RC7J>>B$MY&G`r_Mh{#3os6*gV8>3x3YjG@QfrQM8
zj`2*1PV$V5&hre4F7XV8dV_8Cif-_9jc)U_jqU^Uy5jjYdc#u?$2xuVyN8ZOJXVDB
zevPE}K8xf@=y4>!_gthZ*ji)n&PYq|hDaChib!wo?8pf3)W`(y_{cQyxP>^+R(V_C
ze5(OwR|pI*N93LNm&jKy6Nz}e5f4SesS^4W&IAgQk9rg?K%EU&qfUiuQhUP9sO{m_
z)V6RNYH_$fH6c8i8W)~Q^#eof6JDB7v+!=JdiZqWI?5V;1J~nE$`y9|;*Q5BJIQ>n
zob2EuWqlW%O1}M0Bi}Bkxo@@89UOD4Z?ZGNH`4h7*X=rACuf7NrL)u5&^hQU=UfE?
zed5dJynzGqGu)8hpzppE4)F<2$mexj7#Ae}8#}xIxt+)Vz%J~+YZvoh11C9eSM#5+
z>-dk@4Zuk{`xk-1&bNp7$JjIceeGrbj^HEB>^<POXE9#=?Jr<I^ydd7No#-grv&GX
zS>C`8jB!uEM($X}0ynLa;3K8Mit7gsSd9Yvt;S#@tpgjaj)4Vm0WPoxgNKZPb8&W{
zueB5mdRL&1bqr(d$v_S3RG_eR501Y_fn3&$Kzi#-Ahq=)Kw&IaFfRXuqwlMk7Mwdf
z{o2e%e>Bt3Gwdt&FZ5%x0lg0+`)ac{y%cnOD!h38&DC^Qa}C|a+(35#O>YdZTV;@u
z3g$g{>RyA4$TV-p;9-lw7sY{!h@c`Os7L@_C7yWz@6H8GPZ$Tir;QBeX~Qx087GZn
z#wBBy@!Z&8WV06I&NK;>q(AOpU5$<Kt?XnP7#Eo`##N>S2uTi93DO!W!x<6Ag-bpb
zVpu(tn*AKg#Xby`WiNt|?8lvSH}0w%Lmk-lq0a1@&|r3MXgFLX)7Vk)qVx`}V7uea
z+&Q#`Z5`UqwhSEyF}cK+!yUXt=r(A{L(q~BASLf1on=B%xJf7uwjC~nJO58T8~0q#
z&)w4tKm|ceig35}D%@$k28c;r5R)cwjCA7G>c4Y~^?`^g{#zrs8TxcY9Dj2C^yP>^
zR&$;8om^A>6jv3INjZ>`LWopy=r6czpe316(~&?&Ji3p!HIxq#<$OT>=dD(dzl)mC
zZLK_iQLD!v(i-u5v=01wtvkOG(b8;fG(Q#fq+xJu^h15AAEK(?wat7RZ9Csm`wM*J
z0AF7_#Mjl1@in#ca9&*I%c4S6Onb)X(4Imsz)4>6S+%cxDpazPqPMsj<zuQ(FjO8D
zv6OIG{DNv&KH;WX0?}V3;e=X4IH1-R_Nh&T?QmVJgaczKqQx2N7*y7hG+h{~E<j|t
z5>#Y^&{o|hG*=IUiX2A-dIm(~s!&S34cEkTA-nok$fSM{(yJeZbm|u&wW<lM8WL#L
zB}Nqi4vOUBcO|v>N%;klZcg!uQdGQ&`rt*SvUpmlE*?`Fin|dRZv^{Tf@pb>G8Ft{
zoH$XLE{;$Zh<y-YcT_fst(84u1GpsWz#&l?5&5sm71SzkB2vGNy5&PSB_4x&yg?l^
ziFbS!Qz&0i*HlDCvEZNxi!s@S8mLRM5cU5n2f;d0gLPy?hL8!oBR8^!LedRn3zy|`
z(pkA$f_dzgTS%M1I@Tf6SS@##mLc<4BoC72BzVU}aE>HRMYb|m8j#SR$YhpFT~ROY
zAa4Tm*da9r^Qa>qM<#R@HR=lq)=^TvfvoA4R7m~@S=4<gkNiZ+hU_V;{07|P6PU+m
zFpsaux}HfaGARlfkxRZJy0Fd&;WUQ~<}5N*F-WtRLi!1Wtc!moE2a13r}T<Mr00YV
zJ|Zc=JyIdt%MrYeTKP3(e3#)|I1m1D2Cj!wm_JQQ2Ty>59Kqv5SiTQ6_no8`vdSt@
zDP)+X;KQf@22vQx0u>Fef+u4cX@-on73%dJk@<EB&LACvQ?Yz1vd*dSZcHIdq$y;J
zIE55|Cu5F0iR6(dkOInhvQ{2NdW1)k*1|AyO&E&LAAl^lFT5JRlS%AgvPT(A>L^3V
zPI)NF2RTwNGC>?bmcd0q)V{<d<4K6jC5OmLa+n;1ha$N=mei7G;n5_rkenmkNpra?
z@v5yzd$l?FTdGI?AuY)~cq&ei7NkL_4jC!eA+JbXQUi{SftbHS>XW}oLo$Ih$Gf|e
zj-)^S?|{Gdm~TYt;PZYZZ%Ij_SS3k5wHUc26$aBNNM;A~lhxoAC%_=Cf=OHhr??%=
z24a#03?mD98q5qfkqPV~BY7SCg}e=BAn%~}iD`Pwr%%kk#dH68{ulBFuYCn2z2{}(
z{h7fwGGkpy>&t@qBxQxNLD{h^M}n6;1_OD7ZFvX|avyBvZbC`qrU=+aQK%TWM@cY`
zGT<HMz&py4^Uwv%C+QrR$Qdw^6Cgkb!E1JcGOY!D8U_|J6qIOouqk*(8&XYbPYy|)
z$!)nasUvp55$Xy+*Nu!ady@|EvV6eai<7}5y*z{*RENNsGlH}dN0F++Xi@<_m#c7+
z)CLtRiL)d%&X%U&Lwys}Y-)m}4TK|PKyWq~$Lz#(AkMOWU?F{Q#{GxBErUyC1-Qp@
zOxKc5!A+zM7)WzayM~~5zu`=-3C2<dXLlu>=@oFsmkVCN8GZ%a<2qPNl5RjZNwMHR
zII|ysgCvo{Bqfo<H{c;jdW$puGq}hPTty0;N;<em2<{^X^f3nKic5Bbk;FhIEjUC}
zI7En)QvM;O!_}Kjew9$tm0c7(q>Ox3svuvKYQQ;C2mGV4yiaNeD%ukxMPE?TAz&X9
zK}~0Zo=%Y`gQiZArppsB(u|Pi$-}`u`blf$o}jMXKwvvaJLOhze$<8ktGx6NSjSDd
z0{mblrH62XJj6)$7}K|McIgY8AOs`bPdQD3?tYik;&Cc45MJ^raWM!QoB_-uCq~X{
z$_=p+XmWWtJ}M~J#42DP4dM7`2HM<G*$c<VZj8h`#P-TxaDHqC1KA)BP?p01vJ?zt
zzBmdDWIRUgiON)Q63F#jFp#BSAZy_Y*{-w~4=PQeCW#UMEQt3N+yU;uSNBLMBEEvx
z?knyPAtfl9ikRRaNi2j`qrki&AsOx}Y1Dt=BzY&~QC|y%)Mr9DxcKU-7lbD8@3mJC
zfrac7`hbTF1q(^ic=$x-s$&y(wiRIgE1|XU7VcC#!(Z4&IHxuiUa7TkcPuNsQHz6t
z<OBc6C=`dEu>pLI-87f5Rnz#BU?Fq0k9-~N6W<R0km2AV6SOP*W9>NKk=u^D`F8M(
z6<{69_{rK*eug#&{9_Wo3moJK?()a9u2@G){<PK*(?<L?ts3ei<q;K>L#?DBloxfB
zoIKIe!Xd))QH|jR-Qv=t_L5zH3l?&pD}iXE3S1)f^kZC0)NEQI5@`dsNH4flhaf_k
zq)*}&A#z!!_vLn={&Ng<pvzz(clF}jQ#~L2v3a>ydJgcAlw3sjb0Q+8WFeW&5_*RS
z>Ry6}ln?z4kM41{9=syWLc7`Kp<VEf>_h~%9KPPg?D)_WaFEgLg3v&AbErKW!cE!J
zq3Z0VP(}7ms2Kbr8QE}1WZeeOW;T56R@B9c8gV$U4W=ZRNFl?78(U+Rn{OBweVe)E
zKM8mEUZ#?{hRM$S$y^J}Vk~&1ZyEjJ0`Cepc@wzgtHC>64UYM8SY8S&BtP>M4)~97
z;fE2aM&Um9no&6YL+Ai`gD#ZwbZK;yR5DLk^~|$oTeFAR&g^Y=H;0+y%s<Sr=3aBM
zdE8uR?l!lWbMgOS^M-lVd}#Wu=VnIhso5>?79BI6O*5dO!$3!OjLWhEaWfo9hIl-e
zbvIDTx)k`;Iuj@l??`3D>`kpLsAsN1C(<0SkqLpZR<pnaYo9gIdgh;j++exo3T#G)
z(qXGe;571s(^iSVJ#;gDwvvI3xB|4TqTc$=pT>R#Hu3=V*E{~=_IZD8<Q>0(i!^~(
zq=mf}xyW*Ve|w&PqCMU}6MSTW-QU02Zs*?%9&*wC6?NYt$ZHBCzbW8<Z0GfVveWy2
z+9~`l<UbxKhCC?hW57dFIzN0loEN^_&Qo-d-S<@o4{7A=_ccb1xd*%>L!CLkKb#S$
zMGs796Kd4koYu(2n)>!QjeUEOmz_g?b{CA~qm$03p%cs#j#9p`4NmeAoo)}nN*++9
zz)9+ak5KjCC21AjMzsrXq6UGFj0{f)9~lTANgL__n8?L&1?qCR9Q8Pyhk6mtPQ49h
zrcAJqaM%YH67r^u{P3oaeDY>PwLVwmnYRKwC5<BcyzL{Kyd5L!y`7-n;VBsvnc*E9
znF2;K!aEOMl7*4}-Zhb~-UE>a-V2e6-iwh6-dkWLFC*E#pO72Nk)RhA2XE@=H&21+
z19(WzdTK^bAgA8q84z9InTFguNz;*sC$W(|(I%cF(Yl`F(ORB!(aN5O(fpo|U?U%+
z89X5b{z<+OZ!8MO!*_Rq*aLU**e!SY*kyN<*dBMc*lPFS*gW@)*r)^(Sr+T<-WqEI
zCQ{RVJyyznBUaM=ESAgtK9<p~#H9c6jAV_!hAZQVt8n~o!aGt2j*X`A-EePgfn#HZ
zs~=n)<Kk0X^U=GvGTy_rFW$&?K3>UnCtlR`Jf73_GoAtt5ys`j{Vv|6$1}J-#!I+v
zCVV1ITzlf}T$}OE`SB61KjNcYGvd=-qvL<LM#NXUy1|vw8J|`MPL&Gr%dYbA`>ulV
z&#rWF0%8M8LmV(DCc4#F7WbQ2ardoQMfZhRJ@?^Q7x&s&S7@YrW^AH+Vr;H^Xl%W^
zbL@b-LF|&dLhPYCf9$6_B}kGxCVJFp4$q5d0ndYI(S#S|WVD%QceImdeRLS8)F{sk
zctM7Pehi6j_Oyeur$O|nr*8DRr&RQ%Cp##Y5CuxXQFKSK^CLcQ1oX>}&`=sUhqA&!
zR02o6HfUJ~@1{r(_&mmXr-7u6h%EN@i>&o_1?^~pp1#_VyWS!o9cd$RuP5TAqB#4)
zVV(+wQ-aXt1*t1YJqQ=0?u1KGH$Xd1f#~fA+1nlNN39AE0O?CQqlZyV;RY#7Eyr2D
z6(n#kHIF(#O{K0;UtJHWL*5V6ed-JKoU*C8ltmGW@_Bq2eVi|wFQ>1Nub8j2ueh(W
zueR?u{Ppm)_4V`h^bPh6pr-jYBuM3YT%mh>ZE&S_anAUfJC{K+uld?K4?#gb<EplO
zl0*5uP71ijGWoxOcDx1UxCb}L8M}*rA86`M(ACv&e@wI&gSM{q4*-2_Zy)kE2aT<0
z-}IM<W38b5&Yu$_QU;7n$w6&7+Z~{6Az*>zn&><H7tXhLR_?$HIN`2=_+Co5K^lX0
zbPcQp30`9jhl_3&D94IGFKbPpJ9-owTc<%d&L!L)Wk8h6U?eSOJpl1|7AR=F1@-s@
z{S4%_JaF%&1dUEj6Ejo7{gLGCyJ=RYFQN}@uh|Clx&yu0><<UX2=p#aq$in+z&lpZ
zz0CD=XE+AiqSvn;ct>^f0+`1w^dY_kC4Yzhv5#~{^DCVWJvDw)Vs!L$y)p8jFR1|Y
z2%R~XK->?aFKG+<hn5)QnJJ+1<BcUuU-ad)GyY;)8As7Kbd4!(JZEwl-<ednvvCHj
zJ#a^wA&xad>Df<kOuh+aVc&-GqB2kz6@nsAMfBCwha;o`dlWhrYK00yFWg1@u&YCT
z+2x@@?9$K(xH2cPlS0$cIWvnL8Jdp@#8US6&_+}zlDNk%wh20E>V}TOEpiUki`#6W
z(0w*f=rNlk^odOsGT{)3u`zVg=z21A!=#5pBnR&NdANsqQB*~em`7u7H+aWx@Q!te
z6c+3K;SL$cP19$<9kPTQkmz|?i>P8J*BY*n`ucgUx_*VLq(4R!@{!95#*rG88cC;k
zN>2_?Yi2k<^27O2hQFni<!>OeIgcpka6)Ym5w+*HXubFqs0__USIRheI{Ir%_&$i1
zdVq1XMHfm_Z8zUoJB8}fWxg~btGwDhKDTy_&jr4b8c|jXctlvOvhLUBYJPY?7_F7&
z)ADGRDryncr5UONzsF}atUgd{YS+|x{24VJ>Rc>5!QHiU>U@4LdQR5BQ#=ENV=`)E
z!{G1et1g1?W4X`~bmKR4h15}x3csqCQDeI*6jtwnY}`f7?IB{#XF^uQoY|m^P*-)k
zP)vP=SoEtfPb;idL=7&D`Udgl%FrZXooZq(y_i)kCB9Z_h!2$VVl%ZC7)VR;kkUh3
zuk=GiJWyPqi~{4Bkcg7UDs#ob@OSh>6x~}{Ep~;+qqDLRK98MZ6J-~wj=RK0;2w3A
z<ETWQ0{b|NDE&Ml^ebX1MCm0Ftru4wh`HhW$gaFY1@n!V4h$qYqIwpd4-XWTWl@Kp
zT$3$Pl|PHJ{8s!XUlKpdXW%a{D1MSJi?8Gf;uE>Q_(0Ah-U27N0#0%TnZgA*w{%?o
zRoW+4MYXk&v=!CX^~ge&gNH0dMzUD$E6qoCG7pv6ImlF|p;9{qUXY2X+K!i}OT$sg
z9e}ECA9*1vy$hx8@W^)sBWW*hkXnL|G(;7+9x|dT$c!q&4^m#fCKX4vR21AJuY6a^
z0S1x@mF86P$3%w3AkzxSI(#4|Scrjsl9;3tH>%fuh)1?2!4Hx$_z79tNAgSXHTcI9
zRJk9Lg26lJ9k`7w@EW+rl|*KklqFU}wLD4H!9tRJAazhduNypw>iGdo4}fdzLsq#L
z+2t<M1ip|K;3CbT)~Ld_53U6JSPCrx3t0#jG8an9UZ<m4KNZ#dsmPuu!Ur-AeHLTL
z_~2-egAs5G42Cac5SbI~N9KclEDZJ_i_vefG}w)-fa_p&umd_!+Cpu}X81z3K-=IA
z*^W&7FJ$C9;R)FVr@{_s8#47x@Pcd!*1&u<yrwF=7*)t2Wb;YgE8CFSA3@fCGFS@P
zeF<d!#mL_v0#}2DK`aWw6;S}n59I?T$OB@K8;*(GaBAcNEyw{Xkb|rOY3LzmN7qU=
zQVS|hvXjD4eke~u*+?#ugXDyA<N1Ol3!cx6=d+T$c%19MUXvg5`S6;2Sdtg7%!|3~
zq!M1W4ewYYW`<KHBR)MNc>q0x9)XQKg<e2OOymW4%5(6LCtx6tuvHHeTbUQ%DqrGT
zEyFj=f^V7yd!jF?fNq=eWE`nTx{y-jIv7qBr4%VFmxSx56wZQD#Fk3JcTp01yd<1A
zrN}busfFMnqo7I9YWPL=LdUQ-k3dJEW7xY#v6qh}d@VJ>OKQR|QX9^j`dCLp9GU-U
zXW~dTgMXw2j!<j3W7@;<(-}UJB<D|8Op}iK?>GbcK>f(vV1H;JSj!-IN`|6KX9Tuk
zOu|pn3*M9VIJ-=A+YFKylAkutI(ZYhMs}mK=r)L0Z)poTA#Nd~<n2Tzd&xr(uS?`S
zx{Mxxl*KUjnw%ov$VtM;r^t5g7_N@vpnhkuA1>mmxP<8qTp_neeq1R963(gTBwO$U
z7|16$tYpFjY55Dt<R@Hp5y=M+hzGpGg{w0KMuc?o=1>NC7@tZ$ipQ^{)Oc+=yf&@;
z4IMb2r0k%ZB|$ldfrrcymrG;SrP4mNwX_c7%n6JK7r{vX#u#t~4wCayW%;C3Q$7s0
z$bP92dTv^Pmb3-`><D7g18$KXV4{OD#!O83&+35Lwt}barL1%N<n-uu`&Bw1SCRJ1
zb)=JWCFvA&34G+6{8)_3E5zA$XC(;!n-)reuDV~O*Lc^Pgwjgy!H0jy0yr@XZyY1(
zvL8J(UQm;$7?yv+KlcM(x=&&<<vGUNf8ZFoAQk~FDFQZK7L=qi+#xkFhBp8mX|2o>
zyMc=I1k)a<j0Y(hFOCD_o`HUunPA?Fl&<jpb%tA{Ge}7*aVy**2cZ2*P4Or=`2`S?
z%W#R@LPz2gB^B-~9`N*-K$P!7RCz6U&|f2{!$KL=?P_lIqMBdbtCmos@n6;BTs6>*
z8tM`_Mz(>J?8RMfD>(jo@cb3HlP$nqaIP>=og$2eTVx8lXcoftxJ>O1wL)i2b78Am
z2c)DLIy1`%7eGk<R&xsX;h=o3rT{tdfS9-hO|^MP{TFqIZ#<`c;6?2@?%R*}45(4$
zKsRY|?I1cvx57EHj&FwgMmy9zx}k4ofL5I!qtV73Ev>##E2l5kKKWN@Hn&w9&h6JW
z=%=+b`c>@<{(fkNrfV+U(kNZhV_H$&t!LMh>&^6BdJn`TJ3vW}pcb={E30opU1kp)
zt$Vqe`gZiyYy>S?$aUAJa0B&Gh;asUQxN+sMnCUz)PFXjCbVBa%O2K$>VNCc^gH@v
z{ek{Oe~RgQ{f%zmrkN^a=*>ehy+z0sniQf!{Sj%M0XMk-f9_>eppGFL+r&0Pm8u=Q
zB0WP>!AmBvLr}#U6Y9r~gZFo4s2#i`E!mZ*bnQe$xEp?v-J#s*xyb}>Lc=fYW?zMF
zF`q+k{og_pXgO5I429|$PN<{78x^e7FhAxqh8P8m%0@Y(HvX?`)Hj+NO^h~1SL1i1
zzcI=fYD_Vv8Vim2#(HCkvBOw_THPAsI;wOxjh)6>V-G5K7mTaMEi6OFzwyqvVSK}L
zQ3K8r^OKR!{Af&os#3%_h~G#!hu=%s4af9k{Eo&nI=5NGDr!c|D)^m{#wKUCG)r53
z%#Y?obEi4m+ysuY6+~sTxzyZ`|Bss6%@ZIiN5EPxnP<%V<}LG``O=ilZ>Gy~Ou_P5
z*{pO{DJ#EK$trGjw5nU{tR~iCe>-bPpbH2}A5=*vAeWen>ggJ*YG50P$x*n_FIk5F
zk@ds>0>6nOTeEGSUBOOm7qrvc1?-%5MZ2usz^-q1wA<S~?e2D8yN^B5o?y?n=h>_5
zHTG_MuYJHiWS_M!*mvx^_Ivw-{Ry&d!=@dtliZP<^iEo*uv5S(>y&WnJJp;vP9tZa
z)7=>b{o#ytRy(tuUCumbEwtC!;Ous`I{TfS&Kc)~bIrNv+`|9woj1-8=Zh0}97hWC
z;gsQEICD6CxMa9!xLUYMxLLSSxK+4$xP7>7xKFrucwl%ycv^UB_|NeC@MioS3?B-g
z4xb614_^ph58n#k3EvC92)_w`41W!q;b=lkBp68%$q>mMDIO^pX%Q(F*%7H3855}+
z=^kki=@e-d=^g1784&3i859{6nG%^BSryq3Dd*i1X$B8Keec0YJ@4P}j@*YY;8P@>
z7wz2ej?hVIuP0sflP6muyMBo*`?{wJd?UXh^X`Ivnjz6Sp7GJiiJqDyE;1Wg`pRf`
z&xU9R^wqTX>_YZ_C|VDEq>|@aw3O#Ivic9;BmYK|d4TD_NW6*OnzXUcpa2gNeKoaX
zM-x3Y&0;&@AKBvWA6w`i5t|8mFv7hcHUPaQ?cKX#&D^_VP2C4#4cy1UOfJSMxbMXZ
zxj)7-xPQiyyF)R~?MLTI#`rr|=J;Dzq4+&lvH0zTD#kCk8pIE{8prp#nxpHbM|@?X
z-)4M#vTJ&Lv}-OpWRm#F()jPLW%1swjqwiXoN1Hjzu6UUhHjdMu9NW^39j-ap2zh)
zo(jK>7e@z<5zp#+jlP@5pe=XMp>rc%$8|K`+_f{_$F(HERHlH=tN^Lm=;{zZ=Bgb(
z31`bc=mdK1${GLSN{h}QI>Au_ZX47`iRE@bjpcVgj8%7^O0bmH?rpJ7?)9;5?$xo;
z?&-0q?y=}N>KWVSZXG+~u8TcaCw9kOH1-%y9O6zEi@1F;!J|b}dA>*Uc^<*Rb1z!a
za{-Q?qtTY0zi^Z`MhAQ5;Rue8&h`w0i=<=pn5T9^CqTbWdTK;3d&;A$Du48yClflX
zen~KvsE3NuUJFd+Yos8~nv&idk?P)4k>+rdw169_vv+Oeckj|jKkuT*aPKTQN+v}n
z!&Nc^RBolWN92IFLF5cN!7iX9>=v9&AH5kO|9X?588sMDy<)_K!-S`_aB}KrI1TkV
zoD1%fJRpK)s4L+*a87lk)+N-PS`i*W%>YFl6y88}2p^{EhL2LU68Z<Ol1EhT@G~lB
z_yd(83=jh6mM84-#T*nnKq`|u-aa@P(EU~b4zJR_%g`mKmhYfb7u|8SeLF!nw}5W0
z1o51KPMnd>5Om^9^L2FQ`&v64sNbCZ?rP}ZDUFVuT;MJ#oO?dj+2M2SjIOV?&-r10
zwj=f%JGt}H?(aJd7Q54~>tBbSzCZ1L{;~FC{~(Z;w)SR!4f~|Oi2aX0v;791xVNAz
zKhSHV`#pBVZ(0HP=Y+r;Fyj00m7GPt&0ecsU<<hNpXf!LYz>75f;EqUhh%1;6DUhV
zYkQ!UwJ%T(T)G@cOMdGLbS#kBIt*?t1uXMv;0t~o>aM8;Zo}ty9>3_c$E=PX${Ogk
zY(_6LyU`2b9+_?qr^kY*jK;`65+na$^w$hBXQ4N92|R`KG0jI0HHU-6v^4kA70sLI
zvUyHtH$Q;B|D;ozDt>pz!??j#40PFiPVkk&@RB6a`zrXooQBLPqY*euNBpi$NBmYy
ze<qzdggF=(#bjhgFoT#%%ygzcY5}8|rOa|>A5)UK#7tryFx#2e%q98@^O`o87PODe
z3yWfyp;(&<Ga}2d8QGL<2{sk`EBgyuhZWe0Y+1GmTc7RCHid?>-Pw`s0CqH%O=E|!
zbJ=0+Qg*7bkzEoxz>W@`WXHl$QUgwsa-b=N@cSg0LSNYYp%>`K`3JR-lekw8Wq-J(
zz<ahJex2kqegot#eud<m-kdw2x94{1Bk-FbGr2MN{g6TWdc+$$xVB&@?e#+mzeof9
zDAx?tn=1MVu95x>TqlK<$tV>1;yel4%=Ks%OK`R`d$}$8MJ|764Y!Yzxi4HHUgt{j
z+4x`if_y!`2;YV;&-diZ@?-dX{2#o{E#OCUtNBmNdcHcpi5~#X;CJy0`4jwV{v^Mj
zKf<5m=i^s19PKgRP<zFfz;Act)oi{T2K&PB`4&e1^8!s2zHv4Wb2tBpw|G%_$rlk^
zMlIp1+8V!%(H<U=4#IB4h8xsjh!4jLe}JBhgVT7}e`zQv$`Ez6FbFYbcU0iIBE}q|
zuEFz5QIVU7j+$<8ClBL0tGqT|t*2%QRaT1`wbYmBqM4``#L|rFU_(?nKBTl4WM!xD
zL+K!VRs@?U^|+_XJ>iDJAqp-ao>5AOJK-4FpfnO!fT+v|QJDdnGC>&)f-(d3$i-qC
zWj%<=U+9cE0!nf+p|Ws`6bCKI52r{@kdmCredr#d_WK|v55%nSdS?PXNeSP#fT-T5
z{3}LeRkUSAROE>GQ>LU3vWQF}2&YJT)LU~RV=0Wzm{M?wRDl1yI=tw0r1f$GX_ed%
z9Wkw>g>pv_k<Re0cSl#u@Az$v?w}#<&>hnl{`Nxfx*rt>$e)G2@*%a0+)HUI-;$fi
znp{&J6sU~Pt00d?&3J=U0>7nE6!}yk(2)XgkmN;%lmqUOY{;Q9pthV=el8`K-@zsF
z75W4+@(KCa7m$(HQi!~jH2eyKM*flhC6%FHl<%ax{EZZlKa<Sz2RJO=lH>Agq9{*D
zF7+<?&Ri#U;35eLXURV4EPnan1RNZP$v5dBc_i(@<6UI5^cQI-Z6w>FdC~?@mo>;4
zm%%x*5KfYL=rNdsTKgYxcFaV5eHu9+O(j>1$)vY9iCp6+5^yF`6HX8!k0V#%2S^5g
zz$WMrHH73=2NE~ekGxR&le}^tGEM%SoK?D$<$M>i#Oy>=cn)&O9Z3zj13U&DkoC4l
zZrgzzBW=h&(vED#bUSGcH%DtYLE4cyq%D4NqZJth2S{(y82SxNpbqIrYLJmoU#LCk
zLl<y@_E2-Mg4U!AR1Ut6(s)NH(hSU?71R~Xqd(M@l)$nQ@Q?gw+LjcBTcj`<0`(w;
zNE4_LDS%JR2hT|!Y*8N46ttr)*hp8fj#f}js0v6(O{hLp3y-Tp^)TNk@q7*}%ZcZ6
zL3v0uaFQBOYs}BU^ed*Cl7|czbHh)O9keGK`dG4p-ed(k$%?+0EZ`zpz(=x>$54_F
zCCNjQ<Qw__7<&h3xzes}w~Sp_D|WJD+v(UH+fK(FblkCR+qP}nww)AL8RuH7-+sUE
zALpDg{!wG@s;y*~)_R_M-uE@1@UsumP41%V+@fyaTe*hXa}nj|0vgH%6rt19IZ{6t
zP>4>W7RlM2U1%YzP?LtEdo+WK(uHd~x<_kIB}Z~sMMuj}6-Q-fRmUU#+HKsMX^x7H
zyXY?Ug>t+eDmpp|l^m6E+}yTSb2Qce?hxIz9P4d$p|~`3WcRd$deYu8g=c0kml3#p
z#&J(a;oBMMScfwwg>xusMSostgK&3@a_I3Ksqh{-g(Z%;u1jbgXPsK-32Qgsa;d3n
zt?&{xZWXzi)#x}29V5_9<UGzuJR~D1Ij1umH`4&zO@HzF?T4$WH$UHlpYO!&j(n{x
z*KPTltnxL-V^W`tP90oPzeA^~M&70pUXzL_gJn<%i=!B3M@!M5CY}&3IF7omJIXq5
z;zYXV=<R&yXyAN<ALgec;P5)4j)()Uh$E*{<DBF)I19L~&S7>fJ`a;~3y!a8_({%C
z7X%yXXA<<1R5-*k@}AFui!2XHNlw0(*Ljibjhvc0gJN<F_4E)Wt0h~6Rw%BWVe)i$
zmc(C@1D;RBKFaylxYZf4jCURLuCp~pBfjZMW6C0&b+#0)aJ+he!)-fC?mB7>F1PjQ
zIU6~KtyR9>g5z8RRA4ep9N*45>)?{B$uY1Bzgq?GNkxu}CGeQ!BTJLWQY({SaitWJ
zx{?SLU3TH7ODjBZsf3j7sQr}9Z$D)FY9C>LXdh=^Zr^4PC+tB7*`cIr8j`O0UCA^a
zN8dh%$8SGJ^8Gkdwn9W&ZEwaAzN2dnTFP|$pXld9(a}efmz;*fWFGp7tfMT0KeEBq
z1RbS1Zj<u%gQRSZlCZh#GT}QcXM5%{d!M<cxZk-7y1%<JyMwMgZiBn1TXdImr*>C#
zXCT*^l`LmLcN-F){rF0McNO<4z7loUci-|fb?1;;yN$6PZX5o{*Vex7t=8f09Gnv?
z+9tU3*%rEASa-VX(~0;&2G!wy>we*W?Y`<x<+<#xY`x)bZGGmxANb_n<@@X&YLVPM
z{8~?4uizQ!P30-(OYhn5DdZXDsp1*$Y2@kb>Er3btu~%Fo(`TIzK)(85K4Mj`;oTk
z>*<Yt(hdemM-n*gtPAP2EG2ET($h>~lB^+DyAHR>W=}QiK2K5lGC4`$WTH=#7Uzl0
z`o^OniKC)^T0EXd78NcNz4sEmopU%(4&rOwVkyj8rUKsA-@VguoD718)|K>d1<M$(
z-7?p!Mn8F#u+=*u;h1-m`J8u^{+4%}bl+=}o_jUY7q3eC;WeY2h>}@KBPEw|NLi%9
zQhuqZR8T6$t;$kGs*+SgswuUST1p+Iwo-qow^D<oe$p6egfv5%DlL%aO3S4s(hg~>
zv`gA1?U!~-=cUuqHR-bSQhFvirC*ZHr}o)=3BDA*WWMaaEWU!MC53(YeU*IWe2sne
zeI0zQQA)a?ll1Y8MlYF;UNX-&*|*p?1*K%U@1Spm?=C8d#=qZ}5wCMn|0Q2B|1+P6
zHlp!=_L==oUkbm*pU!Xg=k}-d7xU-xm+=?$SM!(lSNH$sZ{n}zZ{=^`@8$30ALZ}w
zpGeK}4?`Il>0g0HveUl=r^yok4Q@I7C;SP46F5#z`BMeX`lEpd{v0r2KNvsxzZjkV
z`^G3NSW{r1F%7Bt0wn3nvf^(Lm_*GmHVI6HS~7yZ>QG~Ek~bp*U5wKLElA#1Hf|%G
ze<V;Couq*A5(%8Ato%RWQ1_sl#FY9@FZaD6S@5nQNAMPP*ia6KNo_~~9fQ*hJ%b|+
zLxNp!m$W5;(*h@a6UYIz4I6{yN!{c&To2|k+z95SQsJgI6C*Ym+`%};kElKp^y&?v
zUl0kNLMOPcFBH0@FHVoTEcAj#Pz;)c*63S=ra>kdp&t_Ji<`d*?vlgWRiV46C{IHd
zLeD}sLSIAAL(z~E?ZgvG8BPcn2xknJ3g-&{9xfVg6RwV4(gKyFZ+Ln5?{LQG81{#g
zNz+UX*VZlKdOK|5-QfzlBjJ)HZSv}Fl2UjPw&{M+%lCx?^!4B2Bza3c!%cD-?!$g<
z?Z`%Li^y8sByvsF4r1>*Ix+|s$pGz)NPF!X_P1Ljbx}=fYY#-Ku;-QczVaS8jrMay
zqm4$sYf?m?khHmvi{uP0lI@zNidSJC>6)>c(a{l_3DI7fh43x5MJsDgDPD(6nzzw3
zn$I{!!qFIPjL+&cv3u(L&_yc8j;L$I_Nwbc9c~s|2Tx;;x*yJw{;_H5!LhOGQL(}5
zX|ew5S+PFqd9ik=BeF)&RK1;a&GA?f^)1LF4`M0Q-(y%JVzO7`nJP#8fhu48CXDAZ
zs){Hf_2TPQZ6S^fjE_)FfHbl+{)cJ>s>eEo8zO5MGDk#aiX>P4AWwrOLKP)hBdWf{
zQ>&iEbExjb3n`k&?s!8*E0Hyn@$r#3N2aR!$7iW}#uuqt#J8Y$9N~YxiQ4g8l`j5K
zWsZYmMfK3dBdTD`sQw&FqxfDf$4V<+nBB34>Rqu$>V>ghcx8ri&*!LH#I`8;A~|Q2
zKXzZq9@%4Vbrdb>Yc!SSc{Drunfz1%NFo&!Z_ZZKj#cDn=0g-286A&<WE#1r)woCY
zk(W8CDHgq<WTUd8bEQY+5Tj0<BpkNL&HRic!#R>t`;I)-%}7!0DRMKi%CQ_a&C*DB
zGBbm;lOn@-mB<Rmc<nG$4w-4wos3q?$YvNfJGC`%lvGCXkiANIB9F8w@G$8ij7VV%
z3P&>C>u_e>^Kf?E4T#`Zd9|J*Lvs|Kj$Av)(X0x0(#<AAHat90*FC&M*CD({S3kUu
z?92(>Z{drm98Yy(*s0Uvy9$T&WYyB>pM`Sj?}zf^%POcpi$CiWMDRl>8>>+(WIxyV
z&`ABr(0Kg_6penNIb>+o=xc=z>C1)ALkqu*AM6<v@lS9?e(B>uwZTV@&I@<wCApc)
zWbBRwYoKQ|Gb{^sHB1iv&5>fNp;vGbdd4PvYWocpU>p_4K~hLLx;!%^2|5hwVBFv)
z`{%+r@-~oYe2sJDTA+mSEUuBAfyQVWt;xo;<LK25wRZq4rpd;h<YL;BF|3VtA!lN$
zplK8f+~7!f&zLUo(U=^Uh$#>-8UkTs*l#fXK+pJwTjYs97nK`UNM6$|e^JvFa*Zd^
zIJWv*;1+2ISE{pV85zi#{(+|P{!uWcWL;yWsWCL@`u=@NI;J>^Mt=VTa+M!phJ1(M
z>?0jxG=GD1`vwxQTo3UeUiFnUAN19M719b?YzOmFm?86^#*X!kh8Hpix5!44F#DCf
zXC)Z0C4AT6!QO%!^2nT<WK0&{YjbAb8*>H{GD&?7v(+b=Loh^w^aEUynDAXn0f#FS
zMAmF1W%4Fml734#B-K*#r|a=vu9Z4KW$j3HqPNhE9>Y+jhDuY&tj<X243D*;v@4;e
z(w{h*PyxqCY3Xu8LG+C5=o_h|uOww;$4Df>!`b|^Hw`Y4yq2rpQkK)+%9ay!NA}<r
z*^OIdmA4b#(%zN{I7J4r68ICRNH_0NO9xg5?IE5v!H@bo3P)+2B89wnEE&D;V1|6L
zh`2>8UI}JM#1ivptpSe-k82X^4^IkK9jV9y=Oh(V#Ci(X$Z=0~{IX5(&31vb)|Hh^
zck3e0pVkGea;C7_nMB4|u92RJa7<^j0-6iEbSWvBP2`bxDG8aHBxEX(kSXK2guZbX
z7s*q_MUn~6ZW_-QtLSkdF-ELDydgi7R7^VCYj+mgBX?fgb$1E;z!hzW$VcykCAY`j
zz_uBW@M^rm3t^H@cK;1~ZZayzY`SI(;Ds#1bG+Wx0L7!K`-D<u@Q;+lKa$)1$d(CD
zNJ=~+HZt4<kV(V%Z84Y1?m^1{2x|XABIbiDt^Eb8(Fd+P_A9OuBw~KU8(rPL8+~I3
zUg<S>rk9{`EFcv#m5$+fbdC|OG5D=#kcyFsAPdku<PPHodsEjI93uP4tDm4wLIpW%
zFG4ydFB(Up>lLY(&k6y=jNe->Ed-D-^p6k~gh=Rt0^*|E`Q4cWpLkNbq3OxbC*mc~
zL1m}1;VDlPZaZ@dx14!d_ZP<*BGW-C(O<1WueAXVk%shLTi{P`gG;0>$(ar$XS$+?
z$j*=<xI)IDg^VRFGfn7+-~CVLBK9cDAcU-@v%5uTi5sLPo!+K+<Lj}Pk*m7%B<z6G
zbcWB+5k7}5a*+hhW%|fhgd*?-@+t|MTlALiqKRA=66qYLqf4BY&Tv}i4tpwRepeFb
zUT0Egf2ZA9h5c4__FaEcot<iD2dB#U$r*DD_4*z2agp2*oM<LL9Fp)IfB!E>0{;J$
z;wyUKuh`#xb!3D%l9nt$Mtb2n$O7bsIGLZX6%oI%$Cc1P(m2bCW@i=n2{pyHu6p7k
zp^<n>Xf8ex+KKta4q`p3vDithDRvdJianrl^cLgxe&TfJKyjdRs5rqnOswY|Nw#1t
zxrA|K6(+OaoB{J;7W>dST+hdCvXDLPB61N++1IYZX|fhq$tHHjoAC_DoQiEEYIfl(
z*n`JlA1;!EVjKJlZQxq8zyZ=+sgqDX&)_CGPhG&DaFMTH;cHj9eI1{|b&@$Z*eBn@
zIdhBT&}|$tx7jn_!9jCZtl+#SuA<yzP13p^i0SMP`1&Ju<&XKfCnEb+(e8XAMqE$C
z;nX#>hbX>{7y9SoY2k&KLVO|i7oUqO#b@FH@u_%Pd@P=&PVo6DzIRf5Dee|ui~Ge_
z;vs4a)t=9rIp4C6f6w3e0cOVsbcv5*VJa_`+wn=cmT%{xa`OEgR8D?A7nPU1O@68X
zIh-O?NwPMjsNcxmkO;zE^Gdm{gwI5-3V2OQ^EVgcy2yX3F!!S{ddffbn6E#CG4g=A
z&(Gacsw9t7X|$L!Jce?W<uR>@H>C=Xb9Ho;ns`-e@z^(jH`2&)g2(+RZXfwMI-pd0
z=q(+1?%Gjp@Se2hx-Gtv_Bemq^Za(i5!9LIysKlS*bRS*Ts?U$^yYQ(mt(Ft7!S!%
z{3F90Q&CDLk+T`gYh*N<+%R4<gLwS@LIdebex?^WnjUBze^8xyZaboHw8rJs4EIw5
zG>v*xU386FJf}6u(o`c$QyHH~dGQjj^@}*DuAqNh$2W49blF2ZBag_?JjHGGf*j3T
z-Y4%I8E|2x!I70r{7$)WXi4};82TZqol!g_L39rvT8B$1K*wZgzN2}3<^B7S_w_4u
zk7sBd_ju3W;QfD|W5O|x4SR(q&{$jH3h4l0s5{4!-p)BfA6y{=oKw(P$CJz(jT>zc
zIhy|Hu)R43b%lA{n&VMJ+-nulHgcnRBoPicC)$rWTiK2|A6d>ilX|Z>{|?-69<bha
zn(R-Vr|ln{^Xy-o6YSreuh4^k;-qufLl9ZD=)`)QAXbj8qU(!2CGNX)kW;ggM$AW+
zCO^)+(zx|xYHBrTP4#i~HNhFulxjnErUP!j9vs8v<M}|>RI)Q;V2BK*hQJW%ZC~u_
zLMpN~G}TrlB<tJv;0ih7s)7z)7CpQa=Zg~d3uxk3$j{v59CC+r<zq55&*6x?CP(vu
z^UP0|!S2E_5_5TND$Ye3PChpGXInb=6I&ua$E@x<wtVi(<Y_M3in-6*ek0vk9Y16v
z)cg*LOJpG`$8<QXqu^x?f-Ta;HrL$@he%c1Mt8)z+5OS8$GyOF&|Mg>Wx##i?Q%cG
zi}{+{AKh`c+np3rS89*W0}b5M*pt*V+>;I;M^;Z4OF>+rr9Dfmm8sfPYtMA}<1=uG
zj^+G54nFyKIOXH5W0mv&0M-M4Sl5%I*`c^gt6EQ!p}FiS#u_5O^(9H$5AeubaLD2w
zKfJQ<u*;rX63NZvqU(~|n~0jxNUGr7p|9v2DK*0F(b{{)+ta(vJJ`F<JH)%v`?q(K
zcZzqdcba#xcaC?NccFI!wb8qZpV{i&>)r0%?LF>2ic{pc_l5U5{*asA@7_n=fcKR*
z<bCapd%t-NlGkgJBySo?gVLc#w=hZ0Kys<3IlXk-oG7(|KC+Zm*b-J_za`X>lHluY
zM#`o<`R2Xmu2AE8kb@r1N^dIPpCgq?m`}oH0j`l%(lhf8=`Y=0=}+H5N$oo&`K24^
z9=D_vzL!!)-%lxt&nFpteo5;KOB!E<pNUCHeMx+&xn%HV^yTp7@s;wG_f^3|QpeZ8
z*Op6PUoVu9;l2gFiN2$JEau<nJ7?U*{Ey?x9FNS*_ef-ZLt66_=1hEGriF*O5+PrR
z87OX2H!hPIx}HFZWXd!6pVAAw27T`=^I1;QA3S8L!3>s`WYIga+8*eiVj4s~eLVEO
z*{sHw<K^DyuWQ=tuWUL2!Sy05_xt`t((P$Tx2GiSt~G^8;+ROmCks4P(l-U@ZdM9x
zM+ez#Y(es-6(o{AXd;8zJ<JHSWj9fm<b7@9fj|wkkkaTNIia;?H9kiVc~9czCp(d!
z0gKTch|q2QWe|c-4cUU1p|tKp2ibxTUQXI9HFOS6fzCSGFcJ#MWV*L=gRMy0$W;q1
zq&(z+T%>H$8QupC5Jy~kd+4=3G4v7&!DD@{&^dNh2lTZ`)zk~E*SCQ*(vclk-_Uf@
zHKQT3_R=p1HHZFKU%v+u<e^YC{V{fHC)v5(p*MX$lvn>Clt=$Cl%9TdawsH8^aL&G
zVMlbjFyVH{k|`mP<R@WMk{w~y@Nr$W@CFh#b9H^#F%Az8MHlG~vGotK35_5#G|=rq
zBRNQR;c7S=JI_RRph?k1XzPc)S}VFphR73bE{LtgBd6)p?;&9$Cu?Ryg&3-x!j5-3
zz5NAHN4DS|IT)#~Jr=15QKAekl7ia1q-j3k9^oN{J_4dPiWDCGrAZonK}O@YrZB0R
z>d_t0N8}9049&pkD9yNNH_cLLBYUECHT$EbHJ8}I-(xrb71GGBs8JJ)hSUa<G$~?V
z)Tv|7)!CK01wrE?shSh&s{hqUHsTsttL}hnq)%*=dOTFp2}<@v_Dr-<Z@@9KFIGu?
zI+jQMD3)FQ0>{Y5SX%X`STdX=Nz{&51T{j=v&dcymr97gQe}x>R~3(+RaL+-(vU1n
zm-swYALy)qD;XKt+tEa|L(xbI<NJ`gtGV%j<UkoojY6VVh2!oxVQushnb-O@o=GM9
zM&w-1u6QHW>Uc-~g<h%|@qwgnhNy-@XO(k29pY<Lt;qG%jqg{uuyWQ%)=x^suc)%c
zU*Hz`tV#wa#U6Ld<GJ|jlW{N7D*DL{5;!MgRn!M!bri46GWe`>V*M00ZKv2uwOsXi
z#Hz=RDVe0aq;O=uEwCRoAVAIQXlBi|XmQ22a}t&62pOlH(Z&ihSN8Y}jZV?@ArsXm
zx(>eXZcQ0nB3XEL)1sZEjDCSR;?smdgvef^M=(dukhj`~*Jz=_7#W})3FCKgWQz6=
z_#%xX+qJ((4)H2GrOg+)k2dm^`lgMC<JvH<NH2~3Z)hYBaDZGvAGye@b~mryjp!n?
zVGz#__at32MmK;QS#O*mJ;L*K&B&Kkg~d}od|Fo|d`*`bj<G%L;GN=Tx>{5xg-m*P
z$fExh67|nvj9iC-d<f^q7Wg9TLap_yLhbd_aC=M$4TT3ZLjO1H<Q}0}ylZEnT29s1
zKr5-jySQ9vGVYJAyu+`Aa)w5RGB9B+CEwGB=AwWO41EbU4?Pc-311EN2we^)51qqV
zb~3mxv>iQVRj{IAX|NHz=N_<EN28rgH8c;dHvAskZKxPLL>(pfcL7hxBSYHYbNnD*
z4e@~65DGZZP#zoJ2U@7^2mT0N3oHzt45SS13A_#L4m=7h3mgk93TzEb3d{{m49pIU
z4onI32@DQ&4D<-p4Rj9tP7<*+|4s?~BKZP6LKy?q^~pGb#{D0SK8~(Gm<;xYsYy4O
zpmYemWS{?c(|Q=It6@Z~L^qki^sY%v@fuGJVH#5xrfs#r4^opUTNRjcRi4C6876O)
z@IUcq_y6Tj?VsyUh7NA>*YiuheJJPe{jYoz{P%p7{pWot{rh}6|0Y!S^}ZIS1x%nC
z=bLWo&%~fVn5xvtw;Q#76z8Y@zG|GGO8IK|3Zda=M$u2@%jy$->8T8;{h}`*S$$3^
zmG7&Ri4uJurF6b$(lh^cNirY9U%8vJ>UOCHDVv6nMVfL3ZAsdu6=%~{uvlBc^=b+q
zy#{(o(EJDgR&!~()JW<j)sfoMlV~ITCe@=?QCUi)UtyCnN^v?Fa(Ot*fA#96Cv-Qi
zc*{!{y?)g`@7shu-pml(i&{2#t1>O7on;|hvIX8Qq-zFQ2I3C+(>oWvWEHg<&14&z
z$w5mgG?OCU8@N~RSn|?=$pR5RwfB=HsrRQP!Rv*M=7T5_p*s_^u;hfbnhvtO+{r0s
zJp*<Al&2#3;_4)Bey7V*m$gx2>lW5XYd!519c6}R5SirB<dw(MEt*W%Xuh>G?6&r#
zZ<>(2sqfiqtxEc)q~{9Wko&lHpF$CNU^S7xF?w#{>OG0O_lni&zG?mGenmN~-`rs<
zc^m6HC?k(y#$AOWcaF~2F_`=Np^9w5IlKbi+#*~flVS9ah1EY8*T?|e#=Xhi$eEjF
z<Ys<%A7Q<D(N+r0qzE*T0<1@Kvo1{sNhBFrZyUNv0=kKg40xP1Y}BQ*M>x@XS=WAb
zrLn(rWn#UXm;88MI(x<KSD~q%aaFdTW{rGWA&b-^byFWVbpyJAZRrYjfVSEN$Ms*V
zum7QpOva5pj=cI1*DQNa*D{>iYwRullenpgf22BEik!45M=rh;dP*VuBKcfT>^aa>
z<jj0p*8fRh2a4z^0+bOeEJ2OSgsvi>r=&(pNfch8m&n=td(?I4A{Wt3PB^Qhn^dQt
zT3t9uKlK2F)g8_zXeTY{!M39Z+fi6a4_2m*ETShn7wX6?_A)YQb&7MOqN7aUdWv%}
ztbifxbw-i28HTT<FS<%Q`o7s@UB%YfIl$G)nbOt8S<uzp+0@;~*~;FX{%{*Kmge-4
zo1>f5!$VRX-$)I-{J+6>%nRo+C(|=BICW?l2`~<9?A7e-*^;Asq-7tMLD51!!bo_H
z4)UBm-vh`X_h2gArWbx4E#wmHg>xioPO)#48I;FK(;Q<jDc2Et=?6*D$aMhz!(RI9
zGPjbcBJ|bUaov_ZXnU9ro#?xFLHFoJ%BB~ZM<4Wvej@n?_OSy<*$if1I~<S62yq<!
z{V|U5%6@kQ``#h!f%`k=u^(O__G4e%55441G8f&@OS-UkmiN#dNX&FVH<9<$9Z1c{
z)t2l=YxdkN(M_6@>uAcpya_pv##94zle(m6>ab_8#ok?JhE`)AUxodAC3KYX?D1u$
zsLU4qjXl528kMUQI!ZA#fg<Q8h0zHLq8a2zE6Iyak_RmzH=06D^o8tb4svBfhscU1
zkp*o+uFPl^iBv{347oC(Y5Y?k$;5nuCGrW5$Y(K)<IDf5uVQM4T;If0|E=%b{w}8c
zzbN_V{^$3;{pa8M%D?}W|LcqL|E1&ql>h&KD+8KKM*g-;{Edl9z2k3xr`!km{$%HV
z$tB-c`9A02{>zU;0UnS4;kDjT9;*`QC#8Ap<i}BdJj+oPs7gG>Rnbvu@Oanev9Ckb
z<GGNvl*T+aay8|7YKh(@>t1bn4%<_mcs{$JiFHLA>%#N>2hV#KUIX1oSjp8x(NI=!
zy&NrN8MTDh%OYMk^U&00qpi*4H8q`@MjmJKe`*q`t_kQXqe*#<MEe?!#xfL5Zjkc&
zlr<Ka6ug4huS^eK%j;Pt3UA?czKaCeUS9kAl=nb=G?v;*ok3%{fW~r#_s=b~m51bV
zUZAbK#`*FQijQ1h(N=yqGKoKVAL8kPOOg_1YjV*~h2WH^l}R`z^f!%|0zOGP$jQ0k
zxAvt*+9ctS;1=!*KZQra7vY)kS$HhG6`lyMxqd-C6YdH3g&SNh3m2&i!WrSXa7@@I
z929m4dxg!yc44isPFO4~6=n&uh4I1+VVnT-Sr{S=7W#7O%B7>wUg#jS5!wmOgw{eM
zKGqc)2sMOSLRF!PP(k=jC@z!|3JE2Id_sO9yO2{z6mn46g!EjJ3TcHTLJGkyBnU=<
zc{PIHF4@1^KiOZ{U)wL+U)m?z-`HPh-!e1nDO&hF5|Z+CnqwTN591cu%W->?y(X!f
zCLG^e!ewpEbqCxb{m@W`aSoW|`V(hJTl*VRE&FR*BYPHmLwgl_b$e}lWqVC~QEn%(
zSG4Qx<?Vi3G5b<mZhJvnE_)YhsWq#8vOB#!jXRZH=e9v>HE|uWS=~X-SU(g7R(c2}
z+1(FFkzTTugPB!}E<q!bqpjQ=k;&ckql+*=sTs<daR}<lc<AHP-90&Lb|$Ub0b*-2
zh^>umyI^(6ysqQ!lC~@E+_uN=Y)rbzLgyki9!)#>8w;GTs8#C;Sk3Ui65xQPh6k3F
z4oE@H;6<3^R*bWF70)sFVLQm%u7|t6j#|Q0x0y_No5+N?fe>7~&~<4-X7_g(WffRi
z6k(N7m`raL>r==i?;(@8m|qk0c=3t+ptJLlIX3TDsXU<La}srBzooc$lcfqBp*r|r
z+dw6050&IkrttM;8s9)~N3u6<nZVZ(##(DSO7$Vs*Mz-R1qNG5%Q;p~m%UjnPoUd>
zqa*c8$uS$5?&nW1LcmW2wKa=$J)x+=eLJ2|mF`vprVX}0OX&u!wYM~i?DT+y8RV(w
zv(novHDCo;7RFrZgv(MXDrdqID6L=M&wZu4_DxEb@Iy*~M<=5w8EQ!<E-jVLcb|!k
z_o&O{ybqA~-o>2Aoz!ONCCgZ)E{5K^(A<-`k^Px+GuqdWX*cbeW!cuejtK&LeC6Qg
zm4#YTfcck+@bm<;gSns@kQQ39=P9AJX7%5P!FS128d_@&|5m)z%S>JUvzWU(Tv=()
zV&3g+e;c}%^;wNqrHfgd)p;Q%Ajp-UX*U^6@BK+lzaX^+Ad~0=j7|)^H)aUDGiD4t
zCPRN6a_f0xxxgXlf;*YCu%4+4vyFcR#*(WU%?xF^dKecoxnUbqZT8ZQJ&ViyJmkV_
zP)hCw(i=bEK=-nt*TVrw36&%tJCkz3lZLAJMVh0JbZ7T66iVVSXo<7%i)?_PxF22Q
zoI)YV%=8*N-Vl=^5Ol*N_^eL@oiQ_h`GTQa`l6x3be{J>99hE-YleOhyR9+ozGjEI
z>6b%$TnUABJG2p58#xXQ@;aXT=b>!+H)tX93~N(3!0zssE_L{;E`9j1u3-2a`o}q4
zb#eer!duu8E=2#B$W)pMOz9Y`>#XadYp!bxo1wX`zOIh0nyx&IhWxtRx-`0!I*ZQC
z#mFQNqb{rsX+LQ{Y9DjCt-YnaslA~+t39pVrrpZ)kWJb(+Ev=A+DY00+J4$UwcV+%
zeC(iY%jA*T+Dh7r+M?Rh+FVQ}Nv=()J*+Wn)4-;%p@pQ2zSiVsK6F8L&XuUj(Sw>s
z(QVL1=8>wI#iW`+%sm-^YoVK_c&w|Yo~Eg$uBMizhNhgRtR{~pw<f73i6*L!s6*<Y
z+QsE5m%Cif!WccOuts;Qw{cm|Wi^)>>X}MSR!>&<<I;gkV=fK2ROeEHOBODSjZ*8>
zdUZ?{gLnE>^;Y#x^$7Oq9o1b(sOMCBRC`tHRO?l1`M6BATs22E7i#K66_aXIgH%IQ
z-Bdjxs`ex=(*piTL)GbcWku^aA1|l68!xDO6Hin)B*C~*;gHC=nMA%?RCP06Ms+D(
zMRhV>TXi7bTD6gR+Ve@}jEqlL4T>*R^@^`#R?Qk!dlZqnWM`_zZ<C#Q&3u|Sq<my2
zi3X2LTJ)UE>Q}K`>L-f#r8q>D>ZF94skh=HSrF@uPe%64j8>10%~$tkdQTHnkZR~i
zWn!1rrDCttnPWuoVgb~U5c!z|XfA1?x+J2C6x7^>%z6jf%jswfX4CXU5$VJ8G=zyl
z!=S^+9-jr8UXXOVMK@_$qH|S)B2x+CZpr9PO%X-^dP|PxvnF-)rzTl6u2Dse=wzAT
zlH}Lki<E^*Qx9)Z6C5VpwTmOY(AfHGXW~H`6PckM7+DFQWWBac<e0WP+FY^7bBL@T
zAhLc#F^NKCl`}J$(eg^7>($X62)AWIQy<;j@F?B5@ObE}6LrJF)1ea2M=4pZ>k{6j
zYous}vTpcTmplAPmp1%emjb0E32qWGtkXwAsr6q%IdGHY(mx>|b5*G_`b$iXI*&$q
z3f1H&s>$|HCsdQZ`ngboW;11KBJbmYp+%@BD<QP*!0)w-_xBN$le78?p$quH?&=GK
zKH@O>tWO<c6julY2NP@F1alak1q&N)2df#5<1X0-<#}zeKgX1@hS9+}hJL}hFiPe@
zK3Z((fi~MIxW>={w@F>xCNi(27%7@U(4;e?<;tuQL(q=4o7(s#kO93nkrYh{j%l@_
zFLf}kflD$?IR;KcFJ2CpWWBL1KD&B>bH?&eSM%U5Nf+=N%>lE?uN+^~n?68WeTgpp
zkYn#1H0n#})%)R)>?AR>f+=K^{lhqBkA}28p9y8F;H_>lwPNOX12pgo{@ctgzXO%(
z9<$NqdXGl#W9~R(b^LKMmR1-fY0aN-mAvMBanDzXX*8A1r+ihJJzay0OilA)&MEsi
zx2$Kj@hV>z^KvHB%wk^gDBlG02;Wrm5M~<p^{q8`U^-1b-w~#<-GH|B3Wv!X=;NO`
zr+qW0^8GX?V``fKfy)e)OXXuw7w0~ol$>*5qB6DSB_#8^QUxa0)Pzsc5~oQg6ce&C
z(g>#3Ok;Z7^n^juOp>iDahGg|4t5H9`W@(DFW`^7ArbqPb95lVBn3HNt1M~>coXMw
zw>K5%^9-;^vcq95YPsnx3z@7cERrU0NSZ?{YeVj(6FidsP~AtdMwrQ3VIk{=<uF&*
z!d%_RT4Ezv8u|L5r7mlYYTj!oCwEa!p3&KPL;m+Ws>u&JK0hrfaGfMYHL)UV$2?Z6
zgxlmNYna!bg4TPiX>P+QxlHHiqNfraq&lp1TEi&mWL@RyrMOMzGeLJ8tdilLDRiIa
z<F{SQWWe?0miM5RoM0Vw)mp-Hom}&6X4O2l=2Ged%E@=A`5rRRew34_RSiMT&-%;(
zS^o=eldtZyw)YVCU*Z*hhTG((yBx|%4S1}Lah|lboy28wm=4=hrqLX>jJCP0<CtAL
zn>@}^+daz)+kWqQTdB|{TQmPYX4syD%X)=%<t-GH=cp#HA>+M=!}<~R<cBReojx1u
zQG;7nOp?GK$z*>|g60tl$yK_Cmt5t@l-Gd2Dt8ncqL8#hA?ZZ7u_r6)zu>U;$8|CQ
zR>>&)41Cs8SwW8{$3B`#2ZLNoSw+jW3TDX`I+$DNUhd-ecH3vV_uCx_bUN)j?DOo)
z>}%`=?FXQtoabM;3s3N+Jrh(`yUS<Sxgz#Blo5Fvr97e1Nw!9wZ~MxbMY!+GFWe<x
zbJHnLwJa@MLNmEQp8q6X^MCY`+KN^plSpK(WCc3O0{Xl2oqf<phS2jJC5(nVBF~Wc
zn||<c`ocq;OQ@CPa8^SrS&wG2h41Y_KiMlx##cXunoD1Kv-1>%uikY*cx=DQ{^PFD
zl%3Kl_C~AOBmFLX6;9cI2toT#p||~)P}1!YTC=C>B1G5)MTO2noE?!$>?xSU{H_GC
ztJBIPmLy_!XA05kOph-lEBmyZ^ucqncgsuVV?QVRM~X3rqcpwqvh4dRLno<8{f>rG
z4-KUu8cGxPhfT;Ev|`WLioIidZg=Fm3wlZyu6sdl?Z>`y0Jn#rrwl<q83Cna4BE*A
z_MwyL_fMkFKb@MxesnI{%6$6#3(#N|^E->hLwE>Iv-drRMzR`>WU6Bw8p{TLe*-_i
zf&XWNn9jLX?BLvv4zz>4>~6lkmw#hFe24?0)^$)k;yoy4<vLL~EcO-;i!-UE;!$zE
zcwF3ut79ilkG<4>>JW~PBjS0!dx7s>!uN57&#rRoI=606xA^Qfx9*5H#e38P>LK-*
zdP+UxC!X^Y&-v~PzWY*qgiqu#K9Q%?bMXydealzga_g;fdB?~1eD4Ea{qUdbkNn<8
zKL4M3&FwdQU;f#5T;z}M|NEQrZ~yx*yyW%^zW1D;ct$-@>Mj5O8$Opy{ySdrGcUQ8
zFVDC<;royHJ0Eaw?uqxgf4FLtdn(`C+u}7oyQVw>*Lei4ikEpTF7fdqm-AfCisyLz
z&hdzy!7(F0lBdOeJi2?RUDRgrn7EEdel6cwPi<iK&nA9iGmrfid^MZ+sm<b6t~YYo
z!1Y>wZWX_?oLeizHR57!&EuJyDJ~JGiVMUk;#_gEI7b{WP8Y|C6U4FN2yu)!Kpcse
z>2I;TI7EyKL&TlbS=SIKssqI{sB{N-MQ%g^S&z#^uC=^U*Q0`LfZ8f6AzNVx??egN
zjS8|4Rqy}_o5S#jPw);nL!BjIa}JluMJOd#d57FYVZ4RXcn3w~F7B%*O34bOTr#ya
z9k0Z+yqi+vI7x|0k_3lR0?MTpRV0qvM6Mty8;N9%6PL+P2qoW8NIu{mdq=YFm5>WH
zG%u-}yv(AK8O<e}7jd1O!i9E7VUft>*2bjrnsNkb<=l*tx=!fGk)^A1G0N+F6xdlP
zu`@Z^OykHSlUzr0bQzBO<Zl$*p&Whs;y&pitm3G(9yiK%+$aYWN=Y>sCY4FoRKi(T
zM!2d}QPPHageR!Eubdg+l%$2|ni`5p3eq+LN6rLz)@nh80&T&KlHB#3nO|Q}rQecj
zd;t^c5iXQ_%m=#(E9xSyK)FtlsX53*n|&lDx1n}#Bzv<O<$D!w!lkGw^EtN9L=hi{
zGCs^c9XHA>)be>aQkE(VtB&@KC@0%+C?4b-a*jzh*Kwje<oxo6DK_6>l*k0v81z<+
z+f2pLM%=d4u)(u%e##CjJUi~l+)%XgLf0yY1ErMv8cgvsbOa9Cn$Q{OK%TU(dodZ(
zIkpk*8FUb);5->+n?ucoPd*<v=6oi$Epm6Wts|$p8^`8RcU^Rn8k|eZqmz{4{94?0
zo36wYx)UGZl{o2C1l>kk7-osa<Aqb=fGze7t>iVFl84s(XeGs&a8t>1h<S9o;I6Nw
zQ?lCHg*8Bb+@^y(v#dkuqKx+pwa)hRK`ZGEzr7b-mJZfU=qCGEOUN$PGoG^OCZ);Q
z<g&i<WJNbg&7?ewHLO(JV)VLTsQt2}f$o~o``(frc6=T*loH-smhy1rYm))4k7K0`
z9ikzuf6jUrGwXMTrL$$YrLCo(rJ1D{)y2}t(#cZa(%w?n(%e$TQp-}5>A(dnB`k@S
zyq1)f+?EuUR2H2@Z~2+vO}L-nNVt>mBjI+!w}h(+uM>{*m8}W)5~}l+(b83>-W(zY
zy)U6JjJY1H?YhF-?+br!q%=8UJS_hCIE+_AG1<y=;1l>!&Om#;2iNWaB$F4cA)S&9
z{+${6tHc`9YZh5+CSwhn6W4PY-!<xpxh`5tBi}Z2Ti+IQJJzdR&{6vOrl6k;G0*Y!
zU~StC4W+et2l?<LzTcV1SefZJrOkI>^S#7z{gTNy-+c*Y86%OLHFO?`ujar<({j^&
z({9sE(>~Khu1}kGnGTvZn^v0^m}Z#9n<kn@n#P*`HVrZLHFY<2G_^G~H?=Y~GSx6u
zFqJVC=90~n$CSa8Xi8?vWD-nCOhKc~<fI%30w0Z9(>tTXc-#2Pc+2?Qc#>NOsH4U+
z#@)sf#vR7v)IQ?|<5uHJ<0j)$;{xMkE~AVSj3bQWjl+%ojlGQhs6UMDjqQxhj17%7
zjP;GxjP;CF_*mLl#F)dF*_gtZ&X|Oc7NgqeHFyo54WA6p4Nnbs47Usy4Hpc@4SNln
z4ZEowhE0aGh82c+hFONuhT(?441El}4BZVq4c)kOF?2L^Ff=zbHPkRv=Tgm3)lkJy
zluKbQiH1yuq+B!xwL#K*^=>X-^k4Pw^zZd|_4o8w^jGy~_2>2b^#}EP__#&CU8(u{
z#rkRb+4@2H;re#^F8XHrHu_rnhWg_AvifZLy!sUS^!ntKRi8{B)T#8pbY9&X-6!2$
z-DBMu-6h>A-Fc;s=}zi)>h|iE>Q=(XT&|l219P-)oUV_qKl)4$l$wsZn!0+r61uWz
zGsRG63h6TFvg?xR((3d&o6e(+Xn$#a+85gQ+H>eKd(mZfXisWaGSzh`b6rcI&{RUB
z`Kg($EfXCI)1(I}owlTP>S}M`Sh*3Y#7yC$?7VZ5+{vsB!#ok9eodz6S2!p4P-HHm
z#_U3kSqgP@5<C0}n&qf6o1)!us5FD1(EwjWea(ev73Kx!gKLsS^9}y1Bbrj9iRm?I
zAaLYkUT~4vU3Hb%S?Y|sIcmcn%*O2#TfjV=DeBp=f$Alw5^Eu(?vFJfvGY6Z*V4FB
za;d-IO!+|`MuKOejjPl`+^b5#Y@AH-531axcuL_)kqIKL$kqH6pQD<B8)aU+uWEU`
zi)tT?l8f=*R4+;Ge1!7qjoVZ)#0DD2%6#BlI8aKeF2@hW_rzDkmor0WZXDWc{BP#!
z42%z8!cL!fyLj7pt9Z+J{dm22ZKm(kir0)+iC2#2kLQbLjc17`jVFoQ<JP!8=8b)c
zeT?0W-HKg{U5cHLor>*<ZHaA&t%=Q#&5DhP4dF5%)+5$A)-KkRORZR=SoK)NSfN<u
zSf<$YxS0t-!RT3>C!+dI^sf4Tw20<-v<`fdj^v~U;|&^*9=1@^72-_0=qhSG+R71<
zJ6APDqi@jCerc@H5L${s>*ZPeiR<KTBnQuKVeK{YS(hT!v`5fXwlXPcS>!KrT%$<q
zOhr#wNJ?i7Ij=q1IxtCUMXsW$JVjIa3S~H=RiUZG!wKky$#h?sZgWSeg7998>n@Qm
zI~A@<wyc#h1$$Mvn{IKqzitLjlu_u7J(zIQBfM1CRpF8xf_!{KS5zS(zgJi!y08uH
zGOPYYs1#aC9sNF7BRkPLm!hA{3QdAFvJx$HJ6X9sFkR2VbG-wdS+4uabers<pG^J!
zg_i2m8=*PJ(N`Tzym}HWZn(q*o4t^rR|R{L+3QVq?=LcZlkl(2KsQ-qXhlM&5yX*l
zOd`({e1W?}p786zT_P#Dzz7s-Pe4aXM{jiCjr)vlayO98c#}z9mmyalB3pP6`p9~i
zOpC}OPK52+FR+@4V7p1_>_uZfWUR_`u!`s?r2==*QSLL%_mMGM;0aU2J{VImZ9PT6
zjYb_r{7Nu+`~qy(RIpw1F}=N{>9W5zQ+?Y)BIyo^q>pJX{=hltDihIF#zG?*?VrGu
z-$kaL@LfBgmp3D^)5w3GSvD6;zcKZ!grcW^G^JIv6}36$(?JI}m_umqE++lHB&~CW
z^T|m?SE+42;A>{y#+0?SzCX}Yx|x?K8vZ!+lnG3*pJE>Dn+NlC4d<!d=K54UCbw1O
zTvh~arLgZVy@3a$cs?=P<~!#(zuD*um<`OgQTc47ckG-GQ_^QhgzA+m;jvUA;VLeZ
z!_dEWOHFX3G)>rswz3lD>nuoNW1xopg(tKtx=JU`zfBZfMV<tF2cPI;X50Lut)!N|
zC8T76odCJrCTW;xmq2eMEy<mHOuH)xkK{MYC2w`hF{a?{A+@s$3j8L8@!Fq$i>#|m
zf=@EtGT6HkKFNBf>g{3r?^&26x1h^E#U=a9l9O3B*{N)3Dw(|w`a5ylCw8kxnev+(
z;(clB6&xpLJPoaTaG0zksk5Bk(M%k>V{z^d_N<_%v=X-KPG;Ba#bI)SxizP(H9gm?
zzrl4ahE`GtihdT7IH|#gi=MDG36<0n<637+fV>|>Cvm!S+1{~sd&wH^0b0oe`d^pa
zwOQLWWR2I7gid=X{=IF>q5IEpPlfcq0EhA_TMyWF-P{}KvF)JOc95RiDKwJvq;sya
zzPv#%?lC>NS5RF)lhAQMZgtvH;4rbdHLO#OtXY$g&`EFq>`KI4lE?lOcl9ltB{x~)
zo>yEYva_V7{g|sZY`%st`WlheX~9~!6;mEtQ-8qm>&`k^c9;yO%Qz0rWD1iJX4waj
zTmOsob$8M_ZCrblX_7S+clcQ-CD&P>-+<+M3sT7~k~^}4{3)}1Kibo?o=?NNJ|(J&
z1$T)KcS(?hj)R1b%q{%L{F)EW9He#f36GqGaG8|EWl~bO#y;XK?vfKwNe(z02>YB(
z;kUL%-Dpd)znzlKS<60TDejVm&VlSrMzU9#h?8WpFw8lfJ<JS9jWdOT&V}r2mf<K_
z&K_qKWPwfWdv@Z!muUmXaE-{U#;cGBZj;El1FhsKd#D#ecJ@+Poo`9xyn|lw4H~4A
zJ(m~IjF0_S5K>8)y;zi)zAE-+8ZkyHAVB%)U^|scDmq}eerGTDl`i*3y4@e3dcIZm
zd9w2)Cu&JPoF@fwo)l-A$3M=K%j_A?;5<1=C;d1I$`KqV`%zK$k!aXM$9*SzPPqfW
z5%ol-J;>>Y6^`yo8e$<G`+wXegHS%?8m1&C#^Nj)39of1E`Wj502~4GOkdd@&<A%(
zFPs9hYoIIcfvz|Sx<LBu2=P;%9NU`IMsw7XCQ9wXp|G3O$36(52XQYPA#rkqM2I}g
z_c(5nQ@Baa;Bq)iV&npDk_$K=F5`l@jFUvJtGG$7kzBd1l<blyMmndcQu0jRyErNS
zse(97{+Y7-5WcJIHhF~O;xW#Pr#LX=dWIY0pUJveaA#zu5^<YkQtB<&vg70(?hbic
z%?Iiuu8)s6K>pvA8W+g_u2g*fKlPd0|JE07|KHSS{=I+e6aVKwCIA0v`CH__DFc67
z2IX)3=Wk9_?!!ymCi3LqrzC&m>B5h=zw$(!2i*UAI8E;2zPW`HM|R}MkK<M93Qm)Y
zJjUmFtk2>yIR)87p06y=TRw=>=KxNVeK>#Qxy)N|mu%qqTm_eRF^-`HByr~Qe9siS
z;|%G=wOqYX+4|rT=?B5JKdRdRZV%w~Gmz^+d_IJ)59KvA9CdCa?vc@ogXwQvB!h5~
z^oMKG7m7|FoFspWb8wHyGp84l&{@jsbt$jgWoRcWaZRn~^}LDK^%mSCJK>`2Lp#|A
z%lI(b$q{sulPHR3A@Q6?Gr3A#<NYF&UFEuic5<Kh(sSNh&`C(@q$KT@l=qt*XNght
zU^tI5Ps+&qS40a*>%7I(-<xP8cZ3|c#`5xhFG(V&7VrILq;lFgPY4~H`-OJS-P8`{
zIMI(|hCIb)ud^C@g-yr-12vO(s<pj+dB9<>E2R<INF@cGt0x-n7!;DRC?#@6aJ(><
znv9Ms*IYbqi=F+1<s7NxspFgBl5BOhA#d0eCP{77lFEu&a@|=<xaBN{Vp4=7VLtMT
zd4*@rT*6ytX5l?Y$#2ZS`OYjH4=g7M%{k;W3URWJT8^q#PTMK)@?~UddS-lmd6_0w
z2<4<CN9M{LrR%v4pp<NbFSUiazbjBk=A)3z;K)ARKAh~%SQPR}<ag$}2HRKQEs@pq
z-L96*`)!IsQX7S&0y)oOR8ds;0+3wuFbyq>{hKQ_XB>esm^xe}F|wk5&PYF*`}+yC
z<PDz4`*6uG*~)VktAs*QmpL~r+*`?>ZeZ5UB3mE)ltVcKj)Al_+uffTH{Bq0b+GM#
zcYd6+=6Sjdx8a{Z#yRqdGpk#1jM!~zX4{Ae@5wyBnDP4t@8=V1K2(s>5ZBA2f>iXJ
zu{Kc7;5(qTuD~}s52wf+RFE0gF`VtEdWJCT_b=-bXe6uYp6tYTy5CdJdIH+WIee)%
zA&%Up+wy|BHXm3$ILZA6$^WXnYO5A6tB4Ac4xeidRvYrlqoDU5q>*z<)uGGN*1JK;
z84sizGzJ&RbY}f7^7gVU^LC?C)CuBRGs|%@%9p%l$Sjw%T=$m1Ig-ormYmNAZ+goo
zRz`CDVBXCy93_(1N;gVJS1O*6Ao&u~NgpBSKVk086(u9xgq2roCJg?`oSP9aT*u)i
znZul$r6?aOq(A6{b!0+e+XOj#y^(2!+gQczU^RD=8Ne4v>fDkFlhw|m)N59LKc%Dz
z9_9ffQc%VO@;GKKmBRPcoZk1I-1l2^e&zxf^xZaB@SQ>(*~9e2t>*T=Rpzd~Ma%@A
zY97c+bc%0~c^RwJ&At}o&1<2E$RxcY%mdEK%2qJ@F|Nq-Z;W&l&3?Zr6%Lb3OghNo
zf2DLBOZl(h&pyZW$KB-Icd&BaLWgoWE9p7#{YJq0>&|Msv}pl}n+^U3#_j&Df!+SH
zfdl>kQ*oYhdBNo^CY)dXnE!|09*FwW2TXxVfwX~UflPrmfy{wbfx>|ufg*vKfii*n
zf%1XnhH`;?#=7uY8wG}h+67hy{tC<rj0h|YOvS4{H?StKG_XCeA+Rg3DR3%qIB+F!
zKJbv=d=_{bco}#Ra0NVpct9HzV7n#>W(g(@mI@{d)($2Hw*`wbud`}!5c7gZ;-8<y
z6pLYa>btS~X>7Q~44j;yYzCVlxxsFDt~VK~(GIqRv}^=aRFG+)pY<8Y=j3N%Xc=Z_
z$mD|xp@ZzV_OS0-!EB9but~<?MHvmBq_2Kn=uiDZrUEZvpSB!c$qr}=he8#Zek1q8
z3qV?s`{Y=_LT0@`q$2o1V>SF%mnr<31j0Rdl$Uj-p*GaRlhQK0QP(=WjQ!zaT~AUA
z1L0Us3wL2|NC(~8a6R3A2oR^k1(*t)kEyDuNkCxAAey3qk10mpYcoY2Fp>2p`_;?Z
zGE8T!6gkKqcD=S;WWKhK;uRPUm0~bCoqpQ6kv~aZG*hS*+fhBvKzV%_NzOhw2CyVd
zKIfYz6@HW~P%w%|FKEg|4{2({0`0(FyK{88rVCSndn-AeNt$8NewsPa9-76<T$YBK
z-O=AP7o)i~Pn5~PiX6veV6`S5^{8#J7wT+G1kMAgqmq)**{`n4<eM(BCF&lr$?CsJ
zq|AwRM*(R|E~h%gkK(8wnVBCWXK`2tLUEO1G>;WF>I+gYGPC5Msy3;Z)+A(lLl_wk
zv2~KdENQIT8Lx!fB(LhB!Yav%`jJufE}lm9S;^o?aSL?T%nGmM22*dY#7n6T#cL_N
zk|pu(3j1{!6K{IJD(Mto1+QeYs#5&4!i<&Y?W7@Zqe6%I8cU^q&0qO4mQ{TzRz|7A
z=r*fk9dVZQA#pU4DK}#vw9Hih6`QT@8=K4g<E2W;nVY&yzLD7_C1O|AIbzS$>0=+1
z89_;zf)kGFnE{-JM>8i*lY;Pai)b#BhB_ZD2S>M#W;K&=rlCRo9i6P{7oDvzOqxfx
zqE($FRdpM7$$RoQUr|Ehny)ZR9z}913dl*ACC4DN9%Ay%8Z@vK5Lzdb;_A=jo1T$5
z+UC4+Dn*Wy_PUJv@kA>`ero+ta=tL_M$X+_fUL70^6EO&j-{|jriKUTCXgx{6rO^M
zWHGPkT{x}|^Xfj&JnZxENFM02z$CHa%F>4YIuCi9&!H6hm!V7~+VbmfgbMMl`3>ht
zW&HutZhIBlY8|H9G||r|dow-Mop;?}RFF};14l8Jd!oK4S)1mh<{H8>sf7EhG!t<0
zK@v*DRgw|HPzv73*3bi}L#OqsP&Tb2m@M=mC<X5Y-$HkO6TBIG7Q7mK1oQc1aC2}^
za9waKEa(NnvB3$!e!>319>Jc$=D}vcrokpqqiYAtz>h8fO*(5Zb1-8teb5v%1U&&q
z;A`L`DVuwN%N(c92Tqc?*#@tASztzBa$snnf1ocpo8E!$91EM1x2Z|qrYe^T91-&e
zvIP<$T_+DDz`Tz8Lw>jar~fm@(<lCW{>%O|{<Hogd_3&m1vh)Mf4P6He*u^A{u%y(
zOe_0?TkZUP;YxM(S0+tUoJ&rB9)D(k8WJ`pKf`!@0pBMsk9-fIdtZTLb;!5Dx7jxb
z3ivqKR>OT`eS>`?eS@f8FvOetI{K>m8j`4~<tyo{;LA(8CLP((<i3<Xz0crtNgl}|
zxul;kwLVH8q<7LA>9O=sVQn3j4k-Msm9V&GNE4+g5W2=o!=<4xyM{<Tq^?p6shiZC
zkJZT0RFoP>WvNn9GpRVKn!?fte<HJN(nC#8Ej>y|CcQ<=a3yFVkVMcj7*E2i-b|L4
z-kj(er7Rb`H7p0=v~R>8vX-;{LI@<YyrW^bPlQ4;jhVbtppZ;}Ledz<YH43x@BD-s
zq;5)iM`((8r+f2xXL)mZ$9l7Pt9X-p3wRT}DZEjSACmk}PlETYr-S#Nr%A#s&sED=
zkJEC-qqiQzC9(sBV--1?RZN{(;%Nz0trf12R@S+w9n;7kk72Dd%G1I+06s}iIzSyf
zwQ$t_ur%;2w$$)^^OW^;_Z0Uu_vG}H^W^j7^%V7_^3-Bp%|lPzohm_c=SukMZby3N
zjr9Yb-Iw&FUf>UTL_Kk*VwIMGsWn-kkz}x4V`lFq>Z1FX^`?8K`MNu!<)V9_^@O{V
z^{D%xb&uPGKiFm6>h56O=5}(OgI-t`+fsgK6TPraXeB3^^;^)>o_^OL+X45VtOTps
z(tEa9zqp5cYI`=j^I895_F-f9L|YZ60~B{(uoWebBfFOKp_t@n&6x$&Bm-T#bT~}X
zGXF+~ml$z7tARGlT|PJ6K8G^5F$1}r9E<}iU~lR!Vju4=hVP>)a~vDleW)W|2z@Rb
zC11$5pF|be1g~`?UB=xgBkPzQxd5KY3?|@=axKSEvY9D3Tk&o0$G?3P^51!TZ8A7@
zS&O$s9qB<=bG+*{9miL8(fx(a<ae_54l?$BW>W@GSk%HXmqBP^w+P4Vf-u#dROoC^
zA$+l=5&m$c7erTfA-OBBkk^%880ab_bhj51%t8Tt=S75Ec+o51{HP@?wbc+7*cuA?
zT+Pu_THrqEAnbDXglO^?Zj*uZasP%YFp?dLT%+0NOk~$G6YXRsec$=$CQH#x){w%H
zYn{-^xs^TAE)qApgci6?nmG^9M?NStf^bsDd72qG7lmp#PpU#Ssl-03qVpkhFrEoz
zoG-b4&DY+bwR|F}^Hr!%QfDQ->#PZGy!9?&zu*xb3cv8Cyv5spTL|FXSBZ-Sz1ToV
z5cdkActS`fp0%eELsB~NmNlbz%$Y?j;>?LJrGS{pSxmH1c4u)ho3o@?(pg^I2*V_U
zP*a>E)Dk-h^~G62197a-SkzdWh`*ez#L3Qf;vDB6VoP^-aV88C6*Lc*FhJZO3>Jq9
ze~Z6chl%~1W5fjKICu|}*j-K{7c?D}W+pX@F8*wGr1Mc^7P6aNj6Y=wnTh4>gjcdl
zUdwKIBiCEF-a>|F8$0Rk?67x{+t`h=vKKbSK6c>y;F%nR1#%cw<tU2EF|r^h*sY&p
z=YCqL8tmw0?uN|YsGwwX<Xp~mC6iN}Oioc0fx;*QaxSNklFfPWf8=xi&FJJpRgf!(
zlF@nf-;7RHC7<(7$-Kz9mrP3jMb5x{R4OCN#s68KQ7yipVEkKOx&0M&<)3T$_WxJO
z-%rQy{9EZ!M>6nl%h?+_ck@sElMDJcBlK@x=$~u(Z~Uj^ERn4A$R(>j|5jEdcO++!
z<ohXSlAdy(pP-;TMnRDkq=)~ld?+e%6;K{KIoos#Mddp4bFQJL$V$~E)Rgl)=CYb~
zn&;pIxt$XzT(Zh_oczvFo}a@gU<Y{K_MxooQ53RfJl8Ey%v$igw?aLWs~tY1PP{I<
z@cQV%YvoT=7rA=#`jM+I3d~=;o(7@73_)cXf!}E)>dF|$7!;M^s40U{QU;J6>jV4b
zPjNA7-%=EnrDSqeDGFdGII!*TOSKfY!9LlpI8qwoN@;*{ScjZiExcFNl{$gCB0Ey9
zpsL6-gyp*H$d3w{7xqam@tGqVib@s~m5eBrvSOK5VV^iqRb=jo<S?Of>QOu6D4((d
z8c_HrfQSAwFXsbl>1&jh*JSV>p`<=SX}OQ8dK0zfGAipO_(vCn%BU?>P+x0u1d%6b
zHAHb~;oQI!oi!*gONH*v1@KU2qu@?fN_L`*agN|9HCUK~jxv`c*+OSGG?k7xQQG4~
zX@x4>0)A5?RO0%m#kGXP&Z@!@Ja^~t;9YkX7Ve^_$aT+|8+|2*@El#`jWfOQ*_j+y
zN^<g!7PJ*JQ*sRGDlw+<MC~S*N0~$>Ph(FBTRRgTz(l6z<c3RCoMXD|MyWu?vWn{n
z8p}?O_gkpVWObH7dR@w~ejYQ1XW}rN4DD5(D?Hpj5l6}-be6g3EX!S;nVQpqY-cN_
zc9Zv%8Cu6t>rc2Up}mwP8(J78KfC=I6xdfdAwQ5Eb&??sktvl+?+%bR{R$7|1$xUZ
z7+x3AT8`Q3a89i2-f3$|YNr!gOE=soJ>0YCG)yGDGXdi3VCKnn!<o_yS4v)(C=IR4
z+*duz+-W_V+|S(y-FMwb-Pf4ObJKkfD#}x+C@<X~;G#I(-`tYh@78%#9>JsaB=aPA
zGQvj5<4NK9&6CD6#FO6BUrG<xBo~?85}v8nvarr-;YMkIE2Syd?MUx*_AF4`DZNPX
z^!H3co0)(+Ww3QVU6~coU{~R6-3BXV4{MYIN=CRkGl<Js&wEN*FOeU9j63C-Cz1KX
zsnKW5R<$zO?=$Y%_m&Jy{L4WuIgj@YOt<CeGQCZ8p`o<)4)u2N_VW((_V<q9dIB{c
zg32bo{>VGgYxhkgw=<bs&lK`KbGTmOEk++I8Jzq_31_?`63%(EYOZ*zO3&cLzVTW}
zQ|sZSBrshkxn!5JOPQs7QeLSLmr|@BD@xU+3h-fTvaYPd8neB0kUDMbLxN`nn#)uO
zDhs8@<~5Sjyj}{M_jCKS^wxY+`e=S3Z8X1;R+!#OBg|fD2_3qXM!Ro4gxKc3L{`C>
zeWgj1mx2>p!B?EB4ilxZuZ^!AYvc}O&wKj*fRECJ74!h#G*;3JeUsqDPV%kx&GhYn
zm2$ziky$!NSbZP&nf&K`2GZ>s|6`xc|K6A2|KhW<I=A?vaAVD^*OU13l8*n)U(#QJ
zk5&B@S=HBJh2O#7$KPA2(ah7CMRtCbe;spl4*D<pufmJH%WmN_vvz*?!+v$Z7D$HT
zl9S0fMNwVK2C4-bu-|AJs2yk(=s@bfYhX}d03?9%5CLSRWn*A(U`ya&V1M9r;2e9H
zD}gtGCu|yi2FyWsAR%aEc8)-0XWvsgSdkezRf7%K5j73A4z>w)4)zTWWWO|tUDJ}_
zQl{vvVHdTR89GOT$Ag!H*Mhg$X}t`-3w{kcgWrSRU?8XsnM27#)=&zj>7)u}3}p}H
z4HaRcPSMbBp{k+sp&ERw&&L*_wxOZS)>*<-od=;Yp%>c4p&H>Wp~uYCafgmF8R29o
zsJ%qu=LLy`H<YZh1VTE!0hPrB1to3xovv{BI^2iDurYV&8l$o_W9n)PNGKgiJ9MJD
z(v|NWo~`Q_o<SO7G@bfkB!hbB=0Qc-g3@v{9Mql*uh(7-r;a=e{|Y;qucM3DBeqEL
zNMa;gq<Exsq)en-q*|mV^L2iYG-a|*S7z%BW!BED$ehUR$lS<MX6tN-Y~->jvOTgh
zaz1h)aw~E>@;355@-Ffr@;&k^;*W$Ps;DlSI+{M3E}A)-Et)@?J=!pu5A`Kq^p>U+
z-jj0Cv+zmx;B?re=@DJ5`IBUcJa1<TX_Gn8z6#595eby_(Ke_s4K(|r^%U0WBSnqL
z#l)B7&}8LN%zAkgF7%Wjii{hw>?c&2=Xg`@!TvbU6y81Rwh&W#LQEOMJmRT}B2!Df
zJLXrNgdBS*mRo&;ddqEZOs%#tQzvu0E-sMr@p8CA>cpGi5NQ=}4H>09x=AmTnW4~8
zro{&-H9!6*B-ys8GmTZ}p`=_#d$|`cpiolY!9)2FPY+c#xk~2B$|dK4QmVeiv#4G{
zNqHJC&u`UH9fU=@J>Eyj1C5DKRE=Pc&Y$tUs!ggBs-vWm&Z@4euBfi7uBq;;?y0`0
zK9gRGs`Q9vHu6lO+OE!_&ZaJ?&aW=1E~c)muBfi9{$1Tx-A3J6-BJAqS*SkhuIjPe
z9><iS3F>k1b%&u<^}wyul}SV`aqhI>k!p;Kr%LRSx@_#ax+D{e3P4Rs6LYDP#*9oe
zO2ea`3j%E^%}vO&S0JVwB)_$TXUi7r&DZN`a>pJ*|GmJpogFA^9iw|Szw<nojow9h
z`@r=#W=(rF*EJ!{FHKZqQ*vYJwK=tgwFR|hwI!+Q+8X4`+G=}gdnl>13EJ@_&?af;
zYUhzgTZQv!mv*;ykM<NvwTmRy?r7g>pWu{wruAy~Yt6b%5mA>rl9Xx2iMnU-RBnVT
z;%2GI-0g<2Ra)uZggfhgYWnF4>xSzb+Htyb(b>8W>b1JxB3pF}Q7`8+zk3dPPeX;T
za*@=~6Vi7s9R?izw@_03YbNU4L=8QFrn8pGIZNQ9j6uU0iiXo4;!&H>S|~_+^c6!V
zNdcWk!?{iZ=n1;bD}5mN17h?q{phe)|4SdxTMTi1dV|SO9Jg9ELqS7pLuK4;B@81C
z4Z@2c&+Z^^xYzJ^@I318b;AHArK@!>aL4_`E$21-FsO_wV@fXRjcJUDT(TN-8}k^8
z84DQ8a$O$BT@zy&e0bH2-HrK-z46-(GEUV`H7>->@@HVHu_KNaIT6%2aNJmj1ZC~O
zHJmLEjYXMGTp;j^nL1t)mSLkUU^Qh5Br!D$q&F1}7Bt0;l}$xW%}k|DolQ0I8um2d
zTET%h$u!qA%e2U}7)Rm~(>l{e(_Yhd(-G4N(^b=DoQqdY4^4MWFHEmY-%U<a)D$pj
z%`uZ%DUq2tnazdGIn8Cwd6<e5Gc`5m@wYIar5~`yH`F|X{=gX0KO=Cf^!F___x3HP
zf3QVyST^?U#kF$CT+MeH?(9A0$34T1`NEtX?yQ^$vf^0Lk_3v-pZLbq;^#~&zClX%
zI1bO9%B;GcFj9u$PMM&%KnF>4=#4B*Xv-wx7Sc{!Dtk%a9-<CIF*}}6TRN#!P3Gd2
zmu^#cNd~=Qmd;yd>9|pQqNqJ_(m^Im2-fURZw|{>Z*EdSMJ$g<1D#`%&MtT<8@)Y9
z2LH|KVZ3D&y`K@@**I1fTK*te+{U{T3jJ=}u}4^s$gJ6ixK-ZZrgd17lll?irC7Z|
zOPICHHz@a?=sUe-jq}u#$NJDyKyl@sCH1qPHPJRSoYkJrkn+3W<{e<2g^Oi6J*`os
zq5t+wgF&|dzU(sGEX(22ZH6y<2u{i=94xnB%D%9s_k2`(XL^!88hU9S`f49hUY?`E
z+;<lw)l<%P7WG9gnJIe^_ln$;TSISdK1$4Vl0N@3We4JL?#cR6=Atygxzbpvowl0H
zB$nB-RY?2DoRmWD+pJIT+VU`$I0u?cBAQHUoGhtuRws9Vhm|71Nl~G-Sm6F8#lez+
zUSn?DD@Aaxl*O@9)4mHmW+Q9m^*FefpvlZ(dctHhnGt9*!(HQ<qcel`_H4xo-qE#^
zHTWu~E^M_ohKW)S*Gf(D^<|lMS)9qk`RI>k!=;j$HGNw8rb+3ansBLT;h=<=VdKS}
zj<m+Uz%G1prltogPuR>rUsh(y<`N#TkGPM!{T{vAYxHeTJ1Yo>V9D-a53&Ic%4%FH
ztEiPIFH4=B=>d1arP7B!@n1MqhAR7+(WoyY=ot?t@6!**N>ArJoGJ^M61oDlWeq&p
z^{6b{6z6^wGCsfIR*~7Uva`P+9qk<Kud?D;Nr$?U0(Hga{3RGj2WZ)sso<alnJny~
z8~(##qcd*9g^~>CNh<bv=}8}CWY3p{ZhCI<8hnPUq!P}vFFZ+xNAAEMX0Lb<7s@`e
zJUelrY-c~YjV#Yb_L%=n4{paEv@`qBuIx*Dpnvpcui766z##UmLzEg1PePs^{Lkdz
z(d=)>vd^8ses>c4-YK{Yrr<b`YcdX$X=o%f(MaavN|*=tViC1~{qsEb(Ti{`EI}(-
zg8O78yo|N%y*E-@aG&g8PreJ+!#?)v2hd6mvTr}g{{0C1_>*WQr>V2-?awnK_kvQz
za7+|sk6#D}MFIBw`EXR^MFWs4H;mX^Xel|+3*^d<c90znL9VQ53UXyeV~{Hm2Z~&o
z&>k|OMPx*i$nd`^J-5@NSENI``2VlB{EYl_^6$Q)<T=4F`TP~X^ZLIfe=g4t&cOeh
zfxjUG+QvWi&+UwSE>|Z0-bDWX%-oMG+^?+M$A9Vyy3a-G40V+IwvHNvPSThAJCgf7
z9-U+)k3mZwk5ssC4hRJt6>Wtaf4B-c@;Hk)9Lx_2GB>ENv$!Kku%ts2N;_%`WtpQ?
z9$lakuB6H^f2;A_*2ER^JNiW(oFaA6HX8E$HN;uelxj{+OMX6EQ|-{t<m!kH(uw+m
zpX~}SxCgI^p2}-t60ebQ=x8H(-TW;M=Jhok{bQ7)jW`xvV<P&+RCJ1Ij>p1m$4=V<
zhuyQ#am2aUQN_80zj>L%>saZy!DOWiO!c{;Ocmbmc;z_i@GwW%?>O)H$P}ixj{D3c
zdgur-{U?d@g`=SJv!jhO=&0{Z>HL4FdJ8ZquC;5sy}PQbsvCC;?i$?PCAdrQ;BLVo
zxVu|$cL?t8!QFyp+Fky;nsd(k{i*920|qkF)3x{7Yu&4uqqw7lqqd{1qo8A;GYt*o
zsri{shu)A5ogllThNqn4l%tAco1?rVxwF2bsk4W}3!!<ZV}N6@W1ORzqo1ReqmiSk
zqq3tS1m|iHoNGJkI2t=@I9fQWJG%3cQT+Ki%o2Xje13fczvB|W=d`1~W51(;Lv%KD
z4D&Q`40ktk<aM`nOj0^HGU8^tru23wGM`@>>Tvi*JBqo+ILf*HaGbWF?kWo$vy|nI
z-pX3XR%Ii7T{|7El*5i1;xR`)*Cj_S=Y2;`=SxQ^XNW25Oz+(9{K*+|mUnis7UtPB
z8+pk55Mi^TNT-Ajl>;ANdDknYhw?z#ul%K4<>d|1kyn-3%421Q=NYNYztJ$Rle)Rc
zbMhHngeR2o=-)k=-uO=j^BIT2kR1i1Y7EcI(_zOh!(F)FIR-Dua3zats8Yt=TX`aP
zQgSP8m3&HLrGU~vDa7PqB-kb~xs(!+3o2jae9B8Xr}9=#tGtj?C?{pRvR1Y+veHG?
zDFG=c*OI@>zsMit*3x^qwdI){lOD^h<(u*l`HVbQJ|eG_56Fw<&GKw{g*-=ID$nG-
z@$x)*m^?%7$8?jY%U$I^<W}-Xxt=^wE-U{gmykQjx%jNI+)#ch)sXW_733N2(sBWJ
zQMr`6pj^hCUoP&>DA#l+le@VExe+Pa%5>G$BUM|D#7+_JyJcXMRm4eJiv(_S_XY0J
zr_etB!lUvR9+d;!zjt#V|C0poI$WvCq{$?B=An%&BE7R27TPfqJcl{E*~b~q4rYtH
z2OsYt?ct2)DD64tNb)=&#q-2nnwFfR(m(FJq=++-;7KEyJ))G-qmv47ldXV%<rmf<
zJxC*u@tm?QWqoo8CjLVbJ9j-xP&}sKRhekr;u&n+NV<6szLkTVP@TrRa>G;4de2kE
zdW*S-hvk{4P$DJm@}$DmYs1}ZvFf~ftC7R-lwJp?W}n2Lyl+`kJ;1Yao%Piv)?No#
zk8LKYvyc?eWN{`P0CVXnT<PtF%ea-e8;{B%Z$lD0wZtoURMa)zcbv%%$R|F$DFz(N
z7GFq6=ldk&@jVerlhmn!7p0c(1WBE}LJQwcp*5bAUwv!wq^uJ9`4$O7p`MJun=+mC
z=OWr0H{zn+;cHG}r#8fs3N$>HgnCj0>PdFtn=d6E6}#Z_DG8s7mc+ZsAF?F#CqY1Y
zL389i(($)(a9^}k^Phx-a?H|@9tO3Gp&iuNu25t9k*e?SUw{LALc$5Y)Zg2(oSw=R
z_*ORi+gf(`TUrkJ>(lj67IJJM$g$Z;>}R15A{`F%RHXPNixIGA+CUQY*!Silffwdt
zfoJqeTsGGYoW-GXjQ-3Wtoyf{M+6p{{|HPn&!k;vd7zJZTcEXhZ=kXHc%ZuZT%f%9
zA~e|x%<Vv7^MgP>^IIq>9|LL3UjivGfSb)Bns%%~fXnn=WDLGF6^2ZpPNm=(Q?1}p
zQ$uzxP1(UT3+|w4XR)bIaA9Ipm;RXGWGJ&EOiP13O}p^2oCsFO&r%dJLN3#1+IBt%
zQ=9$`CO0{P_CzO#H)w@AYcUx^VO%X9&cojsbB3NnSGmVo`59v!&d3`;plub}#yR>@
zIzOh;wlfGfOCRGFc$cR_)p4+tH$H?m`wY^<3!E%pXh;1wl*Xuq0+AjXL>2aVSHl+!
zLk!yt9St1}aZL>pIjtiqTXwu*T!Jy%6?Z^0@({%h+rqUY`@_$|7nuj)_u+S8ci0<-
zP!UNM$r;HQ$xlylsYs<r1Nw;vM1F~!rki-DZe*kqO|cF1b0SS4U$oJ0i2S18Ps`3#
z94q&r%KjZOz!ZHMcSq7i1CdlwTeNuer)b$|(P)Ke`DpcM&1k)7gJ`2@>uB3(?`YrX
z$mrPU=;-+9jOhI6is**uf#|X5spu8vMf72`n)XT5rgKK)T6YwLWb~Cb9=(Z1a#Z^h
z{L~`s{F~$7*rx3h+XYj02mAkZ+RivRdXn538Jk4+PJgt59@-T&)a-_~suEXE{*Nu2
z6(0++|CmM_kA2gmj6c@oj{i+^=bWZOe7mL@YDs5QlA-YdP+xnI-07-W7XKdK6+ad~
z62HWCi|Yj!)rROI22Cce99$K+nsW8z8qYPKYZ=#Gu49_xXdpK<Pc%;x^Ih|=#-VX)
zOj?W9tQ8Vt(<akqM+?c17E)eYQTt1R0@Gako3^iZpmvaUjP`f!V(k*`2DmXtxo&ek
z=K8`F)yA|2ok5p@t2kFpcr<Ofx^Q*n8o@P=YdkZPYaZ8nuI;*Qx<k5yy3<@2br*Ek
zbXRn*b+2@vbRTsAolj@d>-EX?HhngICX|i>`f{YVYLedSpl=0Frwe?YJ}4aH^?&Fm
z=vU~M=y#CqI!?~(F4rfn&-yR=pgycO!t6;)J}jppkD;8QlA#K0pZbO-q{x~<`)Oxr
zYv>OBr@x`EVWeS-VJ_LT^`y@>8a5kt8g?5F8ZH>F8EzQv8D1Ga7~YUsa~gbxfFWWK
zjIvQNCMVUFnT%U*V=-e1@@^%Km5o)64ULTw)7;pSt2Jr3_QoE@UdF!0{>Bl;QO1$v
z<mMRX8P^)u8#fuZ82>V!G+s1bCS7;k_|*8^m}GPqV_Y&$wRBwBxN>q8Fy%KDF%@D8
zn<|*fp?p*})gj4O-&8k|>FZ0<Z?I{QX{c!k*}t)-$)-uB`CQ9QE64`!Go3b_F<mp=
zFugFnGJQ6EHMvkkVkWKGLatCU+s!G_M1C^oMia@+RluAFRivo7G<rx?rn<Q%>BKr{
zBX!KJ&5g}nNGuLDcQ*gdTeJ9+i_Lk1+sp?@`m7CHGEXPj(<bnlq))`G1k4sgK(=T(
z%JTWs)5r4@&%=cwrj)YW_E#X?Q`7R7zqw^A&)Li97oJX<=Xbh<NBS4hExdt_;XQZ{
z4_j(lE}@iMv23(lx9qaqLnV1>*=qS{`EE|Klrp=}RE)w|OA6t;CAA<6`30*`ScqE6
z3ZE?1g%jo`LMF5kAB2<#cqTVONcn>vp3&$cJ-Cl`;(pfDcZ_@6d7%X9onpSfh3xn+
z)B64uL|;@0l3)#ZZDJCHu$SB?A9J>F7y9}&Zxy<Cs*C5ihaQB~z6<~78gE~5sdqSM
z4}XYbA&(8AYp1_=qu9xNNNi2dP92gvW$D-{ivE$+`&~>45k=<}tU-^RdwX(gk|(Y8
z13uLk_*EZz3PMCFNt19@{H!%0qBMga+n)78$AsT?8d}IOQait~p6HNB?QDdAa?o1a
zb1dPNEd(<*7o7VXaAPw<WRvLIQT??pw+;Ox1Nui+&Ux}B=ApX)&3{D_zTB&<Z7xAU
zIhkk&{Go@eqe*Zj>mXGNnF0mn2QzjWTF7E3C`&nOS_1`TD-@JNQo}?_`Y1{1V^R(L
z!qr)aRfIHG$o-6TkE)HhB%9kO$*kMrE>nVp;=twd8hYJBS0NlOWpKAt#Gz6fXG&uz
zcP->KbPFtp8N0wWfF{MU@^E?whQp2RO%l8-iSSl*5;S$~kZZt=ErVC3B%K9?Ij<`~
zf;=xiY4!Xrz3UAgm49KzQmO3Jql4H;^Q215b5cDIoO#egia<Xp!#QCM{3ne_?X;k4
zr$eG^XEw>5X`C%ip;>YQZuMcTuhlesPsk@7S#zts4J|mI`~@#~V>FT4tjlYWrmxQV
zrFxcG9<O)_=Ov{O-4FRl^yK4pZeC|%ZJ(BN&(vroX-MWL$GegWA4^K-9p1jKq<}A*
z3`UB9<h~Yfiw1o~;op)LhG8b&&dHyv279&+f2Jyam&SNqQaV%FUOEcneJ_V@QU_mr
ztHe3(D)f>?^na>a$xLViYX8M3eDwVt(`~;wW<x7jibH<|`p60>2J39i9P4e3aj4YB
zp;8%VN-55ii$Xgnh$|&8XU@5Bq~t&|$wB{44nCd(Z~jk?`Eo|baAyX`bVqu2Tj|*6
zrE%nSBzI(XBy*&7hz^M{J1jKpNRC(%wT4N0huVJXVAuF9$(i(#-S9i!ddpkSlU^r1
z;^hNg-exa(mARaBC+S?$O?rGUC7nz<m2`wX=K-32_az->7kVIRCoi`$TatDpZDen{
zA!%FEI^J5z%N4v_&b2IQY0{FUg-P?17SSZTC~11qVp?V4pd_tInw+$re%bBx%kHNO
z_%!{!r;`Tocl1d*o76MuDV@Gc99@zOWIVc|qD*ABJ&#@YVtZ?HJ}t=i{KD?P5m}H%
zxE1P?4XKNRp*HGC4RRyZQ3tBva;S`QQl7?_vM48IP)<stn3TjFQ36Gw7^;anMR852
zQ<yAILDU9y^7HY0<WlnSXY--N<mK<mhl-OgX)JH|XSy(pZMl=Ij@<k|<>LP!N74k^
zgKds%NrRQFWTrBs8fC^YkqNaYBUz-3C^;GU-05+=q(hZSiyEU&8q|(7iPujc!#-u6
z{clq7{*QUa>;I1WG4=O8W*#yB{qv6#pD!IBOV7tLB<2x+@8iT|=HpoywUsy<&XMdW
zEIDzH<mTU#7bi}BrT|kA1*s5In15^0|IKyOCUvf%K3(SPc!96!1u{G55?|j6ysp64
zx-t$E)oD@<<x0)()J{6U_hnz=`_mYeOU>^z!%@<LuSc7tb$m}(^8H<bda^X3o^(Sw
z>yAsQHws%nzSaZz8V*g&2$Z+s_K^woq&E(ejwmS2P*55`9&SQLtTk=dt;mbDAh*+s
z7VNgDc^#PcD0^+mmbJoZ(v-YTGnBu^a8K%^2&z*Hhl!fkshG&>oP%+4g`CcHl*H>$
zmG6;pd%*mS%J>A8<|P@O4~a=mCeDr`DL@iZvpOayusX7Haa%YkVv8mDYzFdnB4bU=
z7h5t~!BdjuNspf_tK$**ynD8MjvFYU*U0Ui!)JB^kJ({7W_wXfci}48#xui46x21S
zsmpBL9P@ehn2~7L8G_es1a6Y?sIZf9luYGWW;U*pc__3?;hHRWbg`{K!QF_GyUn4t
zf;GfdQrmU_b@vcipu@E9{6$9bg5zh~C7dN!9R+PS96zB7r{)<=vVDLI^_BK@uj8BI
zcf3=Ajyp=kv0jNe3i1rOQMNd9cx=wO&ScIe&J@nl&eYC=&a_NAXC-GQ=Tc`LXG+xR
zSrEII@~pfV^3-fxgmaXZOea*6PB;yJ#a;3%uY2%o19+AnhQnky37)a2DHEAVFi&RT
zFj<7dWEI)YP2456!OJ@6tV61&Jk2}h5_gfysOz^9?vjis?&)xsq*Xp}*HQ00|B~tn
zINh?5J5x&TR@rFQ$&Z_)h-(3E%Z1DzwC?mEo7#(<>QJcYqvf`+O}caU>jgFaHy9^_
zxGRo;4>l4`*c3P?3tjbTrE5gWrwLOZpJxqD7RqtTP)0uL%Ew(bFI=%a@K3VIf4ee}
zp-sujgcS~%DZz=2yZlhy9o(7!<qrKB+WRLdHMIAfq<`{p2QQAAqB2nGy7%BV*?`kz
zH3^`VWO`@9Kbc7b-&h<bzoVdxl5$DIrQXsYX^8Y2Z*`FROHFydl+;#AD>afVQVq##
zttLITmY2R-%Saw;QQj{qIjuQ)`zPsNYX<4FHKp{;YM0(wjnX}9$a>BC-Fn0N+Iq|S
z(0a~#-g?w}(0a(agV|)=Zk=u2X02mgXAN^AwA?d?lcL$y1-zccOhRo@N&5@PJg-1y
z+3ab8+ESI1rAqMTidyfp;(F)F%*rbzUSruB@aU|1{KqNCRi|gAmJ7aYZtqR86fKFB
zyyxM|9u|M`9)xqZLF~y2Zve@lao*{y{6>=J?kDcHbQDX7EyP-4U8am!QOqxv5_5<}
z#mr(s(ITc3y@E}=BgBO&LIj$L6Vk~ibd<MHWZww&Ig6`C7i4wL=DMJ{jP?D6p0XeE
z-xgYS)(E@NSvL5_l29KlY=V%o(Kkfc=lfN-;A=u7PXlOy70_3TqpcJq?VeFE`(+`8
zUn^uG2ULPKo|gWnmI21Qtfx=1hCXT8$!dB#jFe55ZJa@Fvn;kOXO?k3ISn?-D9aGb
zP)j$i)|OVBVm7r@u~f7au@r!glEsqJqF8j6usLLQncthAb3HI$H=l=pa=^UZyawjU
zbn^`JM2IKD&Hc@NV4ZYk7tsvPNdtBjRn6ttW8^aDVDFL5EVCEEX3oyUZF*yRYkJOg
z*>uHph-(YidagxW^SCCOCa}{PV(Mt>U}|P+%3i3Bsf?+tDIfc!9Hv|*n<*JPD7(pE
zq6*X)Had-d<41N^myA!0i;dTeU884=N6<lnq0M+l<{OuUrWsd2nOz<l$n-a^qJ`%`
zsD<$aEj)iQ*U1??qZi~WT8J~0)0i`y#rWEg#h7HU89y3AhKKAC?-<@1j<H|dZ#c*9
z@ucBT!}bKrWU^r@ERzYaX30n}J>Z#iFmz%U+MM0!FYHGf!8WPQ?zD!X8dnvr5{BZ2
zd{9oZ8?qUa8*BzUj1wC)S}S{6Gn?)xtP{8XE4$qnT({Wyp44B0dU6iN$!Vx3JM|0o
zi}hplGxRNC(zezQ(znGQ&{5x4-&x;H-%j6<9d%7;v?cW~bva><X2fc5(VL?|nr}bo
z8td-q3dc_9T1EfDb+T30o@SR{$pCeQW!jgf7u9((9M{4Kk|(1{pv-}SvNGCTw;E5w
zLDDIg;G*86arZtXl)oXMe2toLo@jO2*f*MGzG&0O9^sX^uPut>q+;xxwlZFdCb5-x
zD`snl;5wNW8%P$Y7g?Zo+CO8p$O6^So`_Y{UWk>)fs#x63=+zxSW0q1B1KkFI(h=M
z2Y=P1PGp1LKt)k|dTwY+#II^fp|MnqpVCx|@6t3yXX%>A3XRoFjCa?pplxSeyg6Qy
z3iwLOK}k`&da{uW$^a=PC1hGciT}$BslF7ISNo7wpIh-_niKKriOkU6cw-uWn(<kh
z^VvFSR>yz+-^_=>GA=#=WoM?QLwo~D&rbd&C-|4$fL41)Q!sv?_T>kO?jCJCu5rg?
ztutmz^!KRQq7QIiZlXV3kClK4(*QP12kq?GVA`IiC$dECpr!m0+s#+-G{o9Vi4Npc
zG$ZL^F?1|h_ad5IcQsl{cP?5{cQ{%XUQO#n_wk(QAl+<;!auru7SP|bfbZ~XUH#}m
zJSa!-99`BGf_sxc`Zt8yx4KMZiPF;LV~u)s)HCaoB6j_UNCy2K8lKM5=W`sY%AQDL
z8lYP0mqmJzCmNBMp=63WMb_#&LRM)-|8dpGNquEnqzXmu>I+8h>9a;&>4k_-AEVpn
zb2yFRLpZ(ReK>>R4ei{I$QqpwSD>Nl7aF{KqbiPvqOz3E<E4i7;f;p+cuy*Y&l)O_
zF)9I3MV%bs=Opaj7&7Dk637~v!@<O;J;*N7cwf*kUxl)f%*#dYsD$wlw3ThNZK-7G
z8DxycgeE6CkVnw#^IK@Ku>%cV%^|Ne3++nuA^(g&<tN&_QiZ<J>k~1$f;Q9hU{2c4
zOPVf{F+3iuZQ4VR&nlYI=R&_81qFLJ?dgMqbI@~_n7Tr#?GW5#YD}Y8MVu<-f|t;N
z@0oH!UP%K@+XSUn?M42MZu};Y1<FcsTFT0r&jhMKTB(c1(!jhX(8ate(AB(>cK7*#
z{xq8nF%J(+HxCWWH1`TDHMgeytZ`s3)Y^0AGUzdCKXT^48%Qgkpn-?YY`Y<ZXS6)?
z=d@h)mqZ^|DJ!L+i8rw9_BTN{Z;BSvgKnR}mWg!w3_y?R;9qZP?%$67zSmOSe}Wdb
zo0fu*RWd=X6(Oq#{s66SIzi*tL9MkzHBTk{>q{g2<I60(_2q!Fl23Sq_J5O%>Iu4$
z5BQo1dweY+tn?P<bN`x3H}VAE6zD4R@vAHqI&-gUh$d6ncS$JkyGl3m6R0ZBpw@nX
zBIXrhUK3{(Dxo$l6qN$v9dB_wDy7KW*5F*DK3Yt(L<jN$?#6SygYc<L76(Bs>xoaL
zB|eq9+`+4RPjELsD;D$K67!Kd%ISS3rt*FxbrchWI90!M-tx_p8ZSzE>uc!qPdxd^
z6PK}`XVq{5J?0=T*8R{_)^m2F&N@6Qv!U6Kf~L|7O{QIfcE8736Z(Axd?_XAK`sHg
zEthAMHN9u7kj!(#o5Iu5BYRSN6pz6pctUQ;<8T-8e09(8zjOPnk4Q*gbC;CPx@&VH
z)r6BM)tS-`wp=e9DT6q{8V!f`cT||stiw979y{Xc;GW{{?(X33=C0~K;x6J=f;rvQ
zm}TC~?)C2U?n>^I?h<avJ;EJx<)Uk`gZqs&1&kFpYr>Z>RqnH9yw7^_C0zp_T?1J!
zj-%yxvOE<h${5zA!{Dg&Az|Jd#igffKMv@FI8%<wja+AGhg9b(ER~x$r61!)c?);;
zA9@cy<3v%}vp{fMS`zINP86ARdphMK&g*CJ0q?U`zDWxHI?n7<tfdb)8^Ta&O1ouC
z*4C|*t;`l@N7R_EIJ<kZ_8z3n#_>HF2JLu~_Cr{&_ac4&D-4x3xW${GzSO0qr<(JE
zQWhnp5DH2`=Tjv+3Q87~luU_6&NsAjzJsCi4mITi3d|SUdR(+1hn2V^gwhhntzv>e
ztH-Hg;I-BE4adqChn>lQYbC4gEw1;+jv_c#O0!R?V7r`f#aFkTbu_RYbu@;r($=<>
zJ<kSImzB6v7O*c;n|fwIG??g^Y#ZyC2@i6fZ4i5?feD_<T3q@YQDL^QzuG|-XeUa{
zUR?agP+`=z<IC*FuHf{)iW+mnRs!BaVNw7EVN>R050@EUWkzy9Y2d1)a(qopN}Man
zND<f_ew&b(FnhoV^MkG8CxPIiA>=EJOqHYZl6~dlL~~DJ94y61<&=atTN>788C)zC
z?WbU<9EG2<pMC0{q((IIG-cn~lKpEtxG5cBrgXBeghjC&ePjt~ibbR==D_`&M%rR3
zPJ>A>EhgY#7=tTfRDyRg0~f+fco?&oxwuyrlHyp1b7cvxmF4WaSK?k+!#;dHddmh}
z4Jtq7PkTG|?5)|mH%DV>j>hr}d-_J~?HiCDQKunVO9PTW_0U_?R-W2S9TGsbacQV+
zyVcNMs-P99Je5l5FBQ>MezfykO*G8>;HjuQkelc+x6mAJqdnX~hq#9(@c_-`AsWSF
zw2EhF7SC~nyg<MB|GQQG&!O@TZRLGp(vr$inJE9|prq#QAM=6N|L?r#{r}E?KmMLS
z_l|kX=Xk^CdxNI(V^kN6`uC|W8PzSLx@J`N$q)XCn&x@Qzfnyn{b&>V(JG|23q51h
zRL^7FDk=v?WuvI0vQh4%z1-#hTb<i{4b-oNs<&K4Z@KcHxdbak)v?a;^*f91a+<H@
zX}+c>5?YtaOi^{0>U?i%qJz~*=q`Kt-t6J~wS$D#R&<xmxK}oyyR7B=y9(W91>f(b
zBzqR|7?_XlGMC51EFK%v(O#yYy-YxJ8N*{}1j(?$Xe|SnUOdLSkmzZHw$hl#Urn@?
zIy@$8lj5m`#!{Q91sA1uVz%;nC%?X%*L(Q*-lQtHvMQmultptXm(X3#pu1co#dCuM
z&pou3N4UG5liYd9&&zv$Zoc5oNkR*B;|B95MQx#^Fl>|{4lx&el<#OPUu+8cip}wk
zpTTFgwCF3Dag}9pJm>YZ|LHAxVW;FL!BYYkT4@^1%Q%jrxf~(MbAX@wgUo(gJ<>cs
zw3qcLv}<9iEG5k|2laLe#Ole+Xr5DslQ|s1^GiS5e8+FLh3GCT9PN1iX=&RG6=f^W
zOM7^ZI?8j^sl=4BU33(;U2zoR`768akt3b$6%5(8aHQTrK>3$yIltor&xa3j?;TXk
z&JVKS9OAS(t2mQ8i#Ss<S)7HP*_}T-3owP9Wt=5&x|DR*c2;)Q;dj+_R%dED8#)^}
ze{nW*wsv-Kc6Ii1_HvGP4t6efj&$B~j&d&Xj&l~UPIrD57dX$#OPsmsW2;UUv;jJN
zeQ2`v$nDfou5owx1W~r6E4Pxzol&_frBGJNartlgq5MhiA}7hCrSI|vt4kj2`9cck
zUrqqNl2BFeLGL*Mc)>})6L{#?(OJ&moIH$+a);amK3IoDqw#Y1U<<joO@l8xNgjpP
zG8WBcB29H_2hU{OnRDQat%NhSfqUduR~>nut18+`C5S2&<P*3%uex%RrOg1x-2&TP
z1Ka(J<aIrf=s%W%uBjXXFLB%5Wy$`QB?(;CUC3RAyL4GPkgJgIsX{im0jc0d?)vUF
zWQDuAJG*})H$1@I&;2{sboVs(a`!Us<ZIpA+?(8c+}qv9-G|**-51^W+&A1WNE5$x
zKXgaj@7;FKM|T#_Kki;0r+cE+<9=rixj)ew_<<D9YgQnyNb)>@k$>J=*7FzLJUeI}
zTuWwpEnNMz)-E&>_GcwC%JaK*GK7^Gp8n`3U94*oT>d6-<W!zq1+v&haI~nLxs2#1
zcJvdQ)#-__iUP=ryH`R-k-bSceBVJ<d4pT!g_s3)T@JLA5@;!<aSPX@ucx7RJ(QKD
zVmDT4{k&7e5jcz|v2vT~?S`(>R$R{s+h&L=$8aK_qp#;ar*ZEfseJMp>FM#}SpF)=
zIG9tToTT%e6Egc&3%O88%K0XssQe+cVs+Vxm1a*?r$c>@$iE-;E%06St@CB@@AF-;
z9Q8@UW#)m;ih^Qb^%}N>eGYnz-&oT5pINfvNXbVpPpL$I@oqXCHsVBCXXywrrK^8F
zPL#QvSWdN!q6u@3zYo-uF0^EJgj?906?HAkF@G`3Emqvm{5dSo>5urH=#Zekn5q&@
z;Hx<$?vtN5In5oog%jm3b2S|2%>!G_EpVRv78p-A&+q1mxKAeGK3SOPtN77pd>~NT
zd?oO+`8v*%yMdf^8D}%UN_1SXoezZR==o+!3DYqXu9M6#9*ff?S}VB4)QZlGp6p5n
z24~YaI)$Ce0Cp^0OsnZJ{xjH&u8kU|W5IH!^K|yy4CXc64`wvI3>r=DVAL24e#Tky
z)|e7kNqR^N8DUXo#a)subQPD$Sz1sJ8mrTY+6HDyKUz~KqO443W{?0_7iweN2rK0P
zT_J~2RBocCJS8dcJrt*n)nP~;erm`^cX0)}i|ddqXc689A7!hd4Lv3OX>}bF9tKyl
z6ZDBjP$()wqbP2;70$@c(QF8Xz4R5o)@Ng9StxQ*Up{g{Um<dYM%i`x&XHyCJs0Ww
zvLhV<^K(jMuznu&i$CdDITR_Sza7b`k4Mt#4RrHJdX3(%`=)!YdrQB|OI^k26Wus=
z#2a-dbz5|Q>2~RM>Ne@t=~nBO=@#oI;cytL8>s8A>!a(b>rOXMQ(Yb05G8a)bp>?!
zaYv-r*?<TtI$0Og2DBfwAGEKvue2|<FK|*k(%wrn_1w{()}GSt*6z}7*8Ztoq+Lk<
zWW08`c9?dkb_ki2F4`7&GwN$=lUOOL&8SU>b3?(&VbD4?Uo_un<$0w!skuoX@macX
zPHAe!_o6naxtKrjlMJVgXOLzfE|DIZ)?BqUwKUZ<RW(JqR4)n92u+;-!dxG@p2nZV
zZ{s;R!nG;BF}^OomTOIXMtpjFY<x_7P<&v#2UkbPu<F&4t2tK%uKZlNxspMJjmI?c
ze;~p>j6I5-iJgsYi*1JlyFRukwm3E=_D5`DY*K6xJlGzwp0S3pMzJ!nva#H;ypUkC
z#jG(oCh{_l(Zn0|MZZSBMPEnXM4v{VMQ=s#L@!6L;@vqD-4fjvT^C&+T@qauT@YOq
z9TgoD9l^`r@ceX+{)z{vakLzsphD3i(Ol6y(PYsSc!iQjBawLId&C)eMH=gA<XPlO
z<Z9$n<T44ZOOX?JkTylOL>5JsMrM=cn!(F4k#UhBk>QbnyzCO`7HJphNb;**A_Jyo
z!HVNy$`#3nqbYABeI!#vA2CM0lNx&(ejdIaz8St6z7{?lJ`(;jyg9rkyf!>NJR>|P
zJUBdnt20;IaGP+AaP@GtaMf_(aG`MeaJq2vaI!GPQ(+&q>R-8@b6w^-%JnDLa<18-
zIica?<pzd^g!+W~hnk1lkfLiIs>f6eH4NnqwIp@d3PS7!=B7~y9fuH`EgYqX_)D-$
z=v^>(=qA~`Q$asGl-t2ou#^^(=bIl~5}X#C6`UBH66^;RrB$#EOq5o^I$Slle*Vvu
z9V&{%1>iZT3C1BbxkwVehT3!wBFf3YF|MP`&cI%HPaB}4tPLy-EDekeObiTxlF}zI
zAka0?8)j7dKtuA1)dF=PMb!ut36u_G4&;I+l`W7ukRhN1lEX?-0=j@HpbeM<nt%|9
z_)UQ?kW=3KzxZGB@`e8$T&h?8`;e*5_^<i*`j7iJ`gg)k+3KGSJ!PDqwqpM%e;@x)
ze@pU}P5iC=wa8jlCUsfLU)Ep5U)-O?|C2wBKfT`$M@8#5FnWKI&*}R>n)5+|rE(RP
z$`Rjg-(KHp?jQ4f3rT)X_YHxjG7y?dFOs1>eFG9H(RRMRBuabHTinH0nU9nsKU&b&
z8n((b-%q}$mdxChB#7q%O>#l+KH;m^E`0PZv^?})6mEGv<W*h5U*0s9BVL1VllQ83
z5gFH6-oxHMyvN|H?D9_VuJsP`PWATm4)b>6Wh-xcZ&Ro$wY_z{6}%O_CE%;%@#gjB
z;L767M2<F@SMVCW7O#Oz;|+Rzp3k0tJnuZOJ&!yOJoi0!Ja;{}J(oQfJtw)2d5(Lw
zajoE5M4ERF*Cdj?V?1L$qnZAmp`H$&?w;13Up;j_Ej(pCwLL$3YIurzs(Z3~%0X8t
z4_#%v#|W_{?ml64x^G)QF;CqutPk8ztQXvStw-Fw#l!Adp55?QHn=adzS-xV<zD5U
z<eo#?`FHmq_Yik~cVDg^tcTh$tyvq@bvJicb~k42)E<^f2lCPNm~!sys2dp)N$Gm-
zWbT<HsJFNyt`hE$E2Z1-65SqG*!9U3aD8++T`x&nKX-j5ef`{Z+x3Vn_5;@~*A3Sd
z*GbnY*KXHg*LsrL3tiV;Gh8RF6FFI%KzH#FPTsnc^KQdRvAJs*vyeRa3bHtxP(F6b
zWl=<mvAWEI3X%~OBn4R<JKhr=MA?8dB74c<d_@8I0wd)U^MX^sr*Km4IkVHiQ&2hU
zETtTCR%G2<1OIj<*1%QB<m5p0m?f`pj&v<^o^oz-E_c3mE^@AS&2h%1@ti}dDfs?q
zAYJKfXu&$Y4sMf*r07fGFewhPFi%4FcuyMVBYMXd^bQ9ukpRuadYj2<VB%;WdRu0v
z*;dYJxBc!+ZL8zTY>PYd*q*xb(ri=6CfiEb?DTVfR;t=WrMgY)s$;9+tY=&4Y+%bJ
zH?(z78rq60^=vwCUE6kNU0ZLdI8B|Kl-joDu9oa7y4n6@SF#+>$wCy6X?R5@!5|pJ
z4rT<|oB^;2`Z!jT(^=1n@)mYBTcM-u<AnJrD##gpC|7I^AxkzRm-7d6H1vcv(3iG8
zw)gaoezIMIa`MXN;U(D|o7S$kTkN7;vCDS5J()eFJ-I!VJ+(b8S2}wJdnS8U`%m`l
z_MG+{_T2V7_5${N_QLjp_To$ldr^B?`_FWjlw``=YuL-#Yw}iodnJ1ldo_D=dmVdA
zdqaC0dt-Y$rlY;7y{o;My$2uZ&3nD=-I!kX-|T(t{p<tiLK(=*A@=U}QTDpDqdc?y
zZhs%ZLjVC~mSd{@qGN`Akz<y<oO7Ois|fW(UTWX%UTz=kSZ;@{Yd0#Z`P<g;C)d)p
zvX<tR_4KX$X<tlJ%W`HF%`L0#JNf8NdRlhT+OmfRmwhz3?5FqTko_P%FNf*VIYRf#
zF`8l2UYL_K#hj%t<^pq(w=VJeDsSCL^y*x<-=#z6E?qNs>72RGJmBrW`PGNC&pe`Y
z=Ev)s^wr#9?lXV$@rQ}GZqZ|NfgYRFeDo}Hn)kQUa`Q!ajVALB?cf8t!bkLmk7yD9
zph<i}qxghg@d@4H^ZzCj?Zg?G3{3jOs13tEh$#O@JNbm(@nbUcxqi$?KGz36=La;8
z_k8|$=reB<lLLJu7urZ}bdfx0A$ib3RC-H3^pE^_R|=qi6lRK`f2iaal>(#EU`nBT
z{9o&^+T^TKOfLQBwMsKlo1V{*(os3RD$V3rf@D$~&7)poRHm=0Pwi*+k+M>Gzq|3A
z>_Gcab*wG_nN4V08xtB=hXgBl4T-HEgp(fVVZWh^^}}y82vW{q5?w>k&4!T*8jY4V
z4qu9@t*On|f8a?`Td-%Mjm)8MXC4W%g`|7bRM~30CmYe~RK0E!TFGX-C#r_G3oUPN
zf`?oieNSa1t5XrGNol+%#pu{60vlH4D(A;{l8=O&suQYIlk8|BnIQROq^T+`tk`6<
zSMhX$HsZ&75=jc7HTs~LxY0wB&_cf2QlN>XMiWVo29h0?Q4TcBd?fFRqHmT$2PqBv
zsIucY`iH7}>_q?EgdVyUU34kwoCWwzra><m4^L@0&m#TdE%ma^f>^T9(cZQUx7$ib
zBinjMZS;=H=p7~Tm6TwLqk9y#oyJ#kKH)3LZ&N#T?mKd!;bu-G5Z^jd;4fjjiryP`
z1Qnx`r)XStDIvdR!I`Ia=j6b#mml}u&!inI&@5a7hhHsv&eYDF=Je%s#8=Xb>Fu0P
z584c#o2Nj7ok%ig7!JaLct-{>y=j~80HLHgx^`{6BQ;SuYTzHK2nDMQcY(sF9cp`h
z4zzK#&7L$4$;~%TEe-dpWtX$G%ivO6sa$qfc~=V8bXNvfU3XU3_GnhJqy<njN}_61
z;{MbC<^C7f1RNy2Q8}v0on7ap0j|OB-(7oM^IYp(t6eKxM|ml^*SH2tYh1-~TUM9<
z#C^Givw$7^iM_7!bm&w-<0y`Yq!=1U4tQkg=&Va7e|6d9ZwdcMMAG2w6mfW_#WRu}
zYHUur@QOi;t?1q_)q^dj_6xTqaida62D-<S#2ErDwuiI?cj;=VB<nci*a<0iH&l|n
z?rM-p%1B2@*PL<>5pKARo(FE1`=#6K{>)0@t2^!vy0viIbRMlInJ2j?ohJiCx165*
z5Zy|#?kMZ2$O@#Qr;?{CR}D`cPd%;%p7yL*e)V)^?J~eKoNKJ-ch3yZAD-2oWu6VJ
zbN2G`lxLIYo@ckm$r>n)_lBpm_l_r(?~$js_||h;{N}kU20XV&EMLUIdlD_<Al<|3
zI8mC4j?sb>rp3B;-c6A07I;T8e|Q&rmojU)c6+ybPqK2m$SUrc_q12*yWw5wd+xnx
z`Rbj_8gQ7P^QGgAON0m83MC^qOxSFpBEI#$63|CV`5O3Y`&zM{?C5Le`<0hHeLbM}
z4TM87h-(zrc&>R|%OH~M^lkT@gh6t{cg^>b>y7WN?|ot=`wuHxw@+Q$3Vy3!^viw)
z4oNb9Dz5bYJgkI^upTb&uLoPOtG|nXGMvG={%-!w{+|9vfu8;jFk%PMY&jUuc0bD+
z@-};DYB=t%VmS{p_9h<h*EA7-B4^|9D<~W>vo;Xr{4q#_rq7I_+AIa!<`jW%v_L#J
z=L|gMobo!kn?vSCoL#mHY@&g4rMX{VzPW#3o_SDUj`?@;H|!b6;0!g-3k*n{f$pSv
z;#i<o;+*thAiw!hATPO_^ki;Cb3C9WbK^nvc!TP3(^QtT*6P6%G!$<$wGVDY`IrkW
z;1AOjII&Zic_<*Of?YYkZDKkYtZ%v+EM>Y8EMa;Z%uE}pU{XRZ&VFAS)idC7{~^Ry
zq>ZBr+=5!6V^Csu({8#NQtWctPG_Nb42O5n6Sbp#;*5DWtsZAX6^*x0J>G{hqIjgh
zOJXBa6Hl}jr>Ai>YxuPx7YfMFuuH0;fV2p2H?%|n=?1T4Agq$f;W36O;n6Tk`jM<@
zPvb~!$gow&;*>Jn4Ht$En~(EzRSn628e%r+BQd>!_L8)bPx``~x!0sEwn5~8zFA}!
zbl8n3BFmX&`mvFTs38L(!}ifHiS*WQL>W0i_T~iV`lsN9K8O_1KY}0nk=)JaNE*E#
zWN`q;NQ4ZI>Itw#opj~Ap)2PatdjG(Ceb~K=>j!Y<&~&DgVE6`bmxqO7TZhrXSA(u
zck~zC@n}umiD-2Q8O3#PqFHplsHhWSeh3=>YO}{);1aoqx8ba|UhEKkIon9y{7Fmi
zLhaDlOzm)}9Dm>zSxjfnnphX@)>td;saVy7OXMjo5eL**52+g;E)ju7;B2%5m%<TJ
zCw>&3>sAssYoW$2)bx+f*9?l!(F}{v&`gex(aeqyCVkVB#^JW~7OSL@=9<6aH8kg-
zkElI5_u~aMU*oAXuDAl7MAT?ePQd#nI3)!%4`?;MOUv;odW#R?4A~oRlc36OhI+D*
ze9yf2K+W9vbj|RD4`n5K%^C=^+choXJ2cJFZK}p^B`CAS;wt0TqmgihXyeIogrwJg
zj1|(}OHgJTYWKs*-5Bdbhw)_X7<@B>V;i&`aDw~-lcaL&3f;wzwRzx?q``BOlCP+R
z?qXk*%8o?JDV^@0XlC78+#xS;hg@Z@K$JZYZJFrVS&NrvMS|-)0o`kft~cJFj&$tQ
zj-G-pdmTE-Z3weZb-Cy+P6spC7zOOgBjaNvkNz<&N;e|4^v5F2VGQ@c4Kk3<;t}X=
z)9Bcl0cCc&eqdw;Jv&=@G<MckkMu)3sf&72F;X;AIFdV30R2S0euA-+K9ZKp64{AE
zB&zp>t%mRLkKaHmc@{2dxE!u!I2>+l*uzi421vB4!`;c84KU0N4>Zh4^c+uy?6b(w
zFTB?9EA*ds;Vp2Mj~i;^7^%WkCBar5*GQ$r+%}ZuCoo$$X0V2hMme0)m^S>Au|v4D
zF-@d`u|l{O4wCi|hdLR1>N*+A8T*j$nP?nhoMaqkoIti`vT>$y3dx=c#$CqMv}K(&
z-Y~v2zDW4a_8KF`nqiCSSDrTxhN3~O@p_P?T~G+`4!(n*v@19X-DN=VOz^j0$#Apa
zb7KX1j>`nMnsNoNn34tWnykS`CV}*zFW@nG13L5PfQ1g@l;->N@m#<ua-2T)BZ0fd
zeSv(zP3SEP6DrFz$lIgfX?F_@G<8KeZo>0vH8>`Pd9KYx3(rsF9a9Frn3D&-^L*?v
zhy6x!kpelLlr$S>w><UdqS?5J<*dJw<%GWmO*{=O8+q<ugu<=18&CF+#UHW|75q<T
z3k^J5Ev@|fENz*3H1O1+fu}M)k&-aS3;O@DWcEApis;CElGX8LLTN7`JcU_)*;j*%
zXf5Fg9>%TYMwgNwokfmx9IZP;$m;a+t-uSZHW_bBOiOY*%@XZ9hsf=m6iWGS(QJH&
z+|FC>m!E`WctjLmkb9|_)}8d?2X8L%l{X*m%!-^KG=$Hta@yOA>&U~d_WlOXeK=hA
z3FLKV({i^|>_BEmWxhA0`A+qUROK#TmRxOKd?Kl7GZwsF?*2Z}NPdUHK)fQ!tuH-4
zk=ZRye)nf`yw%9;)UxiwAF>Y$?QU|tYdzhqi#!A2m;7#>0G)OiCoJ7O8#rnC)7qAN
zaAQ0ob;%0X;6$bbCo_e}?i7T9pO2H8jI<Z0gJqJMY_W+ag|J(czQHm149Da}f?-lz
zx<M}a0;{GYFibX+S5`-DB3$4e3ZM3OR$61p?M#(M!7v%fDy%2${<iLIQfpRb&2aSA
zbsr@+{TGcqC!`AQE6g>iD66<)WU5Qhgjn7EM(TwtcnH~@zU~MO$vU~B(Jrr%GJw3v
zAg3n1ol(v$XORmqMdS>mx@~erIlWwmU#ZV~t$3@0+?Z)9x0l;;Ue{jkEVtvWc5)Na
z-__)va&5W4+*}^Y$4BrM6g|1SJWK8&FOYl5Yvug%2KkJ%RsKodDd&|B%O#}qa&OC3
z`APV?{HyzxoZJ0GZY(_|RsM#=`8RnoCxWsZmUDab%6XSbiPC!9)h#G1U1`X~XIH+_
zw{VBX<Lj)tuO`|mE8{|`$!fbM&g~|AtSPJU4)6lIDp#ESICmVX+>j?Ios=oc1ZA2s
zQ<<yGQ5Gu;X*AxTY*BV8d&un{P>w4{l~Y_Nm9xq@<)U(#>$Y-*eE)gniE>(b&Fc@!
z1?4NRJ$yXC@9`=t6`!(Ljw|O}2HOp%(Y6U6%0xUXooS4y;~XMYagG*KIFrkt9HM;B
zF*JU`(L>nh=%s9Rgq8K|Z`R_gUyRRWE-K6H#2N57eE5@Xzmx1426uJ<sh&RUqq?E2
z{ECmiGt&iyr32^8t?`$1pv$xe=g(u<gUw;4upjHqzN|C6*`AzN|LS<fufMVNWAD}s
zk4YtbB_-I?6?6pgp2RuRHrgRK*wZk{9E#oKNDj?1jort-(1o`o$hmnknvSP9(%H+}
zQrn-}(%7TWXJxw)J!X!QlbvE=_$ejWWtN1SQkI=(75f=d5US(kM{7@QUe~psC0%ho
z=@(on&Deo9wwH9&u^+dUMVpaOWO6G#>?Iui=`c|nkB8dV;SpHEzIYDgj2Yy0rm|O_
zf`?!d6pRUwQO4md7{$JNDEsSycn<pGKlly5Nl*MH-4nCH-UGi$H#`bG60?QZJMg5a
zvy=V#F8m66*t74&ld_LF#2m)IaD+c|lwUiBui+$n{WEwT&f$MJhY#XBI>9BpCn|mR
z3R=Q7yc5^SuG}EQ@?%uZLGAHT^#@glD8>{=lPJNIVk+Rzs779=7SjODq6?GW@tD@#
zr|3RUQGA}G`@BT|d4=}#2F>R!ddxf8f#1^({DJpB@M|CG^Zkde-hb>-=@Va{Pk3cM
z@%Mg45BZEf^BEoGhbEJW*D8Vb2XXd?7L%Ue`(ys$wK^a9b#*@QdsXV}J2V+}-tu|g
zpvS!We>^D9(PEyWzdXTf@|eHx5&FwRGCqGNh`Z|lZ;AhCFJ<}qRKRmmnT$^j{5tjd
z`ZZwcqq{Und|gkYEuAFCa~v<wQ7Ey8$?+WE`>>bq%TBU9+xb3hW47>h+Q|2HL*o0}
z6K$n09;1Qew}#>~8Hu(s8g1owbd~XVO(yU-nZn~`Dt@IIkW%KLtt?~~^SD~Y<7+jU
zt9AIB)}ybiPx=jlPftibJs|pY$5Zkvy~SPdlXOH!X-ju;a~{2o|MLh|AH}tK6jwuA
zsfe~xJ~6lOo!sJ)f1A05?s5le&|S2bzo7^{Nlae6Cpqz+WT(qGD>_SN$gyc@4^L*d
z0J@SLf;~CDuFQ02<>cqG3_g^_FrnYdUu>OGO6S{N*p}HI+2%lno?^RY8^Lt2U4d<V
z!M0C1VY_BMXmd)tZ5rEVTXoweTQj=NThejf+P1>h)V9D@!#2~Fo<BKH8E0EBjj}aY
zM%W7QS(@91*xK3p^85Pm`+v1Hw6&)Zy`8NAzfy~rm29<9j%(S<+N#=0+seSxE^aH#
zmETs-mXDWtY&mS%Y}uL2(6-ar(x4otL~XXwvo6>$zuQ7eNO37{<(u+d`KbKEbLea3
z8PBGVmA{o+$~B%v&vG4A4l6s9eadEKE6=AJl=;dUWh#yHeR;MnqWqyeiB3`qxkjVD
z4^%GmjDD2o)-ycAU&Ckk8P8#PS9Rs9tFrQstDG{}Rb1%?wLFz4w{ls|poHbricv|a
z2#QTHD+VPl2V@W9m0hw!{wjZwKf*+L%JrD*k^DryCqIxc$d}|(@>zMmd`R9TZ<W{c
za<RM|Hp&9-Z1d$wuuw)qM;RoK=8o8hyI&`{26xD^+%3y;KP<vMw4hvG&L$U=Gs{I~
zNzNhbxw}TBWU@yx$ls-q^jiALe39-;&!y|UJSSb1&PbP}!_r^Uc4?2aTG}YBl-5c!
zrMc30X_7RSmm{Q6%t)!H)Jy6nb(h+c(rHLGr><0Asw`ENN=QFT1-Y_urI*r4DY(@C
z2#iY{kxM!*x7A~HT3yy8=B@Rk^%?n`$JUqDo7Q{QtJXWDbZ%I8Sx;J*SdUnHkkx5w
zT}4Cj0&6MjL~D{b!kRTSn6*<Ma?aiG*S53zSSwk)^{sim<*hBeWv%<Y`K^BlIjm>I
zwAL45YU@K$u-+2&*7Kr^eqx9CK>RK~q`ml>_*%RoJ{M1kcg17kb@7mRUfd}j7T1bf
z#JS>9ahf<!{9T+P{w59*dx`xM(^2duwiP>z&BWGXHL;FZmYhy0u^c&_JmODcZn8Q#
zL{UsG8bnF-2vOma;1%8q9^nQruQG>)yTT#ij<89%Buo&_3#o+@!Y$JY;b`E95Dsh?
z(gartbNzFL*S<NdX=e#*aiXYfzI9}FHsD0r<LizOx}$K|*M|O{R*B}xL%ycMabH8G
z0j-o3g~z_a!WY)b5nL%|GCUHDl+5(_WcR<f6u^~IiS>0O*eI>>Wp|<dvKMRc@&4tO
zY0MnhD6{GES>&H)+2S8*IRzW#qQ4ut`(}8)n^_+Ct6LuVD_cIpM)AQ#aiiBb{25@Q
zr04x)mYCnnm@IMj1o}XnJ%ST=$}@8PPt4`<mDdg&H@Ae3(gv4G2lN_sx(8OF)y#*L
zGCDCc0weIL_b_jTmvSUf&wL_K!+b4JDlxYM#mp}Q+1bgYH3!+vXo6a^>VHp(V<lto
zgDDG+m4d<hrk|lX*21;YirrAR;L3!TetdAeX-06EX&FqEow!xb1S^~F;8b~pQ{_o8
zkLekne04tHS_!~H(a`eq-;rRVWC^`tUMIAiI-$eHPN8+iK6HqT2~9H2#;LL?)Xun-
zGxH;%ItjhzK0PI$$qxLBQ^gUo8{Hw<NR6l=WB9!xQ}|sXcTk2#pN23oyM))km0gHa
zWis6;!`X=rGOS={x)U0Tnq@eLYvnQ7h8N-NiOhpLEE_D5067T1J`-&|#UnTL6(i^L
zwIav#Eh5|LW7&plWnn_2nL&%sTv~kAMmp(t!9zI<BjsYGEUmU>6a6la*nvC9W*DLo
zUCQWJT~2oC1)}%Ka@^IGieACVa#mL(dOX3ARg*m9qT_Y5$brm`4%BUkw%2WsHm7a3
zn(jd~zwTW$Lt>Jmc3m{8)1^R3NEiD@n>qGYn;+Wg&#`NePtQX@J&8VZ5anT)wg+uK
zBWd$dGb(?^+G=;knrV-c;8As%8)R72EXzGqjAyYN+JEUXj>U9ZQ#_;r3a&{@dM9uE
zk){$37PV`qX8d>}FViQ!NHY=_i<+fbOJYaWWlqMcX)eXf((aR=W}obucmH9>`r|@^
z9joSc)EtkR=c$Nt(*h-@k7f}*7#u7RY1g8;{HbY2V{$Fpd`iV%(4g$pq=^gK5D6S_
zEQ|JSteEz8tgiM*tRp&$nnmhQqt7ty%-BTjxY#_}eAMouUD{@`15k6-E~DexT4b3j
z@>MBG%X8t_CvDnTT&s<#JxH1PO6DgERgkZ2Q9MOzPf`Q2QZ4w3x7Tfg+`BY7gzv&=
z-BeVvG32U7CUloo^et_sd3rxNtYhdemvrUOUrHwWnO^C#MZfD(&~qH7-RBFf)vxI{
zz7Z+MBch`I9BG_=iJqtKH2kRjPZOZ&%+e2ytk!o!{c9FEf&Ow?UoLWAUnKHWpBIHN
zW5i3JRE$TWjCz<IB{84jIaJttbQ_-ww>0bx_oR=ik6{hk%Ixqww3TIs;q)305AT7h
zeBMwud<i|}iJ=Gt*z{qoQ3|J}`zjMZExC=~LWODlDPepUDrtNhYCxi{qw#2Hh;ai=
zK8u+!ifKpV64aEf#+Alx=qP{DG=7`T@mIz>Mz8U`F^G~9rj=Z4Vw+)#8q?ENo|P$1
zqgORkdT1y=ncAC5K|(1>_xX6^Bz$XA@UqP|Ek^Af#S94^GIb1IHPsD1HI)p$HWdhZ
zO{sXsQGx<qxy*DMXF)wKfu>TGXQ-Ocoa*7HYh;cD+L$W@2bj&_A?A`~8T*>2n#Y^x
znrEArkZ{~WyZd%p-j61(<Mh9uCj)uge9!#I{K5Ry>>(W)GV3goB{g};EVRjIwWPD;
zrdd9pC6DE2O9@L=`sQm{Dq9*_8d*A7x{$aWLH2S6WZ2~pPt;K}nujdsVZ+{l4g1J)
z8!qe%%Ri7|Jr<`WXbD-gf(i0T8X>EYLnt8>5o$w0sRtppnNUh-A^a?~6!HkIgv>%a
zp^VT+Xeta4dI%$gp~6IAh%iYQDa;oJ3QL9l%<sZ7VTrI=*v=j9tZ+@ZCp;G(3-5(@
zf=l?9%&J2$lV43EeiSl__l2Lt!$L0ch)_yAFH{p(3DrftxuH1J*F?1Yei1*y8hhkz
zBcAs5L30^})-p@nioO!@E)!dXHi}`(HnELm5AUCZmvUC@fyUAUhS?wJEEj#R#p9MQ
z;@)TszKX$G&ug_7^xCcIy&0^sH<#7qEnxM)NBQWfXnpRfYyBH%>P0d*dvU6+@{G66
zC;2<qvk2$vY8<SaXazb1BlaAPK<8*SzK84eIh@!}@KIbiV&hi9W0VM=N`7}L7_m8|
z5AOW%?~6+>VWB)lSGmWj)Lr;*PZ>WaRptCGrLgr^DUZ}o%16GrG;68m(nRvkQ+c^q
zn$C)ACTp&F(x1{gX}@%k71?F!rgTTT#|rI%^pKY?rAMsW9!Vdhr;<zhD21f}S6tGe
zoEYVlvKjS6Lh0~HMdX{-qViwv^73JKU3smih1|r`O77)uBO7S(c?&!CA?JG!U4!Mz
zuHWINOp`Zq?l;r55*PF~(&4*tEgyt2dkhEjSyDVV@vl6V8{>v<L;}4w&BrBS#pb2M
zC!H%!*QAxs$rOs-m67)2+)4y4N|<zxpLDwiz2skKEjoLCp(~*o37+Q4E7CcyV8_05
zc7~_Yo1}XmR@6gjKOV;^=S+HdW|P>NudLuybPdV-<xW=S%y{^*!*Ht%a~`HU^E9WY
zSK+4IBAx$`w9Xq&S--$cadN`yfivq<3e(4#9G8mT$q^YRwN9u2-yP{m<7BkGapd3>
zw*V))Kih6Y5V+wei?h87F83Oc1sXsaP#y4XP)Ry-Lfq4~1b6&gyeP9BLlcRd>A2@r
zwPY-AdbQoS4{4n4uwpyoM`=&9aVy6Tk~n*4<=Kx5|Ddgo<2WbO=TJe;!H&ITD~?)H
z0JS6sN=Y`yOVp6pa4i4fr28A}SSRhqu0)>)3kcEyF-Qzrdz900L|snF1ym9%Dv6C0
zPHJ{`>F5c`%49<iQBT>`M%F^45K7oDu|rf-IOj+zoK5H>RoPLhC-t@MhtWm$qKl}r
z1G2<UW*a-tt(^34P3pjO;{DF_nRMsWzc;(pzP#Uu-#38W>Hz-S5VV#d>^O&Tsy~!n
z=OA{kbocOj8SgLP?V0R&C-6B&Cl$wmkdmEqaU2QtNNBW273s~+dMJv>BzD>}nfdI#
zm$D0A$&P$og09gVCFK_!4~<bz8sdOZQy}$FO@0tkj^Lm;#x7qaq#Q>X`HLjUU$`tz
zp^TjV&z!=EaRLS8B+AGs6cKe!qK+KHv2hT^U<c~OpZuB4{Q2F?!NgR=c~OzSry74>
z3x3aFUcW^tSY$heujf3Tpewk6uHyH(h8}gzzRY&b-cY$=@8-D8*Y+N2);;?f&t3aD
z+Z}srTrZ{Vyzh8`1LGn8KMzQ^+~wbV6E)^C|F7pDe4MoRQ}){b;M!zQZrjaQQ1yN6
z<zI6gjpqvg>f7iXYE#ZbGDVNkKGab?C{K9*DWkrv>LL$$eJ{a2QL{It&_dL{=W-Bd
zRSIueK4%%e%BApclujB7IrhGzY|`<h@(^&!!_}#fBv~uamtBePdL=ZBN_<x;p?_3D
z52=iHRfVraRlZWy(Mf8dlhot2%B^Y0>mO{CZD?12;!jz}cXKu0)s=jQm!qF7<Ga2X
zy=)PFlzC_;vtXah;?Xe;Lh)2QC=>9Vj3I+F25-q2)VfjhcaMToGJ;IaFtm}OXeC2<
zB=+Z#*`G({Z~VTVa8K0f&ZDs#*&KB`qvN&Xk=V+99G}Wb9^J=zq@UtZcbZ53B{Y<4
z{6yTLedi889e2p7-Q`jF5Z&Yv%oJ5Od4Xr;4H=&I{6u}htMVN^@?U<^TuI5%Pwf2k
zDT$v%jYG?KI%X4S;IZ<PYUQUkIX}T^AwXwF`^@2ZN>1kqKj{zPquhs&a*w%zU*#Il
z0+$od1~u@m)O8%ev$6+Wbt@X{7M@8qqMNQI>$eo=+Y)>#OK`$1;TdTTIhz?azdQkD
zWE2|9KwEuVPg_Y_S6eb$8@zT+Y|oThws%TR+ZQ}{JCw3Ey{n8(bQa+mFh7~Ze74Vy
zoa7R-^Guk9XT(fQT7FHj#T-VP(W%4Rr?HtCOTzE>oy_BVs8LUpqGTe=LYS(`)O4Q3
zH+T}Qc|U%YZBS;{@=U!3^?Ma<ZF7}>-LsYJ(o98BX26S`qO?;cD(#iAN=s#wQcD@8
z6jlZ*S(ILi$Vacqjg=H~J*Bz1w$jgCP3h|@rQ~zvSJH4NN#@F;WJZ0@?Mlt-<Vs3Z
z`P58uSD2iRSI$mOv>;iX;y5NtaEGekx`w;*41})}ay#x`9U!0o>e@~&XA@1uYtTfN
zK%SisMRuB;R-Pi?lcu2f50gvF15i=A%jM*bs3%S3teiXKfLohcuFOfr&-|V|vWD}D
zBvh1tB%}OR@^NSWBps6;OB<xS(n1uJ(b5U-=EtPI(r$E+by9urGU%`KSqV&)hIl5T
zevFi=LpP}>_2Jh$N>{8crGL$Jq{^16QY~v`>1W6$7fe4(kGw^t(*A7HUC}OewOXW%
zqDHFAsw0=@3#*SO)?%K=)}K9>Ah#W|wt-@=W^e|uY8l81W*jF))9E&x&CK!)fM3$n
zy1~<iQ>FUWvk+qM&~U8M;+#<PBV=$SZwhN#ugzMB)zV<E)_TL|5gUo`!~^0Bbdek4
zCGn*Amw19}x427OBd!ovqmQf-7om|%5~qrj#R=j#ajZC694QVKhl+i9*+=Xyb`(2^
zEzwHqK{P3WQlh{$`A5hvI)ofzT*xYFQA*r`Nqh^@<fsr}CHjTBr?)}{-y@m@_R}<Q
z)KcF!j^3R1zVY$Su=i&AHVKVF8-)tO3}KkiNth-qGR+kF`=<zt1H*(J!M?(EQ+MHs
zrLz#QbQA=kH7nYdtY#a*_G=(yr}e;ZsV6M;mk})fTtY5?Dq%DV$#!Gha)5R5Ny`_@
zLCZtS0@lmpET=3DSUYz$Z?=pwFSZn<d7+18q@|Cgm!+?zIV<iuysT&`&*Zk0vqa2=
zEQ8G1ES-WWEFA(COMO!F9XKWJ9(Zl;5qMzk7`Vbo>RDPK_L0xoZEh7<LGpevZk4g-
zDJ1e22ilu=2P&XwJTTP=y8^w8PXg}@uLB!HF9SV-p9A%R{|1tULV=5>V8CSxadI0E
z1j+pe&_3RpGH}wHCwP%LV=9DSrE+kOsS(V8w!u{-b!Pm>voaPQ>_F4DV1JV>)Z8@L
zSksgVI%ICs2V-VaCPNz2SiQxx%4jy-g?w@cs^kU6pnHXL<s~f}_lzZQu2c=3GS&?3
zF}4nEhjy^qI3={qI2i)MRQ6?mut!@Q%3)X;dKTIdx)!<^Iv;u%x*f8FZ-;v8AB3!M
zVO5qw22RCAV<@CITG{nw2|vTTa)I90GiV{Z5<NRZ!qd@0CK@Kuud^)N6&h?KbdcJH
z{rFZcg>!L|Z#8^`|L|`(#wou`pDOZ_o#<nIp2#(QfyjAMJiGP3;8E!mS-|dfGH!x_
z`jwIHXdu7pcSf4A%Wb6p3!loBNNN2o+y}4N3BQSCNiZt-(&~c|BR&<KUQa1WDjW-W
z6MD!kUCroWT?hOrgQGKa<D+BPfp^!fqd#W@-jq#nGLEBz+=XCrKbnu7dtMw9X?5SD
z$#n+$bBwVt9XcT`PqB%<-VCu1+Dvr!mWbU*_*JUH<ETN)asAlg#5AVsw>yNBUg#sk
z@UEycCN@PonSS8eu_2IS2WXc=kKF@3_DrlYypNv~I>{rtcGPa+SFx;#u3^<irE)^d
z@t{VDyEK{N?=(5%&k~N2+VLZrPAD5gV2zBVyLeoDoMs6=mUTE!HpN?Ow#3iGcfge0
z72gxz7e5d`5kE=7=XU%-{BP!I{4<^wN8GLoWspw3p{l%ubn-A>Tyqnp<#PNN&F*+h
z%{J7RKT%=U#=Af{>8V+YrZSzsX?%PxPMQVejn-+})0W&4(n(VkoEq^nC^{E4<r2)>
z7n<zx*P5*He>KVDVU3Y^kS?B5`z@A7`-K1F8?k!Y!wFwYM@T1wwR8B&%tlQb6<dVs
zN9~E;j00#Z{W}NITTY`qUC>rQZz+Y|QUqlxJw6waW+Ndc>Aa{`&V=q#gzw_dx*N>(
zXl>omXcOJuXa|~-dg+#-w@isn(v78kr+Y$UQM;~HjpZr?l-G1%zs1!Q)S06?vSF&@
zDV_ck)RT`mp&my{=x>r6yB4WOld`I{w9;>j^w%%o5&C;%s(wslvAz$F+Fm%Ue$1bE
zUXG*corZ#PRbLu6R*}eC2q<2?LYKEWB2jph&EO3eGkgnIH9Vn#=Tf)@?yg?^w2Vb_
zS-?-v7Q?jgVfw)@;0SxjPuLrBa-ZoE|Bi3Pf##wyTEdDkf=U^n9m^Za$4_V(T9)e@
zPllS3w`*zKOK16NoN04HBaO4rTt?zn>w|NxEzbpwLzie&eoV9STVt277gCbPcn=z_
zi@tQDDKlzIK2uQ$OC?Pe;m+1F{bFhbfvG2oi^^h}W}0eRYg(BgHSIQSHXSr=hdaB^
z^Z@qk6VoZkv&SGi?SVSm!6cZC2Ag?AEV;RND7(3Nu&_Bz@Mp6zSkoK})G-eVwl{w=
zb*7c4i#b1}*`LfK&8tnL%*lgO%tr&u&Fcdj%_pI9{}tSCer!5n&TPJH&Jn!EbM#Fb
zd7k2Kd5f#?i#Z)GLnYwHaTqWgcv}~EXEq0xnXQ4Y+9H8e#>IhlD9}k}T`-p=ow1n3
zO;b-*OLa7u5@;})xI?tI%tVP<hXQlZvX?u^QOjA&8CbN}EVoc$9w)AsmRDSFEpCh7
z5=Ms+1Uq-XjCAu9;Eq)oy`_RsO{j$$(@1C{H0K`H1|_Dg&_(DbbQgLHzY4$cb|3VY
zLBe2u_wT}f-xy((Z=}%M*Mi)to9?;RzAC<ozT$K<=l9j~rS(1ai@xJR$or4r^ag3N
zdm}vXRuC?Gj~Fg{&Hk(2Hoi07HNFept=ik(`<7QwZ_|stgr?#r(-5()Zz`OW1>!XL
z@B``V>F7NM&FnnP_)B6_?=`Wj_nw%?_nuY2zv2Zkz!^(Ke9xK7zoH4FsKu&S(^_*_
zb6E>pb6U$-?bZs`PeMa$S8p?GW^WH@DZNl(`k}%Mrm<%d9Ja~0UZykiSi`KfjzEbS
z2nA&Tl-f}=2ww7C;7sV4^{lnK^}2N?$>jQ;_tx^Pj0z`KNC9gGPt<Bfn+dp6N=dkZ
z-_U)iviG0SRd~l;UApP6C0(bN`4SG|moWQt2Zl*`rD0MtPPe+TIva>CGXX_r0;gV+
z_}C17Z7FYWmS#zNQD{z}-JF;7;w2a>_u;BMlxhc_px4}%UP;BJ?+{jkbS#FXs=V&)
zR^()2cKL%;SWYfiU{%>rP9Znr4DMHXy3|LmDfO2-N@L`0(loT2h4@ug%28>xTv=Kp
z_w}sDQN080<sjsg<M3+LF3B74YHyPjdM;;iy@QhSMYf^A=v*-ws}!Wb6p5~$*9kst
z0lX?j@TC+(TPek<Wo6|!I?P^ln4J&^H_~;v%GnE6ZC|>3hADI5)XsEHV5XtH%v9FX
z-E+{nkZ$BP%16&udLDKt+2mbHJJ)Vj`3IFHbV;nl&3=?!z)m_Q2GTXrl$}B4|BtJ;
zfO6{kzqjL_dxN_dr?|VcxI=Mw9~_Df?nMeki&NZPio5IJ?i9$qH}3C~wBO(QuXmmG
zNkV3@k<2~&?EP%Cn6mI`OX7Ynjtf3MMHBOyuFelaZu*sTqtWC*pUJ}5Wi>kvgBW24
z5|UCeY3cgO&JN`V@dHl#=Q!{0OQprTOkAtEBvlsAOVz{^QXTOCG|1gji-cCQS&H}k
zbVaA>2Q?)Lt!4-=|54&ZX%cy%SvXqe&||tdq0{un+0r%9>9Yl$W-B|dJ?Jw>&}Ytw
zm8A=~RBp0cy9+7hu2__vTYgdp*-0P7X({R1-KB-p;9#d`O?0k?M75-KgwSMyPD^6k
z=rS&LiB9y6PYFs&4!VBwva>A0F0&Xr&NA#kE7S8+mDBuc>~yOq<{Z1z)95nC*{vSo
z<o_VM*L}`b>~h<)+wH>6w+k9f*Tk%I_P|Nd6IVeWl!5^`43gMA4@Ykqjr(96JL(BI
zRVJgmOmmE8hdly)Whl;-c)xAD>$X3;@c8s*SKfmidS}uj9dWO;gG3uom^5cM-;7;-
zJbBWDX@DM54{an)LygbBWZDyGBqtN}jw-k+;&j?LQMDW{mC^~t;tCqezeL)9skCuA
zYn;-09~Z|1QZ*?!Iv(K~dE&_Pe^itg3D-xwQ#c0>khl{hKG|@GWW^;CcZ<ZGBUuve
zk+_58e~yy){r_Ah|GG~8?LYp16F>39P<;MP{^a1#il=_!iJ#p39k~;ZlULlw=OzE9
z7tC`WKjYsNpLo~M6Mp^pzj=~)J}2*!llP6!zZ8{!AOHJYoTw5fsr>ur#Q&`L|2H3h
zMx3CM9~aC22r7m6xD>&uQ<RTUoSsrVL6M0QRN_>bcqj4|KDL*ccrS9CT6+$c%NbOe
ze|wQ@qiNN}MO2^9Q$s#qjhM!$NbzZc>eGVHXG=b>@owb*bs~4*^BwO+?#kys-isXn
zdWb7EaiY#3NWt+=<iY<Xh~mA-zv6<5Q+UQgww-`tGZ}?w8Y<0f)R_fnf{V}ympJ?K
zHQ5s-r!!xp9iXYS<Lft`8fwDVa$}U7I%tnS<8X=7fhsx9qf=fcEp!vz@+L{4e`&S(
zP-F7&J(C+v^WS-f#`zL8<`v&lA5f@1p~igSd(D~9Ld|^7nNVg7^dfUGmFPwGktA}X
z&U}Yp`xRy89i*d|VphJNv!Tl5A{Uq+l1eeMg7GOWor9M2H?IN5NfI4M&{P_dCTb*Y
z$HBIVT;T>tDu43Y5htn4$00Wzipn@%V@8Nmana4-wP&W(8-2JNG?jKJHqFHqQZrtc
z>Z9CL7Pm-6#l4bRJS?>oj!GBYN2MmpIVrVrL)t3elBUVGrLl5~)JuLPwU^&X-Q}<J
z97$4B*(;TnLs9`bBIS{zQZD8P*&vr>%FA}>DH);FW~MnPpIjAoZFQI`_2gP|QwS<;
z;M%s8+sR$z-g19=fSd$FWjG8K8j$75@(gZg%hTm~Jo=s6rSd{%k-Sn~Ca;y(kQ?17
z?~r%WM|4m=ARm^`$miut@-_L6{E+pM^+|p&e`lQXSJ}g&&QdXxG_oqGl#EJhCaaQ5
zDWDW#6;sM6<&|<u1*N)DQ>mxaS6V2)D4mqfN^hl)GDt~M#wugT&dyR6DGQZl%2H+-
zncDTrPSUl<l@rPpRtoD8>D&0cR$eI|$>x4jzAB0$DQ?9@8?sALyJCvNWv30<;mQHU
zEHAgEVW<4;s!9g99+Z@}uI{9Qhr0Tb7VhUtc8zc?bWL@wb<Ky6^1JIKsp9L*1AcYW
zwbOMUHriv?->#>;<-6;u%j>%4GPobZUwh@s2!kz?+w00owkV@J=E~=Gxbu@_&IhNh
zusf@}0=GYtF#6eD-u(-yq822dn={>LK<?%4;_goia+15Rdkop=_{?!nXJ(L`o<+uJ
zImx26?t|{VB&^T4Z@90xpSmBp{~?3zbGzJZTio$nb{hJQb9=Iq-Y!a(yPBs7UB?|g
zEj?Z7I_~4?;F;h_@+|a>^Q`tv_H6OY^c?pr_uL^_^vQGBliz#RliPgT^T>SH^T7O?
z`}dxwB+FmWbo>f(-fOeYdk0R+8Hjo(&BeS&X!qGgyU!kTZKf{Vl=j}=q0vs{8gwl5
z*%9Wc-flRu+d!OcZr%*NZ>P5b?v=V+r`Dp~r;_<JwAo7u7k5_kGjC=Zenj(UZ`2g@
z%J5TOnlk$y;8?ka1N<;<@c3+_&1a*jCGM2ozOklpzFww<PzN{QNZIeJh0DCW>6EWD
zNur_<3UirKXzY3JOK*BflIR1Mp#R`d|IWSS)0hH23FrEIV@CfAD2G>R<2-GwLK8(D
z|4uZT9klrTg+8+ceP+7xSN}-bDTW(o`v*c!>}g!#?`r&$7N1?T_#8v8IYX1rS!j#r
zNfO=j7ci#at$*py#F?<g==R49sz3-iA!yJAd<G**O*W{FdFUA}9=K^JLBgnH;5td8
zizJN>8S2sG(=x$WiSt!v8%E$(nMt~6MWB;mEiFDfAVnTZ@Kwr?G|FjsnHZZv31|(W
zfCoy$Cw+QcD%pbf^o4_$VXB<gS3|358r%d|Wetv%-}FP!YR1ysGmqw;--B)Sf6?4?
zoaUZ$oUvaG7S=zY8TnIU^qj9tI!EXw`^1N|w4NdJu$$J_9lDmZAot@ee=rKogwU__
z_r!A)jZkN*aOVFbsiLgpEzCN1NQ);RtW|}-YEwb&%pQKm-u1k;T==B6TKE8rm38cI
z*ODq)sqGP7piN>A{A+lWc4oLQiJ~4THr=#;hTCg5hHH}zsfu%@0EwdP+Be};+V7||
z!LXtcXuM4aakMbx(W1Cj%12I-H#vc0Wsjz5WT&P@WV@yn&Bp^H^EE?pu1tyy)+|hT
zCwjr3ZAFW2bIsmJW%#o{YEtl9JVdei5;4P`HPOc#R9mB7HHKt$`shn_-sn9vgA1rN
zM`%3Ws$Q%9O}$!uFt$ovQ9VPQ1bd}39l)(<1+JrRtDdN8uFf2*3~{BfIyLN-h)S(?
zsywRqbn4tvJyYFOJyhMHZTO<<q-wvaZET;aIk}!5q>6^2iwsNnPU5`T#;Sd>`cPv_
zCJ3@OWBKVcj<aUtnoC@Jc@oQq+ES9_P<=X*o2ypAlAVw5Wqd3dO=mKBrQRfll45OQ
zU1Bw2bz_xdwPFQg#bRk=nc%IYjUj%<LeWSx7!5~1NB@bwiN1|qV_jxlVC`nDVl9d;
zguOB`Ix3nJ{Tl5aU4gE0P+dEE6iwv<*`ZtbS6-uN{i9Bkm?&*XY2f%4Mh&Z^IS1qS
zY@`AHm5!Qq%v$)rOCZY5#z{02AIl6rH)HUy42>)xJG4U6C9+1-F0zTw-!AB~+wrmd
zrK!W`v@D;~lC&NdqTxDDnYBeE(8gBnR~$?q`PxW<$#XWGqS+Vrhxb8c`I8pyS#)cU
z2~Q1=4EGOrWwm4dLjU$p;mWN1<c9Ku3xvgRdfKJZksL}BHZVF;L^|j!QmAnFb*M!6
zPAEh8Mo1MtA999Hhdze3gl>kG@n})#XlQz9RcKmherOVpCUQG6G%D0R)Fad^)I8KU
z)Ff1gRVh?4R4P<Flr@wwWDe;={-7H=%g5j=_$)7iPgp6z^TCtB<H3W$y}_-)oxu$W
zTFaK;QXb9Wxe39kp|Qan`Z17a`v=EDnw_U_5?n<)*CBm*QbI)&Y^5)7mO}b4>BH}V
zREAH19}M>c6%3~W^=JaC52LBEVFR?;mC$CV2D%%@2WsPUDG}^Jil_-)?LP%-2dV`s
z1<D1=!)hrVC>h8R$QCfs?9K<&FSFkG-}<llZ_ogL#=n~;_`m$y{TrC|{Aw<_p*g%|
zwm(g16x`Xa{z-{f(uVM5>yXi`=s#&J2(2ok|D`b<d|3+=E3IEaWl><vs$k5Dcnx!z
z{`M7tD_fWzA3c-oU*tRNo8tQ&3d>|>9C^~7zP`TBzW!uQpZMze`WUO?Jgnr?1WUqd
z$>IA28cS=Rp0`B21$=IAI%q5=pXBv>zmaEs<-O*8;yvSi>pkRs?%nLY=v@MtWrlZ!
zcNC13zTR=1H~i}DKqj^!`Pd5ZR|<QZd$V{eqM{V_TD_UPMsF%_%wtRpTv@N=@p-;^
z6we#aJI_nc3(pPDRnKMex@XAk9w5Jaz_Z=6$+OC{jGw@ZJoDkOO!tiOBzp#v_3h&6
z2ZN=Hrx6sEik_N~SIT<QdkTAuo*zA7cO}m^cNNcbcOK6ZcSg@;x5abHoyxP<oyoJu
z9d+-3z_Q7G&b`5X%Du?F56;SQ7%LY%!`xpjJ={6yInE2Atr@38zgmBSa$m*01rN(!
zYYF!$Yhm{lYYtA5(z-t~pR6F!tZKK~ra?E+y3OQ;GTOrQ9c$c0Z8_ZKZHL^IZ5b@p
zZMUrTY*}orZDl#Vs)rA_1!rAd&`kQFmkhW4W~2QWr|?oVljXKQY^!jzEXU2V+O~x`
zfP!)yKk*sc9rs1jLpN*%X<f|DWOUu7Kj1n&0@uidAFz3qZt!JQ)_;`N?pI0|*L}t6
zx~4pVv2uZ{z(dMmWuJ0N*#>)MgHp(~N?Bu@OKZU_S`3omtqg^{*ORWF9yB9#RQ@E(
zz75aHZhHfCl-lSh)$y~GN@yrgpv}Isr$RrmC;_`l(F-0q6@Hbpf)mp0dzu(N(0Tk?
zE`wL42KP0EXXJby$W3{^sgO=-FN}3{70%hZ2(9eBgbKF4LOO3hA+>vmP+m7iNUfV7
z>`<l)L3EUpGI<|JE6Yjz&qF(zNWV`KG=NSJSDHYZtta23S>mx!A)%Rkgudd09N<SE
z(TM3}o0wL%i>YLh6WMeeA!HF1DKC?cQ`-XQCIv;ET!gn3=hU{i=#whpZ>cW6k!p(1
zAR4@eY~W`PQc!L!wsmzB`w2b7b3$+Nlh6-B%Rn)oI7qB24i=k>qwwI5=Nx&em?X~S
zY<Y>8EUpwMGqc21`1n_m0$9ykHj2X_sA$DwB#zFZw_M@G`YvrBPw=$7CfV~5o#Yey
ztgruRByo~MK#bvCi8%ERx6{skEe-p&44mv|<%B&eC+#^nagS3W@+Q11570^CbN4?F
z%Qf_pOC%gFaZ(@mv7Dq6`53g$L(n+)LzUfwR<eWr<rYr-H=&iR$GftMG{qn6Ll@%`
z_?<mzd~X_`x$INpq>EV)FXH5jsq9~q*~ccMl}u))B+@>U6K;fAi4;e&V<AbP^}O#D
zeotCygkyr#+wt0^b*w`T%EI4Rh~2K4JjXoy-!#|W#7D7@E}ezWdGrEJb&hq8a3(u@
z@#_wB5Vdl)mzp|9Y8yI#6&s)r)gk3ki@kI;w3o^WXT}ls_b2hHoMYdA3H{_MTEGo7
zfq1LUza-hXUQmFEYX@;1A+9I<t5N)`L;U~ykK=vDS<p5zqj6;Vzj>V?!e-=c8PPg2
zpiyK%o5;YQml16yBichow1rG)1)1^bWN~(LXQdG-n{$XWyR(}!r?WjRL2YRZYU#}H
zY~U>9tnK{K`LnaQv!Szuvj;Pq$19kr&SK7?&Z6`p6?PtQ7Ib!?ZD<z%_HE1o<}h=J
zIl}+t6lB>8%oQGA=ed8U0QUvZKML}(D2)E`BOjNdXiUZbn-XXtrTMp(<>OWXw@d~8
ztV*P+Dx-hIJv}vXuGC_FX6mAC)nn@OxDn}|Mm%nYTjdutkT#^aIzW=`Lb9tn`Ujsg
zG_rYUA#>3{W-!z6?@UBX8%K-Juh3+Nll&Qu&NhTe;%lcjMA;4yWt))vsfHGkpRYfG
zuMW4k()nEc)A>qV<CMj<e6?&q)7XsLWGktiU3`5X<ZJyH`o;;~_P5g~o^`s!OZ>hY
z%pIpB(rP6>b)FF4IM<6Gozumy&OYKdXD?B9mKEL333j)0oa}Kfkpj*(Qq=jAq^9H8
zNE5Qiq>{=c`jazA#iSfkX(_i<R>~(;lnP1J=u)oDGtGFfj#3q=8(qi)m|^rC|3+8x
z8>zMQo3)+vO6Vqi5qe3xgu&7dVT5GF_f`q5qdw%=W~Bd`qjfYAH}ZNDZ|6CHHhUb6
z_JUMQyvFO)btxD3cIJ?9T{`NzB~_MhNEy&Pa-nw=m7hsD<foEGej|CM&yq{}Dk+ka
zd%qNxB9u^?WHSU=D+JlpwDM$=e_$1n3&D>q1v$19>PKaWu|J`BG(qcVD|chX)s7*k
z9rV%5Q{=hwEcjRR<rQcff60H!+vKhCQIw7I@*(+|e44i9^KuU5lANsEm+u%K$&>8Q
z;L5(0&tk>fZV$<S*v-lqepYn1XM}Q|6Tf63rVRaZ6_qshdde49D`gEz#(0#BQOXcy
zoH7D6V*+}{JZ}F`Ci2#4{Jff_Y*gkdThKSQD@*>H-{GmO=BL_P?*HQF+h%1yb6Poo
z+HnHD*eT_%auKEDzVZg`<BReVh2y;v<B`qvkCMgpRmtyi@{`c3{OD4<%AkAHfN56G
zl^d1gM^|U2JKD!+S7q097-%zi%T!kz*96`=)z#iLk68&NZ57nCMXr&q*{)w*i+QgN
zt|gGw*20VZ3(DF7*KOB1*Dcp&=DO<<YRC)M2Uf%-xk|WwF16Q4V~z!8y~BNhYl`@s
z#;vjmx5^Z2ReZPg-J-s=`va=S@60HODkD%mhOtJVc>IdaF~Oa}RZMEnVs|6YCiiy3
zX1CtD&z%k5N*?P)sQUNZX>jgxvg8gz-1k|cZpC7t$v6W|#(Ckxmh>E>&3KEYnP(+!
z#!G2YTx{v)nL<i?1ZnL-v@G_rEcCRnZ1hyO9HIf>3@PucFkzq3*7(X}wtVy$;lpYy
zUpx|l?GI)jI*8wM3fkT(a|UlRN%8*ZA3e>*y(P>wyoXJ7yfb_ay>nr#jDxI_>>cD?
z2-k0|_b=~8?^#GHuOO*7d{@0)eYd?Qeeb+$eeb=EeLim^U%<P<7xlI`MZFJADzZ6g
zeV0w?eO;l(cJh_={p_pnYs7VIb6-baOW1=QedD?2UBaXDz9e7eV6rb{oJkYr4AS+>
z;Ki=+HHRD9lBxBd9#Y+O7)|6P{MdUmXg(yJ^Tii2MtuRUw%wd*emB}V^UO#xCl_a+
zMg6CYmC!yK`!~Um-AGDjnXwzGoVW%u6zyY%zct!NL*ph|CHA3r93_c!+FumyBR4GB
z%=q5Z;CoMPd<ADf_J2q3cxSK$QVbc<IC2F}p>^zrq_V-#EU?zliniizfk}pu%qZL_
zGXt#*YtS~f2TGC3$zgavJMpW4hGyb#Xc`|NP~N4D_%wT*Bl_yWb^2Dp6`VaM>xTx%
z=tn_Inah4?0kbIBi6)+Q`qgL}2cV`L3l=3aP=qv2LC&+&>EF}l@hzyK!6&AR1id;#
z=%X%u=&r7C=mPGOGrG#0lh+}Q(-4MiQ*@5zFl1Yi%;^G2r8|z45ila=(JHc-^Yz7~
za<+$R>5hiV(>PKH%_BRxhg7;xAwl;g6u_18l}yBEtu_3BgwEfvWtVYwZ_$*cH>WBr
z*?LST2r6C4S@gx3GBMl%-J=QYi<&SnYT^wjK_(-w_Fg!r_6eMf*UTH}DekZu-9t@&
zBch3hW!hD~aY^-DlQZ%R@4-X5c<$p?ISo<eq^4SAv!*qB=(dq1nm&=K<U@vP=AeBn
zjI_baP+zkzQV)JdX;>clajWFiJfr>PdnCfXJwyh@k7Gqa|A_DDpVDZ2iHyn~oGHu5
zuuN2skM@D0@{4+Nw2Jyvv;;nkJnAP=t6HI3CmMC)HhHhI#!_&bT&A_=f~rjH9C?`|
zG}-Kjrm_WY$!b++ShKw#sSJ$GMei7|niT7&T0+Op@>mDBC(TeZs;N#vPPxn6OZZB%
zt6s+d1I6T+h|}Z;RUufkRaDhg^;8X^(>A12C*GseTQ!|OZCGr9sy%;G3#hg~$NuJD
zaD(2Q6jgToFJ{_*g7{+IklMLPYUf1sC-uQ-L-hgra`r}>sP{yhk>Ke_dM8OeIXWSc
zPZ}IusO}#9lTPOyq;`(t)j6)Ngz}L$`b?dJkCK^>n1=L@ClYs(*fcJvDbFJLaFLYN
z93;83KGFrXW3*-pO2-hobCOV{y3&%=26dx3ipI};#)|RT%g<*rbL2Ch*`P)pF=`DF
zi#EbnjTe8?GaMw3!ezD3aglrr*VE?KHe|KY_R{v(4x#0E0&50q5o?2XqjnSBPJ6X`
zv?sKOw3lf-PNDPZ3(ZgeXrE}q+V5JMPEFr&Y9@=$LT^;&aCzOWP&M5#)VxD@t~Q1`
z>lX4=KRGl}Hx!o80LUmkLaTJYgtqHyLq&-*hkgv*(`AB!VhZ_nm|qh;Ik$tw`K~LW
zzl4+IWUwaW=0^J6!RGoM!C&;-aFi?y_Jiy^n(W+keNu3-elRl#C)p63C4K1EY85<=
z%j_24@o%6)f6_aHe*JusJX>*<JP2hp*n^qrFwakq&X4q(SAe-x-f$RoV{f1l>PCCR
z!oWbo<iI#Xa$o|lGE?bCpF>yrDnoO!fDL#Rsu(zIC=4Z~AnI!t6j@6^f|TMmgn9Mi
zuQGn)mF$Z@U4jjD+g}2ux2|zB4!uoKv{(828yERU;o6%8Vf%OPml)?W6Ua3V!QIz`
zjALj2-@JmJ<CXLxbD3Aw+jPV~q+90|{1i8@x<Ounji#W_fjXVb^oCdIhw!f+z)iW%
ztM*Y}J=0cS8`Bc{>8JTdlg}Jacl`oWI~4FHzFnpozT>8n<T!KE%a#GPT!1(p@;*07
z-qEJ--l*@5cf9YpcdGA-H=pkm?5=~}ODG&i_^GrL{_J}6j^!vFbNP8S#XA7@Y<qro
zwL$f0?EMA5NNsO%w2nO7=D|Ob#+%>kU`*a0yg^SMuhUb``_Yr+eeSvEz2|x4z2y1P
zd&={{v&VDJv)Qvd!7W>i$}t^%W0GgMXAVrWTb^#7H|92;@s=i}c<Mt)sgNL}JcEq#
zl6h}QMT?FFGD^f9vIN}`i<fcJsPn-s(6g5lUVLurHTw20^Yb4^z2&q!$-LiPII_u|
z%D2Ql)H9p&knvDw`*I!8%01lO(A^n|+b`}aoVJv6mvt9#|KQH(P6t_5M`w-#5AGFL
zF!x<IIK?>+3I8NS{5`H6t}U!hTnDXSE$0+y5k%Q}uE{QXb67)Jy<zLOXZ_-81$Vy*
z4B5u?=G2D5Uz4k=YOb=-`Aa2Enu@w|xpG47PoEfvOLUoB2B@-r&ZuNgt3GjV^;UVu
zwcHb~>24}lSr@p{I}Sm1FV}^exlUZmHRCE}C1+p@xQhHunWM~9rn9ChlenH7t_<bO
zYyf9xJ(Vs>N2LvCX^oWzoUK(+DsswJlJmCwN*-2DC9{$N?w=k0pH;CaMn$av;7UwL
z_HuUjS$@kI-b-#@$gkz+ToFH%@6)qzQ@+S~-``vxACOOQwS1B}!Ikqtd4s%{6T%H#
zQ~xP1;IwcKGn+?Kxz3(QKf_RYB%KXI<bK@tW_9BPvV+`8ZXq}48ojaHkX2u9z&T|d
z`Dd=&YjS#7K`zJDd<hyN^2vEwKgd~GX<2EQ`1QYrMf8)i(6AJcf|8Hh?~){alD<eE
znb*>L>6P?OdcnTsIrB(*Cf$`%q$|>O=9+X#x-6ZO&NJtv)6yx{-_lX(kaSEs$o*dF
zh_sVOTcusn25E=1R@x-3;C8XJPWqjhFRhVgODm<R(jsZBw1Al=4V5NH1EtYYA8CZt
zi$`6gzEUT4QEjEpQXBS8O{L~i1E~=^syb42ZmY4!DkqhfO0nlE&MHFF@el0BvN2hu
zTr?nOr~NpC<Y3QcrT17T8Q96G*wqDSI(E@={LT5%`Pup2`HA^J@9`_=3+GekBh~}D
zj_<H;qd?qrUUgoh`S`N)Jhx|=Gdw=c{Rw_`*m<1Z<3r9}&OLM<Z>R70FJ=R?&bg62
z`#RK%HO>Xx&tqor)@d{(C)05}kr~JD8;im*lFZ0(8kGk#gZT3Y(XTv!zqubx%zd0H
zsi!mS?CN~&>_{7PJLfyJ0)y1nDKKxH@HS9F)}bBz>1;vca#Pxv8`GQI5QU(ja}#>P
zR%d<wta{FJQe9_uxwbQnQrr2>U&}dLtU+?9DvpFo?AR-k%&CBCQl6cDIn;!5I3UW9
z_9=}LPzp7nB(9VaC<Dbw*u+(W5~wOAc)k?xS2po`cJTYRF+2IadwKpKZ$FIUau~Jc
zC~CtoREHC&52sNiE~2ztMQOQ-qvH-PlKVJPQkX}mBafLU|4sby|0e$2Q|8%!^OX00
zf}7<rzyA?#k$8{sBU~i^PHyh=FnO7{vJ;;IynjI^p7|-m`~QqO(}!8a-@lf>e?5=S
zGZRP`?YG@?tQGG$-iUV`K9WbJ;P4KC!}~i4rFD)=jt!7@*Fbey4%c^y<2d(6`1Jv1
zA6%Dx{Cclr88nz>Fo9P<1YW^?{MQS4ewt%Hte69EiVr&4Gc|bs@8Ukk3Hx40MA`>K
zWUu2sAIDwHN<OAbP*|3rtSp0{vJ`j8BGi>Rs4KHkR~FzbS%<3f1|`Vho#yx?PI44=
zjCIt6d)&y8#Gl^<Msi*Lt|E?s5SRP&);>J$4Trh6BP8~8>=U~>28x{=y~WOsh0Hav
zEzh@x-Q3KP1NL%07|aFuH|8awmB&#IdUHvhE5UQcm>=Od7vQ<P{CRm2eCI5Vtd7jA
z^l+b3IUJCnZHckKg*G{i4ueDIP&-tPI4#;GD&jw^_u>Z_(yzs*P*U!RDdG+BPGYWe
ze~CvYp`@H(j)~{QecbLA4~u)4-Qodpo489{CvIXkqO7ikm$F9u1Fdx))RZaWOte=>
zOx%v)c8EBFjL$%^r`R7xN)J*$9blt0hmO(!GD>|hw^#%ENkzyfr9>;wSYV`>VYHZe
zixo<W2}+6)N{WRsLcvz^C?e>@sGt`^f=cuYVVF{3cqv}tGrW{n!du~`@Fp>@gxA6|
z;W^xtI638kaGiB6G1n5bs?)-0_*KUsS?z|RvPmEZB&>p^vQSt6?`k&LpQ)@V!bH{x
zRzFr(p&N;yj--Lw3N3_|B!cP+)r1;CDWR-TR46Ir6$%R($p=}5G;mXFkW{pS%O13U
zhMV%-{tjZwYiKDi6LSk@$`$(!`z8A|$SGG6bHe_&eYbs&{V&#^tfi!W7TM>M_n8be
zWwd=bX`ey%e)b-ueLBGzYX&=|zP$#w)gh?VfGk#-Bv5HsD*554q_?NDn@Iqv>}ry=
z9@|&QDQ|2~6PeuG_&%?~P`PCLo70UW5LEWr_LB(Oz$wTI+d|u7+e|#8V{GF%8yNvR
zrJt>vtp}$kU2Sb_?GpTyI<`8t+VmUOvemFvwN<uNp!K*gj?_Z7{I<NXRDQ7K<jf@<
zlg4I+p`y0=X*X72sC=@1wZ6B$g`)C;j^o?bOK?=qS}$6USuem(Id0uy-A}{uF6%NJ
zvs1VoYn^W$3`wO2k2+fWS?gPST5IyCl(mU9jkSjLv!%NAmZiM)wxx_!wiK}XExB;;
z(rAc_H^maPoMleo@I7z&2Xe|2h$(j=rd+iwfu6G1vd1#dvdJ>XvL1rUI?F=V6euc_
z$p;OyjDn!jgFH}sOJhr2OBJ#}#Vy5PrWAphlE;$8lEaeTlGT#RB3iT-qa|qenLm>r
ze`o$+erSGTz6LqvwE436u=$etfccntgLyxR^PT3o=0DA2c{IfQ8?NYNJkt}+sc}Wy
z^!?45eO>XEw536^jrjuJlbhah=Eu-+-+42dWoWrkN+@GqpGow6=PLRwev@aWf?QQs
zhC*0_&YoHj30wGfLML2HU(XzRdZuwDJ~2Ttoa;+6{XtjHU(9B%)OXR>bIMoKbe^mD
zN51T6EvX=)MDUIKj1GL|+34yiM5|^+{{>?W|9Oat`;9F*5pC;VW9;Yu!#LbO(>MuQ
z?KEh$)6rX2_}d$ILa99i{p2icfeZc$#+!Ido};xm{br*&Kus~NpZ0)a$Q1Z&$jvUM
z7%8Aqa33q+C;2&WjNQ&5L%YCwd?f1(lkk-+fLyyQFdQ#QU&BVuem8Rte25*>@j$Ia
zXU{{ZwVwi+3}2z2gaZac6i<l|d`nNyGkyNxRd!<s^o@e+^_`)f45ICHG#bpL;6$dc
zekt0^dT6z~+3lSSmO*zZ!49yv{uZ8+`@x)K3T!YP%zAe)OlOZ%Cxo6uuDt>G;RyVP
zwJ<i<Fms`xOed=_TsIy1$&yez7@ZAtdqef;?J1+XOwQpNl-jo;UBXwQAqQc`TaqUH
zQJX1z8(QsIx_i!|ubd<=u^(z}+*h(#+aG@D$Z#?m%P{TS@F49%w3ZFwcJ%nPp?$U`
zdP{ZfY4ny`;UCdk@@XHVwY(<*6bvI4CHy7tG+F5L$qz@PbmT1B%5J<RE8uKQfx9tI
zGnqc)S?DT@BP})CNdO&(je05Jd&q+VkPS+0Hn^!aF1BN6E1yaKyisRO_$98YOQ9mv
zL|18qs?a>TPTe7)uS`a97zU}f8w`=S#?n%~m7L4IXgwNz%cw6!bD_0Zpw$N9ynZGZ
zbDu=d4OL;ZmSSiuHSm(ujjcpqnXBrLBV>GRUTkt~QEYCam1k>g3t67Mv3;!LtP`v=
zv2(G@ct{?gvc&l)Z(`Y1A7YtR&RD7hvo_AEwX0mDeg5GsZ)h}rm0;GERb5SZQ{ri%
z&Z_mePJV}ky96TcNY!tuxvKf91*&DL<*Mzf9ju+IgQ~--L#kt{6RHcUy{ap!YY=No
zk?u(cwblT%HX1dlzo5xDqj}Xvbp>@fb#2;<TBy6K`>Olkuo<tOqMoLnL(|c6)*AJn
z>h<c4>Mb-N?Pl#!A5tGtUr=9Er_hn~kfx-!>No1ov?qO5zf*_QirS&^sPjOkDX+O1
zsi`>~X{XtY4`msjyFVf$QD^3n>{_51ocP?vKgSm|6(hG%Wgf$=eF_=pyCxN?j2^#<
zJDeL8rWkF;rL@<=^|c4W&7kXa(XNJHyA<Ni4D`L^@C?507Le)r9b)oQ^u9l|b;EO1
zweh2r2~UPxJB7}lxp+>Ngj0pROeT#k{9UCBpAIXbRFTi2%i6neYcGZ>>5h|r+Yb$B
zYl2%l2vueh-m7K0-l286PNDU*8y`Wtyh@|-ee}#Hy1bz;y0m<siPU-dgYn6P{#itS
z2Sw%_U0Qq5N!Ri{yE537@7*M_dt>z@X){j38`d87O4H!;V7*|UV5MN)V6kA4VAf#z
zpe<+)>VkoQ7yj&<z*E-cz@@;+z;W7tHU$<3ehbVG%%b~ed|+%~B>g}A0v&1pX&Go3
zs1>Mymn2`{$3VtF&VZWsAFsbe;I)5O;D*1L{(}Fw;j~|CJcw`ZAnnE5{mqTb@!I_c
zwR<x9^DzHx<6v5fyOZH*jW@3)^r+@!C>x=$l;icZEFEZhpiJfTe}*{q)hPPaC@XrC
z$EQn-3vb9bpWXDH{<Ig&Q&g7}Xtig3-;9TR_xykP?)aAacGC8<#y88i$d}9-iqhT%
z{k<V9^SBmY-B;6B0bTw_UmjTJIeh6MpsRg0Cg}a{{o;MedVs6st~bSd6LR`lTqP&H
z=e#Gp`_Nprp}eest-jp*2d4wmY5f__NkM;fm$v9Gt>CgZ$7|BSTaCm{MQ?eS?WMi>
zytz<Zvg0;Mjs9ZBa}x0cahZJcJo9|_Jj7^w*Awzw_c**KJ)^ukJxlc4JUz^tJ=e@j
zIJcOEhjWJKn0d5koVmBBo2i}0>~HE>>uuy|;BCn7u7NgF($g5nXbGI7xjj}qCmMQw
z&|Ew&M#5e4&K;uV=Nl(7pJ@1bg!l9g-9DGyyO~`$P1eA?U*$dz1OE&({Il+9yk#^_
z)gkWrI9nIFyE1L?ueRp7=5ztIK%r^k?(MFPLQ{cfN~6*gr}d|pyO2AFJ2PHcgWKqK
z!|4Bv!}g);8U2JQt~;nS=Q(pajz+WFwVwvVt(;1&z^l77F>}#qW}(tdr@7}>*F<^`
zN8sokh)OfS)rC{9HfS|XT+Ll|P--fm(3EkNcNO6*EUzmcr(=0s*<9K22&d!3%;D0x
zj5Pnm6rU1Qyh?yGHm~vzjX$sP7sp-3PdR;yH~w5x?x5A&P|mUb=6r51y$Cx{Y<4m`
zl&zfLt!J%GxR-xNy_w6|-c(%7qq!f>Tly=TI49hMTC-JYshm+7;Z&}#^f1&?s@lsd
zzuAkzUn!{Uq;+yF`JTykL1_wKrH?%-Z?ensCHp_}P5UePy8VHC&VHY{AwRcYl0Eh_
zvQ{`H>u5r@(t>QG0XeO(QO+j(Nk`C18X}gG{rO#PLZd`S{3ktyVQ^Ra(FD|$&dk<u
zTAJc-X$aA<5v>v}<SX{Ja$hA$9*?HeT)u_R+^H0i!?v6_VbYTlvdW7DgS=9RNUH^(
z^p_xWD*RnqD}0rH65dLU-7lqq@=GZ@r@Jxf2Isk#&|}U^cce2YFUQeZj!XM^v`xAx
zZINC|8#(v=6My>>sk3LH^i7y0l@ljP^*Cd$4*{W(IE;)>KdC!Dli^Tj$B1p{18N12
zr74ZcjmQes;cU8=bW*4)O%}>a8-y~nF&C4vLYfWp*ki9QO;GCauc(c}Q(f9E)kh2J
zBAMj5l2tw`9hMGCN$5m1rTR*4>8)TV4Wx#~;^Wla<@Af+NfW$xIv|{6VSk$gvPvEj
zJo({o{+LKDTqM14mK4KrQalGqG#updK{%WTVM^?G=Hp%ii=wD_$oZ$V&#5?fqrz-Q
z=h%TyWS4Ulzh30riPEy&Ig@85ql%2<*-_{)qns-f_amH3aZfB{=x0HT8HN@!%sB=H
zW|VU@-ionkFH_N8$X%ep^l`qGd-8AX3WcR3iH-K`x7)D){)MDR3n(Ye*_;2H>e)|9
z<S=fC<0N|G9W<wKO2j*9;@vc7NtK*OXNh;#TtR1vcN||sXSte~cnYN~PK`KKr6P%v
z$|OK)I<@A8&RKXvS~%xBYoJ(_cRrI#J0IIiIQNQ0Vb2u7UsDjDOMaA=y!_2Sptj^g
zAt-=vqL4GIz6i=xG5jT^(1$8I>pB}bEAc-r?!00xgv%ly|L#2eeYtRd<UoVTPEsZt
z`bS(#$%e*~Juy#s+vEQ<m501<3VKZnzwZHm<9+5XfBS9zwrdF&Npb$KaT-inw4U<(
ziz=WARYJF@!pEyRT-Vw-g_@CG>4xKIET7kTutdh=BI<)Ps1vEGHhg?rCGMy3v7Uiz
zWDW_Md2mi<;T#!Hf~G&Nk&dLUy5bxeOcHA>PNVU-LPn5c>EhTX)I+PNMekE9$52|J
zx;jRnc8qewgb|L^?xBv{mY$AVVhc2kI*vB9L3O4#suSu+EA){Dj*jRWZ5`QZm(ugR
zUu+5=xv@h-`;!V4B_`H!M8(=XSJfejWgX;P9Nol%4#Azn(N0S1$SpY>d0;PBh5uSd
ziil-Nvt^QGQ6o7;#rauuI$twy`1=1MV#mN`;^uq8#rK9^)YA(taOC6Qae5LqStN->
z%~vre37di>Y)X@^sVzO^yEM*&PDwb#`bxLNp|DS8K|gvRoe<Ny51~Zt632;~Q9rhD
z`<J*?T+i(qG?A6uu0kDIj^}K-_^0?gezdtb&}N{GOhO?UEshn3izD%>4aUJXNbHR|
z(p~Hf1Em!V+2&{@O~qzn6BLrVkY#J3l2nJ7QVNwM4+=?Y6q10DL%hj!6Vizz6j7`p
zo9Qz%iD_g5qY<;p0ccVRuZEJ)pXA~wQjBA9=`Dab<s<!=Y+En%M&np43`OtwMOZH6
z=5bg1Tw#K1Cd86Sf<^fiTFFSEj51JYpbQZDDZPYyN)KVUw}X(;-cERKZy}h3+CnDO
zkDNjUp@2}HDIw$&3JO_xHiLi!C8#0DDt5i_#;z9bqJmt6B6|jg>}k6To#UH*tNjgB
z*hkP{@4-gD%l$Q|u$NFTj>9V1W4~nEY7g4hKrmT~vM~?#$uyLX(Qsmu?B(F3mx8OF
z*WMZmds8^EO}PKro&h3?nF-m-+aK8~*w@$!*~i-o+Lzn1*>~GA+fUdW_7yg>eT+2%
zJkbj^-bn|~dz;qt-ge*m6lds72xk{;v#iH#Nr8Q~o!-s1+}0Jg3^+i`;twqX@62zV
zVOwgMVq5MWVN37sVawv~W~=FLWjp7tW4q}oYm3A=D4wFWC+>o_i|*{Us-BFt3a0e7
zx>kp61zeQ9R=w@8RbxA9^;u7#hg^gxd&T;MZ15e_kModZk6G7Sw^|o-`y2YlOt`YM
zP(sF9hg*|a{j7bh-C1p{ozOy>S_@knThm$_S?$(3WR`!n=0O?BM0VN6Z48p^M^eox
zkYtaLZ(eVC2npo^Jd|^mji@1;EqkG(thf9Q9c7N?56f)JET||mp~z0PjNx{;Ww50W
zJlUR>E|w0KrZ83-SQ?>&R6z$R2Rk-D+DCee-IB%<f|;k7U5o-X_O1Co>yG&rD#!)%
zSr~h#&6~};Nqw&}>&?qyrpzK^Gs(Q%JKnt5JH))oo5b`q{{<y>5A6s?$=qCm3j5TX
z)hu~an}cL+B3`xG>QhWveXmT#eUD64eK$?5d}pD+9x>_sJ55CbTTONKn@p+Tp0qM0
zo4P_iX+z4rnW?3zwy6bE6Aoe71dlK~ltRG-kQ8R23wGf*qip<a{9=4%{9t?v)9@ne
zIE2Gv##6?_#=Vdaw;0zOR~wfZ=NP9MM;Zqkhr>rqGWIbJF!nI^Gj=t$GBz+aGFCNK
zBg<c&tbQ(|)|kQg)nGKPG(-%Y$kXIP^T-!?M1Cd(Z^;AZvY~3=lA#(Dlp2BahFbVd
z+A!_VKKca~;B%isSMfMbhX+AF>0u~hXkn;sr~&)2s-c3R5>tj%%1|0wK}kanxR7Rp
z4N|1Rpg==;tN)^ZKrhE_{UiNN{X_j>{b~I={Wkq?`lb5uG<Xct|EeFVA5Fi<U>ZI;
z=$q)9>+9(2>MOE-(C5+T(r4ETdb8fD*Rg^+zwVRHt9!*due+n$ue+(+qdTozr`x8R
ztouvXTDMTQJv?8xg;V$SwD#<PpSdH{Mt6ce;AM1>ClF9RhcfB>A+^pC_M&}!)#eC4
z#ba_;TNX}4)$nm`13HYGLP2R8-l*-41~QyI=;-i5h_Lh6n<i^lz@6C7e)Tb0$a+;P
zZE<Y_ZAEQ8Z8dI7X$xw9(5BO-)~dBJ&3DZ=I*s3GUa(SFS2Wi&2Q^1D>ol7*b2JMy
zGc@xx<22JWV>FZLGajyKr|CeGaa~PGO({(=O>s>ox{QsipgN%b$UgkB`hof!y~X?4
zwQph%zf`?IJx@KAz5Q@zB)!F5NYJ!ZH&-`SH&r)K*HTwiS5lW%mr@r~=TYZSr&p(;
z!<Y&rm0uMgPxDIkT=keP;}o(qw^Y|q7!Ig*p*U<)ZC0&Utwn+OO*IcKVv1^VqR)7+
zYOtz1tD~wzqSv^os;R0fE|T)B(ySb+?5gyv)U0SM8Vj)Avu?$1$BwWz#r}#dj{Omv
z9-A4P%I%m$xABNr-`GI9jeEu##G1w`(P><gRh*nnu2}Y%5VOQov0zja^G37B-bB-@
z??lV1kK;Dk3@dgCT2C^Z*zx#khC_MjO}3_abQUg?snJ@|n$cp>a!l@McDjvCQQ#U;
zSHu%}7x@%<8~I4H@f(_rUq&uQT1O8-EZG&Qg9_CEHL9~_YNS72lacf(B|(HOLy~4=
zq-3O7Buk`7#1cs#359i$_u;R!8Gi`h4Bw&0_yRq~$H~lW2(O^YcvW~|_zzl)kAw$?
zr$zdPPis1d2SOKK2M6{bUuV~#?Yz)t;cHME*64g8lg=4R0|Pb(tx^Ti>I(7oT3B~F
zludUsl%m~BEM-sV7){2@=rNu^N@f^6#vNESL$yPt$;V_56%3_j#8BsuK*B5*Owq}t
z(44`5?s+g33AF+^yK10b{DgYZQa=ax*C<?I-ATg4mC1%Mnd^~ss}7l{L~y3QK(I|H
zb+BB}8qA1p5eWnXes0~|z6n$gJ_*<iR|8cI2g%lLCS&&}u95k4=**_siw0x7X>$#O
z1B(p(agKDwHPS9{z)%<G$WMW@hH~hv`FP#QMvgBFT5IaSPhnl41YO3afRsqdJR&1=
z$A86t$$#2^o=nUx|2EbZ`i%eduVj{SyM)_m{^|a)tp5JK{?`7M{wDs0^ch!URq~gn
z(YP>u#)bSp_zU`T`g8l!`ZM@rz6^ekPw;>6Y5mW9vhT9*E1kt^|6X4g|3+W$=n~&g
z#wk9JaU|Zr-o6p0t~f_p`_`Enp=a0do#XZXF|YftP3dUYNd+C8FG^FytKsKDI`c<w
zK645`D{gozo6mUbK^X4<dAz%MB|lG=Lmyv8%g#c6)=cm&G7t1FBlEeMcAfR+4vE=g
zZsa{oCiEiBI_J%0y_fJwUN;w_X{UhqzB#A&2^rE?v=_@{N>vsgo=e4(3*u`Dh_4ka
zw>=dtH$1g0=RD0V`{~5n<!Ni#?&)J$;TdU}i+5zIXSQV&{*gYOKP}xo+bpdhku>+5
zwp8<+wN&=pvJ~^&u@v#Vwq#?n;t9>{d27k&`GU8^Z_&av3%V^<h2|ZnJA?I|JB#%t
zp3+C|lGZEkO885EvL1#czt!E@x*8VAeD`Q8j#TS37-|#UldKcmGp(Z_!wzsSxAum!
z)&nL<NB2H!6ZZ*gZTA^#O;~JI+_w@fJjF=W6n4L{=61g)VdJu<N~CJcwxG*w3%F9-
zWLG9=v3Vhn6o5!l3L;4<+bxK(mt8e%XIwwq{)QTRgigZ)u1>a1u6{J~B-xg@M%m`M
z#=shxY@6(wWgABy;waZrT6LB&E9ggDZ|lzVaP73Uqm8El9g4MS<f%%YrUKcT5;XDT
zrimxB%SFycW!Ji_cAt{kF5z5uDmkIS=CZ$5irMce<>_jyVLwfC@jj&$U5;HKz$V!j
z;e4Kf5;0MkV;@CRWM5^yy$fWL)~FP}z}Ty&oF!FrB|#=Bsob%bQ0_9%?D=Uj{z3Uj
ztFc6@v5Qt?544h)UB~DZ6O>q+5J07n=&JmNQt?^NMe3%A@Ki2KyK#BwB{k?=s0X>E
zIh2w1kW0D<+vWbkS~&?-W0bH&9>=x#M7l9&3X{+yMnH=l42Q56Nt-V69_X-#N!OgB
zYx6wmn#=SX--b-`L?}YHaRK=)OvCp=9{H<~RgN<by+Rr}NC~N0w8<8TBo0v{XBGoe
zZup1===dxuzLQFeFL1p-l&Xn$rP{dJ>xq}8#^O2DiNB@x;(ip0tq=g#K>}DQ4Wmb6
zINZhwxa6lp2$+YGv5@`G5^<2UQtU0Qrmc7l`=SldV&hbS9byY<A8N)Sv95Gf{23Za
zZJ3a?p~lvPNKgebNqNX5rKD@98aL@ay$M$`g|y8xF}L)Feb*;aH{aQVdDx4E*~e)e
z86=A%on+@el_R~B*&&iuaY)&DoXe3<;%r>vOkFDNNS4Yv#z__F53WqtPIbpsskY;s
z+|aSs+SpM^Y~nb^zVd_ElD%Y0hnZbydiI@p*{PP|B)$eG^NrZO{=%7kTUv|TbAI20
z>C0|*Aos&*Gak*`#_-HIM|a00PUk1_JE!6tnCciJPH~JCra4Axr#f25Qykr;sSZJ!
z!OnO#D$7h557QmRXgw}1k8&(fcW{ie=X4CQj}y09ui59pTTJ1!_=b30$nV%=ukYCB
zYUS7_b#~;JdP8AJqEB`-B#310r$fx0;g~4Ra%>Q0(Z)Q(F@=A@az`?)$m3~1PR7|V
z7bnD0I&PNIb+Z_k#2h+~r@(lf;kd@zZt&|{xF7C1exloWkC@_kYNyxO`q0st`x?SS
zM-o%p{>br%_pzg<{KQdNdO}|48BU02I3AvpHF`!q<Qe>or{qeWI9j4o)MaWgm3giL
zZ!5?9m1asX#hGINO;NHr@%fP{!W3o-{XbKf_bb8_<<BV2pH-YczZg@L$3+v5AM@Np
z+%PHp`S(ye?x1$uWNt8Vu1K5`dxgiB`FC7I(K*kYW#UYi(<mZwmhQjzakg%Js-T+0
zdArq6j^a}Tr%as1`x7ckZFHTwOq@efKXD&#Gd|#G?A(v?w1@xu4%Ddas3%*<+iXHf
z*+}MQJ?hD7J~nX%$x26GoFW6D)DA?w8cY^v2#%2vC^92aS4N|<jOR1@Z(b`I{>Vh~
zTw};~jlyLznB3O@KJL9~+v$!&rn6%snXpaHwu#vSPiH$S&Mq=K2gr{dCP#J*BJ6P#
zo>QoIr=h~e)x5KbyjdAkzT(hf<9W3F@JRBKQ;TQSvXfg&&!nThI1OZ2D_><s*dzEu
zXfIZyhM39138)_;Op%Omp)*Sr`0niO{Q;L+5!B8frJ4A@X5a-|Bvrs)R!RB;cNpmz
zG|76>R9jPCU7GXi(Og=<EEC)D%FzMtNH-WpeR*yOOrs%?V29IeJd#(K@zO*z)3LnT
z3>Ozj17INa7gtGL#XqGkut!>n+jy1QMowoZuUNYh(@5NnwtA3Pvcu9(;#vNE=cKaY
zbzbSNOFxP?r6Rn_6%e1IufCBoi0|QNe<j1CNCwdjDb`Elu}{+S3aNqFq#}dp6D)9@
z(($UANq$3f{A(Cb&tN{?rBVK}Pzgp<O`4BuC0>=c^UAyp&3UWPMqVehPrPdXE)3<B
ze3Xn=gje=tc`UE&NpPlmp<Van6~A+0)}UX<XCn;po#@p^(5)}P8oxpNaSF}HPZQ0@
zX@pm@1r}Ds{z<0GNZw#~$vZ4=c^}@#Bt;8##6eOgEh(KGDE0YB*yK}oyNWBVZN-(I
z=<o~dRmqOlp%b~8vVxy>3+;oH>Gm<oI5MWAVWRi5uTnZO9pR?8w(n9J!cebm{~Hbe
z6z#`nl?pT;m$qM4O7K%PADs0(_IFA;`zOW0Ph6ATt!V5XC6;JF7F=&_>1jaD?z%%F
z_98#A58Eoytyjx+kOt%}wyv%}ZM|H}ZN2$PKg_j&KE7GDv96i6DKsL_;HqF@;tF8^
zt;qdt8)2I5aJ97UcQxQjqPp#>tE4RjHvKEQ|C}zX&FwPUVy-Y*-vEp>r!^hyv>)6L
z$OK>JD&{a(G+V8m+$*h}-7Bp9-1DtT?%CF1?&;QKu7+lFWwglM8!}r@>!0q9)-CR)
z)<f=^^cGgOo^)4W%3IHKMRl9p@m+T=uCP*DIZ49R``sdV9$T`*jQhc}+fs<u<1(I4
z=JK8m-YTATo;vu1`+Ej)n$?Z#!Ok=*4)9EdG&jmJiKfNhJiW>6w6m=8w5AQ<C(CY6
z8EAAlEO$JqXlT@0zIwiyRo<6eS6-(9c>x(6qpvWX$2Gmxz1=ufn?d*SU!1btCfgk&
z(Oup*!kfoG-TP9z$h*<F&fDFz$2-t;z+1<7%4_joC!6!YTacViDWA(boUG1-pn?8M
zi*G+y%%@Gc@Lrep?I3Nw!&I04oMyh=rX=5bTp?>shv>C@k4r@3A8vBv5IIZN@jCq5
z%YB2H?sOj4GhOlx<b>1VpKE;OJ8pdAD`5QQdk_%(j=*65O#M%R9Y!Je(l|eGAI9KD
z*oL`{U1_%Y5=b_-3+$n__<(V-{{-iu`)D~{kL!G$G1<SG`$gPOHqOL5vK;ToR(~^c
zIzJgt`imRy`m@3#F&q6j+e3aYZui$T9KSH+Ot42T;1@Xndt|MlL*O^VK=wRIfnV{9
zjDQc&)37Me6tBonhAn|Iumds}j=>ta98j}w3hHkJUg>WI#_Hb&PH92`XHXqn!5Q)2
zoD_#bS%Q^x**SME6s)BG8J1*E-2X>|?e*<+ZBR$*>bs$dwAH`XHPNTi71B4?+|@qT
zszb@T55Yw`S8%E>98A)gL!ET?&^v9G(9m!;c8u9WlS4&9pF&ka70Bm|(e>i}2ZzS%
ze#I{`HPl`AN9Y&bUvMyw(rkPl4#`dSp0`6qn2fX=YjvSekY?lWV4+@<$$6>G#s0N4
zY|ZNIWgCS5(zXk)LMvH<Ut~Ugv-7mW!oSjiG6+6rXYJZ>3&^o?21!X6o<C~ulFfMn
z*Yn-~`9$L0fTx-tAjKAeLsAY_MdQc@cHIj!gP_HZAoVeU{LS1*Z~O*bG^-)T#;LIz
z*sULm{H!?~sh~L%DXBRh$xPpiTm4Vu5%a6sADJIDL@Pwi(elw;OyOwVXpLy2X#MCf
z(U#0F(XP=h(J@dtCPv3br*XR=Iy<@|`bTtIbaV7r^l<bfw|ApAqA#N<(eJQ5Vo_Jr
zju9nIOcyK4?KoAA*a<Q^JMfJBrD{gUa3A<1gCN2Viw#%Ji4DZl(NncDk;!SQ+8wJw
zPjS4jINn<vXOU!3eU4e_&WY!8;!Khtw{hRdw^*7)$4<Qa_zu70YOJj4Xsj+w*>-d#
z_f^e}jigy;G^w9S5Mcj+e6kuA?K)MX*Z~qkM^!)3Y+RaV<Lo4fEU;_+3CBxn_4{Zx
z__le~7o(NcXQMR|b1GU(y))Vh0&G{9xP4Jn2C3&mf}KOx^X%wY*tv`8e_jP0c7uAf
zdYgJPK9OUnP}kLW)KApU@rQg-e`Wd9UNvpfnsk~pnjD&JngW`9nyQ-0ntCW&Z8fb>
zw%TfXX?mb{jnz!mOwlYv|60WD7R_eOPR%aO3C-V{OXy=)G`Cn!HIFr)HD5FljaQRO
z`;R7@c2=YyNv?|8a}Z#UllIz9XZC7nHw$Pxo`qv%8i}y+xRnMboJ*UuZNi68@Q!I)
zK+UN{<IWFZr#5$3(dMW3sdd<*d!o%jcBizigszsZvaW%yg|54<oi0h&Q8!6fK{r+R
zNxMK-07Y?<?gZN6ZPdp1x~sbHjE7&T^^bIB{aamn{dZkq{Xe=AdW*icJ_l1(-%{V0
z@6S&99<&vYqMvxOewKcwel0D<2lRXO7xicL*SLL#7W#tuPS=jim<)cs)ez8UHCQ0O
z3h1dh3>6J|4VBSTs~fVQxu&CU$F1*bxS>xne9#Z${iZ;PoocwQUuMV|++mmz*u!hk
zenWS9cRHcv)(>1Y)TGg?Y~T~GSz%H-sf~(1m+=j$oV)by+#-*7jz;%Aa9Owd`_UXW
z0PkEfuY)s;Q%LAc^Uou@xYjrt-^fV+Ve*WZV7^`@rE|yFhwNh#o{@gEl(mNSS_7|M
zN!sS~`?aQwew`_;-(Yh1Q}Jq^8*Wr_+UYBs?vSs%jMwixS<Az|cBVbPj(GpNk=9A#
z)qSXGrEiL9j&B)F_iIf<d>i=5unX_tK~pC@g-u~v)$n~X74v<gi7miS5~Det&p|_5
zdJ3Nk(%M#<X5-4{Tiz<>>)zVtv$PwZhM#rN+XXFuuz3m1#*@5D(Op)+d0lJn?%io_
z#r)#kYi{N}f$nn2T*-SCHrHKrmxt!U=q&}jug$r<PIDUCjqUL-Zm+}QqTTqj=SNG5
zr@ZAF?Zy}RnR?n&*K#5;O=-^QZdvE)X<6gxhxRfW?PZ!}B01W@o;8+UG#q#F9I-S)
zcljB;r3|e*#XQgWiT<3X<1gqgev9Y{TkIa2HAZ$v<q@npPimTX(pfE@^ww0K+)QC>
z8ru3So(8;6W2@HFp2xkcg*^SO$(~`>sAr<}jb}3LJ@c$zV8EVWws1AF1kGi-d%tz4
z`#2iR8T6OS)@E?<t8fMLBU(!Vw~wnC9gRF9T1!To<jP|E<|=4==_-QGQjxafdR!5;
z=8USBZLMplZE>REcp_I&lev;wU>oUL%@tN$L)m2OLd$VS*B;w12_5AcS7T3XKf2!7
z^1A-9Wko|t>r&f|XebdS6B<f(`#(w%`%9&i{V`X6x0D9<^IQ#{=c@3S(iI)0hy5Ta
z@q=h6S7_QP>Y8G|W0+w-Yg<I`@k)Cu+8vW{DkszSIGIzu8JzA-;tX#leUQJ=4!MLz
z;xV|Mf3XGaN0o@ZGL6KU6uY3O55X_zK{LsRW>QjkOdIiaxfXg!Q{gC0#7DR~-b+vA
z4z8U4qPudXJd`$_(P$>Waz#BB>gzOGcIKm>{0^1m4`COS*ZW+FcU5)>EzG-x+x8<u
zL;T&zG-a+5?g_hu6yc!okhaX%_`SdItim%PJmL|$HT9w_*lFBMEyje5qF&5~zdR3Z
zocTFt%}*~yAu)|uT+GP1YX&B*SeoZ6a$l9!&Y#5eoY1D`oL0rD?RlYvSl-f3Y$11J
zr_qCR;-2Cq<|MnBeNqxTn9=NLCPN&UDo#gJ86*Avf0{}k^pv=!(i2i+7kV^0GM#wb
zgWcB%X)eESxR_aPDqhg$;O~Ad%o6tq2gDb`Io$KtIEB7W)9F>tqp#xIzk-ARs`yGg
zi_3q%=;8c12n9v$m@S$eOGSrcjhNQ)hnU$hSj_E6Bj#cEpU*){g(F!g;;?eg-d!xt
z+e@RJly%$@%R63k2Cs<KNf6W~T~Lqy;(Fu`8aN7aR$t7~!cms<`wE=nS3_U<IdRh8
z#?h2h{+5n*Xeu2!?eD~NXZ2)y)4$t~8Njniyw5Ox-)M9h2qj{&qrN!J5wp#5gr#|o
z&*WsbKzaR*UG!wAo)hRQ9>*?w0yBkfmf76T<+<P3anGTnWghRhlwI}#cGOV_v!|pA
zj;6BSF%MlTtJFpCI}0mrXI~OYWu=&Nru4}9vv;%e7jcGD5r;u`>FErJ9i7L-*3JoH
zGv_%7C%I7q+CkqKjhAF9O2T9mhLKEf)P^>w4)vLuC=dmi_hNbHSh12bwOGZOUa0Ey
zMQS=DQX{96Owk(BPRY)_!Z6-@V8U6k3P;60{#R$%&tIWQ`iA4Zbkkv%Z#gzew;jW!
zJN)bKIb81hj+4RzK4T9Y7tn1kiVqX>fcuxs5hjFobK3CG(OiD$Xe2#EHF`**<{=E3
zhqyIT&>>RLDDI<K+`|oW7Y*YUE}9$s`a15KtGGih<M_CUK5>RNo8x>`_oG8>;Ul@i
zu>vQ^8eAZ2;e4!gei9crFNxD}QcQ$nI)?xCuQ-cFIhXR$duAErTq6&3+L_hz0B3e>
zA7>M>Cydjc@PK<ddpUa0r_>$pNDs7*-Z)75qILAAO}Ib&k^X#y`|(*D0Lx|oALS&J
zuOWP#hT}LH#ru!r?c@2q$!H|W+)v{9>D<re`MJz*Jima?%p#mN|IRSDIYaqB400?-
zPgw;^XD$DRjWiT*MpN0sY=yJ4i_h)>XG=7c#;{8op_|k}_p0HzhL&=d|MO#7b)LdG
zd4Z1d7RJdJXgLyEiW?VI04+r;Wuk>Rog*hoWhJWm2BKbi;RRJN%e;bo6n_=p@_qRn
zU&vEjA}KgOZi#Ieop@WEBU~4A2v<d|{fc<abp>wpSuq*Cr32HL$91@`&3%2`CXG>3
zTS|Lzr0haV*~Y8GW?m^)!-QVSEE5N#uZ-puWs)>aoPm}y8?NgDX%q_X2>7i7P<DHX
zdw3-}A$5Xl(pJ0$_vAkM$xB!#-_cLf$Q8t1ayjuYS5fgNdv4JtWD;xhYS=*##kRaU
z=HXRxwml*|G6w{s+b0ZlNy2L1d!dc(ozTzzLa1VYEEvp>gb~VJUbS!0adrc5-Zi14
zd{O8OE2=9q80};jGg{us{Wf6``bm<!fnP5bCddo$_QhY-e`Q9)@E*yl{RlLZfhgv*
zzN4PUXDdGycGA7J2L|}xa(z1Ms|vU92i`|@e@VanSGZSRIXnGr+30l3Aei_`lb)YA
z1^CHRPx0BuDs&jb%&P2pXMbl&vA?xmwlA`rwLkQnu=jB7=O^M8`%T(*?r>7@P+4q$
zf|im(x7;ly*?tE7<fJm36NW+d>#(|>DJ{`Ons5TqgvU)eg{WhHtJFjzDQ#DjqIR#6
z-yT-7@zd5}x4TSs!KJsSam8#oU6L)A>#OYt*C$(H*GpR=*9+#kt*Gm<trS%DDy}QG
zYG^49T*ngA!nN1d0WGBuTFL-UO-8zYLqmz5q|CI9cg?WPa*f5oGSs%()!Vk2lb0Q?
zwrD6VZ0B7yZC6}XIH4(Ld(PFwXL#~5eSblh&8FvM$LtQnIgzco+;8ayyhl&qSvV(0
zY312s?dx6!v3>@pNaL)3xcfu5Z*Se{Zf^aX7M|1YYSydn($-t<qSh35e(OhfIvRN_
zjG3#ZphZO*+USuj={U*C%av9^Iu5InoNf%+q_bxtRFi%vBn>U&JvEpHs3f&4D?OFz
zN-SkL=*bV+Br{}_RGg?eEKfZq%L|Vc!imV0pVcCH44l4cxEl1E(|SLmntY^j=OI^(
zH_R2hv@&{+n(KM@o11WT+045=F`c2j_VSXn@y<3+p_6z9eZ=#;134M&Y~JYo1-ffJ
z$gWk*=ODXYOq?L*qsKTkR9BPvt5-+bMl$I+aZKY&F%|HgG8OinKu0-Xs>hXb2j4tX
zPp+JY_=cONb5;F2I>`!OCDTrlG$(O!-^8hX%lFCn(s$SR*>~6&@{J}{^SdFfzd?|b
z(LiBNT`OY;sOx{}Z|gtn?*)r+n18c>w0{lfs~i06061;k?cWQt@D%5=XPF277ykGD
zuYNCF!w|n$45SHU59Gq7UNBGur+QUZ?ZD50=1>v4;A9^j7!sHfm>T#!upqEDusX0m
zus3ij@OR)^;A-GT;CkRb>mSy)!1sVEs0pg@%3FeBFiS9Zut2b6utczWutKnLuv)N7
zuu*VguoHC0&cP$WA;D|GUunwuEqFG#CU`2iKX^HKjJX+n6np?1@=fql@LNy`YC?uk
z+EDsX&QR`9xls8~RaS#g{ZQLbn^3n<7l@N1LgPbYIaePWS{zy!+8o*tIuSY?x)M4c
zx*xg~`Vx8{@`YR>BUDQ>giA}<7|ulYpdbXy;^Cs<666u;gntgV2saD&2zL+nVhv+W
zXDwhY{BNxbuM6*B?PZ-}Jzza$ePyX4st6Z@k+iH#temWZtct9Ltj?^SksgsjtYp?Q
z)}F}j$iB$l$f?N5$d$<D$iqlV<Z<K?&V~<>a3mD5M{N`z+N0T`S)v7^`J!c`rK44%
zm7+i4jHr(q(jnRoBIy9U5|g7#qKl(j&^?Zzdt8oQLi2cm;_){64PxncmLA$^23B@f
z305gqeO4n@6IM^w7}jsB<*^m9ZLD}!<_haM>n-a8>l;f)Yj7r3305suOI8O}dsPqC
zudMN`S*+!(&8#D=zggE<*ID;jUs+*RT6H>gW_1>IQC1mN19d}ndvyo(Q1vkNC=`oi
z^<?#Q^-Pj4^VBP0&aNZ%vH|zZF7;lVG^bhT)K^e5?vZ?XtbV3`ul}SCsv~NZMx#+{
zw773fiAjyFkqu>|1n!&)no636nns$|tR&4~+&hy|G^S|&&@9E<vtDz6bxd<yb5e6k
z^8nw^2hB%~qH+CyOr2$z+h*Hs$81Zor7$xyH_Xh;X_(V6wPEHo4JQpVHq6Y-%*-U2
z**<ILdw-njx=mxxjGd`1?Pu?`^(F&M5`)!{+K`qly&;n!iy;q=p}d9yhQfwohT?`&
zc!(+)svBzIC#rAgVCZNVU>IZ=1DoU@xFpLA{~FdB)<Y-RY&Zgw<Pv0($A%|{kA_c%
zs3B(18;wQ<CP^w|8e<M)ZeuxPMPnUfU1JMlOJfIPN8@1Q5aU?3`E1LKOO30ItBmXM
zP8~HKF`hG?HC{GeG(IvuFn%_EFn%+BGKO(lSxtIVY8+TOO&LrjO!?6tE72U>%GAU3
zyQz<<i)py2KkltTrn#nRruC+kri1hdUq#<|Y<fg{@K@Ylzf5l0gw1A|*j-9oVQHAm
zOg{5HQ(<$nP%$XXrRWl`YCaWg4U43c`6vmy({znr4vsY!4J|Z(Fl{yWGH)|aqT^<T
z`7muaCuq01ZoX}PY5r)|@U@vO4ofOaT1zHNUP~cM5le9#a8)feEVV7QEOjhREzK?6
zEIshZ^|y>;o5D8NGKW6l#g<i;6_%a&>JD1=S+3G-bA!`Imiv}>me-bFIPn6w^7Pi2
z#bFf)GK<!X)-=`}wAB=~7NAGCBt63Atxc>AtnKmm4Y2mJ4z~`qPPR_8PPI<5PP0z2
zE~FD}wRM$suXSJ2T(DlG&*p~pne~<RBh6_)tv;(}jauVY*(T6qBiXWXo`Zh-;<i*Y
z38$u`CXKDKEgc=hscg+`QELm^XKOFperrG5D(f)YY3p#C(>j_*&b3vtt+oAb+e^Rj
z1=|?>j#F?x&L9E0+V;b?$L6%1WS-a(1g9;T5VWNb5`>h3D5Mk83fak$7Q;(fOsFDM
z7U~H#gjOU?yKt=!_ZcAcu#Oj|`KAild`tQC+bUe~9u}5)Pva@Mil*@xF3DS=qE{0N
zdG%r@uRtfBBBu0aM7t<}Z=^J<8MR=L)T67WEnboC;x5k+di4@N*=L|jEEGrJ3+e4y
zE%x-R<&%FK8pQ@yPFAxAu$m5=ncQcL_>X6>xShR#_pFdq=jU&y-S{_}iI?CjsmCfz
zHZ%;Y$AF(!gut5U7ZIc%Zbf?PPD5)=A$%b<SmCKBtw+aL?Cvg2a}U4=G6es}0I4gw
zMpt(aw2OXHYxf}ds{N!Y?lw{x_FBrg&x&Q-P0dB%wUvNfQjP>ne+Y3lPjdI-Kr(kR
zA({KVV02#+0<OuzS66o7nd@KM1DC^g!*$zy*|pAl(KXtAfj5BT(CAJ<C^=7_<pxxe
z=kV<Az_~l-8bq3<FMPY+uH~+Fu0^iKu6Z#27rQERxi~D7+^*Y@NZvvs+3iXVwM25&
zpe3LP43a!9zcYtRb7pkCb7pfrb^hjh;_T?U=RD)O<(%ri?7ZMU<4os1;=JTK<h<kB
z<(%o>>f9M#=d3NRaUK(wIL``yJ13cEIB)sJIt9-VXKMEVD1LpNnO%LHZ=Btn=bYUk
zmb7;+ceW(U(h@dF19&8Lpaj-|L{cY-KvK<F75+$Rc!I@fRVWHsuz)iUr`aHpWO3$j
zrh_?{n$uLACbCEzY>1vo9FqTIkhn;fI3bUGgFW(Id!Rid_3}VFN516@$&w=^U-oKu
z;ELSWc4&`bi9FL*YCl=|)j8*rLz$1gelB01NiJqGshG*|N5;b*8OOTt2q+^1A&mT?
z_2;~|HVD4RUs`)@lGcjHG|=e5(ek@$l3S_H(MeTSf-BGyS{5Co3`aSo@R1b7Z=WCE
zNIvZ$UXhphLq5=8^D${s&{LWmVrw$|BTCYIWyShCE7wk_tuEQZxs7vyOn`$G?ToY*
z7oz#1nHI8N*D^XowvO~%6z13}C60eH-_45>@Ll!FFHr&>arq7@f~)FT`Mf$`KC8Bo
zPpf+Qm|EI?MBVK?q_)%cs1|KI#E>n}KDNRp*#a448`+ruAdws*2XkFru7=em>U(XG
z+EM-+LgpNLTxW3PIhCW)sT`e7;)r!3N3au<8gC|}ZOkOAF`Jpo{LNACd~RC^p>qkE
z$5M2TWpF80!k<{pk?UHVCaXE(UxPPhy^>Me%#rAJrI@x;>CSA>b}8GmJ<4cpzfw&*
zgm>n+V%1J5`Itf48D)-kPU);&Pzr08l(gCvd^J~<Hrh31g?3#zsohZSabDMXRr%L<
zS$XNWpuCdL!I(G$f8vxvVhHu;Fgng&+%nto$gEdJ;6E9lOk=v^Ov$b+P!7oJNp0*@
z7R!4eQ0zr3+M|rav$9y(Mo;iY_#CVG9*c0U%%YWe5{!>AI95jBR_TXZr4??K%F09Z
zrAN4K9z(r&N>=2V@<x8Hd}k^s&$<6IWhL_;Upu5c;kSCMoaX*#dE9yC0^cKXE;5&r
z=02D2^7XsQ34YE27$ZBG4a`zz0&ba#Fh}$bsI|NX+fYcRliB%`ywG6yD}UfD>5H4B
zAFh%CI7x=%9+?EObro|T66{~v0mbUwr;N7mQ{0Zd$_}1+2A*eYe#%gu^*CiS9-<BW
zoOR3^p7RQ>|I7JuW*L_k^PCp*dM@B~n1=@m*9ab-5z1WBHM991i8BMY(qvwvNhoO(
zaVL#KSxa;%{mH+_aApvC+aF2?s3UE-wHeo%aIImIHrEm|Nn=<gb@?}}rj+CrE~-?5
zP*N7cNGb9-#bJmPfge(c98NA?=d8*DIg@f$&ZwM}Q=>j5Ba0)U3yNfW1T;INat3Yj
zlpKK*5<rXe%lBj#M3L{Pkl#7~!u8McE#@lBku&mJG|4wGnBS0@c}Z603G*Onw(y9}
zs3TjTk8DA~+$>*|H$WiSfTp=tK18Bs4=T!TGBsOC*lb9mjx6KSA~H4$<fZaFdA>Z0
zgv}(#BcsXK3@2eT0{+Mdxeuou<-TYyz2t^msw1~0Rnrm;w=r67U3A?lav`~_oKG&s
z6h`wcDCd;3!k5k{XMsYJ4ShEYoy2L-cx8DiipW#DNe%=O<l-(rZDc-2SLZK!g@54|
z`Qga#{OZVqgQQ^6yrx0yv7@x}Auf{pj><Sns-le4c3z|X{j#GzUBu0Bm$Y;q$M<&x
zRb)TTk)60d);gY8mXe}b;ArER=IH4dP2=zg#~*YL_b0j22L?$uM<Y&aINFiCX-9si
z1<aA=q-~lwKHD2R-q@=<UfU}<ZrY1Ew%ZFive@%F76&sr%DPGAxDAe4?gU3ePtbnN
z>$dmv{Ia)ozoljP9xDQu@OPX*uh?hL=-yzL-D}V<mf3T<7ux5#r`WUkN7=hcee5!6
zo08B)YS?E<wd{qW)$HfomF%6})$P^Y<?Yqn<?L16rR=rb`R$FE+U|VZp26P6ozgxV
zHDr-TXTKuGV2wDXOVW3EBp;=x(o5;F^pMNfr5n;Q=@dMYW70-xue3_qEiI6?NOPf+
z%#qeWY+sbrZZ}Mtp2To(4Z*!OgpzX7@ATNUf<MxLsSksswv>a(KzFf;uQ<i*(kn5g
zbX63k-J(qzF2+Qk;1PdVeu$5~FGRQJ1&-RA;ttPw+J{f!raeNF-%j>^R<VlnH{Ox)
z;%3_ZwtM>Hxcx)iiKpa*r?q$*2ku2ygl>82povrypLwc?AKCNr(Nr9S02jx#o6Kut
z&rHW^k;dNID~NKpgcfuVcEAOkI9<FaSfx57jG(J<ns>3V5ZCZ(?-XdSLvf6B7Jhmg
z3!<-@P{3DN80#x2^!H~M&YNUmj+I4rt48PI7l<NH$<{ow?O@+?Gl`q^NyL#OoFA}l
zV%FJqa(O#@s+(;qI9+1<H)$r@rokQ=Ve15oq$3TD_2_RbZ>!2)a2Z>6TR!%Gv)lAG
z+4jX6vA(c|tXJ7@UT6JE)9^>@*w9<+O8+bCF#io}Pm(yj@SF7WZ?X>cFR@PcPq8lY
z4`y|-4=auBS#fM>-REzD-=x0vlD{16z&y0wWVNca-RN1t6apHI!MC(oz9kj^!cqwS
zU`bXzs|Svgn%`q-9@u7ShkK+W&XK{akPZ&~4Si%h4L5^mBL2g&Hqh0wA<)sXGtiPm
zego(u6`2Z_OM&v1%g|q+(RA}XkjL^dkO@v=T8JbmahC`dE6E&t(2KL=9St}4NaCC|
zH)JKZLvWLMKyYDF5Aj5pjEf+UEDv@~YP30!M157vmxAwclT0-|54MQ^42}-@f~DaN
z6c43f(uYcg@`oygN`|Vk)d{r@wF|WgwGH(N^@C9`5dCC&XjW)dXaSna!qEEAVw99M
zp^a!MheAhDQ?7?@FgNMhcn{a$Q|K$*8}3j7EgUK6<0uf$6fP9bOa7opxCR{^bx~GY
z(Ad!lb)^@|%It9e@F~=lQIQ$p0s6V&jPbw2X(RuHZ-m!{FNZgU&(i?%FnlfiDSR{h
zJ^YG}kT<9-Kf);^v2YgDmQ3g^8QBVQsbHjdq*|mT?IX2mA!!xq73mxq7#S294-X<y
zWm!Y!Vq0WS<QO@O^Q1AZM{Y;%lgxM+c@=pV@lwJOio_!Js1i*@ej{@<OSA}EQMT&Q
zYSG%!TG3|YJ6f>yL}?ii?H`>O9Uq+)oe}*vx|H<Cn&|Q9A+jQ8QCRLrU!t~rBT3?q
zYM_B*Q6ZKPQ>awV7fT<j6w8mcQZ@ExtW9hzeJ>MZgJbh>n5;l!Ssz;!I~d!8v*b|h
zT<lEj0;jiQw_=}SA7fs&1kx_4*wVz);xQ=_FB30^y3#b>kq(-H@xe)%nQ`$6@x+-M
zpT{;ozCOM&ewcjCHMT^p<sF-oEir?W_@9^{Ch09%Na*BZOU&!kWUI^8nQb83pKSlI
zEnr*5wvsK8JaPfv$W6Ap3HK5{C45f!&PE-NPOmfQ(xSZN(&a&UDW)q!(x^VEqvkaE
zs0l-Lt4Zd}kBy{vd6up_be1+yTI$A*>1xDI(FAlKD()LyHrTHzXb7^=B5bDTIYe{N
z`)C&Z%V<vhm1sF=FtwQ4G!3<aHqu`IFAkvTv<Q!b9@9IzoTi&~%z7Gbj?!>*oCc$-
z5PYA&fc*k#B&rY6BK!gN>*Gj4d?Qs1yCK$W#y9eBq%ZEIaWp2)g)%aqSzzcDS&wJr
zfT21muwt|=<%U3<FY+DFNDShz)!0{`!nnea(m2PE)A%r6(%2(X%UCedn(1aN92su3
zN2bAlU1<C#yxlk;e9+h?d>R_^MW`Z)M3K+NRADbv5w9^JY^5DaGJOqYGQA7sG`)bZ
z{1DpDl~6@kuT4#xLY++;m^Gp9keP>?#)hVn)0qw5b%CiX8J*^|QdOj}rUZ=FoS~Pd
zEKr7$hg6d#6fzk@G1JdrD)Te=uJ?k4&9{TaX}c<8K1WjLSg<xpop$CW!M;f|nfH>3
z!3nfw%_E_+hR*YS<_5Ug%0oaZNIEASt`S2pMrXR!@*|Mi@)qaFvp_z}9VjE$ASzwu
z{Vb8Nbe_2YZRt2plH-AP@LqfHJ~zM;3=FoE4h^!@Hjl9!G0(KrF|V+E2=29PrZKEL
z)a-`5uNI{tII%f6Egd!~18z$k+DL@9F%`ndbKaM4`%A!d{SDVhS-gMc>9(msTUkTv
zZiwC6{jH#P_qP6xPjI$>1nJ8^(Z5GqCqbDS>7QxsjgzFSe>M8}M!bectu@fhD?_F#
z=D&@L<ZjZW_kXh5{C=z6AG5lBlI@)@6QrwRwhK5(PW!6ZPWh^l;z?{^Yi`@-YfXZu
zmu)I7ZKHgAR{8$64fM^ob%$==%C`*%$uV0EoFv6b>|`aW!{Q4`9UbchGF0@`!dq`9
zNa@-594#Q6^Ok3gp}eq%HHbCd-}#*FEzI@~5+->6!YMLC=;&Q8wDYcp#J*Xm#kxfW
zK9|dQ&$5>BKuGTW#C&9p!zcXmSj3l}bm9$90r4E`AqV)}-$xo}7i!Bo_6Js=wk$_6
zna;k#G-d=UN)OL$u{CQe4Ls}Vv)M=Q?+Ma2m&DAB?71OYSc3_;cZy%!O~e=O;pV&U
zkmruOyXUq$pXajM;5p)c?>-1yWFH*+UC>3=!4+8m?S48;k;%|S{(>hm7@kO9$Rh2b
z<Ts)ru#S5u&4B|UyAF2eg`}SuE^KP3_*Qo<Z`c(SRo8auv+Jq!+NDZ&T?W>=EcVMT
z89y*dX&fSl@&E3?3%t%%(Y_Fe$P`yQ`$SiJ`=88ES3Ubcm&xAEmBG}-CD0?Vi(bU}
zuw2KxYT;F`1TCbDtBI?Ct2|AL`JlOGML|&*0jjIXmC6-yCU<$9vg@bQ;(E{9<}0TY
zdg~YG9eA#{p}JmoK6RdVK7!+Vm$rjjuv{-VcfoPpMX%!yw(W3SH=~cNrulIh8p(1<
zu8W*gX-gOl&-G7uu8B0)p3XkbE^u5saoP?&r5Rh@q}GMXN%Yq0@LQ|U#Zc0jmk!EA
z<s<_H*YqeSDLGB<Oh$`C;@F%zwn!4e)d#^<)4cFoH7FooA+^3oH+i95<kCs>kOSIP
zZNGL6MdTcc$Z=frhqPtd9-Q*Kw8ePk7xI;v5L%~d%e4vGd{mMt=q2NrQRpN?&`kc&
zdT8BgwrB^DwK*)-x}4V0T0jD6g4@0sG}gv+V>Hu>!)h(c<kLFPjL}2O#p84EJ+tyN
zvcP=J#Lvxu-jZ6I#*AeKKxplx$*^5z{QGt-k7nhbHZ7%Q;xwk}wXhne4JM>gK&5(B
z52M0x{SLwPi~5cE3LEvU`T~0EW7w?^lE|&sQ9&*<7r1sFlItn;rh0@qfDW=ty#XWS
z9_q+TR1zQhNC|C?n!)+68WWeOndOCeF6OIH5>Q%Z&@MAwZ7xq%bIB7_SstfmkVmU2
z<v-Ptj*;pP{|I%dHXK675SXw7;Jfx$7r_phsrFJQsy)=dV0esR2CJRaezex~qU)sx
z4A)L-Yc92b<k|vyYg0}e!}@5*G+^p;OKr7T($wNB)tPEcRi+ZRSK|KV`3_~&j!X}x
zpIS;C2<;<r`qCKF6V^vh2q67wi<zVrf>K*RJ)sp)2RRC;5jh`@g1k5k@{rcZg>xXM
zdQr})K6K<%Ge|kqOQsxZa$R<{Q7pUK)Spc)>&m81(z5YtXXBO2N*hg9o^4i$v{}@a
zOk<{jnmK9ea}H&e-#D{cktxmBiZeyHe_<Y9=zmjK&Cd12$-!+o|2Mg~o{RhD<{9MX
zad~()dDW5(t`?qUK3FFC)e1b9$~>Y{(iG-$5w!}>w<=SON7mqxwRu!MUXunqvN69!
za~|1}*Q_0n?!s@@k4OK-qh|A)uAyt^6rDRU9(7l%%LiyZ^@{`kirh%OE;k{C(iDeD
z3)~mH;<Wu1CTSzVDA^`=Qaw^PHLi72(`dc;+v^L*w?7n`A^c?x=Wk)Ox>g;F@-_+j
z%nW9(x(fEp8t5`>(Bamo%hYvzbv?Ik;&cb9-A-l?WZ;9m(kCDTpGUd7#ijd@fuBS5
z{lYCF^{SdmyQX&4Zm7fDH`FZh4Rwut8;{Uk^@03QeI>t8KgjQ4jledRAsov;)EDq~
z9>E;BEl1TWFh@?xlJ=jRg7)r|I5N^|nj@3e%92B??#vHas5qKxIc>I93GKA9HWJd$
z5dJ?Oq%}e}ZOM5D&O0)lw80RXN1~;UMN^%|yTv>nv55DMrQ~sz!+2iLwJrQ#zfD`M
z?cmx@-hFm!n|VLlp`GURBE;w`N$*e>QF*VU=HBO>>opqi7nIy@yrZdFj8l^{s5yAI
zOU?UUR+QuXyc-sDW=3Vsj@q1ucg#G{uZ!|dS{jwQDy-}(&XLStG}?^g-E|ZVzJEc@
z9tAyn6z{-)qFj%4_NTFTgmVV>Ttc_aDz0tkoqHeMHb?2}J;}9;(77K&>;4YE+wQvK
ztnYf|yv=7r3$N4JU5q<#NhVh=dnytuSzV3ng>Ye%a<#NqV;Xb$cakj~`DE(tYGxno
zs%{^S17ou5vb4xGMcn3k;yvctL?2s4_bXR=cYsf<?6l5|b;n#EJx<pw;is#Lq`8*R
z;C76;D|uY6X>|J{`T1=0xx7+{7;ebrrzAm>%<i9(;{G6|bHBjP@sN2S6~VVr%zaKO
z=RPXccJGi{;MwScL$jZIDrwir(m--AL-A{jXVqhhyEm&Ky`(wrZqh3J8e4IBZf6d;
zD@jM0QzUCIxy!JEQb_W-vq*IEN}uSrGoo9Zh92@xOptzxVK}Nz@hd#luMkAOh#xqA
z&!yMm3-KXb)hn<>j*Cac-QspgA{)gua731fbHoL(MCOYl#n}*5$B13TQDQT(zgS1?
zEmmaG!xae$t;8onJ*cXQWYyy0O(BnXT1YScC!`Qp3W~Up87IV{gLt8Xd=;7suZ6<G
z6V|q_3YTohg%h@;!aLhO*dXhK--MMyHQ1`Ppo&xy#<1Si7j9}NK@b|iOsxwwwY>1d
zR!Ded%Pc%*ZR`ddkz2N~?UGHk9kjh*RqYYX)Y~W*S8W?@XHhK<*%sUO*=C_<47M#p
zx0w0AnZX*|R9i#aNLK9z*b1U%<g~T6rM1;!9j_`=ku|+?kXB3DZ0H&~TNYc`n%d^F
z3XIj}v07}OtbXeQ>wD{U>r?A->t*W!>uKvQ>tXA9>vroB))FUKr(1_v|AZ{k9iB)l
zRv#N%>vCGkTH0E~TFjc+n$>EDD`K)z2y6+nim6(@z!tf0d1AT4>gHw3P0K~gb;u&;
zEL$vlEdN?ISQfDoI?uA)GRiWURnifbHn2ph!xH%ol1NV0RFhjWSVY!Xfg)OhW~0Sp
zj+sB0f100}-<zM9-<U6%Z<#NeZ<tSWX`6Ysd98Vqd9Hb(dAfOyd9-<gd9Zo7d7ycy
zxsUk|b60Z@b6ax<b8T}yI3hL7h0H~8x#u*e$LF5PoEm<JU^cQvO;MJKG**y*LJxVw
zs`3TXS<@-gF(@JjP5VuoO&eHqUJFZP4lI$;roOC5cVu0<gQ-19nZ|HLYMIKLDwxW^
z5-DOTYRYBGV@hU9Wimq(ak93p;pP8j^cde6zZ!2C@3Z=S(|F8y9;(O*<4U~$vy6+3
z!;IsMy;(VLW^8Y43}2)HNr9T=1<D#L8S@zn8FP^mNMlS-2Z%@`i2i@0Gx`i(gUa^a
z@Xqks@XGMe@W61N{*beV(=>@3Gwd?#Fl;w$F|0GJW@Ue#VXk4OVX9#wEB&MBB<X5s
z%=&*VLp4JgJOM=w1r6D73uMMKU^AF-5Eu<U`~<J{FZItzN?c?+$(HCl*u%DoZJmCt
zei7RgHoALZjEvR~*N@N-Ve7=!fvr8nktX`a`YI$fisNj^tj~zo!K7DpKOulVga&$E
zcNUk#4&7#w9~<#bEY{KFl1LqiP0`JW4c0BC%Vu?~3GFWxNtNUxU6M`rHkL~FBPQuU
zBj|#$Sb`yr%o~4|kR$#O&gvN$tA`Tmlb2~vVx=>gnE^D;Od&5bH~vS$l6Y@AY?>zQ
zjn_;#881mYZw}gOQo~La5`0NHnOIy;gKv5oeT&g>Q-yZlx(RFJ9ZA~sOF$Dz7(;Jw
zzoaD2(u9uuggWuVwC7x=zveza{UM2+Hwo$DpAuw>5D4>;jWO$f#ggfs#&XkVQ%rZ0
zIZr<3EYD~g1lfhLKXfx8jEsm)*Y$}l)-{d&rz=Z$P2SieU9#9uT`+2*uSV2=ji%Dy
zix$-1i58|6sHFY~+Qsf@<D|yk`OyKiCy%2^dA`1DbS14qoAouK$Mhwj;^soH$Q*s6
zPaFM2Z;hK~q6EXINLs_INH)U_5>uBVWelg#E)GIU-32Li2WhHhkWwe2Ukrqh+LzQ-
zhsXvJSewu;PCynpYbX=B4AJ+FA${bd0RtdSN*+TrtT$?5nRe;S#wX!Cv`tqe?Nuvj
z{tGuXt_XLhp=pS5On5T-#e8E2$fylzbgCLYWvqghQIM{h{Naa?hhL*(d^aW!|1`!z
zIumxgq<Iy}X1Yof_CW}#|B+bRNMdb$=y%h~P&d;;8nY*b#+ru08X3ZLg)!13w8vCG
zbkI~XbOS>2GgCUcY7FQX&Y)uc9L!*TL_f`qU}^JNd?AUX<=w#+=56Q~%h4~U;R_iL
zWn?T=<^eQfwW0mHX7D5w=le<esUxY6#%%GUtG*9pwmb+FLVqoXHc^YDOKZz&n#fn9
z(=H+PGLt@<iGgvJ0W@~?Ckfasu#zV8U6x8o&F1GU#pvA4NZXf4_e|8UgG_Cs5j`b|
zmdwzq^Po$VwjT4>B+b&ux(WZ?GJh}Y0)Kz&JT&Loc=D$DM_EVsXW`HL2b#zlYbWxK
z?a`(ar?G#ZwH^)aiBkr8b{;xuvO*Ve_&w+nLHf;%wusMc`{hdsjXSUHiLapT8V&GA
ze2tkV_y*hBcKO=lBOD05Y9!vmS+-%m<+h=|6(n8O+j^i&{O;R_7x65O^EYf2d=DXu
zJclasiAJ^{8ih$v7=dJq&X-Y$p-=qq78l+_6M2h1@!DHac#1djv9}hEk2b<(ZwJz&
z{e;7$OAkU7*}?k2TC|Ea-nFDlcS9c8FFZr1sOP&SEcQPWW=G!%GtIvcw^iYgH7<Ox
zn#I#rLA+v3FE+O27tb;tTQTvCt%TUXR#hyX&|FO8>nzqJ%@V@x@xU{TT<i$eJ0^%L
zJ(I-QXcwdD;vI&5F@RJ{cQlOFp8v%9tdS)8Mk~>qSB`Gpe4b}wM!I<=j}JW~jGiG#
z0rI;}cM9pFJ1cqKJkk@gy${&Gd5%BzGd@+lr@Hi;r-t;DX=!aF?GoESjBgBEzMj;J
zb(?XL1@78?aiw%!+$_Bm_esCR<I+d*oODdQBJ~&VO1Z_iQZLah86<;!7<{)wQbzk*
zm~RR8QueeE@pHk*FJo^2H?ARsxK{RNFymU;+uGaNd)j-$k^6%!k*h!4-rqig%ZZ%*
z$@Zc4X(U``aQ$!Yw;0y`VtWz$a{E1qbPdew?J3<m?MvzA9pc(=Z|6E<Z$L+HZP!6E
z*vISzSwqVWVI+g=l-<snn#FYmddOwF&UL{arJvCQ|MVyG!FkdCitA6A`_Ajk9s45~
zsZX3oVWduHE=bRu%R{f7<=o$#^HEJ2y6U;|x}Lbwx>mcBxn_Dqm)n=Z_05{xwLnTv
zZYPavp}i^$l!5MAVnEvMF61Z!!|y(cnJvy$_^j!`bRKl{a-PJWeF1*z6;>f1kZ*tK
zr~p}{479+K&M&N9{&W;zMKd1+!Td~4I(_qzlP>^iq=Yl<s0d}SA+*8%PK&&c%ky0k
z$03`?k<#%AlHhHUHv1h9;0iu>ETMg2uj3NemSR3JJ8be{b4J<f$}iV;mVi`JNqz}0
z;4+@{!&)18Cm!|HS|52niI=%}*k@{^<SE)%yzS%UF{Eey)F#UVwb}UIXXAmNCwIg5
z-U*gKD^fDe;0n}ZYU3oS&V8%lgD=P9O7ne6X#Js%bdqyxmE>%20J3X`9T~NTj&xcb
zdunZvHMw@$n_PS6wrexJ7HyDd(Rw@dng|b}h8$D7%0YDk6v@rdC9gu1{J;@jK>h?b
z;XN6MmufoYk(v#{YEI=AyoIYAxn6;wdO`gSCPNwJC`bQ?=u|xjWp$5QL)i|yVFTU2
z8^{~1MiE#6uVDqbf~BNTmU7g%L@g*URnzzvtE+I1q}CSDmorbj#<BAebvnnY)6q|+
zb0nKMlR1tZr*43#x|K$o|6r>gL;JXjF7bjRV~rzZS?jGf)q1Gaon6(%LT9zM+(CUQ
zw^37Ygk6YCNO=XVLuttGSC`+tF7(V=>T*X-wZF5b>d<Pc7dgh?!YpTKhUM70A__|-
zzI!E<kjf}4l{w0<h^kT%m82p^{uNMDD$<Kn5q+g1sz5~)ivOFse60bhKx5Q_=I9G8
zQ3~3i7<526=z@yS2Ss5RD#I8QhY2VT6Hy{2p-N0grT7QcVm0c;E>w)Os2UGYIA~wy
zwaG#&PiAzf%xVfPvwE00<IAMxcVtpC$(hvFa%OcQ^Nslp(rP#6Pi7pn)jye@5Lc@*
zUOAguRL-tuLy=kH&!P79<WgmKZk3~5HJ_G`*FL{GO)W@gP$8ao5w$bQ$L~yAe(zSO
zA1#<>JeU8Q(wvv(btubudA?SG=bHE$RpR+pMv1Dz>sFPn;i~)#Rp)!w<X^5fuWKEs
zxOLGm>hqlIqii+c-?}mCL^GaqOa2C0qfE5MbJSi<&^o9^v`#2R-Bbx`?gOTUySKW)
z&{wrM`l~hMf$9o*2uj6p^>=wBO4Mkzh<Tj4)ipug<D96@b52!TIcKQvwAt!RZ64ju
z3)R}%61AGPob!Lx=GscNr?ys|sBKVJFsrmJ>U8{0y|w?;CU~E!GnJU~kb#S7hgJTM
zQj=*%RI7GEHEU;7LA%8D%l!Ra!6$WH)oHhILp@}kFwdDcC_tZ7gZ6{_bBL|^RJ#`7
zZ!V@Lr#&h){ZVO?#(|cZ8htapRz%CLm7#U2BAR6lEiWFj0_dYfQA>)Ud;Eq!t)e!|
zSw%Z$t*Tve)YdAHo#`aE=KTZ(g=F1exeM<reYiZ7Ow4HfUsJXEyw8-CmqJTgq1kxv
zx#!rV-Lvo3db^Hk6`dDRLaw8WJcWJoO?wIL`4N<p7g|~v(b=3I;Y5F8erlPVUM7sM
zECKackM~YMEwR%ArZ8!fe0W(<mvf_!6vE3_94(|QN=PO2>#EKh^ogZ*HFd6awRYZf
z|Lz>&@94Z}?cyvdb#*qf_vdqBxYKPP;WRtOI`xi8&R_QF&P(<M&O!Dyd_HV&z7lph
z7lsZvM|;mY%Xx1)E&hAXlcpEW+QKKNQE)pC1%u9mZj<XF+>m)V8T+^j(Ysd8)fAR@
z3z~jAxQ=o?t*4{wU#X+328#Y*dneaudrxwo{aqvNe~|(G6Q0&ok}nI;SQgV*zs6P9
zz6n~$eph~03o<|siAr}|ucQaA4bmG|W>yq-2VT48y5G2px<9&7y1%)SxxMHvM%E#c
zyYsn|xl7~ZtO&`xI;#?`-1*_3mtuvYy!#(|>EM94^LyI3_gH?1`q9~4i;Qa<X^^`e
z$(P0?UK){wttOpdFX9y{Ng+>Bsb?^^v|mgmMMX3F3x4zwrx-;E`GE@ZR6Hd<7B_Ke
zF=W-h#VwpK6*q`e#LYCw>=4%oYs4MCjkq>e;_g@>E@UrfHvZT}q+tHR^|6rEn+5C@
z{p;yUrne=lJq@9UlxOv)sQ8e10F&*tM}Zm=74+UP+%^?*$Xg);{@k42`$8T%eoK%)
zuAVeIg(lt|tT1gCntQhht=WU?h~uNLcY!d#JCV%tNcw&g*>S^!c}epJe&6<ZZX2`b
zSDh8CQZVNVu%eZpbWBd+1M`vj#7dW!9$=F%Zga2#mdW?dR@isjR?T<H){I0<SGad0
z;NOk)jj=5u0kab}-dR@G-osfH{5YNc#ce751<7{jw&n86wn=`yZI(&JP5l`a<Rfax
z2kUO@BlM5U)}BmXl#zkfL)Jdljn;bTBk8Qmtz#|otZ5D7ta5OiwOn9?^_PF7^&;+%
z)9jfaqI2emzcJVATCcIP_>ye;dw)i2z%N*BWZ2UOK3Vdyx1XQ3$pV1~bR;Cs9ZQA4
zbu#W}Shd_~>4N*?4~`VZ1jgd}=*@~|;>u^@)K7AGJi+1dE0Ejb3na574_YnRadrF#
zbG35tGpnnw%oUlkNe+)YxIE6V^19vJJ-7^J;$rh?R%HJP{%Ky!ED8=aFAWajh^Lo%
zeXu*Lw~fsw;fY+Owew*xH!Yr7%^F8a{-9tMLlIM^&@WSw&=0z1K0$Q+X!?upnY@uF
zrr%8WOao9&em9*kRW=<l{V=XGl`#Hm+Gm(&s%RW-x@_!iGU4b?W2$RPhr2%+T1nKH
z&UDY1#<aqilKWariqT*iU<?{J8h;uO!(KgVd|^Cgd~7^TUf`_p5{k(Ik_7*unrtCg
zu!&h_oMW76oB%)JFA@jCAuIGoL1}@4(gZD~KG}p4#=>M2G8$8`2}T*btHBsBgbhxV
zlW&GEh8H9ot{cu9_S3?;3YBCA`G@g_35M<@B3jVe+SJg?(2RscLqkhL9q6ki4P^~Q
z$Wi1n<S=A_!74*w4MC6y>c8kelEb*CzoWmYKd(Q_b{eH*AKZzZ`sMm%`WcW|2b1II
zs_&w2$yT4OHd|@7Y;1|y4~Je(%7Mg5hD3C+B<{sWsH`t^ujos8rhCBYY27*9KHWid
zk`1~=&{?OFI~l7RuNzJhC2{)G!_tdBmgc$^Fj|}I8p3I<uB)M|qN}Q_%xTg8Z5ef$
zNVH_YVPVk46JiO!*q$al!HaQ$2AE?>d6@MH>k^i*&0!mnFg&4OLf@pVEo9aPZ1ve{
zvn6J160<gXHgDV;_pp6syU%uuEwRUDE8AkYtdrUL#|OlFu{Db~hs9bUo-3X^ZfBF&
z0<l2sGu!jnv)DzPD~E8htdFgWEsHIUEsV{Njl=CSBsK`HN~c(ZSY4(zDWfVdS1LhT
zDHF@CD-_$#+}5R``PUKqOiyw^=ZjkO-=fLr`N^Vx9L-O^OmY3CXnFm~Xhqx~)%6E(
zf2>M!e)QLmfd4WAGHX|uFb(OPsRkpaII2t0=+J16Xc_3NsiMYcG~$W`St9)&`4IUW
zc@udbd4UV)X5>NS2CUZ0k;Axzwvxq~ADJDQ7nvEE6`2|thLdPWWI&`tq%{tss(6g5
zL`swGN}Ozw)Oe7RM@*4WSPOp$e+@qmKf}ND3jfll@JX^^`@+d1>%yfXYs2{>E5c%A
zdH82|316KM-VCXA4qmA7;qK(jy5oszLh7tO+}6_JqBy7Wl1a-I&PF;dW!Mnbg#-Aj
zG;(WN=ws+x=o$I7r=icG+nk;t(RL{GA+$H-$DcJMyganpI6G9+G>qPv9-&#LHlf9)
zW)NKKLUXMdI&3N&I*qb&&y+g!#w75*kPtGMzta!?ESR3OO>WecqUMXia^@4X|LzPn
zfKk+%F7ejp)xi#QUG;$HIttg>X!D=JnQ)+2nOnkxZW7#Ou0khy{@@979^7fUgGbG2
zf?Js>Ow?oxHVVZ9Era1ec6hEr&=UL=kb;i`>4SFzWr9Zot%Lgm(?i?HAFfB2Srn*i
z`6tkdX-f}qJ7^=F=>_f$q3KUNB2&>~X3|!(+ENQWrUK-q(zJgS4BUe>a-GXpc_%(-
z*%9hs8E;8#_-J_=h+BHlUsDeTNjcP-e1XpvL*S?74hhJe{%4kd{G%=7{SMP;fBxWb
zf6+jH{{w$F|9bl2NBf)jd(v0az+b^%+h56Fp0=9YNo_Uh{VDuu{T6>pzuun-o>e}-
z=IiWt`sxKg`FdGj`BZD7XCw@Lq`JR`ZAJj%t7U-g8F`!{tOvBP{e!1*jcvMZ8=l8g
zwyn0)Z1+g!JYpr`4apppl?A`;p)CZTJce7+B5boI7h2fT2u;lyh1<S7LKR<LAvNc2
zZ%N^vx2ABKyy_lr6Jb4i%v`jXIm}G&Kt8cY3zN}grb7Q3<6Ve{bFJ_fNuBB5y~0)R
z0ik)|h!C@#W(DK~O>`%PkI>gWbkP~aTS8j#qmWbdvch6z?Io>PLCgrzy%=jTWyKm|
zb*2eC_l{y+sPENTrztH?7gLLK#mB<m;&NfN*kAZh>>(T!{}RrMV}y%hd*Ox{w7n5k
z>vu7`IVk3fTcnf;X{0~R*(HZ9r_@L&CF#W)Qctl3B>L{sPI0)jL>v#9eui{fm?KRU
z7D_3^b=<yQlBMmm`|Y9kZy$c!Bk=Ff;ljOxBln(kUV4R3_YI!iANY5Dk|qTtz1?EB
z+C{rS<6ts-3VS+xMp_69Knp3x6t@?K*I&_Ijh4b%=rN68_P0b+X^SS)7B!|9m-}#g
zUnu{>QEA4awTy-4Kf``snrV-VOYBX3Yj6{9fmU)5Ps&;LLT|ydduU(edT!t9dT;;c
z`e4`GKkOaEAN)KYT>%kV6r;2aSR4=RGJa?oe{>o;8PhsUv=k)6HJuF(XA$}f%G2Rk
z2X07HJk*K(j=gbN55;Xg(lHE@$SB7|9N5!1olYa<-;TL#^Uyh#p=qpitaog6Y)9kR
z;W)r{#&Otj8REz_#|bo#Gmd9yA8#FZ>85<{@H<{Pf{u@bO<fKv9hS*ugPax~KnB@N
z&!rX5c``W<43Z)+NJ`*AFCpib%g6=ga$Kq+mxT858_xC0xY(=7&E(qn*c-}S<VJE=
zxhV}2&FPWoAorI$<9F{NkHq&rR_-lN;POPdC+!n`@W>C4m&rr$(htK&KMY^}Fx>Qg
zWC*VEUcUbUeC|j1El$h1;D_YGeV<3Z&fJuXF-_!$eCOx#Z21-b`w#L#`78JM1<k-E
zzmS7?`-8NKhGZv+06)oqI0*rrA}R)|AgoGCE~QnH(QulYWI=lPAsI;-WF>KsT`9w@
z<wze?gf3E5NyDUqC6a=aLP~NbsYs5bR9Y&@$%LeYDw0ZR&;2{{=&nj>5)M^JoYZ9M
zGL6VWG*^0(cjyP_^$#)-gGosYArmo@G{qS55o5_oOoTTwm21;EpUF8~PSO@b$)fZk
zh0&NqMjmCAa!+2T)N`y?GB`KEe%J~>VmsW4op3yNlm6HP!(uONi~TS(4k(?N4oo|y
zEz=s7XyUYC+K~+T9hPWErVC%|0sEs5GlcIkLEQzT;y+q>wkfT&jY<pG8l{x9Txl%N
zS7d&_F8pRQ`K?y+j5c#^C(mTJGG5uo*A9`JImTB{k-9m<oa1?%=l4Gc8}=M|o3rF$
zPIKur*_YGGRqk`0xxwX|N$Hovq+s@uwAoEEW)E|KIm{eojwQ`~zQaB4dykCH-T!ay
z@G}$VHgk*HZ!p)me1*BdoZ<RO9(#=Mbrd@7A!aYLnQKcppU5q}_}Pu==`BlsD2uX1
z`6+K!ddiy=pRh@JtZhkp#kZ<klzC8Ar$Sks#EgfuI+htp6VDLxPtZol<E&D8GrhRn
zgWJ0CwXU51->iW+l6c!1zLrR6O+5d<%Zc|-q_y@XQ-z0!@3%-93aND@xvO!^WO7)u
zAo<Q$r$R!Rq-=&rat!jwb4VlEwBgD(ZHUs#HbCht_f<a2efX>HK`(Dt@-&_Jn{G#@
zrZug<E%`f7Z1ru*Uv7Q+Z0f<&si_>6YbbxnWN#eh6_>NL(oZWvpG{H4rsY@SkX3xJ
zXT0<v`P8&Y<3g?TGHx{)^bv{7msN?V{2!*qWF!4ICa5F8zGRWSo5Cd1oMhvE;4}FI
zTloWw<+pN9Qf>vcd-U7fp)cn;S-Z<}740G_>1kBc<0vJ^X{FjPw}mp&k?ExEfY`c4
z?g?pRptc-Z>mvCtZ2_vuJb4_d>qJ!7DX@%YX%k=?je*)a8sf+>`Ct4k>rh-aXuYAg
zc0tkoUET}D^#}^@39W&AMym#Uy0UytD=pvEN<bnhBtO-1%5Rb;Gql#kNhg2RWT+?-
zL=_GvHJz+;#vDdxgzl~&v{tXffjXUvyiHp2HW}bz=SIQK=e!Fi`x0vQ1@bt@=)c)R
zu4bcSFnwQ>po}bY&V?c}#c`Io?VR9v1%vy$bC^Tt8baeuZ%1<1?~W9%77mB2F$9rn
z++NM$reW-tv#7(FL>S2rw<-$}!%W<k+Tn60cX*vPc;GP<{)pY?Qt_s|w`b!MDK9+n
z;;!qg2As6lbRD+WckQybaBa4?htAp^D(fKEWcxUXB7Z{^SqQIuJ-(IA&_wp5s~m+S
zavG-jHTYbQTv;HCq_Y3QnHg~<*iG1F756u&s~@G@?l-tjUXYW$FV%71#&L2Er^zYU
zV29wa@0JXn_0mhvGHIC^YKS;Ziim$nS)?ISQQCY<^0{7;wwnS{GpVptjlSLrQhKS7
zBuJT1Ptr&#Nts`wk;IILcHU38NS=wS#2YlwTxW0Oq!<$phzo?BVlmrtF|B{DSjRg>
z{6#wEF&fEzPb+AuO<>g56fb*zBY#{_yy?lx?E(z@fbh-pNbq=;2!78Co9L}*$>Plz
zD(KzoujW1F``ug2H`?p=?(jbFzVY7lR`T8UD*kWY6yZ|7C6>*o65Flw*^hfbnmS^0
z;2_B)IB4Uw3dNZ+f{8H-6}Y{$pr@TiwPhDR+cMxr5rjuJBNOAXA=@3>cf2HT@sd2p
zVe-(ni=N&@cgb4Y5z;X`NycozWwL~Z-nlqUW;2sXbq~UE(#zJ**2dNapGikj;>~PX
z$;$+-wQL8irETq)sg|O)`UwSW9Rq1?E1~4|_M2>N{9bEK))q@M#cA#>?Eg-q!3S$u
z)*Z{yWK++7#oEAsk+y^L)|UQb)^^bM5~mwYzJpo2oJy1LKmKuKZH8Dk`uo8c=?clO
zEkwTtC@KxC5AkU~W<B&NzU`O(!q!jzTqr9ktP*?XX_EHH-=nI$V_*J`r7|Ay=7FPR
zY4)-9y4o@}FfWNZI6pAPvI_6`HhkoVI3~CpsAqW+C}a6bW=0KUv3LV%EXJV8B9NC+
zg1^jplUjR^n`?7q(uj57)*Ov=gUC80xCk}nAM?WCc=N8{Kr%Aj%uiWA{upe@v@*Y8
zJ^3N?B3RA*4*q}|%x(?`Q<@dlpmT)2nsTF{6h=WQ6}oRK7rJSx6FOyT$(nWN&?eLH
z&^*&9T70L_;JY|9z_dNo#&jZ7%XAMP{|9{iiSr|r+GGgFXc2W8Q`0D#G5jHE{k&TE
zq_J&yGwq|xjQz+9j0n##PJqO^DBRb$A>7uuJKT`g(ozsu3mNay1oE6lkgwrn#_wUp
z_=EWsb{K=S_}W<0PZjxM$Q5~NC`D$W2CU2WG}d&9tT7Ca%r=aoLG_==5W|W{Z^N2M
z588TvHynvHG~9}mrn#n&;U@&vU_>_PqZUK5s2?A~dyb+X>&r%O>FY;N=sQNYB~7R3
zR(+@F7J5)t>i>$)){l?kD8b7xCpuEUGTKwWl_uD&(Y73|*U;a``|v!PTmL$mUGIuI
z^q#0)ACKzwLd>Vj6#GD9?@hcDS9FbIdv#4{?(IY_q)%+AZfI<-ZXyjXvtz?`i||`)
ziM7@3!BuiGRvt%54ti}<>wd;k=)5rzM~Ov8^>l(g?xMZ-XF}fi<Ah4_vkA?iuy&5G
zNf;Ra2QKQkgn9A7uu^-&Ol_O6E#5j|PrOOO*?8rI%ki?1SMwxw^hO|&$O+DP&V(27
zatW8>wV|xG<q`c87T`yj6Q7arXM8R!*HsDK;=2=?@KY+qFD8_WKT60K|B{e8{wqPD
zc{d)@>mm?V-MC18#IovM#PaFx$4c|tSJfSh)zBS@)zTf}8Er_KZctW-<DD6;n-rT$
zSMlGvL9r#e-m$H^*0Ce>*4)sQj6K0!@<NxBWK6PHT&Ihf_2H<ZcSf_Kk(AM2i&oHI
zBo%W!+7SkBCs??hahVL%&*xueOmva{kLV74%jg+><>*;`CH_V8MxQ19>t;;q;C1OG
zdU%ady&)V?_$x?e_<_^pMdUZbWn3mF_zT$+X=&IJX-m&@U--QvNXkq#jD+j^2i-O8
z=!UKnIfB#V2tCo44JDG&GKq<qTlCp{G^C6~lAI>Kus!K7_6z*rH@Hpi;WjxDu0$7a
z4dbD3P2+)Zb9loYjVtMBnjIc$oSxKOy@>xS5@)lqWq7Z#Zql4KmJi>+eR9v3BYfAG
zEqn_H$}6K3{z#HWGyV#Nj88*uBN;X0@lb-{K&W$gf5;TxO;&9c$+dZ*Yw&`8g+_;d
z4|fYGy4Ioo#%7_*#-^dq##$klu~aB*%o8eMN*S7L(uFRWeg!qt>tKTU6};wK!2;;5
zmCQSEpll1)M;qyYCeokO%m{Rm+2&s8A<cqY&~LYzo1%r(3SKprMB7d5*GhxtYY#@v
z)}S43bP5uF>3QeM#N^|htfJ*1eCeBk#`KeSv+P3cSWbd)L0}=8@>WYvl#V8(4I80y
zln*?#6o$2$n>1nudeGByJyqZe1gCwtQR+f;Y8-jxUln-fFCMt+7Xs(~ZvP4YOaCta
zJ^yC^ZT}|!Df)T$CH3=;^Dps_^w0MXqNleveZ4*XTm5bQ`~7wO5B>H1VxW<KP@tke
z5-jMiY0T&EWzOO+Z%*saXh`mFMx}f#Ao|w@BEIDT&G(e~E2#MnhTi!WhM)Q71)upo
z`5*X7`ycr}`abxs`ZD>C`$jTC;Ic1o@S1N}_?&M<^r&xU<gjl}__$9DAMz~=Z39%d
z&UY%X&Ntt`lNMmrH__KR(2`Hs0zSo-fi(g>B&}cGhqf2qH@3&H%CC99*)DlKwu4@;
zZJ#%4+Yg~@E6JMGUP;*CJ!jkDO>NrYE$BPsJxEjUVsACyc<)(%UvCae7jI1)D;>6)
z-W|4*-afWs-r3eX-U-GG-n@Zy-d;Y3_qf;S?cz1l?Q5pfH?ueDDd7F&DdBzY$?Co4
zv3t*X+@8IjkDhIw$F%ZZ@htc3^UU%5=lR>S+B2TM-a($Zo<5#YboO@lRQELU6r-&-
zzo!)KyoEg}xa9EUprbc~C+1c>PPftX)*W>}q_Ov!+eJU`Pf|7S-P>vIT~BxK61scm
zyI;E(x!vxCq;BRx8(Hf9>|X9Z>E7aA?S9Iwdp)z=yKOVv-^C?RO}5i=a|55R=H4P@
z_8gE}crHk{Ja?o&eD|e2=5ta?ahntu2a#3wh#RH2a9bK+aZAa3qTTJzY;W!^Y8Tu!
z>@QsnA@8?=#@~nTnvtxtO}0;S&7`|#DPHDv>@#kF=Dz`d^Ll1G`;yz}u-VRRqt9j^
zwEq+AW1h4(!DZ5n{myQ#YdroMg#SA*U7xcr`35rG3;P%MOM5rr8Oq92`#4yw3+<0!
zw?4!D@`g6WANDTvH1@IUX@fL58rlU%eY@o7Wmg>k*i$&R+A}-0kR~5vFX#9!HF4Av
zIy-uKdpYX6hdPeC#yG~gCOf*iW;j~8<~eG)mOJvfRyl00jgC*wU5@MI+fU*;xd09D
zJsJ2auDg!ro+plt(lbZY{+t%dcPK4C&{I_Olz?NOLnj|~7~~@ki+svqlFxGaszZ>U
zIb`{hLy>==o~Vx0@-IhP`LiRt{MAuN{^=-9H)b`Il)A84o08mbfr`;VE`T~x5FI2B
zotwEK0;Gix;BkzWw>u`tqGP%|LYgh7wJwq$M3%^#z02h_t_|{V=N35vhxG!!{Y@MX
zE!7UnvpGhZMxV`OW(I7M=^R7NU}kBzIDg3bGkF>PyZboq`lx-AyE~n7bx%NkWsjle
zn3V~z6L!eSmGg2MxC$9yS!Cn5H;3Ytb1M-!Ka`9@s3e8aOG<D&SyD-dGLi{WLuMEa
zS>QEfLFdRymue20S95UmoP*=b92{q6fbAfm5Cr57eBUn03b~t-TJE9XgjcTk`zqsH
z{gfrnK}ve(5ap~kQW>p{f)+X+R>%anACozrodP>#nvz|c3HM@-^1C)yiE4i<3BGws
zYsUh9?}hxXi&0*dq0{`!PhEk=vI1RYC9I0oNi2)W%33st_2?0spjK>!V6hXX#(zBG
zKj;>_x%VFKy^lG_<wHq2zyh>@xy*EQfr+REqtFZnqa5@>LFme~N4;o*qEL>J;Da2O
zuP9~YtIBZ4HRY*vL%ANf3FGyaQc=4NrSmRKl>0bp?sLrkK$${s?g;3oeIcQCVcOAF
z(~?G+rc5K+W$Mv5Q;X)A>a@{RRbSHt^P1k=H(Y+hZEuv?>RVhfZ+XmHl%03z2=CAd
z-l0FdRn{|#_Ezz@-zc@@H~em|Il6xh(e@RZ%uBSRm%IWmP&b~VdpzS=KU4O@C^_&y
zPRU_dC5K^^9OV1}=X;p{n61o4_$6y#mn>)IGm}tadMNk#%eV(o<(^X4aaXzRzr(-f
zZT`J(DQ9TI`3IuwpETk0W4gjDX%E%44OG`wa7$X!h|>aYNh_EoZE3#gK-*16cqN@t
zrMjVB^+Lt!iwZRmb!#Ll)L8VEnP@1>(MNVefxU%3;)XqwR$Hvp(iSQ!wRy@h=if?Y
z%Uq?uV~*mGXDHttQ<R<dDaw4`B&EJ{yfRiBqvX{_(<n27rkP<h&<v!BraxrW{>nv&
zvS%Q&p1^r?3^&ekcsQqNxjC=4RxU$hy$X%>7VfCqxTNmmOnQzx=OxWH@71!(XIxc3
z$OF05ybxHkL14|KNLqR&rIr%@jl$otjlXA;k`GO!Ff`V}*lvq5#pwGjMb~d-+HGo~
zi!{{U;|h6;E95l}vRCw4JwnU4Bd^h}^8fn<^oH~D@6O}$L)RgBrg%W6!ApMZ*e*vL
zYh^v;5hKJA3$zhYo`PaK4hHmCIMJhIJ9=u=F_ibGe)2&_Pr09?n;f@yk*C|+%cbmX
zWRKKDj)=|WBf3U%QFmkcj<ccM)>%u=?W`!<al!?0qBylu@=r7oO)DU)T0RJ^xjD}U
zQ#u2!HEHAk<I_@dS>gV$t2GNd(nj<V9Zfa?hux{7i+rca<}DpzFJX~9r!(xKqY&Ci
zG3QlBIp-;~k^N{RI~*OITVa>1b^HNGd!%!gV;XwM66aXQI=I_s;BN<<EgVN(^&I=f
za*iDkL^OK_hk(Z~U6Ottv1fC9v1fH$wP$oJv!`>EL08W%$&Ni{+3_S`ag;U~9WBIw
zeXaD>{!6+_qwg~NeyN4M8EXd5#pbl%))rGpxgvi{o8gl`a%HzKCs8^Y590vW5PJ{&
zCtabgc6I&5<=(g~TaY}hYX65>Nd9LTvys_F&gU?C$#J|Wm(fd}&|32uKZ@C%+Fl;|
z>T}4e8TBT+D#me=I$?=?k#0%%rAMq^ypzsIpQQg-#aJ)Bkp7nL(#&;D>L}4fCmlx%
zIVyb<cd<6ILt1QHCB5_fD`oR6p#^UqOw}oPS4T;*=MQO^r<v5tTU<&O2#Cg5UvYr3
zOz@X=vFC+Q68CI!&q2{n!dLO!qEqjtnAUSwOv9wbF`FCGNIuU2u`JZpT6j)c;<D{T
zW6c0hZ}@A?#F<b;R(kYMN!kjEH;w;>FNb%s@DbMPeb^$mJVlt|;$6-Y=d~xB_{EbJ
zj)^2v#vxj~eq1OT{WWjkus#$@!W$_CHLf&nl&aoSv=II$^nlCSANR=^?{r}XYgkLX
zgN4nI^!L$Xc!)N`bL6BS;zd@y`QWZ*7jpTM2{nB-p)cO$ZN7+Yp#P`ssQH2IH%NCg
zY$<8@t!mt8oA2LdbCJ%z<XdRl?pth|=bLGp<C|fd;+ste<6jV12jiOVM>k_v+Xi1l
z9MyG5eOI<!_Z70e^<}Ynaa~*dqAio(hidZGI>djU4ug}{*1<K_)|S@Rn$}L1Db|63
zdDfl&Ip`u2$excQhdu=VcXv8#I#{>h2|w(wi0h;x?vs+%d;V<J`~ECwBPns6IB=#I
z7(ID+oi*lnT2jCp$;n=S!N7UuEIP>^Tqj#C_3@;)f-}+^ulirCk&X>Cv&;(oW?6{C
zWLw~j`DDOtx)i7%xfQq<d>I%P{1#{tOb9j&CJVL<W)F4>77z9hmI@9E)(=jF$GS8)
zG`JHc>yhBh;FsWnVB^rz;NAF!;J>C_LDjTBXoJIOH{T4J(MF;))P!IP_)OlQ8^*v#
zlRfkful{57k?W>{p$n#>=prRTN9hgSYHEcp(vc&n;dG1s73##aGR+E=rEgRw5AfNz
zEwsY8H#Ey|GSoV9GxTTpZm351Q>bQG4K;u#(j{yQ{~i{?4dIG3U|qa!xGZbsWg&?)
z47Uq63wLDod?19@Y2k@*MG|Lrcp<#j72!4Ejo}^PU2J>8`@;uWcTeQDJ`BHStzHYe
z!jW(+Y=GOUz--OSdVX2f_NzwfvbBh`jr5N6iHwVk#SbtMr@*{OK)*gx*049JYoxH@
zD(r|CXeD1bT6RawhCoDbFrb&Dh<;_h=<`SKaio1x-;AT~-qFSSfw&SzMyKhgp^waq
z_SbKUwuW8NLVqk;m25}>{pV;(j^qWsKWfki&_)tseva@xx^x`%XNz6al_FnKEB24B
zBgvY9=pQ3U(M*axOPCeAoG>@GFkww>aC}276x$Sg3`68Otk!q27cm#jG}gE+o{6nk
zJZrpUJP+iMV)4psb>emD)omT`kkql;2Y<)d_@wwOIIXK8hpeZQcV~QG{8;=#{02(M
z-FN}Ck#wYOgalBEaeIP0o+aUJJZr)m5;u3~usKaWXAjECGFoV6qqIzlFQSEJOG3N&
z_JmgPgJgS-C)7%sTL~rNFA{R1lcYegNo=CA#v=*FxJ4I=0eVWx38mA0i51b^BXx5-
zR!VmxR*oD|ZFG|sx}C9Zx>XQFW}*yDj7_HFcdBkQuS}v|(l@qR*EP07*Al8o^Vlvr
ze~<F2-G(gkSeGyMT9=hqREz<3h^8T#lScmqRq7c%L6@U-Nal1vH|e5Z6YWi(&=CHW
zrs&5;|JC=RbEs4Fu)bdOroLqKE^62#eSzplea7fFeVV9KuS9i*gs6?b0L9>pWTlNJ
zzu{4&sNqherr}tmj^S{mH7Z+|q*j_GkwJ!ek;#TJktK#ck+p_S=qB~)N~#;Vf?9XS
zP$=?<CYq;)9Fg~=bb@p%*-7W5qiZR@@je|)m&5gp`@;>4d&3=!>qzCyW@d$F8i%5f
z^a-ytb_s7oBROcS6Fy?B8NO`%jbu*V@DF1$QaMUEZj3@0afZ^H-iNZ9UWQ7N%qe5K
z7^+}87ivfYa9b!N{Y(o&<4og2lT4%Wjr0y}#y@h@R4a7OR0+CB1?VCrLQm+RdTGkV
z|MeL|VUsyT)G28k_|DRh(kWoRAFRx~MRka+b<F#MZOrR}J?XvbXP!e}_^99{^Kj@Q
zy@Simoq`+jj~u3t=B&94-87}>&ngsr17+l!*%ADXRuVS{0%nUdY0_C<qW0cG^*upq
z=O}cM9f3xc_5Yi7y!)-fHL?uX$P)Ux7Nep34S8u=V4!76U<&S$#g@*26)4Nw@$2og
z)WjuHgZ`T8fs2;k0?#ek0$7s+QA<KV=G`}$^@l$L@5cG95Bvprf3Ijg>#xGQb!F=r
ze=X}#C{YLet$8Q!VqJyWy#m_E4F6c`SW-RXpl%QMPhzI<*|3OY&oXNpQa!c&o2^y+
zdr;T6k?5Ik%}no2O8*(N&fh&4@TCrX_U-XM_6_yl^;Pj-_hn@wzN2U#hkS2*+kMx4
zi+z`TvwatQBYi>NU|+95XWwpX2fBpo;+rh%+i5G}yMnLstxfcWYymIMS_mWGy(xrm
zcrhRGDS6RbMYw=d<Sbpl2fZ!nr0FSa^!`CYXAF*!S;9E)TwxTco&L~8I^q5N9d}40
zTq2Dif7RgAxF)xk#Z6MwJH%GPd(~ILyV6^at&cZ@cRvQQF}{zU)}i~JHJ0<9ch(c0
zkae$TkadHnmwB^iPXsL_u*K8Jzs+;mcgpjx@119;Pv`Z~Q`gBG1mn;@w97NjHq~=T
z=mojGDeE*f**~e~Ss+#*(Nlu+0{C1rc#5&Fl1Z?6t^`8vqTX-r1)i7gCZ2ol0-h^w
z5ekXh{U7SdzwX2CY3|ML(J)B*xTm<=xJTmK9qFzLb)<rOh`TKF8<$JCN4X1f&+Obc
ztNXS)jXRAewR?ug;`VwI+$k*~S4Gi>G^)88NUCd;^uhHvvqF03+9bVl{fD3UfOOfl
zTe|8xDV=rQkj}W?OUGQ_q|>CakC4XRLqhu?w;gtcq+PCLI79NWUs&G$FZ+h`(Nw0B
z6CcmI+Avp5*4)aH4bO#^l8$w_4EBbst<_<_vpSc{v$j^)bx_LfvPwBzjfM2ChY87C
z`Fu84PmhI$MT4t_JMPTo*1JsPZl1%1-3}{ul4~>W>6Y&5F1P15*I|EA*Bf6=S8>la
zm*#5f>EX&FWOu!lLeBp7=gw{R<IZdLP0lYkw<X6YXFgImbz%Q?b2Om+pdxJuMQBLK
zgFcdz7KIG#yUXmuOSDp2N#vN=r#Cn~4n9`dsnc<MVC2}qOtYmZe_@^Ula@?=%Q3=Z
zjuq}`IpmvKF4kD{)A&$=b=UIp0j)Y~v32CFG(W6o*3qiDTx*72(T225TX`Pyx7Hpv
zeByNY-+3oAkFIDNJ<&b-qk9a%F+Y^~i{quy+%}o>ndl%hSpWT-*3Nlo9}8*WT*UFp
zVmX&{h1|ipQl94gSDwctp098&lJmJ{$ltxg<yBHWIXAwT#*V7?z4qqbf2|*#ncNLv
zxhU`kzTmgN07YdB#FV+(aBU2flW|%#E*H>FY3a0<PFWl3F=>VE5%qz?r#2*+GaZ8K
zZuv9Zg?H*F`HdQsU#m9d1#9Qe)r>TH<RYb0faA&{%01E`w@ByQB7Jj{gwA!2H7_Sk
zZRIS-o+p{(Y8{SI>(R7YpY%>6We?4(i4Ck9IZj=rwp5mJzL@iWxNQ!{th0FhbiVgg
zRbbA`Q&fXIRUKlTrjB(^SNm$SNH_dVGG_t&ixn^{wy8_Wb<7|OF;=~!4O3T11J$i^
zUsm}0kj3e(R=}-LALXGf{*t~Nxew>4ehf$Q<2b4x$5H(_r8&JR&6wug-i$m;6M9b?
zbClhP`!}Hbqyg6((2vp(=Rzay(}Zcx<yQ2nv|-xQqw+iF9l5;|{VSbmy6MjJ<??X8
z-&DTGVzoOxFx_xL^r2;E5bg-Nk(vHn?yL6ZckRslKc?OSOse{S-=FR|XFxioJEa9d
zx>G_x1nH8J25AH&R7ya)yIZ=EZj=UTJUt!%oBe*S-}U!gubs2(?C$J1anAF8p8IK!
zlJGT(!Z-ZP9;hsXXwMmoqB4#C-QQ@+SxkTLa(aAM(-FLuSx2w$T4oKiI&DgESqgVY
zDb$BjT(>l>K4obED$i}H#NR}gh8CWZwDBax8c;R9gcws(>MPbF(^MCVOg-tD&`?_Z
zkt8BCmHri)NQ1=2(o?2Hpb;uVWB%^O(kx~nvyA&>CHK|GS<U^jhWl>~w|gD;&pPg(
zHQYaI@bIkV?^%^Low!Zk@_n6gn{<J~+nw9jOPZfHeW3LA<F*dMH8Kpx$VhJU82<io
z+=t`&|2B#HY8v;|Ogd<O;l5hPqiG4s#xnY4R^s$nC7F0s-4!=UOPOy(xGzjd*eU%j
z?3IoR2c>yTE#as%&VN$!dQVE-qvxd-#%1Y2_?k4-cSoY*N@@zbcoL8LMdE96KX{hJ
z57KV&KOTu1WR<XVU5rZi#T0ZBE9!?8da_l12O;^jD4<x9e-ktE?-{ww25tFM93%Nq
zM)J$I#RBpzu^^qmMNmnK%2!cV{vuO%mTcWgv6_4sdh>p<fxI0T$wsl2yc%_7IS!Hq
z<Zb4Py~yhIm4Bk`Y8(!dp}dOp;#H$7uQ07}jMO1_Q&wCfXXBO0fm7szuv@+_9Fh+R
z$K+|kIk}W@QU2b4QSRuuC5y&=`H=cR&Y?b(A1W{8zZ6OSTT$c?w30$<Os=k4l!~ek
zB6m6^N&Y4X(J4mW#;$%wzNU&&T&=D&RO>1e)rQIwwJAjI_R1c;lQJ^cQ&|)FUfE?E
zq_p#lP-^=|D%t$wl(GIP%2xj@vYGRk73^<Prup|O_5H^c#dliS?7OTi^xamD`W`Dm
z-%F*S|D96DuPBZDNu?NWkbAy#s^-n92Au`elA-)+2cv+R*(j<SdMR~{UP*1M*H$a(
zb=3-b1GOUaiQZU!s<l)vXkV+3v@U8Hy{Gz*-bcM}^id}U`>WZ51JxqNFtwdNM!lkq
zQ^#midGGm6ZKlmrTWL$xKH6G!qPAI`tL;};YiHD5+BNm0c3r)p-B-~n)l&LXb+-Oa
z&1Puo1S6$>YdEy~x?B5J7qw6HY?`d)(Vmdac}g}%)~ah^7-Dg)mG%bq`em()c3kVB
z?a_K^8+l*f3^`>Z+_5#<3`k`2v=!PCZ8_UgZ7s8p^^{}UcI^yvMcb*}CDHR9W|^X$
z<)>cKqWnC&ep}1Pu|+=pnN~%Yw7R;+aYjP>O1JARb&uXg&!o53b8%Tn@1$2^ZKs~z
zgRk_`+v`L1KKdkmG%G+;nV(n@ny)WO+m`FASsB`_AJVtzNA&~xHGRK+M?bE=Vb5Va
z(hD1}^_E6dUuD>h!NH7%#gWT6?k<78QG-Uonl$z{G`{n+hPm3)XyF;m5#3m$fM=o+
zaZfU4x#t)&9SaR9xWp(K+-g{Y+l-gSG2?}C#du}hH{P-thHQk4IEH^`&=qtB9YHrA
zKaLpm1#<+m1q%f81&arZ1*-%r2ft*i$JU&--&Vnv!LD@w4(8Z%Sn!A7c(&<mOW8JZ
ze7Y^TBX~S`GI)X`)T_ap!CS$5!GBo0dmMZod=-2b{4b~mS?<R#Z4Eg>wotl|KU5%;
zD^xs`CsZR;HdG&Pb!+x|gqnl~hgyZk;lG{~>KyusHOa}LKA~Siqe6@MY;$NyXglug
z-K<icW=-=ZtC^2Ok3!EwFGK%@^iU{d3cJFegtLW<giD0K2v-g_V_Jtl4|fXJ4-aB*
zLb!YQ*YL>j+VJ@B=J0~>@$jnfUwn3%&u)Ydg`b3vGN<XXxfg!L#~0x@;n!g){5Bj3
zD>U0^VQVB5&JeLjK8*;GGLhVo>XDL>29YX}`b;xEYZs{(>4C;FGSY{3n-P)UBeNsu
zD3KkJ^^v2Iy^(8?^O1Xed_cd=L*_~3PQ-}3jYMd=@zHXVCF+kBjOK_|h11$HS`RX7
zljwKRR?%+J*3qHSp3$+<fzinjTIWJ&T}eamuIM&eZjMBc^YIqj?dYB8lju`&0&mF)
zd>}bsMB~)Rx?+J?Msfwk>H94e`w}K=Q}PB)QBqpachfyKkZl}|Hw$9Fkxy6|+aBA9
zX7VSh$q_iLr_fDq$Bfvsm?QonmN_1ZRg8P#tp?(|X}md>EE7*yK95(oHjUS!^S2%Z
zin`VjG_sDzVKOD&5xQm@yaY|HBa)v(EXf1I<elYn>u^g^>#JlQYx{)DnlJH;#^3!G
z7g~uqF^v7TOlDjPmy?AOKP5^g+QDS~n%0}I6K(0e>6aLo7(~KjbYe_mF5BwFs>A_U
ztj7~a5+~`t`N(5^n)o~MI`KH6@i7dUHAB*p{4AL@*^=Jh;p9(NB%3CWBs)M`?U=ln
z?326>o%J$g*1yQE9EQxgn;gr*<j&-&G#=|MdVe3oWKBV2&7TS-zeHPUlM0}qWJ|42
z<w$Kr**Ivbnc8h?hU(EX^_yuBUA)s$cT-DKYtd7-LSx-ey5@4~R_aFT9$6bH^)_YV
zKb3CZ7pXj^hpED*o2k!Cry-r3NHwA3_bXE-Qx{WJ)Ay#rra^E`#zR7xh>v9obd))$
zEb~p{_+6iywv+t%lQx`-5Lxe;9+@7SWYb%dVtN9Xb-yX2IYTNd+Db0-D~Ki!lcmkq
z@u3_~wlHr`b}+9^eh06mzxg-VEpw8CY4sgto|>kqtTA`QgVGKirGE0H`HSRP^XF(O
zMIp3)n*0w+E3oV&oj7<=;`A)PNffX=BBygBQPFY<Kg#(;Q@WU&S@xo<tV#4HuhScS
zWt8O?=C{N&%e2H#mRX6VkXu*d9@=l2gvK%t>WMk2T2khqWs^lGp=E+<<FR_I>8t{e
z8yl@Soh@ap6%*O4kK+$5C*q%5R>X^&=f+2v$Hl8#2E>n8x<Yqtf!0zvz7Z$XC2JPC
zsRQx15Km0DFnY?9SWercSOMGJSQ*>pSUqSb&278TRMy3Y+UCS&+D61y*t*Ad+ghg0
z5%iSfwz~LDK9AkEmBeRKB=*EsDE173t8V)w=Cr4x0edL=iCv54u)mAuLtm+AzZz|X
z`>Pop-8~?;_Jepb#y&GT)jlD*&_0kE0JXJ8bd&v?=w^EdE;~eblhZj&PUquXg@Ez^
zHT5Ah*Qd~2U)i(ZKr=^O<oZNhX&K1u<iMep)A1CC+Ji^|Tx?Y#y4Hs1+Jf9pYjS~|
z97~}>|B5eV3cAa<$SkNRzmVBk>G+y#VGHs)pGWRE3PfJuOL^-^7YRdl^`NzQoHCBO
zk2LC=Xe}q9qwEd0a&8FsKvNk`|L<7RI1})s%%baeHnY;%5k<ObcsGjlVKkM?&d<Vk
z$V$G1kfPy9NjdFkDxpw5^pw)BJGcOEqNAJ()u)N98M(`rDB<5gZv7s0{Cn3zNUf96
zP<})s=^t9;>I|*BeQ1uW6{M6eQPj(#tK=iMnHOSrMt(+mG#F248ck^1U9sRfmmYlL
zdKrA<`Zs8G-wfuU^S7A$NU(zYaPUide_PS}+rhn@hP5TZA?|6xpWH*yPx=JcxZ4E}
zKx#eW{(`>WGW7ixp}j3%@U2@6#vr!3J^vY*$+TvJWRlBs%gF1wO7i9iG?e{NP_`IN
zSea;p-=rh`zJ1VBhC^-ri8i@kd8huJE}UhMTh~EV-;a)Rh^*~-RyuCdi}P_VvGVb8
z4)X54oa_HcTBjrQ*AQNo^G?N>70eqNW88ICq<bzCJ#|hpJcho5wUz^(8~S<A8CG)+
z>Z)fmYcH$myj!g2fDfOYbg+YY=b5PA@J!KXd4AIWanI8q**5CqgU9r5jTgGe@rI_K
z)?e!j^=JBI{e?b4zo`%B$YeCfD?{}kIiBgOf6b9iT|6u`xkf#XU+U;5@UfiL8|er2
zCS1R!-pr_>-;31J2YDLN$=8lmrH=YDZx@<_d+T{vgR0~ktJn1n*1z_3)4Tba>qC4s
z^eMjD`ZU-o3w_!3HE`s1!IL`-SMHSWn0DFsmv#dN%WV?WcYNoVJ=zuDYA*NFMd;Mw
z+8KZQV&<#9tDcRxfCsZCR){sS$KDgH+`aUj^@e<g*XA$h6Z`{xnf$AL`AF)N@W*^b
zN&gi07lFD`!JpgTfHY8N|8?I8|1<Aw|E|z7|9H9<!|+lrz((1t9%t3>66x}L{x<3}
ze+5;>Ijul3iTk~(LvX4d8iRd;MHT3E%z)!Mr=Tm@=y}YF3;R>t+l7TEN;%=S@+FLu
zdcqy%hSC(b$yYQAw-NrNGjfO0OZeC%yi^%QujEAGXXR&BI)5Wezm)#T4Ja`?h3U#J
znuhlahj6Jpp_L(@dP&$wpXEmFk&r$3R@i0>2~E9b@xIR`4)CWF=lipZZT$tr&wPc%
zil(CC46Oof5H-XtN<Fcs(on3*%5E;@E77O46_Y3{uQ}iONA6DdW>4`fa~PNWc9fJ=
zIOqSsLH{cX%Fi%NCgZRl$9dCedOb(e?>UMY$^0NMVU>D?*hgN)iuL+5XZ|;|<h0|Q
ztEIe$^R5G&e;pBPaX$9Z)nAR3?8>-ODssM7M!w4`_&u={?vx_9Qwov@$j`Z7e$M+o
zl|PUWP{bUv#-%3aW|cfUtL52QJ<q{plarhe+5;aao$RIWG(burW5CX;yG70&Fv<Ct
z0)Zqe@?n$@9rnowR_b4JZu>&28+eK;@=$7l^3sZoOM4WS&h)H)2NR`tU>6NIo1`Hm
zD~56YI~<K+B<IAVaUP7OzjZw4%2UYOOy}HrMp`0cH0RgDInN&YzZpVeV*u`iexx}1
zaz5TWEd}y1@j>ql=k4E;+4(pfrOnJ1+z&gLot)F}K|k5g9QfZHL`yl$dH<hi0DqzZ
z96=K}ie7RQjo=ts!7<z-$IvrQ;0iers7(`0O<WaUGSzWed_hA@H5?b8<GiSX1EUgd
zj7qpNDoEGRE^aV4(LQedZ*FsWH*G$X?xAnoM+^BIt>bSrkADIsaix^Nl~SB3hBKuo
zQ-mqZ6#Cy3#Hmu?|IH)z|NrwaP>}B}$j>SCzbVYmEy5J#cNF7ymf-i7#2Hf>hfLYD
z+xGD`-aw<dj>dA0zu{`2D!2a&=1Y2lYw<VLVe0bt)uXSt{{N;Se{&=L_9om1O>vqu
z<?`cx6YiJBOjGWwX0+urO`BtAEFbUJkMk${hnR!h-}|`lck};b2SZa1PL%d(|Gze%
zNv%tpZ_#1CMWgA=|JSbQFFpAG-2*+TH#$x~9s>i@bQjuk&|Ze}SQ#lz<?%8B?PWZV
zozXafMxkSk#MSZxkEy|d*=RApq9^@^6XoN~<*~Q`&1w-E*K%~CkF!$hm^SNirEKQ0
zyN$>2E;O5csDXb<b#SbFiIb&j;1Vk04K$qF=u-F5>>k1Kc?JjQHEmD-N!f7DWW=fB
z=Q&~zIB}&2K*`hLLixXR&I_Jrk9f}A6La$1%)#X3xtg8HhVGJ`v`!wL#|3y!7nF~S
zh2*0=fB)pUypQMd|4m6QOY{6MOFwXBw3o`fHq;=o1Ib0Kj{^Jg^5Zl^ooz!uaC=xv
zoq65qB7e_oNN=V)uPNV<@M#ZQsg*cZZiYV7kk_Gl=rdJOb<6SkREWthu9I_!J8+&H
zLTx@RTVOUNg$r_2xFj3GP5F)R0Nv)fd`5UBZxr6hqlNc!AwiX=_;q=Y7iUY*rp#3R
z@V(P1KcmeIgeluiDM_2zXHaA-&}~+QPP6JtJ+_7rQd%kBC~YCfcH)}7lpmCS%1|h?
z;~>dSQpP||nFQr~rZQKVuPjkkDa)0u${)&h_IEOSn7y#Uk1JbXtL%m-dq8;#WA+vE
zUOBAD$_d4QC9Xpl55gCZDStB$nI}pD{<tlTN*+-@QO(d&d}@9*omvQ9c~PiaMQMX8
zr<PW0@Uga9L9M4&WgVa{-Eno*4(xSjZ-ClK9isN2Uv8i}Ssep&Wddz-v()AE%B@qE
zs$12~5LdR*KDU$E#r`4n7~4tpvU){*!0N(dK0Z?)s_)e2>VN7BRa0N7HceMQ(M-@%
zTv|a*V09%2D=tN~w)En4grw3{tBEetLL0BO$D`UCuj&vKnlUIa6IrX7i6%1}1?LYG
znDr<yJ5gZvv5s>>d!+q^|Mdon&oeEFBi5yxbP@d}o1PWlY<|6%UK~elS-mnEOjW%K
z$0H5&uk;qEFm2Fex^Vo`jpLcY9M=riC*Z=Ju8+r^JAvb!>G*SJ>udD6=rN0R$SPbe
z(|71=QD=7Q7xk0OskFJPU)S&HH}vQFBmJ%ZQjh9kJ*g-3fRWC~YUDKX8iko+Mj4~3
z@rBXIXn|k2t1-;zZj3Yf8*`1p#x`TD@zj`QR1f}c+zxIrj)k@xYWRd9#LpOS?3ayl
zt~*B1^~$L24jMh(&fxd-2X}Sn3RdJubdsxluu8N}FdA%w*3uc><^R-|alx6viTum#
z;ELcJ^p_>UV<<7_(PEynZfLM>SSWNZ_;u)Fa3O1na_D|=LHKbnbMj4avGaYf85F^(
zE?a26OXRpZFUQv<IL<D`=M_T>N&QSE?K9HVHZ;)n4N0DXp|5DsY0a8uTUr#FyC#Ib
zaLo@DWBoI?YbT79)1j#IRw(AY8=|i$^sh4<dP$@33z{1qa_s-N(-FSwbcK&ObFto9
zkn@CMti#p{Pj!ApBScr$Z3l#lIfsT%I;Mn=S$+?H8#x}<(OT|=3rB8;>qf4Gi$(5)
zGe=&AGr<k`IO!vaaPEj7^(A|xCQ~<3D$*%ZF47Gz%P`u72Ss{D#-hATiOh^Fh%AY$
zi>!)lkF1I8;p0g(m}`;ik>`<rBYGqhu|%Cwfli!^C@$Hf1yEi}(uz|eS}9sH+6>jD
z1Fbl1qQj#-=)xHi-9m2QDC*0_=v2CIW}&LAie`#!idKuAi1x?1@+kH!S|Rl^THN*_
zI?HB_ZLzsy+erHS!Fl5>TlLroTdP=iTh~|z@(eX>qe=5jjpd~sB$w^?SVqo2McbBG
z#JVfC&w41f+Wc2+Ak8<q;#$lHWx|V3#Tn0q;__MCAFmbvBtA5rH{Lu^CT@lA+27hQ
zKGym*$&6lPdwRhF9UgDbd`sr1i*<IqrFBufk#%LfCalo%);;n3)?;z6^;Z0`<w1Ov
z<w?Ad`E9&^LXH<sB;z>~UV3oyptw|~1E)@+5$!i^6TK6C5<?R|B!=_xM^u;TXfm@C
zGZRY^i)b6(j_PtaaVv3yp5Ye>CGlS(Mcc4B8Be&AHoAthCi5qAL;EP3tb^{-C|N7n
z4c%p6vPbf#<me>H7rKV0CD$Yu!4KI)-|!anm?O#iI9XoMgrg<zCF98_NptEojus=C
zHRVNbNr$f`6V1cf>BK3Ss+p>ts+FpfYDzOsSGECZ%{YT-#~GBG!nTxc8{4t}ZD&(w
z(|U29q@JXnvIW`fCc7z%DRUYd<x|tArXr{=WnraMFqJdaHq|sWg`v`oZk%4G?x->S
zX(b+Nnqit^ns1t8+GJXd0<#wlW}oReJeF&865li3Ha#@`lQt5(7TF|G=^QtC%x-fA
z^C#xK<~-(#Y_-@Lm>bek{E`0B%-n@-0NYgaWb*>^T*xuYq3y0TuQ#tS?=f$IzkASp
z+We>ay7{8{rTHoI+#EFPW~aqraZ^JsSkhVYTZ&rBTdG@XTUxU9uzX_~Zs`NnW+ZHz
zv6jV_DVF7yxzKKwS`J#aS*}>N!@@abd2YFBc~3WSkdFra#5#Kl`b*rB$7+E%{KQh#
z+ALYqnus^H-h?`PlJ=a#@qX47JOY<MpPe3`j=yCIkHBr#)_7Z*kp=o3PfIa!K)K_J
zHGSM+OT@C1UdwHJjRy0IQON^kiD$5lip$mwmX+|4Z<s%`EsuBPnj>uIW8-bhV+(9Q
z@=WRzJB-WaxUF97j;$iuxnePi1W+h#^2B1c+%bziTTHO0i{-KBh~>BEiIuXKj#aR?
zij}o*<<gZZYVQZd=(Wvk&tiAl3)*wr^VrKnIBEj@xx4*eTVMMz+Yk2Xwh8u3wk7sg
z=56*+>?qm2>-I4aQyQYg6pX6&j8VfLi`d8uW~7h!Q+TxLaJv}xoskXp4UxsR-y)X8
zlt|6kxJcF5@JP1!cM+PJBE>CDBgaxzBmQ`y$cyMFkqJ?E<hN)t+%l$xADiXyMEgJC
z=8kLO)sEBQ>yG2$w~lRLuXAfSyK@P>I`hL#@b`6gP7L>F202HEM>%_=!gRm~STDSj
zRM1gpDLTmtK&Q$Ismg<+#lTDWF61MBnag!5R2H?RD$bQ^be`39tqL`C%?fp*AE!I7
z?!!@9X2YIc;i?9IwhWHOf}wM+thgI9k^xO0dcZq|>QaMd_p6{EWhD=j7fM%I_rYLg
zrjmPYupv|5y)f9){VV<T6M~)H-v|4-dj@+$`1;QME$U1AU^REsV0L%4;3-$dpzJ6Z
ztQF3}x_~dZo)w8HtVj$GCXN0<!{`=#VYCX~GHL}+7-fUIjZ(aCHV7^@76ca>!SGz;
zgKMgB-8}(^%Q)DyLs4J`8J+0K>5bYl0oTeRPXl8WYRg92fDhA=a~ZGc9rTkY_)gzI
zLL-EPdsWw6GzVv;FDH-pKEBmEdJ*qce5>amsGZQi^d8U~(VNqnR^l$+-|5x+jfUb$
zFlT?zfA#jonbKb0l*XBD0B5!uj@c?qY5k%%AI-y`>UVI{KJ?o4_uiPM!JE~*iWc@t
z%tOsZ`*3EojhwzyS{~nFt*CFe_8Be2b$oNR*6{bc`9^3%VDgWG%|8xK|0H<*vwa=4
z-+UdkdA=6fGG7yI4Q<3bedS11m(Wi8@@m&eUf=X(M>p|n&wU>4rO(Zn=>rI<Vc!SU
z;(wwF{u?+-&f-Kqjw5-$S{_$QEnF#$q2{%OTk?&6y4r_kf<ep>9M5Cv()kJ6-a>yD
zbr~$#_5OAwds?YGm|Y}#_WPT{l&!6vAx(aRRQWxBe)T09iRKs3NzAHSh$sOP>DkdP
z3ZsFP5iTj8qk&Wr&MVb~v&t93QKh!9Uuh(4S6T^cl@7u(r88PcFSL+>!Z>u1A8?@b
zM;Ga;%on~^mJ980g}39fCF%JV$~xLAcQCtXuG}lsRu1A;ISD8BvQS>Rf~)){$@>Sm
z&7TXODzAhbI8`z!D$bR7+F0Pk#&N2vawc?;JmPcCCm!H%zbBU#Z_4Fyt5guL;C%l$
zmvO561*7$>Tw6RTH-Hw<g!7Fy;!)-V=P0M;Z^cVEQf_kIavKfh7UwdzaHCw8C-S{N
z^D}01`76$sc~AxxGE2n^@>;%U6SIT;J>oIWq4si4wUzbj^`v)J%I9(ZpHI77&-vCi
z`4V$oT*3L+OxD4NvL^nG{6=g<lW;XT2tgst`B#MVu>|L5DJTo}KziAQHsYaS*N-le
z4l+Y}(hnJ-He@BOkR46rQ<4jL0`H`JoEsKG8!17ep%mwf6>z6iW~wls^Lf?4W6mv~
zqMf{EKHxx6@qp+!PYm29LEI(^K8x3!qyEc0le+M8zGJ^T>4;wZ{9b`Kct4(TUi%Mo
zgLB<0obz5oXSsn7;SO5M13U>Yxm1`GlU^PcC?O9Dw3Yh@w#YpL%al%mi;)(AxBi-e
zGGgh#YB3M#pA0ZuoTQD+&@JpxJF>uDDM4p!4RT72+5d`^P6zTzUHN){_$kA=#)N=_
zJdh;*5;!N$5Bwl53M><r20D9I29oN!KvdpD(r631(spkDuE0h3C<o93HZ#l7XXY_8
z*dNb~WPU)m8H`pifa(ALW>*@EWe~c-P&A%VBv^ig8Zrg_XBM*v?O+4i!3n$@|DhGN
zCA|_=CIw#khLURP4x0u~34cXL_I?N~6@LmW6y^msyOstb>gqrxWnEyMyn$P}F;JFU
zn~5<q62IjM%F-R?I&+Qe%nekFTik+s%wy&~pWFDp!mvy_%4-7~pu1#KRtNrLYU!&2
zQ=O{<C;ck|pNe!ji;DwE?x6yKU$`gdaG%a1?KOk6*ECXIlek~U!Lu2a#<2O3hUG~l
zf+mysniQzVeOwNvO(DKofWM#wU#-M-tC7#bJrpPd6DJSjgB=qS+mkYDMZ&B;sj@0u
zw<y0Y8`l*XJ6*s@@r!`W+!1RAHo_^XBi0YJ7a9i|dYc7I;g*4|TC2cpwRPZMrB$G}
z(jt&fX&$&QHxC?;n+7(?O#*A=Mu8P_gTQjRZeW>Qo2kjaeG%9#R}Ea0D+k`gISDA`
z0=bnkfs9I79sy+n|H`ETFJPa<<>CQaWdf^}e1Ym}j)10S34Etz40O`OKw-@j5HxF`
zp=Ju$^oUr_2#PHXSsbr@5F^T4v7GV(b@hq3ooDMJ)RSN2+u~G|&+$B~N0ZeXj&d@X
z>5o&TAFlv|$ny=8*TFGaj+bo_&+^~-o(1AU`4^lhb5J>Eh^O$jJ%k>e#OGE<87a<I
zhKY;Sq2dYq5b=P&uSn8SJR`Id9|$eU`!o@s3$?}DLS^xYP)b}T6cT?BJ{8LfnZ<4X
zfLPn-5evj^;$|%&{7z?ZQB@IM@Cvy}QQ(ri6$UCVgg!7#`YQK%CH`9&O=s{lUR@W%
zGTES<5w?+=Jc2TPiC5pp$|k{~t{1*kR|}8T<-)<>0-?NbuF%&%TlmvIS-9h$D7^HK
z6+ZY!3A%r<5c2mF!v1fBsK0|?r8C&XID{tTcp7q9i+}%8_|IQXxb80|?DQ8AX8Q9A
z^-1>Z^JNrvyE6#G^>l()vkBYOFnQ9jzo%-DIekyx&I|mLPsp6!WB)e!)4%Xko*}QZ
zpRCRX-r1J;7pOD+Th$5vQ)GDlR)<o|*VkW2>+K(-wfE20Tl?eAW`3`)zJHmorvJ9D
zod312xL;%aAnq#!yFI%<?91TSeRlsFU(EM{?9L++JGXp~nZL>E+@>e^lJA7?JXxKi
z<a&0{4ZOzpi*Jc<3aql>zHz=DB!0Rw-}*+<3p@m#{6Jp~{-ubotuLMLD__i8*LThP
zh3_|SWnUI=QQz<GY`$8NEWXu7MxUyu_ifY#-xNLW9jogcjlA>@;Yj0q{RVTv+fP5t
z=LfulS&12<uk()6S9mAT6g*L1#L>&oGzX8Q0dS~yA?<&Q^&Z}3dROmqy)#ESZD|f}
z<=sJJ@Ln1NkLs1+q!i}JC^tt*>AeaoOdr!bZX@MMXQ-Zn#xu_s##K){)~|Yy+WFbo
z3yp50=Rk0&XO?Zcr=EKljXB?Y%$|0hES^SCPd@jw^5pPz^2FRdJy)3p?k=A8OfGj@
zkKnH7Dd(>2>F6%v>Fv(yY3_D;Jno=-w(F%k<h<#A=)B-=<l67v<67<xxn{WYxku8N
z(}_Od@^JM8KDV*i-B;+#8S9F;^0_X#PC6^NS~)k_raBsiJK6?>D#uHQN<`9!vV{Gl
z-(95KU7^A_Qu2hnq1?=;At6)*wqL<eCN8swa7N)wDHZxGR3=m%e@dNDLs)>#aHxC}
z>K6Jw)Sc-c8p_9Ep%I~pq3NXQXOg1-jja9B&>52U|AaP$l+dwIR#N!o!?#1d!p}oT
z!okq3h$TG1?qH?W9UcM)Wx6wGc%CzFcoDtAGo3ZUlbp>s#&5x@Yg_t)yM*&P2Zt5M
zu<%pIgzyu`FX6u(OT&jbKWOLJ8y;di9v&M#7hWE@74AdUr%mJ?S)cdeW)UgeGGfDr
z;))DLFByhgWn!cVx=0C}Db*sspqwngsj@866^F`D94eDgM;1oz^4WWmK<?;;NRH@(
zNRjCK$Y)VGQXv|T)Qq~K&7+y4o#+qlA1%XFiGClg5$#8haCdryheW$Xhei8DM@7d+
zXVV+JGP)YoWJ`1p4wX~Uv$O_3#GUej&fu32EW>PG(mm<$rhH^wX2zkCmAyPP2v>}i
z#hX%>)K5M5m>o&^^r16&AQ_)AI8<iE7LxK=8CwzCf>ULCY#&aQi?Nfj`?2d}dmhKq
z#b3ut$KS?U$Ahtz@p!C$A{G0`<cn{y<cYtx6pKHzl#frdREeK7HHi04G^P`{NqkAX
zWqdN}ACwccl}_;?WPrxN0G%A47GDrw9AC#Z*2b4I+vEFa6h2Oy@HGgc*V%575_*+J
z7X1&#sFjkUPoR!wPvoRYxGW6P%4}6oQ)(p|vNd9BgR0Uu(ThIev5DW%QC27ZKt)-H
zj<Sn3;a!OfiM@$`aI<KM%L!ldcA{$XRbqcKoTzJ#C$=!V%>lTn`I5`crINpzt0(8s
zqB|Xm%1D}Zhr$l&Vjd1HWdwwjY01Z_<#Y(INxsL`@(y>)JDe<Uk~fo~<nyF26-nmB
z#Zn2XYr|B<R0lMa5qvxf^|c$+l%A&9sV?MtzJh^L-?S%H4QEOPh$(q-tN3xQq=4TV
zDIfhiIUuGKFkOJ9av;^nw3|fGn$&luKOm?4PMgp1)Ff1sIi|7jX{V(%32&!K_#|`2
zv=i6L4rsPV&`7SBtmdmGyZH*Pm64|0=Ip5o5L7Ce?<8xOFOmY<p8VFl5+2N)<c}nP
zW|I0@g-d0J`Rn9v(mrR&O5Noid1x+>e4XY_3F0Aom&gZ2wgS$S&mp9=Bzx5pC(1xl
zJ`*g{aiWY%{07J7cgx_!a!Z%QPSQRX>EgK#_vV46AcT}0WV<p^mXnO9hmVudYQ!^J
z-=?K~iqOeZjKt4pC?R#x)apY?=?r6Mm~~QoqID2GJm1m7(<Z(hI?4%@kPFtr^ay9C
zM>u0#vL<5=n-crP_Bd7$rcV*urC23WKGkgd;r;B1HM6aShB7ZUz%~{V$|#aPy<>~%
z;8|~Ljx(h}><~RXr)(u+chNtd!V-D|0VRUsm|&8&NK~-@7tLya5-ntZ94&0W2Z!h+
zJfefq=5z|Tp-Z@r{rBh~`<&<~`h;iN`_aGC78gomvU_z%`+S@#=pMz;J@Q81+A~Lk
zY2%BU9rmc(VU2nnHpUbc9Z?9f?{T5Lh!n?(QqggqUg19@Egc77DeZx)v<rgl4rWoL
zpJQTVf@4f%Dk-3!9p6EaZI#y3a{xEWNk_@Z71&L;9T}lwr^l6&3dbEm(m!aw^bF^9
z-br(%6mgypmv`=hti1uk_Cj7Ge+myH|2WP$996j+uc6<eFgL-K(g<Co0g7|Q@L95x
z*LaP63@zmaYP60*ZFWV-Sw0VCCWBd!WKTshn+;uy>Fb#V6?_D}!9S4Q?2hZCJ?eO)
z&}tkgn_cDU<sqNr`XqFRDA`L~CvRQvf<f2apv!$b=q6d3*?k=62~7_;Pjb6=;y~F<
zfAAuDgJ;swGd|d!E}kClzV!3-z=hJ8)M*R4gKN<n`~_~5Qo*GpdA8ESbI2Vt&XMLh
z;eKcQ3GHNu`yb<HXeR^Q7vPqhGcvhP8W&tgjnb|^jl9nNMkU8?<Edk<k<YaPePp50
z**y!k$wWvggN(Sln~@codlBBPE8;|{LB_V8r=HQ4?Ctkta7TOcpqu0}#(OdtQ_x7J
z;xn1yN$S6NKIlt5&-7KEyZRc>ReiPRyuQw}Pe1J0p<nQ<g_gERzvuZ`KjoRK_x4QC
zGq?xorJ|knGr_O*cES33l^~P}qk=xhD9nmUR{fkF(3j$(9jm9bo_bhots7bc{gqZh
zf1s7nFKPLi()wT8m-=ZOx5u^4`fg^s_MN^->!GjGhUp8mefqE3Yh$Li)isGGnc><w
z?;tJc?Wg&Dy|qlf9$Hr4x9BPzwH&^$=_hQd74tRHs`_eb&3#`$=`W}C@Rg<8umBoM
zcCCXii&n#ziSH4$S6)F|>Gf*$ye{pSC#wGHHq@$?_iCl!dv&$`1`qTb^|tm{-K{+&
zb@M>|Q@g63*N&^Vv|Y?*^{lo|-O9|@prmMv)OPrvt7$)}`L!Qu85pEGv_5J|?Z%4P
zH|is`je1sXKvJi+x<sv|E>tV3v(?X7k1MSH%&OiT*7D}7In>`--}_y4sEbvrx{6lf
zb*ikaQQs?@)PI$2>V4)4`<Ijr>M>=3x?h>9?pDUA+ms>dTBVP=Souy}sPtCnDkIfd
z$~<+Va#$Uw1l7SxC9RLLT<fHC(!Wv$2kR^SZB-S&w}SGEub5K7Uql(_FQhE?=VWpy
zef(Jz$(Ko4;T4pJHn%d@a4U;7i*iX#%8gZ;h80;}uDq9fEAQkw%3Ha(@<z^1Muv=#
zoT7PHr<vlde4U<(OSDy-W$&zfMLtG?<}e@k&_BFe-o@oEc`vhF-b^>>dYVC3vMptn
z@o`Do%%eGYj{FPV#6Od{`H6OosdSJ2Ot<h1xg*nx{pMtH>hnFd_^DOpdvZm&gi>BE
zpq7<4#EawCFTnb5Zn`vb%DRvZUw>9;j-Nm-@XHyYRK^7_{(g^~^m}E8$0HZj9P-zS
zMZO?g<jHh?bd){vm$F|jPD61{IlY`t&Lq1@{G_D(a#$)YOHxhwl?1^->M7rshRQc3
z=nc{@@&##;d{SB>ACczBhom9$ZmG4roraQaQej$4vdWujBiT&b$Yv=*r_BdiU?0&K
zdz-n;oS|Rl7~QZ(xI9W*>=EWLvyacWGn?qyS<CmWra5*6&9Ter+gZU^meU}+f{vEu
z%qp(ER@zOnXDizVX(t^$`}vti>7G3=&6V!cp<~eKn_r$P4VTAD>6B4YUUitXOB*bW
zGrpHLgmJSt`bndFeWgZ1AIU=+sF&DRS}gXH4vPJy%i;jqdj`|eGfYzHMNWtlBrlnx
z>~K<xlhmn#gQgbFh1#ed)p0D8CC8KlmqJo}D*a8`V+RV>DAcY(Vhv@XkWwbmTJ@RN
zq@J^`P|gMiDLZ+@c2&P+<-9mOu8-ug%I`etddWwW`tmWQgnW?9)m7y`DZhF}lGT0E
zS$&OkH9B9a=$<Ye^Zh856Mm4QLSL!B*iG6mcA|BsJxW+RZbutbtk$?H+DJWddGyDL
zGZ0tK5S$%DaqEo4(J>Ym&p47r<8f|GK)o4{3N(())p&Rz6VX^Ep=wP*1)Bo%V@jY9
z(~ud>oPuAI4^?NfG9j>0850<wj0`xHVS)8<T06-<1WLhb%^(j5c;vo(Z?`~JxkI2h
zx<ys_%RnvkhnjM(Ky{S6dZ>9_a6v646_ZnWCazKc5i2_W7A604*dL16PE3hoM1SBX
zF>7Fwm@hC&ED;zXRtZdo=eh{3WD9)PKgGtVU5x@4*gqxK4eS-`1=fkR0`tW$12fT9
zW{Fh;^TbMAzY=;=Iaobq1HX$U1HXvH15@At4HWYRT8lXXRmF^f%3^?hFTckbSSZ>8
zo5X~;UDU;`q9kq<-@$KwCeDV)JXE|XwimBLgT4qC`i%H31m_;&A+ejd4+7E-u`Gn=
zxUfy!CTtZ830p*qe~XyjwNXs!o5juQdhwmIK^(8F7b_^MVTr5|@6%I!3Qgo=mTwbE
z>M9h~m1rX?<XP;`KqHwUt|s@lidlj3x|&&qPO@GejCL|a+)2~UKDiI-ZCBLXZ^avO
z2h`rL#K&?AxJXUJcXD0WC0~dhrL34=DJg!T6o!>V1CNqJe5GU*8>&8Whw2fZs5bG|
z$7V4#EbLJK6W*&Yg{9iR!W847;7Z&R);q2VWo_4l55a4~R_&ayRXv9;at?;;8C-)$
z1+ThW$fRx+GQyzpp_hb}#kdBS2>&X-3a^!^!UtuN@K%`sk7}s!O6kvZhws`2Ue(v^
zw??CB%ynxB@0H4^>*Zj;mgW1)3X)PBE^HCluSIYp7Q&5~Lolfsa4R~63~JJ!6OE*R
z`p#ckedzxJ4s0X!R9Zt^FLjH5n7SfO8=0Xl_Rms(LnHagzfv6!!Td-6Mpgv&!v8v~
z_VE8n*Ur(j`Nn^Oe&h4xSg(+0y+V%l4s6)xY8n4KvaXt%3m{_#7-ByECz{Jo!;U|X
z7UJF4fD0@0j{L^gOnc>PtNp_}_Z8nLT8by(0-dGp_5GslNt<73D_*Rv!u`1n7Rx-}
zHf<IwC9`}xwV!-@wXwKGN3w!4oRyT}xJC!~?rQyfkF_ok&%VMbTHBXbujs3;SMYtU
zm+(!~3;HhWnSFH)kFQuT;r%Zh_qK3`q0-CV1D^l9Zd!^9&{AB+d()c>vaH*C#{1TD
z(tE+Pk5=Ig-U^<@-hu9!-cpXAy=y|_ybp|l-mi@A-YiC2Zwk#s)$4jc=#|k)iqTY<
z&Fe4(uV8o>vp1s=_hg|KGmD{nazZ}IZ9MXnG9Gx!829Mkxj?$-0G&G<Jl*gB_cMNh
zdNPA#&m<`RBR%ts!JZ}Lwb#?Nv)gD2`J}ezicy)Koid(Rc#$JGgZ)8|Cky100#s2}
z3mWdmL4{Sf7w##+NA&4jcbh{O-LcRix6iTBJ>IpzeIHV7)HT^{agU~PxF@<vXEc<y
z?({Sgd)<}!yp%iTD(X(Svbf*70<;fX`JMy~#2;Lz>DxKX-bUAP*RQVKt{>U!=UV1!
zN6$`u*DSh*$GQTp!LFyy{;rA6?yh6@uCC#c7OsimMy^`nDz0+jVy@ERe6FHQ?r;uQ
z_HZUw)^LDHItzvWBai<Q66}3E<#(K|;Tra$;bCC-q;mvE^0UJ$oLgw+JdaB9fQC*D
z4~Z+%$(bwC(pfoD(>W;eh4VwCf^%=YoO6P`q_cq|k8`vmqjQSG;~eEMXc&I&sP4Gy
zC`%*p=S&;NK}UPX7Dp?(iEBFMIf^*uI5Ie<JDiSTj+lM0!%9D~+tJApx7T<4YcK0K
zZ_n@8V*k`J%bwm*%kFVZw<YY`k}><V*lT<7*nNAY*aiEN*lGK{_)&W~%P#w2>q@(1
zU0`2joo=6P8E4;<>Tb`OYGq$<p@G;|h}CA3{iW?Tt;5Ud8y;$VMH9{)`h?Hh+R&fV
zk-nS(wyum}{lV7F@&l{lBVcHLZ#xm|k5{C-Z3DT5EwT1YbK71Rn#W^RZ5LvdIg>2J
zS!G_>5gBb7bl6zTYfHtPHfuad`|E2M6E9&+{0(>FlC@6!FwT)}WOg<{iCs>M>=O8%
zb8(IQX8kojjkW!WkWcz>rrXWxOSG`INK~_qNqlY{kf?0^DpA5(Cy~ioH(|9lNSLfO
zI7_aScxS1axNWJ&S#<rx8B5*7K}+MrKF+FFSvrvJ=?^isZ(^KfC}-f~V3kf!)U+%~
z<glzu>^1L9tVo_n6iePsWK2FwWKTvCS(4^t_M|_VmyacqCD|$^t0&vyBbh{#%t=!x
z5-Wotf(%WLHIIRyIw_3~GQ_-uRLhEFC$xfZ%$t*~%)66~ps!X=>-7EDNc@B}%!_0;
z__6M^R$?FQSRo~u3c!vno4R1Cm)c2=XEl`9QDk|RrG}&?!$_H$nhqmnF<z48sTIuf
z)JC#DTT`1;$5TgA*Hc$hFH+A^N=i<}*jy$zev)jaqNWmQQ`uC*RM*tT^qHw0^pxJF
z^UzY9H1)JLjmAwfk?j|@#imubNj9U396}MfWV&p6ZhA(V=cUPFj+%UC3oSr`xh&q1
zTILeCMoQrsDPitlE@vK0Z_q^iBU8=I>0@q*XQZ8Zhq)1+kqYMH=Fey%s%pMrZexCE
z?uBP$s5x$)VNT&M@mW@xvskv6i&(asi&}m+SFnsQSFtoUH?>qUe`l%4WHtX_S!$YK
z$()*G>6V;o$(a1z@(>#E{=@-@zX##WUbKuRzcV!P2nFT2rA<PIfD@z5*lI135Ue>9
zS*;lo1+8u#HwG@GcjUxg;!3&|?`l0kR%cIqkac%_q;)Hl;-&G0*17Rj)|v5j))_n|
zXQ7__96xCt7e8yA7=LK}f%f7)@r1Q++-@5k&tY2?FK(NYC}(?UscqY2ZDsq<+R-N1
zy4XJDc~g;=?pn6VwobOWw019`b!wq)5{*@JnFY4ZwiUJ`v{aq59k*TOId{W$k!Rs!
zI<4N@eD<g<3x=Sq_P8yZJ!~s(x7cgo5@}6Scn|wc+dz96>tOqs*pGIZ7UPSkD2JjW
z>|4nBEGFkO4hr;8{;dz>qvkMGK96>`7mg~nEYX^#OsJmj=nqj(^oyt?njspDq#`OA
zK$QgGf06s71MfsGMQ%n8MQ-3+dlUI1Vv5d*lx5~ee~w&>Pl(WI4ukfq$V^97vOJ$f
zPC4?!PWd$Q+~JLUAjcDT=wUZZSrO$V52{IC=iP7_=LNDn`@_vqPFlcEY2~~KFC~hK
zk~v!1*~B3_i#u;S`Z_l_<~Zj&mT<Ytxyx~pSI%3`TlUA!>86nLQN-_xhcmb~^2$9U
zT;8=HT+MYnT-)^_+`x4w+}JgV{m;VH(N(^Ln(`&Ylmhf1?{V%4y*Hf<l?h)8t)^dR
z5Nz2F<Tq=Cc7_Ut_K*WTj^2JfB!=#WV!>B5>bwX&4gMFp9W;lJ1wRY#4*n3{5gZ#{
z5iAy-72Fyc9c&yL6wDYJ2p^>zY}qcsH^EM%Oq-B0{WADE_*w9FuzYZPuxxM|S=JuG
z{J{ofTWbdM1WO0A2Fs9gEfg%lzf=!;_-e#B8+>cH!mo@f_Q%E}*DYhQ`!9&HXN>gp
z>J;#7CFQfhsLnfZBhPO}tF)Oz*Uqm-1>T|Eo&jWUI~jtrjnOJp-*|urv^!JMC{K#F
zjG^fHjfW&{PU~i47tYajq-}n~Njeor=?MLbK7i?|-`BszQQA?jZ+xX^47SuOM4IRy
z9CdV?yRLqaY3Qk<U-Fc~ol=5?O%Z(_bI_Ytzv|7e|KlyHzlD$T8u!UtZ+((Cef3Lp
z0PgmVHh%UFiInvYcDJMq?vj0)cVqA}M<<%MneO*R={!EIRq!pPwQw?e$Z(FHdTC>P
z-I&fCO?A+|_qEf$^|jI(<25PotEZ*+eXc$AR?tRyOKPJ$d9|6=Oxk=y(2D9_ZMEjs
zI%!s|3@wV8H4mF#i_xj5tNFCoY9)FW8)%Qz&dea~j{1{!Q9VowJiq>@TERG?wu&59
zo4IzY`#ihV>E12sf8OnC8Q*5Ljc>c!&$mk*=sT=-_nlQ+`Yx&!;H?CFmsBgfm4I)z
zTHLomZQz@u*6{tvzx7r-c{{4PJ@wUou5#)bXMS~oE34Yy9Z>hXP3jOgzG~NNCFcBF
zDe0tV!Esh;<T$OQcOF)TyY?xE-CLD~p0!Fr?_y<=cb;<2`->9v&QxUY9OWDDY-P0b
z7bU&1P<g1XS1PEdls7oCk1F}p<@m>c;tX|=lFQac(R|gFkiVqTPAGtPg_U)@CWj!U
zoPv^aPKe9r@t&U-KFCLe7xFgdH@xYCg?n;4;jUa#xFak6>+)>>HTksfn!M0+QN9yB
zA=lB5$+~(#o}liN$Ev&JN9uMtrLB{5g_g>>Oux$=tn*|!I!7LD%#!P9v*dE>H2Du@
zl3ZK)QT8dL<X7@A`7cN%d*%M}A97E0lWu(0UG67;D|e!)w59yD+(>Q<!=#P;1(%=m
zFXfrf<fd{-ri5HiF2GlF%hlv;OjfxH%11dlAeWT|I!;B%Cq6kJT1ZYNi|j=k@w11D
z!q<|h8&N5P97O4mq#R6s`5nr~OR1>*Oe!Hil1j=Cq%!h9Qh8L9it;_?KKmd4?Gayp
z`oHVklggo})Rr%yu$+^=mrqDjP*ax6`=#UZF6j;GNg-v8v|d>zeX1>zx>)8(-}z@s
z7lbJgSm>1%$4Ps{vC<WBg!CMh;=TBT^Z~`<nK%&jqQA5mC4&xD$t(7fcKLft>y4h$
zJ-LUJMeZeCmwKVAkn528Kt<^X73F*SfCou^rD1gCj*&Xi2>dl)X)Vp7TlY7baTm}r
zyqK2UCA8%(k{Z&O+mNq)Y|m{hjgy+vi`<;=Z7B_wzLEyezuS-R??vBmH~NM<r|k`-
zy?7L@yi@4a{f(czf@|)io%k%j;W@t{o!mtFPHrT5lm^mWwVtF|>PSWWwWZBMO{p#n
zl6kO54sm%F776()xEr;lflP7cqEJUF&Zxe6QV(~1X-2q_^u5+Zx}da>6uGrDK>k|F
zC3lkk<JR1ex=W|IMaQ{~C-|FBbGy&;H(%m!zQV1$!QXvXnoj5ObV*^~C;!C%yD8E@
zd9rj=o+RZ~CQI{_Nm6EYf;3khC!JHrN`uuOr6bCCDT6XWS}9MEzCm#+$K;g9(a$?k
z3h{HFphlgiU3m}p`da?_k6fDh+ylSRBt4U_%#{9S6xydhp(*%FW~@9zy252mWjfl`
zOzD|EQ+n!}DYf;_k-ie<O1p%4P)im{L1B@UQT#)yD6WuNiz}sW;(DnERFjV4UhcU+
zrTpS?>7{T^8Y5hhw)pQzi@lGez43pg+1h*QnnH3$Nk}_T0)ODS&`d7HbD=(p;CFH!
zC_p*oRm^2Mmuyk;%FUVEN&(re6_iVbi^?}WMdVWc67oMxW}%dvQz$Q|{8i}ntuAl$
zH;@<lTgqGgZTb2)a?IaJ4*5IFzxlh!3%%WBv(Z~Vs|=R2D#PVl@+f(SJf7$B4EZ;C
z5#*t@=#vNJNj%HPqqL5b6Y^NOureN1cC7qD87+s@F>;&WB-!PhE?4lPpZb24Yx)<<
z51EDnd?bPAk+4R-ENqb<30vit&`#b$J9#IZ<nj`8i}^=>&8yWrUbWr`Z~6Q^Bk{S+
z^+WPAUfrGwXukB}+@TBSI-IC$%xPW)572|NLnyAS5-KWlg)fz#V7(58_1YcIR7;_Y
zQWKv^Md5oTAF0QH@T2n9KSSB+Ux50&97TGKQr5piY46{!O!ps9HZceMN0lS~(=-sD
zQI7ksDo1IjKjwd+oTjz@wEth_od1n-#s5~hK%@N`n(fcxM!dxQ<#(tT{65m1S#U1q
zRuB3=Rd<u@+~O|-!@R1x$lpMnhi7EE{~L7%Jo6v@ePNytR!1-c{iD?WbmMgK{|pa(
zKHA6cI44)Z^IDIKa<lq{f4f>1eWW0oNDlvXHJksY>h(WWUH%tp#HXs7FG!tqM1A8+
zs*iDJUiW22^T?+iL=)NWtESOv$JApQKx}WS{lUBNAFO1|@%7VY`UWwBwduZL+IZi1
zZ2~h6y=0K@SFNY-5A8eLqpf}0wN}1eS|i^ft)A~FJ;bN9ia1S6po<ju-D5@M6{{pc
z&FM>M5wA~Iy%}^Fm+E_OPL3l=;ashSZ=|ih+1p!R;~l0i^ZumI@~)?E_^3Vwvg=sy
zOMQShqIdIJj8^CxExlf&t~VXyHNM0bQWeePGq1}i?X?;Cxy;OUyxva?EBZ$;P51cJ
zc+X1HLr+Pv&lRA()-X=s(%pw+cdw_Jv5l3fWuC5Nrh6Il&_O1ngG_>QG6_E25ITnk
zbJW$FBe5=U{o8o9!?OFRha5Djdj2vhd9E7;=^W1G`M^q-Mh8IBuy}kyvquO9=?!@8
zE{YyfI(Q#_<SN{}i>$i+iAJ*3J%arA^x$&$VpiV{z=ORPoanZP#=4t@2D;7Re(s-Q
z-Q6{ut=;upP27uImEGH2#oYT{+1<Nc>D)Uw#arW2T?^?Up5}Vw8s)m?>Vhs(%XJVP
zWRI&bx=04s9G8Q(;;?fRn#d2XYtEjo6R=_rJ6pPF4`#oy>zK2?>yWd&Ypb)AYnQVG
zpXYY{>CEan>U6laJLAr^PRTjn`NlcJ`PMm+%VEwt&UVi8&brRs&hpM3&d;6OoVA==
zoDH2DoK2leosGD5Q|EYR1Lp{5b7vo>ld~n)sN<~UtnbXrp5Ix+nRL{0zIIe{UU!i8
zXD&N(vY*p=&5^}<#^G`vc7z=#9U;eGjv$xM97i0tn7<sm90wdL9jhG+9rGPC9FrX*
z9RnSs9N#-eIC?pTIyyUgJDQ`aRCCmG6hdvu>8OIH@)<hHrw-LFIv(1cj+=I~<EmY@
zpRoT+1MzeFar<@q9{VNxUi&%wKKn`LkbSp(r+u4!k^K+*6#GnjfBPtV2m1id!8+JW
z+MC%6+neIuZ)DF-L-8l}+IEk<8jk)dcHLIkF53#&ALH}?3q#NWThMmcrrWmLp4v9p
zuG_ZRuA!`4<^1nY+alW*+t0Qow%NADw$ZjJww|_uwpOSv&1fX9Z)?GsV`CbLKey$x
z6}4rv<*|8f>1`HlMhUCkCR@YSyVhsc%hvnW{npdg4c0x@xik|0YF)xCwob9mwvMz;
zuy(QbwsxeSxT&>`wFaHUWoRTWNGEZ6Yc{JBriEe&(?tA^+{Jy%Y0Cu?8M`bCEq_?X
zlh7E)d~X?Q=}dm3BTd9DE$zs2G_-ud#}by$EIH^Q&csJAd5;kN!;d+uziz%~K4-ql
zx&B4-R(gk5nKzji^KrWQSM!f31AR~l+MB;Kw=jQ=8c@ev3|%0nxqvyd`BSsUoZcKU
zna%G^D%q9CrdwoJPMiKB(Q*Ve;(%$HX{~9VX$c;V$#e@3GJQp_aCK8Hax%qD`AvmP
z8K9N;OoEA;*VMbz>(ukqV>FSAcuDp_lwFouo%$m+2L)w(YE)XI@V5|Xo2BZdzQA|#
zIegj*snV&!seGyQDIt|eM)0Y;f@J#$mhC+pE0>eU@vj_C?ja}iM{-{B=j6ELkmS&0
zcd|syND?(jj!M=|)=rg9E;bjWQ7CKjra23JIp(C@@&P`{--$x>2$!KpxH`Po29|9Q
zW>&%``5hwf%)~@Ggr{2uCgxcBBvx43LGEpmIA*DsxCVjdA4}H63yTQ%Rbc$+8X;Pe
zp2agj0nSKsQbE`@C9OxH1Mi|QXG^@Dbz!`>^{4n~>o9n)1JE>jqG@!DuZ54Z+ggKG
zrpobC*3xw4l!*Uh%^H7d{RBsdHy*U6Vliu!W~b-mV{Va+xe_aj)>qDU3{J^rTp?>?
zEo>`dy=>ECKf-<eiMFUkG)JvYbA;3&9a9PJYYA8-MM%he3a2D<>^1z?H}GF2o0p`F
zCFZuP(e(B=(IPZc6|-NDR<j?A*0vvrHpCUu4hC#@`yzCU$xxdIL>JQ`yxQI|x*iVf
zKDZ?NX}mgTuZ%0CBpt#fqmOWgsL-D+js$(<25FeLk;3!{SEgC3CJflRq+%L6_C`85
z)<nL8N76T~d23u`3SBu%Xyn>XPtJZ?y3WCWy-k1cGe^$Izwlorhe(r`4IYURPVanA
zEASIEj0f;Y&W5WxPtg9gC)^tM$2ZQEa9)>$`_LLZ92dyX&LQFDa9-DvirIv7ZZoqD
z4S5Gy!_!c+Z#c`7M=SwRyX60-RQNTCnIH~4hszcAxNPBUE*&EGd&u1PafIB4`+5n^
z$SHD=J4ni`rs3=l(lWo0ksKeI;TlZ?T942kS94q;O+p87iJXG-`j@K`$(b@ZL`vZh
z$sLNrDDk-CBxfSQPf5@eaX+LT_-3#Ue3H6MYxi!LBpZWW+#7I&EWiyinfIZI!3FS1
z7P|+*D<2qK<{l8-;r=GL-`zHN+TAF48D7cXZoCPwN<!{WgH{@W(|J6>+@2JP7#Zg4
zTU;LRaCyAJ<?)F3&1<v*-(+q>QojbH<RYw*<G4Nc!hYSv`|WaQ>r0K5yw84Y2;KyT
z<l}6iL3lenlLMX+#xc~6)1Kb&OS<9v{D$?5md115yWe;k85*3}An)ZSZ#Bd1t-!iR
z1tW(ypHadq8s)rpqb6yaue?w7Z@l+N)7+wu?+iZFllo7jY^F1dy&LpZ_)u5Fm0w5N
zW{-CU$0F19lXzB7ae1D(>Yc{?%(2Qu{T;s7u(y})WNqgYUt>LsuRhaI&*!V77x&fG
zOZi%`?$bf9?CYz4=^LsyXTI`{)I0kI={<dY^kKgCP)M5SGx*-0X~vn)b(i}3>nm9&
zTIpM+uk-yuW6qEIAzxShtgn%N-B(lphu`tm*Nmde)_RO}CA&Y1p27b{%i=$$<@c}B
ziu$K&CHw=mGX4%)d4EIgOMiK-p1-hG-=9}&?9Yz3*rWCE$5=~~)M5VD_>cc#jqRrT
z3yGWs{v&kh?7*MAiDb<hj!&1VXG!JUgco~@-kpEgf536(Yu4i4_z$V7{|uhz8)}q(
zo;W`%g@@TIxHX^f8S||s2t%~YLTfF*kVz|mAG?IGhgqSP!{_~luvo1vY*FhAXVn(M
zUA2wyT<t16Qo9TPssjXB9VDdJ#t3D!NkT1chEPnKFMLoJbN$7_NTwBQmL=5<LV9%z
z<da>jM;;LFqHtVS{-nF|7;}My&rQ-jk4X1C7Y^bf-w!KxukwMEk0k7-C-abE60ecI
zNikom0Z~^oi?#JU;?-~gv7NhsIM`QQoa-+q78a_C<Al$}okBG{?6pKys7HrR9WjGg
zpElrz^yV}ZOR|z&Mr_Mv2l{l{i+RQGXbbKkW)yqTiP2YlBJ>v*3By?{A1|KtOcx(&
zzwo=~iPd1f8c<6v;<w)pp<tQ31+V=!{P{Z|o$SGzzaP5EVR0bzl7Xah`jg1%LjtE4
z37lS#5qjh2AI9ZW(m0Fde^^_7Op50z{h<Gf8S(vpqx>sgWM-=Wie2=#;<u(Z;x6w8
z@jJgF{>udYA@R09EN-WR=eXY*2>ES+EP^u-^b3KO{!ap>ycq*m5?KRbJx8E|mMhRo
z%^z5&6v0nWBJdaag!yv$zz;G#!{isfCd<&AX(ZPO)RAl98K}wB3VcD<p(?qD^5h>%
zlZ7aVw;;RRA|S}E$cwZ}OYXddUivQ-i6>HX5;!f%inM||+bV$0fWM(};3&M=Kc#vw
zXX|iTlc@}4q8Pm>nPAh##k-J9-%1xmCmpTDpu~K|n)+Di3)|(sLQ;O<U#0Bwf3Jo8
zRm^RLLB6##biAOcIyb#Z9mUJSLh-b4LEMFhVUZvNMhSVyb(9Fy5Gn+U3e^G*p>|-W
zzgggtuYF*qyKA6Qs8?W(+B@)-(lf9ZzeHR4JNjR`kVg70a1~0%L5Q&Hncw+*I>gtp
zq>_f<@8~Ce0S&b@UXFZFSTf`55TJIrA<ViUsCw~%h<HCT;seRX<bwQx*Fh@6lw)c#
zEtpPBZ)Pwvoa>L_`^G~BnT%g#8h(+V`MGoW`E&U_AL*+LA%QG_L^~h<$giY<=8zJa
zNgvL1Zr9YnWWIMMKW82!+okwVHj=73%<sG@IY?GL5;Mtr>B9XrjfgQzt`F5BhnQUn
z3Uld~&8+&x4r+C=q&iqUsVot{RgQ|;l*gpl;-ttj2Ik5|0=?u4_(!S-^70t)%Jl+a
z5?gQhfBBIAr&qa8&hq&&JUNF+b{&$+2lnIB*+Uv^C-((}S8=m+3*zf4af8%eTr0`K
zTB(n)N_y;HC5>S!`d3RgeQPAmyIOL3)<{ns8>BOi&C)i{HmRn6mo!4yE&0(?I*9wE
z$>JgD5Amq9MLdaD=(Kc9JTILRFG^>`OVUa4n)Ii5N7^U;10VT`v{C$5S`8(3F@)Gz
zqApDkBhnBtE_D&j_%m#BMLLBu(J3qmZuuxqt!aWNcNNmfjfD(yWg(O77jnq^{kdeH
z|5N#xx1jvMRZ=dWEGthAR+LNY)n!4eA@@~l$quz1-l0bF1f_*sUuh+0QNETxpoCtM
zJIDvoayFxou917ltK~juE8oi-QG3=i8|4x5R(S$npMp<qrn~{|Wve_--iGgNr@R1#
zbpble@A98`)=u#g&T>t%eas>GJap&_@)_K3f5|uHYq-;{%g^Q8vLyc_2XV?p;7UhO
zZ{qSB*{tYH2=&&aWL4}+ex?jlLvbrDpip;GGAUh^|Bt7$fNmoFzkYmXGWOu^EY1&D
z+}+)sVnvHfaSFxV3dJezTA=vi?(Xgj<1_KRcRBy_o}6zdO{Qr{X)<%4dp|de(qGA{
zj8*c3KayWr33AB+kW21>T=E-}Nv*6@Q)|ID)da4<X3Ao<9bAGvlx1p9WurP+Ii?O#
zG!+yRZMafcAEP|g6O<%<wsKfoqD0kX?7LCvq3%-Zz*$&Ey`mIRUnqItKFp*d)u}QF
z1gBSBYA&!yisF{is;N{~6{RXXiq%w0sij6R9<?_1tA?qhirA)CYyAJopjKD&zyVnR
z`xL|cjj5#8!KD$HB~5W@skT=;!z<ZU?XC95Wso`om#OLmb(uO7&dC|zlq^s$t4ly8
zNm31UlPYL?)xWe<wW@YZ?V_crbG1|IUF{4gwrA9b`c-wJaa(<2JXg0G@6>X}XZ3~t
zuewQ>)QP%ZZKFH1{JH?rNH(xx3xG*dPP+(_$u+H&_C)Im0_`vmXJ>*(vL2k+<LK;r
zq?OWtYHf5C-1vxgR`-CYmPs#cl+ybdE%g&dZ@s=bQqN{h)&*aJzSp-zU*OxL=k$Hj
zzgU%xmcAWElYrBF<t%Q-(v10txnqoj-{TUJ%-_A;42rF1<Y3Dff3f+DB5Y>pDsEh-
zjZAEMWN-@Lc&o7S$@@2s$Lbpgp`Fb2jzTNWe(?WY&^9KZD=~@`c57<@)61IAw6%6I
z{j6)uPU{}i%6E-9=s(5e3MVrIU1OQDR1A_f-Ix~4D0B|*WWF&U7^l~ROLlY?|K;Vq
zIlLLXqBpNM%oOu}XG(a#FqOQ|m{Q*R%wNdzWc5B}GI;Ny#rPHzX8vI;JjPFE1@ncO
z%)CY`@gt@ya|vz4hnQBlrxBCPRA*)}6>)D_W&%?jS)O#vASOijVLsEHnAe!Mm@jmD
z<~!Yp`G)Rdi7tcBb2G1Kfq4Ko$^}}XkI^6LH2NKVl72xSMc(HCeTLqTTX)cVpvWZC
zvvEnFr{XdhTQoG#<LI&U2zn45OAny?(!J>(bQ`)Q-I#7jm#53pMWNSZrL)1kl8J^{
zg8o1$)GH`2&#2$jb?O~;g?ddLr*2bQsS{KRl}c@(4pHl%ysUseGZP=DK%W^;B~oLk
zNmLv)g6c!{qq<SusSZ?oC^7Y^I#f02FQupoR57SFg>lJB<$@BEk#bOOO7S?TU!LD^
zr+kFQ@*3`x2cEN@Yo6oKUQ#_rJUcwwJnKBmJPSMv;ZT|5ndO=4N$^beOoRFo50A<K
zPXkXoPi=TvszHA#=V|IG1ob7Ir?^MNMBKTczGU$HbPJxB?g+FN*?rvo5(>+G_ip!X
z_YU`U_j>mkcM^1%h3>uXS?;aw@$OabIQJZPNB0O25@OwT+@0K|-F4l$+@;){J117e
ziQ9BJ-G<BI{^0uUdgc1&y5f2Wz2%x~pX;P+o9nPE1&YfO*9K@T>s{kqb6ovg@laO=
zx|+ITpsh4<m2fqHwo<{xL1S^c3c7wedDm-a)Op4E-Fe#i&biBZ)0yHt?_B0Q;7ow7
z67O8>9N?S^Rb`5^zjLB97PrJWhdWz4dpcV>yE_{@J31>m>p2TTX~_dxXdY)Vs4Ur>
zj5CANhL1nNwD=eE+VKgB%R9#{a4*g|E;|l6jyu*mHaS)}Ry$@n<~ycAdl~H*2mNIv
z*crVX?V!E1c64wwg9=m5Q5C97LC`h?=q@(LPrG4%4E5!%{e}IU{U%hGi}nrn1NH^r
zb|l)@*~i&eL3def?+L#}4=6G1p~SSZkG0pa_p_IQPopFp9J%Z@?3BHTT}STar!Bqx
zrA@G(Kn|vv&9Y61%C=t7cecLK`(Vmm1ot(~mIQyw{^$nVWi%3hiH@=rvURuBwso~t
zf*w;6)RKHqWHN(g!a|X;q85B9AK^@SAH4}Z=6dv6^gJ9Z|M6(|!@aUMx*LSrt<k0M
zwoF9&XGAnEItUDv{?YEy0nyG#0yRgfr&{!wtwi(|95T;sxuS1v*`o^jd*DflaCSM8
z!~Pz9J-3n4ISZ%Fkw_<SW&7J#!HqNfPp9!>`%ttx_lvBz_d-8U>&S7WbuQa0q21{3
z$Qyg^$WP>%KrlhKaR_ZlUy<7R6wc>(j?~Vja8t*Da9j9;dN|gA44jCj=?P%RjtH-E
z^!zh>&`y2MQ2`#5qDbsy0!f%h3zI9XLZ|UNeurFO#b$8cM6dCckN};=1HXwAzNV04
zap<>WUPyL~5B+is4{45m&~#dbszak03}(qZXKwhRGK7vh9ibaeJ^0%BJ*YU}1)Z+v
z!Mv`^Na`F2c5tl?_CiW$h-(2zB@>a-8I1<-I52<u1rLKEd)-w7Jv?R6_MJQU+m#KJ
z5*A%No?u4!Mhdv!qi6VjpsxFTprd<VpbJ{VySaCvC2M<NjC)C7CVV8b-BSX|Naq|t
z)A%{0axS`SgAZFi@C5qH4|k4$?j`}ZCyE4)g!Iibe^t+Q^b(&y>Smum2D(dM&j$1p
zC;1aS3H}-2z%D`ZW{GF4e;d*_`@w=e=V=W8NCW>vPeuPDPi1H@CH<Nwx1XU{zW{Gt
zR?6<ri@xHLV8hm;-lK2lF&fx!`36(xkX$_Jn}|mCMbr*(U{}GPHxGR}6MgrQR(u2B
z-WMbnO{5qdbUmM&uH~aJnd$PrJn;V&qW|YBOBeE0#5AO{`<l}keeG$+*BPy6vGiA~
zAN|T2O<%EQLU&0*$4&}84;?yFtz+~cXe^yUCuwcHfzI+TT@+nxxhy}O)v_}JTJ3$H
zll*IzXP%l>m<P~TE}Na0R1mdxneot8CNoRSh0Ihlg^4p$p{1N=TACM`2Id9KEvB0J
zk||-nVv1wEAU8aenawc6m@cma-b%Zf!K)etz3+|E&`_#DKWXVr1Cf2Z(HHZdM{_i0
zx_6N=ANt8g?^tLjgN!3+vb*H%Xgu&X$9r`x!|;|z`(0(j&HfFIqzp8Yd`59LBXp9C
zMh!IM)nqxNG0VeKDj0pSb~2pJVoZd`bT+Q9!1~GtcuTjzYkC-sdPi7EKL=gq7LE&^
zvn7o$>=eUf)0sXtkLBUc`zUT%kmj;DvvIqr0^C-n2$$q7!g<-UTuZhlHv;+MVQej~
zE3(E_*@hg?w&1>byK%R?G1#vM$9j8n>F8cuHGe;DwK0O*smF6Q^aL&n@9kr49(Ni<
zlAR!utOJQ;76`6mwKLox?E)7I3Q2qI9oI<v#?^+`x4ahON@*-KknDU$ttk2r%b@71
zCiIGi&_UW^ZLAOfSRINrvk~Y69>rgPHgXPYZfCLfc0!#2-|<3pDK6*tf<UrE-2*M;
z7{3l{cPW?y>Lor+y@RiPhR1mWjpYYFUz7Qe9^}`1Ji>3*E!;!%V|hM{Fcck;%lTZw
z0c6OpVjdw^{+a(Dnj-(kwz}|%Zy>zp+XxT%_Cgvm=_~nI^a~Fb2tQ2d#f=xbc@u;-
z{^>#meW8#;TP18&Hwm%oHlZ$j+{M(RLRR&-AgZU~@4gH_H(VadEl^<Z!NdI$6xg@O
z$bS+pV9tO-a#)d(u{S_G34{LX6qC`Dxg1)^JcSacDnuNtWD~n6dBtW*VX>xC9RBye
z#Ue^oF`H5c<ktG=(`<>Z%~t5-Y>iINE+Ci0h;Kk|eJl?Z@5*CA7nur=`wa06$cpFW
z*&viG2B~Bv`gT@h)`MKK9@~w$e+y<O_T7U%o_+Yb1JFZ`fo5_F`(K1t{wloocf>u=
zJhovrL-R<+tdgH&UgP>3WHvryzQb=XK|@iIQP6SSgy-H5nu!nOld$+hj))@a(kd%%
zGD@MzU4=pSFOQzu45W%L6VW_bNl7*fdC27?Px-uLx{!x_6AF^TVqwxqEKWKhhtO3l
zg>6~V0ojBWVtM2cDv}IhRdNbC!4JMB>B!b58GQ}O2em2L2>ydxX#@5{doo1sL~6_3
z(81ah6qJ4-U&bM?F%mk*Sdcv?fWR>s=fDZ*(Md$6V+PqL&BnR-Y~)ntKuehOXS);U
z_S@0WvK8m>oBzxrTwjR$=aapdgP?mJ#hk+am+-ZBaDM+1kM|3Y>q6gbUU?ikYDbaj
zpqa?>P$H;9NP>S58OaYI*~Q*u2l|nJiXBNh(iZHC)}UUr0=uLY>4J&H48_D_CgZ+D
zY-eLT@6WU&^GOG=OgfR7pm8LS7&4ypCBxBF+!wTycDPoPj09<8G||QJ_&!rf7I7B2
z$uA%_W(m=Z<>a2a0=>EDP{wSMSE7G8nPisN;(1z6kU|1KWHWL)n?cCk0z&Q<Xa$?0
z5p2ful7c)>3bcz&WDO`LYq9?Z5Ky;Bt3l6Q2`ync^o1qRh~`6Anu*7oLNXxt(m;mZ
z0qv%q(w%%$+mVz|Bhs0xOqvSC2q)$sBama+E!qisVZ^thD*lU1NeGz|mV6O&k+(>r
zJQORC8)8kQSn88gVq<bxY)LkW9mpg+i#73Vz7%3f6`?<2_(3EWGngDR;z$m4Frk$=
zC?kVN2mAyTkhsZ@ZDwp)+~$-Ak`UCLu+$Gs)V@gM^oCN_lT<<?r>EQz<d8N<?zALt
zlxAd`-h`ZF8j|CDEpl9_Mv5UZ6DyV>^YFiPjaUp*5NVpcNXO(QJ;XeuHl`59j&#lq
zAp;pKq$gYXbmR;xkQ^?a)G%2POn8!@vg9KEI_hJBvXk7$U(FfW5>xS4br|iy2jy?*
zqWOZq!ndG_yc8E<=7YyN8&r{b=)PGDs>o9LGX65p;xF?Q<~a5{g1^YUNXcx)U*sCF
zg_hv2c_C&t6w67Nabg-$F&ELKbw}=jmafi7!?cHz)EbSxjYL7ICKgr7ifxdDNyMws
zJ*9xySj{VD)e49|^t@u(P;N1a$t!+k^NW|c9OB=6cCjm;No>z&5OaV>oy@V~ZWbVQ
zh7lufO3WId#G^)3NUsNlPMR*bHC6Zy>WHL%6-@QD@Lqi-oK&9*i_|B=81<eIuU-@u
zsHdP_pAal{zfeuvBlOd@3+=QNA)~fhxQRyhIqE{8CmP<XU<#=d1fs?Z0VN*EnBl@}
z@U@?VC-q#30e?FNuf!dNmq^dN0CVai5;UK{q57#*K!T=>5JF-mtP}#%J0DUxS%h?I
zI=regLVj4oi>g7svMTX))E{t&d<R+NE8HP3&;a}ht-v?=$zX=hR}Y}sZ8sGAjr=ww
zXtt<J@vb!soUI8^_y<F+?}3C&SN^Tq8m^F*{AaWZe}jAEC)^_@8sPj$&oEd;$gJf?
zS|$gdTg%87)hNCY(lbTS7F=Aj^CdJJUr{r;ig;(Os!4E+eB|nCAK=k^f;7#2q-id5
z?f%RKt^?R$owSq4!ye}PYdg82+D7<1S8$WH`P@ACJQrx=F!5ZnHh|lPZ0r#@M=oep
zIb?9*7Ab%(;auD|jc~s;hSM|`sy}_;nQ3SX{sG6xTewgk!;yNQtpMss1N|i17%Mid
z^+Rks{UG@7TiN0IN_L#Sn4N+Zo;hgrTc}TDSAaaS7A_KW1HxGn%O24?!(GyXy`tA=
zZ|ODJ2cV8T*GseS;CB5NEPGQ=2kHm|he^Pj9jZt^<2~}qPe9PW;;jPrNLAxBR-g7j
z{n+U31>$}mtY(b>Cx5yz1iirn;Ma}uu0nEV16mKa;fQS)e7wit=e=r_gkz*2+7a`@
zHIg1Z!ZeQXOeO<dBH3{iSQtlxf1Br+TIK<!zPW>GkG9}mSeYA%6}o9ysas;ULQ`-9
zv;>!Bc3?$sFS6c;(GGmbOwSxQy;#+Y(6>yDz71~P15?K6m>~TS486~$ftCUv{T=fQ
z*>M%0Yo>)f`A?d*zJkj7p3Z08ql;KKkT*XABI|Lwg|!(i2<zz%Ahh<z%HsfQ8a=^^
zLsq>lS`%txWwID(tb{&e`KWu=GwPLfiu!1+2a$CYC0n(rfED!6zRjKtzG|MrzJJ^m
zeU03We12DJpXKW2`=2|`7w;b9JMSLrqdoI|<vojieLU-Y6Fpmeb3JLkX`YL|sh%hJ
z{FiT%C+wT;A#k5(@+W(;`!{<2#u-ITeBQx7+0zSc6LJ1=o{|1|&t(5FG=FyUY(y)?
z9)Dw;mDKXw^_TU011o?E5YOKM#oZsB!4JV77#9jd4Jhs$><$M{xbFpSpey4sdNE$2
zfArp;b?0V*G^|4(LYweTcVDbej|+@;&que$e4IBW2O8s?siONR*0s+CSofm<)QG?d
z*XKY7*Vn*s=eGcD{~DMTQ3Jmsk$~6k4wiGI3$Ada4{mg13T|>_4c>JW3Kn)&4kkKl
z1+O{l232R1pv%=INYDk6!8Ham1Ki44!JOc=ieR<!IQQd`xk-<4xNZd9$lUmyuY=#5
zYVbYC4tH_hcorF(qgdzP1w!j~XKnPpf-nLvz+`v=#(>N^0KCjt<Qrm<wdsqjO)RD_
zvJWw!wYG6?2T|fks3OP`C7gFdMVt>noOp?z*?(~k`x|{bHna_AMALAI@F_>#a4PaO
zI~*OuOVBnv+c7RY3FpZZ95cfsK)LAc*bwgQ*conuyhdg8vi#+E70!mfmUIprnmM$v
z%MlL$wr7mIv=@#%vi}dhiBgf<AZh$Jm(cri)ZRRjYHtC`Mw`eMdknf^MuNUEBQngs
zJkl54F&&YxscFB6bj^)OMf=T29wci-^v%$Af5c(8Aytz;`rVcl>P4yOSzF!c9$Wk9
zR$I5|BHKtb<V=Z<MrZH<+p1_M+fI-}Qlm9&7osI?52A%_&p;G;0oKTyKb^z>b>*1o
zApRE3ihGJe`>19+jjo)-(H6EX(H^$7(SEjt&_br8fjB-o7Y)QKY+a+<ZLOjQZB3wF
zG=gqYK6=xZ7g|cD=uew18nvkr!Tu^z(0&b!k;9P|_?NV|uRt5lVzlARLKDt(Gz}+2
z5|A%iV2_I=*#}0Fp<=9sije}^N~*nn<SbfouEBBg#-0go6E_-h{9zt_&Y97MQxx2h
z(vI`t2H=h~!?WKCj+4HQP2pI_D!5MO;y084=Se&gQ9Z*cj_zo}X^1pUrSMh!Rv$R>
zB2AMe{Ker2hw$4DI|5KGe&e_Q6|R%lXt}wE{~2kadd~f5R$7VwJu|@_nHHMh92J`F
z>=|0^>;(1Vzp0J?g_T0*F#r6S@}W!45~15@#(9tV02av?rxT6Cj!?k)FWe_Df(2an
zK_@;FtOLhM7uULAAN<cB?;0Ll0($X!FjzObdZHz#eQ*yLB<Ea};W{ZEd<4hITQFGP
zL+N<$f@I)A87&%z1^3H9LHtD)ci#z=ai4<PaSVU0JK#1+3JgRm&Zs{#FEG|UHxTch
z1^3C6z%+M!V6J;~U_SoZH-SsC9bMw5-4)R-{&(P-I~QIRNZ^ax6_DM({Z7w!^pbz^
zQ=XT8;<*nO%6)%&&p-a$p8ZfncKAzsRv|5ugjV9IV3G`mBGT1A!qde+9PPuSkfIso
zX@S?P%4jA28?D57;Y!KsKZVz}3!V)AYjC36@dSKdJu3K1icj~v1e5hTxJ{RQg{VVl
zBHrn%5BEt|Y8l)pQ+y+-IJ6D-@GXP$WHq>~JE_WO8ZL`woYKD2aGsn6hvW?0CU?*_
z{D2BuFYx;Oj(To=z-#tn>b8|eU9^&@G^;0d%yLplnR-&JUG9z6G}n5|bR=7Gwnf&}
z@HDG3W~nXC8td+B6{cdW`&2WlBwfSmiT8?ec;83@yLAs3CCBi7a+&s-&+tC;jsAr9
zpf_fizH16#x8_DGP9X+48D<~cC~M4yP)C}8QPLLgZ{3+Gc#j)x4hE}a5S%A*Ojjr;
zUCfD4OeTO;GK;BT&Vy1i8?MUnOn%&-1#QFv94#I=T%7oR0izN9-8klXX<Q4vG<Nx(
z7-`lGqcx_mb;U?;9W_GcF5?IK>K>WPj0@%*<G4A_IAV@4uA6;~-)1+Xq}9=wWYsfn
zW2K~quY}?77cnjbvKhaknT-=J#(3p+81vkIeX`T98{vRnB^c6^0+yZ{_@U1Vyw>aa
z-|Kg+cluNFk>13-p?l1$x`iZ;U>*jSWS73wOxDv|GxTrPczuh1u--n>PtV})qt~E1
z=>6yhdO4<!eu=4~m-3d^$9c=>ySzp9JKlo&CvSG$_%oT%yW`b=dujcpH=<qlD%yU`
zSg)*Q^M2IEGoLgE{YpFQc&J_RJ=7MNx3ulXZLNxNNwXOzwD)?dc30o29n{xo3Hl<f
zg+5m+tWVY)`Y=%Mducb&ZJ4SxMYg7nmZVkE=76i8s1?`7Xn8d72ep=3X04u<6@A9(
zK;6%v<<dl4<24V`Hvtew{AxDsx0+Y`pcdDjsa4RnSO=M#X4*-$hjv6At?gHrX@}6p
zxL@6?9Z*xTR(47|t6s%EcR@9Ih54=BQbQn}*!52;K|5nrJ)ln4Ln>ng)b!?W^_K6m
zI@k41J;}UP<JjkFCGLfKkh>4s>{YcGvf}mOQ|W=D-(k2u4jN57{|471YB#<d^q(a-
z!Y!_U=6V>zxv9P$>|$3oY9M2nAH3Dk_S{7~#r~^4VYjI^ZkXDHtFLb1im6|@^lAq5
z?_}k@Xhjy)J6sNRI`=;{JJ(!IU=!8;-pA@^s-Gr@cj%|h=7C}O%{2oBce8o{J<27J
zh3^Lv?Ob?Nc0z|aC+tO^@oID#PlX=SAD)z!&|hjJ=U+m}CuYUj4ui9vs9Z{vu<ra;
zu7fkA=Fn3*;;bn~+$Q(MnN^&)3|xV^Xs?(Cy=4;4tj1!^ehhS$;m}uxf$%y6+R9Mq
zDx;vQ#KTLH058d6%wF&xA7cdN0=y#U#rw)X;#~C~F`Ir?bcX&B7qO?s!~6+xqL3!O
z7LJNUOchIrN5vZAAvj?6icQ7sVrwx4j+Yf;4{<IWFO$U)xJ<^iS-54sh^}N17v{nP
zGeaDY%R+G|_U|Dc#@AjDD~NZ+eBu+45nqXt@KwAksA7^}BV`4SB=MQaZZ1EGV~dk3
zOevC+Do5g?70FnuGU=;VBj42;1go~>jM9KCSDJv#+LHW)-f~rKOHLW>$TGSkJS-i_
zN}&@eA$B6uLHIl)b|*i?9>hy}feIQ+YJddV3OYqkGJp)ib`0qcR%kym1)onRgP~^(
z0cCUuw2e4u9D_g~?MIeF-&hH)V->Uybmfv{(gfSaBnjlu<+#2a*Oy`zlct#Fpp~}%
zqmRrX-N-C_-|6@s33yD<JTT+HD4mGgCu5%}WEpNr#x3hWFx?1+WfN{qA&banuur$*
z-ko^#J(vTS!}$CtzSD7hmo)5?Mi!70P-N2ZXlZziG(2t^{zb>hFw7wA+n1!0?&Jux
znnU=x_JfbQ7c|vfpq=g@rO7sumuw+C#uT@ZPvTbcRNPD+VIGT{$a8Tcc_XeTUojHK
z6xWdeCM2#UQEZ*~nJKb{aAY+R@O+4Pj(D;HT->F^ji1zpZBSea1!xKRE-u7lErhx<
zAG*n0vOt_enu#;W8({{C@QGw6JDofYC6JE#WO7oSK+>t>$Q~u0bW%nUP8k7O>Tt4J
z9!ADv217p?AP*wL<bGtd9E;mx$rQM8Cdx7RyaySC=?UenGZeU1m?oG;ay!ykZUv%A
z3lL74ky>ykRg>$(p;VXr4-Te6AhPC@E0H{MIg%4p)?9Ep<&jH5t0{up3t^iNYFcjG
zmIK!_V$$Pwf)PPpp-D05CM9GWDTzbd5^%#5lY`h==mplqGU${l2c@z+G?f3Qg8UH<
zn^)+id5U=~)|MZMb<l0oK)x+DhmO)3-8LPdqjbezZa27bdO%Bwg-SXEf7L_b92+gK
z6DOd{W(xk|XMs5KU)%UX5J#5c)gT!v>{?JqQa~Ho3EId$xtn+dx=JeMnA`^HY7;nm
zYU359iugqS8)TDG;ybwr++%q}9V{XPeKujRshxO5ViX6|(~yu!@u7WPMGN~+w6TBt
zGi9JG{|%?z-)Lno4?=5I<&jVmuWI#_8)$F;2XjtnryK(_`=HQKIUvL++l0Q#1~9dk
z3uBczNZU*kW-6mWbsZ+GP<q2%)Js?gjbuG2Bio^o96*2BVQ3`BluB^%RS?cA#f8hz
zNv<k?q1P-2bd}7|Q!+zG5ul+sp?rt=kP_f&^rdA|Kl1t2r+iV6MoJ-lQvr^~TIy-=
z!cTx5z90HY3aG5>`Qhqfev+EVPX}*&G2S6osr~u&NZD*tJ45+z36;MEQZ+TPI#7YX
zp_YP%QUEOTto&D%@c*h_48!YqKX7Oo=h77L&%bf$wNG3o?L8P@FS%UW3(Rxy(VugL
zpplf+Zh$~?4g`{;NZIV>T0t9Wqiu&?vYG3yt%X*y6e}5vxG~_a&(KD5bF|@qQZ`9o
zhHXX4W~bJgI{|LkIjstJSu4lg(~5FWwEWOZa&SL1NJpCIk6vPGcI0d$Y*-7hQE=a#
zptYvcKeO5OS8PuG1zQ4%o04$0)_`u(Lf^^u(33%LoyU#=V}6`I6?E4L&`!pK-Z}<u
z*dcJm#<1J;HlVaN1*NqCdrq&&-qZg=GAAGV2Hk(Zbr)8I9IT;-&=DB)`gIGo>>sdE
zfA{jBwG!j4H=FU;n*-^ae4w_Lgrm2zamZWE*oXAZYHurJ6<jCt;O?F79Sriw5MwMH
zzay}cHNZO&D_skadtPodhMv+8D_)hMrBw1BgxmO}QN(-6$OAnkz4tBLC-0HG`DK_)
z$oR^*K_KDLrkD+SN&&326*A8wg_8#7@*$=XR^eL0;oQbtg(S{wW}umXW6rTmBKUYo
zW;+~@wn0;4Q)WGmP5(PiJp!HOH2MS1LT5P-LGh9qrLX?cRo;TXcL&F}hv*;XQra@R
z&{5NiR>%a3u_k%E);X7Gt#)RyZn=tC#XO~~AD&uPIjXtUi0WZgqy}5rsgah08e>H~
z2^K?5vx-p*tcKK53$2&dG-|E2g4%4YrH)$*sMFSD>W<ZcdT-@Hzrq_&#5&?}`F41+
zVv6~8d8+zSJk@<mJq>)lJ*|8hJTbma?m@ny?jb(jo!}enPV@ya13U|Sn><Or)8M#X
z_8jmX_nd<^bIUgm{STu&?|n_dJ<RCw`tQ2a`A53*_|shZ{k0s${P%;U{8IyE{mwuI
z|5fze9P@YZ@A3CU$4x)50*0gICc(eoKi7ZAp9FruUjH35-n>KK&A({83HpD6Bwz<|
zfDPmdh=F{80_eIa6sQc2Yd!E=+Xq^sU${$P1ln$<2F9UbcqaO7<^;9{76kSL)`Q@>
zGjKg{EbuIFI`9@9IR6G-27-Za0Z%X-$QHB*a|AuXyx_N%!N-chl4uvM6Ko&s3~p=R
z;Hcn$;Mm}V;OyYy;M!mkxUIW`N5O2p8oU;K7<?3b6Z{nX6_kU%pd-Yf=_Y5WSg1^>
zLa0WlUZ_Q=0m!UvKxFM4>K_^q8V4@x#L%$NOk6gE=7GyPKeRivDs&>WKlA{7#4kcu
zLcc?=L+-E|$`)qOW0NghHJmeCJzN6p)f(Zh;g)C*jzMqmpzy5lu<$$(SeJ+Agx7$>
zx)B`KeP|Ir8@>^~kIOSKSU-fng#QiW3?uA}(75oCEMSpjL#s_Gv<X*_)Q&WYG>>$N
z#NZMe>5U%YF_9^tlPruZkF1I8K%dRA$N_W<ACFMcv`CWeCNz<ok#zP)kxcfNppX2H
zct9a>!bhRoSokXPMeo^4N3YnbpiQ`8^r)?AG}YEDx(!N3vTXoVjd<uK3&3Vw7mcx{
zKr`79t!Fz4F6%jXH2#Se0Gstw^d-_apQ9Qs3>YNYKp`n%D{d<VXGm>Z4e&-<+G1=S
zZG&vxY$L%VnGHtCLOfQIZ7zr>W1y1sfX|~*^rfw0^oOlb)U;)Z>b8tg3qN1T7KnVZ
z{fg|4eu@MlPtenI2mi+Fk;Rdh$lnx<4vDO>b&Hg<w~7q5SB@-0Tku|c7N|%pl%-Jk
zi(L*I_8;M}{bShUco@#=I2-;S=5NPAP++z}A6XyniWcC0j``tXj?v*+NaW0O#Dv#6
zT7`FmCUe+P9z>bE;TMkVXbSd(aZ(s^fG9#a^$-mvYkKF$P<Bv7ib5^>Pc<v$JPq2&
zUZ`p7LcKw?83)46ygzB2?x7T<aSk{uhAumch93OULDGl5LI*LO3b?GFq5M5UGt=c@
z5!VqUa1I1ZyVeA&x{|<XosaDtP<F;3l@o{Q9&F%h9<1VO7R-W{Cx@#{kVXQhFw!?&
zU1D&$%NIE4k^?tg-vaMlA3*_m0A1vtKwkGjxIZ=_eX}0vn|UCFj1G)<4~FBT8<IEe
z16$oK1ACFWNd<@X5;&}n!C(F9_6GcJClWXRH36$=0)FE!>UrR=;JN9qj`rUc&^vlT
z>lo#k=AR9%V}mEwzs1uXl#nj|eV*q26L5Ll^^`*MZ*DMFv-y8|s6Vt2f|N~W>W42Y
z_05-!dIYz}d0$Ox5BRDZeKF{s=}#^64MXqDcyLxHgT^!m&W<Fijc*Ipz_$;x7sRH+
zf2NWz4e6TmR1q*&v!RQI2XmG3ef~43pQnCUQR;)`p+8t|I6PRSYqHa)pj{ueN`b#x
z5&YFgNY}KZr(1pD_83f$0*5umT0ysm1Ec}EY3f1Ks0B^D9JKM$)?FlQ?$du+FX@cd
zFX-n{=;$Kz)+`A3M+xSM`9HWnYBI;n=IEyB!K9#vX1y7Uewq=`I1-?3ECPQu1)9cg
z==*z^w&s4Oj(PUKej27M-mm^b!X};h8x9bIi5fPq&!D{cCt$rGJJt<~dN1QW@Eq0>
z4xxW0#pn+AM<4GJ@KhHX!$CtIiS>suNX|^bd+1_s4Av*Q8e6>`kgjQfG)-;e44fd>
z{!9tu9%$;1(NFUU@70Reg*1(h_wk=P%YN2H43FfDh}29r^wZ>EuYt&ZNzV^Tdnu%5
zsv<Gd5bG)}vA)s?X_?;aM0C}R*N3w4`fwaejAV!D@oYaFPjo_>w>{QlTI<W%hWa|T
zww}UPLWfOB{TTXcF0fg#jw9%gSXO_=+Vzh(X8FnnG@1RSMcMC~8)UU~SQpB{-O-A0
zchOmM1^ke6I1W0i)#cK_3E8K0<~C}BFhk%98HpLotwKt9DI6oSvF<cSOXB8YrX$rn
zO4|$8$Vsq9&Vkc<8IF+~;IuwM`uQnW4aaR|aST@y-8Ff%0NAVy93z==j8}mFq5coY
zew9J(uZ84HBODL5;jgM4&}Y*PDnl>+F#2nbfK;~|PLj>)M5JaC`0eT>Q0yk*w#k^O
zxSojP%1LMd7?15xY<pv!t~uN#<#EiJ9;t4XTc}>;64VXQ9_Db})a6`L^(0qQ{lZmN
zJ$zXtyNj!Zaco<j&w-yI1J?F<toM1)FyKTFj$ir38#oUBjU@ZON^Yz}787KpJcxb`
zLGWvj=>ip^Csc?b=m8!NC&&z8lQIw8H}i4ay--NO^>xZ3v@9$VmZ1+AZIVdDZ^ZHX
zHen=M7UIwg+#AgcUC_eN8OQmpk+yG)q)iia+|*Yz9REjf9^e)$DZB_5xL6TxlB#f%
zG=i$pMJXtbQ2r8UL)loT6crCc<+y{}g4o8YMZ^VK9?|PhFJAI`MU(RjNBOrxZsCm3
zN0=@w1<)>4@Nrj!IQoGw)OacA>Sv*ps-f8@gfj(RT&ZLc=i@s~Q%Z<&N(HeU{3;cd
zX3$bPi2=0ZyhF3+9eFgoC*yG@G!d)XQ*dT91uVx2Se=fCk7Ss*MvfJi!`re<E`il+
zQ%I3F3VUR?@Q-Y959QO|-*O+PR}rm}N_)M7Qd3J*F01F2b!foc14gc<rf9RZ%f?In
zS?~@x)VG+-bTvNW9xar{%JUAro0zID!@u}AR<!SnZsc^(5{mER#MvxQ>d9Ggc9{=u
zfTHM0DNR5lfk&h|GBCB!uv!bghuZKq)P(P&D*PXn$R^}N)*%bC9(j?q;EAr6qT&YW
z6PObJATzND8H#4&5y=uxOACdIl2^DcP2lfKH2+w7$32%K+$$*`|6a<(f00tTU(y%W
zkj{96(oZHN_4n%1Irf|6<DN-3`CC#e;exb7NRvJb2c)dXWHb;rN+ZQ&X@j^}x+=~F
z&vYvCEaQ-G8G)Z`Fxp^a(Z<sgS(t8UGwuYhOMCcS+Q5_25+0T2(n8V{nUtpRX*7mk
zqmi@@vjMZ|&oq`ck|y}PDW;jU9{aCDTkaat8kv^1@O5;M7J-urRRtW>7_d_NNWDpa
zWJ`wNc^D;q6(>k@#c9${VUBcwUnCu5mPy&oB&m<ON~)`@mQKiPq&Rt<R6|}563jX&
zyPOOv%rdDc*c~-M4(SRCNP;|3IxfdcL>VO=SB6RXwK(arHBf59^v847SDGU9k;;m_
zr1fCAz81SnPW&u6FvT!sNe^UNV!)d1iRYm=vOB${4wz2(IXfbo(;h!-D?CSyk;$oz
zOiooY8ecOO*_#Q-{!BtPXsQ$t6Q#G}9OP8y;yGS`49X&@7M|;fuuR%6BuNE@l~QAV
zr8JdYB@K12l$M*TC7e4-dDXSj6lI;17ZjS0GN`-qR%wO2LmDUVmimJC+fF_xHIxrY
z)xZF*Ag4*C<Wo`!`GQnfz62u9bzHv#j_`e{to%@_1QJel5O8Y9@1(l&N2#&=N$Mnj
zlLla>$-ksEvMTMBH9Vg_kXFJNyL>^Wkuc%ptKjZjmop%Lk_E|=tnxuQCvq&gK}ODx
zWXfOi8o7wPN-iufl?#EITo{R#LSQNvmq&v2GZ<8#Sdf!@g7ni}t}l0%o5}6vwsLE^
zliVD)G($F~l{{Q-2i{3%c@buV+yN<=j`;2!<)=u{{K8&gkcDU^1__qFa(ZQuoJAQT
zXIF+|Mq<X|^NC<Y&yc;!0@<mo!2avy0DeXbi5X2kEUU=U{6=C%k<Vd!8K2*leezu-
zWS+=2<r(-YA7oznBoj;q<trW&9bU>$xwxXpl@!0+KnciAm9X4KiO8L>coVC5m0{@k
zO+aF18PYO4lmckrEvj5pN}>C=6dHERD4J4D$*k5!ex-pjL~W?-QJX8Q)<)T<wO1l~
zccrbroAQn7r|90H%6E2%(uNzNOy-6v3%Sus5@sJaNx93-R#a}Dl7(Nc6yaAXW%vzB
zaekAMgWsk2xg*MDE>)Suom2{N7nMcqWhKRXTe(F)R9ZM6Do1>el>5drWxoDJd9Hm?
zdT5H0UPJq@8dXjrOS4s_)TOGR&QWuybCI2y0ao~Qq;ICFrPM@ZXXdK)(dXL=eZH;K
z6t#`IQ*EanM0Vy1+JB#@LsUr}ucp@$|8U8NgH3)=o1?n)<xurks%?yQ>M3ixYNz(9
zAH9dw_iU=#j7wFgap%<~pl>B{_tXX4TXh`wMeWD^R$BugQk4s-c|kLAbDZ{wO|PwF
z^J*p7Qrd8DdF?J;OUvSDp_TM?)?&>5+HoUJ8(@skni!L{wnm~BZ_Lro8Y{JO=2q>Y
zxksC4rD;Qb=e1Y<+gkp}BdxOMm1fW%w7<MRwNqY6BWzHs0{=-{mevR2IAsjTB@@_u
zn9}-aXee>$;_J<}(R<(+r#l;i-o9A96^?sa<2a}eJ4-K*W2B<&dOa_@RnH3VNk$w$
zx!^tVc`xb;xc1+@&%m>Pq2Kp@)&KFT`XR5T@AX>X-aC<w&V=K*+{Q3(2^{BDHyR=J
zT*=!W+D9K~AHzT$nE(pwG{fVa2i;>CbdMFrJ0{t9!K^i&G3$(%%zEQ3v%&bt>@!|5
zX~t9LobiOYZ(L_y8~-qGj0?<X<18Z?Cz-Hui1FfBl*6%TMr`wfPLdD)lOotwGL!%G
z1T=wzxf!OrITihi@#t9`$;4xwE)gm6Ic8T(7bY3H$!4<_j(cl>YElfENkQhCnT@$=
zX2P*C!+gLxpafq^$oxQitfzEl>k3@dXW^zkjN|IvIKJLa*T->pTR5=$SYyzGFp?et
zSN3f9O_o^A(E!|p-fmSzpJZwJG7|GIED>Fkc3MRfaKuunbm*YW;(JNu#W_H6-*v2e
z-k_@cPNI+D0229IFq_f-y8^QuPVq&5CJsF~3BECZW~r|)_1~<9+k6K)aQ1>;c*<9i
zy5lQAeeel5Pob#aJ{t%De)L5A_Hh39o-CjUWc5FQC*>{%G!v}f7J$RO4AyjO!l%;4
zKM$_=cuzc>@#El2N%XhGxl%RHZhs-qA@q2r`tzX6^S@5djGo7S7M&IWcf|k8EuaG<
z3)Y<T!gXIVaLZjYaK_ybZj@%ABJ>GtcK5@K3ar98+;q?r#(<(Q(489SinZ?c?kia9
zei10=eiJC={)TmMC6L{%1+usU0nr@{aPCNec4rJKuIxw%<Uyxtx!@gFwcr(3)8H|j
zPo}y$q3<IGYwi7mt6cFQK1>DqVMTDDYct5NM}kd3e68VnhI7sD!OSi{LQ5gIRw%6F
zXA1p7&&W3rCZ2)vdf(YJbjH~ZNrqmby&!0=agK)@WpZc*+$K|;NpPg>0O55f=2WPI
z^Ah|7w?p+owy5m<6e<Z)X9?%8PyweD%I^%qd*BUwoMPDSOc##Aff528!{;ax{sG$O
zd(d9*fdHC@bNAhjc{p!R4zI@feWK%Ac$6bwWPoFOB-Sw`+THQX*2U4@-rO<O-oUZW
zUf;3XULN$(ypH{#k?uvNCfWY4J>LEV$(XzLsO_%3o$Zo+SM;!bUvz^#7+q^GXG^wI
zww3lJ(WUk_(FA+j=m7hMXm9&!TPILbJKA%DbD9@?lMMF%*=c-c+GzU+a82IXe%T({
z-k_uRy6uSVlx-h6d-vknI#5^F*fyb?W`S+ipH|;_pt2^|CfKIfM%l)p_jjPJ6^JMG
zKyWQ*D{sq#e&GMIHUH@=dQ=DT^>_3KRF~(`$I+`u*Bpx;z-3o7Il2t(!wJ#E=#=P4
z<Z1>-W1|C+t?3@^fR>&1(RLu9R7d+x$!O7NzG$9krf9~f7yZWes4My-qC{SUfpQ-V
zlq+DM977lK4s;@~MTgHC+_NNNfPqpl+CQ==+Ah+@Rx`5NRxz@`RxDD)mM5|-nmsZ&
z%16#e=}4MQ3D>m03n$p`hu7Qhg;&{6gr|YFo5#K;{3<##d^0j4JRs6NTp`jioG(%*
z?1_{Ne-0N5-^3gV7YMHki|Br)!#y$W!og6Dun{U9eh+=^UWf|c53%7Z*q+7qWGHiZ
zZzy|sH@c)ZVxPsKs^NK|zTt$>m2hI{Wn@&SxxH_whNDMlgQIQesiRhica{PTwm@hU
z98(*e;oueLuizW!o8S-U<KTDa-QYXtKX6oS3mVRO@TQCkmO-)xbe>>;SM}gbS7~(O
z6c28N-m=q`0bZ0y;GruNcnrPeqw5P?V2=V$xXD=eCH&nT36w<2ro4M+pqhJYpq6_B
z`fwH@c{4lE9UVCRL2Mo79s&<a7kE#a1XjayvejJz)RUZnD{d|TW)WTk{QeJa%m3N^
z)$eyd_w%01AfBA`R{`auK3+qbd$##|cv9donGYY__&;fzm7c!-U3lHu=ZWzjf!E|J
zbeJ2S+Wu#l7f9Ruh87d{2!5Wj`E!EET7c5gi2m7EgL;G4z30Bpn7-6o-$2k@<3M#C
zMM=<M6yI!$^UtO#`R7t|{fnq_ft6GwxS5J|Y^C104pBSY`zX${hid8BNzL}`r4D&^
zQBSdzJv)##OrbJSTc~UxMP;ToQ8sEjb>6d$>g_p7y>wruhPq!-6Wki*b35t9p3Jn9
zDol5vs?l?)7NAiLpl?yL=(p5X`Z=|qzC#_OFH)yLvbs)RqMp(>sE_nh%11w@T+A7Y
zVdhbp7?#S-q`FHn`y<tv%l;<JY+pC#mo<`E4$4+zYcb=sw&DF~AKsr1BBgVVSq3`S
z9P=jL*WNHa%<otqP(eEhGgVC5TgJ@jEotWUmM}|tE0|@yb<LXIzGhW#qFLK}z^vhY
zYButwvs!zHTiv}CeLcN71HHW$?Zdn?JQKYdHQ&33-ryz7W^YSoyLU9R+q;lC>RruT
z^sZ$dppWjOcRpj_b{pH0akKdthW$n7VAs&aSr=WMz3FMpzHqi@nQ&)zL?D*61qQNW
zFpj+)9nS7`k7I9BQ`wvJWHyGG#hwN!p7yR~Yk(R*(z}j5<lV=<^B!W|>=8CUo66Q@
z&$6-XEp{^dfL+8sV%M=x*&XZ~b`Sf3-Oql*9x{6cFEGzp!hK}3azEHS+!r=4_l7ON
zJzxuS=h+fmDqEFX%hu**v(34|Y)h^K+m@@xcHzpf12~!;!JYJu<m!8;b0e4qoJl2f
zrQK_}>b4Z_Lufa5B6Nz&8NI-zI<Imup8MQs>M_@me#A|qUt<fO1&z)ZTH#V@i`&G6
zxv^e`r&x~f!Ls~vR^X4aS@{cWHvT@FpMTF5=KX95J~vmMZ;r;q(Od(571xkI!8PX}
zaxKxG*cy$AZFn!=iO<S+<4f`b`3n4CzBWIEZ-i;f59j;v@q8R+1V4(O%8%pc@e}zK
z{A4~E*LUNVW0=c)0)HR3J>f_5FZe<H2Yi*x_uzee3*I4A;VB_EPXvn3EjalCf{QO9
zWaLW;dHJ$JF}{NEKlDjf<QogMG0pkb=%s8c%;DP!oB7V@r;HIE@;!ui$o>4wcR}}L
zJAn~e3fY8aLJ6UsP+6!T)E52{8VDJMHiE);68_-_3cdL;!cK0Ikc~|g22(SIzw9#w
z#yLkgLC+AzvvY-1Zn4mUUnXqflaMxAA%yr<LLMO*-ImEhZ>T9V!NJ%p%!0ZyRk$yV
z65a|ug<nD=L51QHKv!m1n8#D%FHR5>*c{>(cVRKBSyWu7l@X7se~a}o9<`kKS}8AH
zg4S{b+pS7Paj8;M9HZ2Or=$rKpO#R8I*7%UZel(q2K<OVVn$`4$SVV|qC5=S(IQbM
zi|Li=;7806^D9fmV#;ddjn<1zl^tRaWw$t1Nrm%24Lzg(hzphLxc*Qar92S_D6hm`
zU``BFJ|eU99p76LpDMq_OsXWdR~0cug=7giHd*tDdG)YZ9dl2Mip4PNRrpL)2l=45
z$U4PCx+`8%2$`UW>?LoY!<?4|vI{Hwi{&h2tel<n!is-$3<$JHWaP){em?Zq<|75<
zzmU=>LNdw4(AHZLT$BG19>bxx)eH9kh4Fxs;s7Tl0!_excJm9mz(?o;&!GX_1?S`{
zw1I!13!Id?ki$|}<axRw+Y*DEPfz4o{$q&@Aj{BLya2hOIp~L(iS2aERA~@69&ylI
z;z&GZ4DK5Rtz`tZ|IILb%`hZNhM`wxC}zn2O&lI?2=0r+zC)y8xPK%W4h>}_`esH$
zr-=s>WE^^D#v_|FQJRR>;K^hfbe5UYG%^pf7@4Bw$kMFD{mIyW4Ze1*Gy>aUXcZoU
z+Xj<W_#V((z!vF-X^Z_E<KIw+EP<A_5YNM0Xdbg9^us{knjw|J_2T%q6(sYeJh(qQ
zSp>GrLMa3O&FSzx(_{aPn5>xW`24@gj1lm;9V0;}c@7Qg9A=w1Q<^Q#0<UAHR2Xw!
zm?1Hk!`w_M);m+$NX?Med!|Wes3}q<W}?)~J6>wbj+07r=ncXw<Htzpgwf!KjF4^%
zL#1@$P^poK=Smy|j>sTrYJ;RD=p9;&nUC9N;Qomq_>RO35JyNcAo_O3v<2O_u{c($
zD#lB>LHzwCjF*yxDUw~7E=9RHQWbWdRGeNQO>{1ntZ<TaJ+M|P=-VtkGj>Zg^utnH
zElo1ia}o%h(hu#16ldO+?2dbq-TOcav-hPt+(W50biC#KBk3;xKvJRW1^K(uFaEZ4
z8+zR?{-(4LGl9P&_2BPG>G_9JL+-KkoOvcC2A@fB`b+7I`c_JhxukrQmSTD<Xx~=8
zNIJ;K7clGP@6v4fUuZ|arLoX?;$;K6m?bR%O?jIfk}jfm>bo3~3Mvjc9urZVazu5?
zR}5M{?P29^94FuAd3iV(DOUvoEj67ii0R-g$sjXgc3Bbf%lCz1@?N2goCp$aTcMKd
z6>7*!`C9TcuD-mIZYGOnYx#xRUVg81kw+-K<jPQTvO&RNlu1xwrbCgL4R*;ws5DEV
z+N_3Bvl={;^_Y!NY&PNk6sSNTRV#btipqYuow83JtL%|CWBWuoB&Syo$pb*N4yniG
zlKLsxXPuI>)0gB!>{a;!cUvycKa>aZkL3ycGkFC6Qf|q=ks1DjoXGtvFJXVneHlw0
zX7|gzESuss97;s<D5JFWN=7Y{a$n7%Y*6zm@oGV(uUbm!qW%pQ%HPU-wUY8!t)_I;
z>MG^*2Ff?1rSdk=R(V2oRdTXjm3~}Th2i@sefT(K9X|?O*@?<4%y)jKBJ+zBgHM9G
zpQMEN^@<&;y$kBS4SmRd{xF;`sfxy*#=cjT58%?i;U6du`4`~OzQ*IcRrc~<(5m)L
z8IKi$PJ9IF5T)9&g7A#Xr0(K!sgt=vP*zH*xv<jkj;*dHvdz>iY!~%{H%2|{9iZl5
z$EoYtnJTiqYCA4ToxvrmYq%}yZf+M=D0ZvopxE32GyM^lral29{S|jkeazj&+*0pz
zch!Hmmuf2aN?pr+hLWSGoxr6n3nho=EcF)~R$s9;?LJFsw^&9y$!5`ZL(y5s7SR@i
z{Jxs4jL++67ucrSE4B?BE$uWX^1d12mdTD}QFg5IWaE;wEa>YIxm2)b&muW=4cqJ3
z?>U&WU-31+G>P?Tzo6!P!3xt;){FcyL3$_``ik>nHL5sPrYd8Vsy-4!?cjdttdC{8
zAT88i?}|?2Hdx(i1TJkYb}3Yy<$5_dVoI=w;et7%7huopx!4;z$G(EH^FjA}f5NRB
z(yw{bqnEgZu?DH3`Cz3?hH}#fDWQf?YchEc8_$_1##A^}axx{&yL2=22HnYY;;6F?
zRsxqJ33P(VX+C3E^CROjHAXR1=9ghGpNt^$!myy;*svOC^FI4C|K0wBk&R#2=RIQ?
zAFz1%0Iul&<|6XsXOJsDftAI>aKY@t<L_i@L)~cvb*H7d1*?!LOgFe;;=un)fU=W}
zv{4EeE+^s0z6@38F5KB~py&k5(u`>3X9`$3n35LF)U*P06Rd!?u^!QVt@HE{>i|6x
ziJ=kJ954!p(KDgkOtYHNi>ylYa<nq6uy}g46`)pGUobb}ZaGQquntnYtX<Sz%pNO+
zIttgzWosp78Jy`$s7KZuxL&4EiZvbz&p5PbPNIl!I+Y#Ua%e2B<6DT%o<(TjTuP0{
zEXOMGG2C{?w-`#z40QC&q8j=qQWN~+sAPXUwaGse+y2yae=lmFzctmxUzci${+?R?
znp7Eo3H15oq-y$Es)64@)dvr<HqMml`d@jPLfL8OKkMm%v#D7BA#fx&dPezI;%sZF
zXM%qYI0uPn86DzT0p{dds66ZZ%{)8NN}A>`26ZPp5=a6#2`<lDzk>9@SGVfF?)C(B
zLE)L}E)eMBE))10oCV9(C2-6&DA3oH5TIOZ18L6Pfw9ixfr`#6f$xqdfn>*vK%7Gk
zTz9B}5l$QOKki_Rix19o<v=PTYw(aOe{dJL4=FfHT@E#8zN>9;GSU;{!0a3fPQ(yb
zVlWO)f>^i;I=Bu8E1&^3GnAVs)S7olavXJ*2+wg=jrMnraa3>?bw(V+oaY^DodX<)
zoG<K$oMGE3=fmg)=f&t{XDj;|=S;^5C+FM@!t7FKSLaw~4`*jEQW}AXlGoYJDLI-t
zmpbY>@7XFj7ln&B%Z9T$bB8lJ2^5^1;F)F*YmVGtW)#8{3_o*}3ExHg?KMZO@Nq|L
z@KF1KjXF6z63&c4=zHnr*d1=|NDVg!N3|Ass+GZ2E#`O&UdO-46S*Qmdp@-9){Wdj
za^{%5V{|8ovkUBN(N2?MUt`;CFB@HB{~lRse;S#OUf;>~H|X<y9T|w*I@{GqYkM@(
zz@9r=%HA}Z+b%_U`yN}+cF$&_CHSlDzU{T`96E!~qC5BqF6*J(tVXBsY+E9lbVk_*
zpk=t1tp_|VZQ*pOZmVjmY%2mbZ6VuVprK^8xp4Uv{RM~2%jlEnQ&3ROMR(%zUzbl(
zbOm&p>3>w34$x;B;!+NmT+!UnWim&dQ8&1>(MTu~iO3Nhj+b|l7nqxoN0B3ubCE-s
z&A7G*AE!oEMn*;!z!5Y((mpae(k3z-y+z$3HPBsDHPR|l0j{AU_?Q{ZM(&6ZF~Z@n
z6xPEp!mq>k!Vkiy|1?1#3hxT<3~vsnz@4-jEzt|YV{nNL_r;|Td`vC=bV*l*zo`^1
zIng)mfkK05MMw%Mq35BOp^Kr*p?zqq-V@pzN<xoyLTGAecxY%S4lb&mp>Cm;p~mo6
z)qvZoaOkg4wosNo{wsIL8B+c<X}=5J3ci9%>rU_#+*+x@wBU~57IbfKLJRjA^l&c?
z&I(Qpj=*JLuxqd#{9f&XwSzT+#c|1qK5riF-jRSa_$#2pFZMC;7!BYT&;x!TkQUgE
zkIUgKn-y3Zm>igkHt~spKJcHl2y{oUc#}Z!K-ECbK#4#Ow2iyrTZ{O)fZ=xp-onrJ
z#{UB?InVs3{MXP`ei`lMr~PZ-e_IV7+zkJGG@g%xA8ri1ak2hp{?`85{)YZ4{+j-Z
z{%Za*{tEs={$l>j{_N;QC;p%>;xm1I-#6b+-%H<H-&NmjUz+cnZ>R5|Z<%kMZ>evs
zZx%jI^3CxL@{RFz^7Zv~^!4$z^~LyV`&#(Q`s(<K`6~H}`YQSg_)7Wm_=@;)`11RB
zUpikH@Ez0{SZ}S@)+;pJytbZL53L*473-vR-a3rSCTpv;$XaDhwU(ksex^0RO0arc
zqtG%x#%gEvv+81MqiepV)d@ZH&8)wy2573UWTi(hJ#Q7WoESTrbV6nk^ymC#nPwL2
ztLd~JnZL|`%unVC^RBtWylSSHhs;IhI&+G-*c@xlFh`j2=3sLqCJxiz9B6hkdz+2S
zmS$bEDY|khnMKi-Qve-0xy?dmCVWh9=0Imoded&wre^q!AI2}^J1)<SC&o?VvT@o-
zH4Yg&jBUnhV~erUNHS&{%ZwSu0%NK%-$*bf8zYTjMqf1KbTv8~t&B!SEu$)$a;g{=
zF_nxGMoA-wk;lkx<TZ$q#c&v2!$336S6$LS=s*6<JN=9POn<4r!pB$oZOl3J=^WO-
z>$`OY-NF%lxt`8gqGvT`>KTl9NV9$Ml^xNugDxGt2KK6^uhuK-bM^B2NWFyKUeBr5
z)idiQbxzNtd(ltq(L-8L)3lKG8wR?Unyx(q?d=+FIR*0DG0o6+fe@F1?Izs6QKR+c
zu<OhP4Q>|tixahKm~NQq`V?)uK3=<_57&O^gEfNnuR2D5ZL-l_yJWQ2(wQx^x@IG-
znpsn`o7J@QMj36HQB+%Cpb@~xp%pbVXz49MtLb-Z_3d_TH04v<pp!U@_lG*k`xQrn
z&(-woU3Cn5U46)&QVZg!uM@XV9m8!^6S-CDOdKH&=H{VEXOX&tov-%sCaN*+De4Mq
zyjsQ>qqftBA?4FgovC$3I;f2rQJbhYK;GM?Rs~_Nf;w0&t;S$|v7?#=!>HZB_v@+t
zREB~AI8ME*EQ0G|hk8bNs2)^kZ3m8~H!07wB;}^QP^o9lSFSo{D+QU!%1ZAf<)=4Z
zIqMy%RPl~cRx=}&9?U4^H8Way<Q=b^V<#v>xCzP|ZlaQxpP)44$KuF)q%xBqrX1l1
z!Amn($t(0zS_!dejOeW_fahhK&<51m<{-^B18KGiyzfone`yX+d~4+g?vt=Jg_cP4
zw1;=T3kWMc{%^V~b|@nucxQrm93R>z{6Z^)6q{gM3Hukqei`7ow=1mp8)r(d<=o;!
z`10?`CB@rvS+s^$0V$<Eh$+qB;cq3LlH0+_(iPtRZg8{2fYHzg>7ZEL)(<Y1K5&<G
z6F<Q3ACw!5xj}HLr<4>YD4E5Zpm??hIi{&rUr007@^2iyxu@Rq%o1*nqcER2P>rAA
z|Hbu;6yZKlm%VjaAAO2*(Np<bFreo4_7q%fn$VSH#NupIG2S~>EW>OOyHe-HEbb@b
zNyld~)uxG)qY<%dlqSV(A{k`QL<%|bkiqu9$dzz0vdv$Hd^RhRaYkk0HmZ=(Mh#Nb
zs!8St>ynMmhJ<(;kvMl_(#X-2h>>Pw7^a}RB`M`?M)q)x$#=dHStisYrcj4e6l;<G
zXpmhdRwKv7isYqO7WtIoBm>DqiV%W~iw&8a-(oxRLhME^i?QU0I2go^p=7=|l8hC{
zknUnUsV+_+nZ(KDgD{nB7N(IlNTg^;q%7uVkZRa+7?Yb$9&m}IKc+jINPf_XB;rUU
z;UMk{O(U1x)5u=$G;#&|-R7r}-gunL7$Qz1tuV7OX_)sICz3$9k@+cyX@Cq+dt`Qc
zf}S#%j0G)aG?_$3ATKl&8Ki+o_{1Xh(-Ya6?#S45Cu>O$OiyHP`eORywn4}aL3_d1
zB!kql3XiuE38v-91ua1mXFm3tiA2#<B#Fi$^)nplp8-e`^+b}WBa%VQkP@na#83%x
z63^Nx@=H8Lj$!&>B;h2OxF^U_{y2f|N}6+rNnZ9KIZN*&7ae;@mB22N)3<|M^KBu^
zBb&%fdM&ZoWHO0QB6WnN<gl=q_=QEJq__b5ocUxL5<lC-+4w!oB(KFp{9Y1~4obxH
zk%+|5bmX(9VWt!I&o%+qrxNDROeP*YM|M0%LHw>vaV&n$(d4r@0>AO$<bgPhTo;Fs
zv-sT}7YE^Y+@Bo8@A{zFi|i9)$bRI%4vSsMNfCM*{x94V!5Rj+<rR8~--}I<ZfXby
zPHplp{uligD-#8b9~D#;9YhsH{0qsa0+>9wFE^3JEZ8p-@?;svH!&UgfIi}vm`AvN
z8*>@7m^93O(L>f_7NDnioahFP#RWo)jpP7PMim0$Wg#do7c8+2vTv;LOT5DW3-0t!
zaUB0$9Layf_M<ojGY6B*zeOJJjrf{>j(s19e+#$77Q!X5t8iZIDVz~IBcs<yNEIug
z$2cE`6Tq?MQ^YiWtr*KEi*LA<qK{o6j`S`Q^V9RiSME9DdG{>w5S1vNV5W&B*vVo+
zZjAVV8!C3-2a6Z^{$eJfuh>rLB_<00kE64Ia^md5aK@9-#oa0Hve*KPJEhR#(&EtK
z?ruekySux)yGwC**>TB4{`c?U+%uUZn-!ADH*fBJo)*d)xv6qoZmiswt1EB8#5Uy;
zN=(kHP)a6+QxtHqA=kh)3~nKmAE*y<OnxCp<omKCUzJnjv+{fSocvZkFF%t{$+uCL
zP$%Rg@=p1%yawC(@;-Sq_PWSB<VNx~xdbXf-UvR{I(eV8TJDboJDs#pUM9|y-wM;^
z6Z|y!Y;c<V2R&NO>i3sdIo;)4c00Mf)l3eXwdLDpb@{AWQNCc7lTVw4<y~eDd8V04
z?q-s5L(`P1nct=A<~!+E^My3Pyd`Zj&r5Ohm^9tmE-kRvOBdaLq?Yk%(jj)N#DscD
z+4wfnCBCs#R{&#JC?FAHf>cYi#9`t~ajke$JSQF%ABda858_1etJp;RCW@jit`k%-
zgJ6qIc~7hnvc(kchq#>mCca`mi6z)~Vg>H0*eQ5dY!f;oX61K_TlfW{BJ>wK2~EYt
zLN@V=@Bwb%`9fI8Cj`abd>ZjhFq=4q%qV_y6ftJWVp)q5Z<#j8CSNhR^BkQgSA@3k
z=(GXfzJ*yI8HT|(H#_o8%p##*%(hH3bGz5Y<eYwH5qp|>(OPOQw+@+8tlQ?_mS#?~
zV&)=CvbI@St%FuxtgWhAsx`pMYag@vVkKtS<LndgBL+RqF7N+qZ;s8g-x780BP3@p
zBrjQ|$rYAQ472tU9jyw1me##UE9<-0$ja{4u`)TetjTswtEio9{lMDmf>qqw3SZ%J
ztBmzGjD@37BdkPg2-ai6t;$%lRYg^@rdc(trPeRjGOMYz%4&&KUMFj>)!RCUTW?sC
zth-p@-NlOUrnSa8V{NofTKljX+;1Jgs&Ef#uXPr`&slu0i`d?<c3Tgu!`2Jj^4hv;
zeX|}}ruE5+Tj;U2X<LAwF(X!<x$QDofi}Q8^bfnT-3v9{ZfI|`f3q)OwfY6?)$Gon
zb{n`LcRHhO*_~^5c9+_h-JNzB?~r}nJ8ho`Kd@^?-q<)_vp*B0vyNn(?nG)QcQk`D
zJ6zQH)vMy{bZa>6-R4dKx3wd?-5uBI<9u)iIxny$f9Onct~=A6yUq&dCj6DRogK~-
z=cMz>x#GNbZa8mYuGFwcxVj^{F(<vtW96U8E$bF@>$)}Ec5W-2GjwtLy4~HOxHJZ}
z$Q|x(btk#!+$HW!ca8hT-Q#|958@2us0-$Rn;TWuyXrRZuDN}@f8CYdXZN0Gx#_|&
zw||)PI6tkIC6dES9WU+GrfPb#=tf?CrnNVT>Fk|j`gkeK5KIRQ^RlrM@#*vw&{pPq
zx!~VO&F=O{_Pl2?_dJ7ngzV#;_k_{Bhm7r=W`yt#@FZ6u1DVMb3irm;K_lcK1<~bV
z(!YnV(%r)A=|179^q_DzdUCiPJwIHKUW07paM-0Dgfq~e!#~3>G658bJ#;z$4Bg(p
zg>IGm^g90qebj%0Ns8AXO58)%aSNHpE#w~;=;8heOi>)fr}|szq5d*lH<kVepX$%`
z2hl72fvDc-bom|A7p>|2aG#uj<M;}uF`oDZ=?|b(eD`zFnx6@N<8(9;Nk@~BAe|~g
z(itN^(E0L>DhbDNt;i#)KKPw2BS)wn$W{J|?5BGD*9Ef<9WYDbX&FzgiHxMSf}n9O
z(vG?gqQ+ZHj@V$X_?RXMM$=LFD2~byWvHK!my`lmv@WJkx*#VR8NGrIm-EO&_M^*X
z4|yuOlDq_(#|=<Du0;otx1+sLeQ>!ASf+KrHLXd$N4*Bu^h-1!X+?8_7LtZ!keOtT
zIYf@w8=^FFle*xew#Vd5kJwh?PtZn&$EFaoKp|NW8%nGInPh#eC$Sy1JN7$q0=(5n
zv1-I8uva{=SJKC`61n0$Q65I)7V&q1p{OnKH%LIPp^IgIpby-_0|RT|@0o@D32+hj
z0W-E|pai;Gm_V(-JMdSY#!CmD#Y<wFBk&RI6)PT&vjI2GAv;MOcn~iTxD7(fwRkD;
zSCRw!;`IU>;w=Je<E;aW<DCLi{$sEV1%G8`pm}^vpem-AO2<zHipI|dvc_))GGV%i
zia!a&V-Eu#W6uN6V)p_UW9I@VV~YaYV}Arz#cBms#<~RN$JPc$#a;!5$2g)>tTgd^
ztUd@dT|lE51n$ZtA}KbXC>-02`J$7A61zeKVo!*#(G=o+)FmE+YI7@^0Om@5a$Piu
zoD=;S)Y#5QvWCL$Ga0GYOi*){krkusk$N2@Q-iq@iryr-=ylSJJR#pk-jlB)Z^--D
zUWj}k_eWlkD<WsenUQ32eB@}XccgK&cf^UbjGT!48d(=fj*N?xMXHiF(kzlIQa>U_
zN=4{Mfk?#9fyy2U``IFId@gdsH;|*G_!ltkw#R?vukj!FtNed47kA4a?_cqU;+7tm
zjBDlZ^J^n(NkZC^<ZtvVpb~MpIOgXH`SbjI$X-(W!+g>2@00inH{8kh!d+2+`d`9b
z{0HH-{=IN-|73WqzdL-)Umk7~nH;VW?;jpVbwsM!K75+47bckU;IfoNFHC0itEENy
zNuviQ=JjE|dBd2`m_2;y{l(n%erIlbm6&55$87h;(ObM7<a%#GWU-gdpXp5rkMokk
z!@V@9DCQ8KdmX*oUQ6$!*T~!DRYx9E5y?y;Zx%9_nO=5ps+Zau<0;-~&vXCuKDceX
z7w)g#Be$V<(@pk{y7|40uI#OJ32%vOx-;C@?s)f(JKDYM_Hhp&aaoJ}Wr<tgo#rOG
z{oGPGo@RHOx*2h_<&nRTZeiDUvbY}{&VB4S&SS^G5&AO{mzT~Z=c#i9NAqJiZtsDC
zcoQxy#_@a(E{$*&I76KIIO;FJ(SHFFn3>KmNMe$(SH|h-6m~knQv8d<A&()E#{^K8
zUBOZ9a?X3Zxbw))<D9n>oRfCYIbsK#gSLy*<%7N0z6THSX=E+ikh83?+u1Yh*7jt(
zsXYQ-;(m5*WG{(!E4vtSm!fbO7quJPS>YzmY$w~P>`Hb5-t#ED|Jiu=*R32VaA~b<
z_75wI{l&^?Kea;k6})Sn!wTUvvY1`gJ-j!c$NTvnYbM^U|DV2$LiRGm8f5iA_VWMS
zr5Tc!26%6;f%p0(E1y*wSxZSvu?kp(^^@hBSuNE}Ykf9(>y;U_UYaIymT%@I^SOB#
zIm#CE9CDUJ<{WdoIni8h4lrk$m@YC~o4w5j=I>@TvnleGMrNX!Y!=7A+~!Yab~7Wm
z`030HNLNHNV1`T+*~uFt1zi1i#$Ay0Zy3*vi`YA3+(XWC!`N<|GPZ%hzX5wojNQg`
za8M=~%Z=g2JY$G4+ZbxhF$Nkljo#p*bTY<(h%(M-fooeD!;IGd)nKCySSf9BulB|O
zT<&c&2E)IW@vBkMsACidH>D_uDn*P^MqVSokqcCnbfBk5Mod@0Pf-j@my8shH$LkO
z7%CLp#ia36cl4Y35B;qEK|icN*SG7h^d0(JeW(6T-=)9#Z+|OX1e^5Ra1q=<UD8+R
z=k!JTaebD4QlF_GLGSi{)HeNZeKC5r=fGny0sY&9(V5)~ZiD}O4qEE%;XP=B{_VDU
zJ@^l5=<W0h$YP4=o%Nse9xyKS(NpPt^#C#&L+kNhCi6n;qu<pA>ld_f`Vnouz6*AT
zHQF0}o|f5|t^Hw4(iRwFwf)9W?T9f%I|bvz1EZ&wVE&;EH`{6nRtIg1^}F`n>ZYBv
zdTBpf1GG=(5N(G!QQKqA)ogQvHp@DsZMM&8@7!Bj;rLVSBl|&H8FI9{ysWnns^~q0
zX?g)6m9da_jGLi<EDxUWI>BYcRBl`_#?%$Q2QG-JyFr?06_p<wqd<GyB@fo`gRJ;n
zjv=M_pruw`XqlCFm`?hv6<5A#m6bQ>VY#WbQnsUSWx6&%>8y=YYH2f-651T4s5TdU
zDhri*+9IVJdR8W(XJwJLMp>e*Q|4>y(Fe0$S*op74q^X`wp^*HFIKMV|0t`CnTlvl
zSH3yZl!t*S%9!9JrKB)UStpKEW=aE<g7RO=Lb;>zT5hdmRGKT*m1Zys{j3aC8Y?qE
zPFbqdQ8p=6K~brooK{LGH<dif6WsFy2rVhF4!PKmDV0DlZHY6_0XXxVuJAYu<rB6j
zp@jW7D?Ns~pvVcg6a{CkGR|V91Q)l__?IeyOvsALgUqA|wk2_1UItYjB#%m{WSoQ7
z#<l@&Yl{1{NQmLQIs)oxROyWK@~)_ENME`qcqmutk>KE5+(N0SZ#Xyqs{DoX_Fg!*
z?uF}n;XZxvHUF=^c%1$qiuA{04**eQATof#$Zv)slNgbZ0hvZ-<N(=_4dehLB^MYe
zxfA{dxnvfuo0E_cq>(hpI{r@|QILS7LK2bz+ia+xP=#@Q36NUKA{8kQB1uKCQz{}K
zsf5R<gvY9cgrpKOh$Q4PmGQl*f(Da}ETt+qDwXl`Q~<}eERvJbV5*cw)=~jUO)|2X
z+DK9wVA~iO%+CpbVcQFNN*~Z*`h&7EFrg-XhwAtpsw20kj>oKl-{t>R4VNpUDx%8Z
zw&J)?5!|;3zOEQ@pVD|ta9weqKkzfO$F?2r+XmOSNhk_3Zvn7e^5Xv>7rt9g<XgEC
zYGGRgf17FvSy1UvBKApqR|mPqcMxmeBinchTI~N5vWMUq-$%A_2aMy}N<KUreoDBG
zx&mtKd2n#gBip#Fh{#naWF%oczf|SB@*dBzr?_-S(UgmdrR>M^ZJ82PMj+W}jOSZ6
zJdeK0e8NGPq{hl@LN#o^O2}<sm-;3$2?a$i;TumUv<Z?4cjAGBDUPpXwmhYPX(>+(
zL$Qq?N+<KXlFs^~e6ijsYwZ_GQRk`RIro(g;X6tW`kGRazoaY?&nbJPV@eIA9t-4s
zNK$qwFXSzXC2v9su@0|;<uG*3g_UcDQbrl8R8)p2$;tq{n*LI1Dm|5IN@u)=I)Xyf
z8n2<>VDf6LWXCHjE%-(f?oGn!6+yyb$t9I9sK==Daw%oATwIwV7gqj6)sgclIgx;<
zQhsH<R6xlk6;{%V`IR=I0!qLyq-3=UDf5iH${Rh0GEUE=REK3Ovz|tYXlZeDk#Th4
zam1mN*T{iCB9Hx|eFnqiJ&r~%U^jaNmh1z$fqq>c3ZnNe{S?G7N0HYaly8ASyWU(Q
z*RU7Kv%}Nn#|);?Lc`?4{6M+0&{w`Fbd@==gIr2%BUct1$>qd4a$2#5d__o>lY~UM
zIbTlR94sZ@q!Z<gexjVlDKGzKRYEFKL4IgdmPewh8dc>?Mn&1zE6A_(O7bneynI0~
zDWA~`$S3vO@-aQ9d{)mS-_{lRoleV9-IFpI-=$*4C#j0@PHJL2mD(DQq+Z5tX{vEf
z+GZS*ZW{Zgn6XVNYHpU=nVX~;<~r%1xm^0!TqODCOeu>sSt@2tkV;#Fr8HK5>8064
zT4}bII+?#o=#!Bovx4*%X1gm!e(4}+?wgF%(t3lEHiAXF!T2F=G(KVm_^G%XjFp|n
zP1H4Uk8w#nZ5#$ub~pGa>&5TJQjsucifPR;Vga*{SjOxMs(gFc`WlNJ&1A8wSw-xD
z8fcb<eXj_rs5rySA^vS<7w4D>C`SCp^f1fw9Xymb!Xj{JSAj#j+Pnv*>@8s<x=FT}
zm%x=hDjY`wa}M1kH_Yk6H6$^Y&52;83;`>phwvFQLMG;eEVGf|n>9huFAKVUN!W~Y
z3t3^<$zzE^J}U@9e*~st2aFUIGuvOlntjE$hW)S$*t0#YBYbc0Q~JY{ILO+-kFl14
zkMcLa99G3$V5gjdb@2{N#ZRsJurZeBZL0{Z#QFFj`j^w%nfOe07CxVyo-b>s;+w!!
z+ztHM(e~HSY}f}jq4)VTY{ft9i=o2K{?JfoXUK!WC+;o`4e_UjWNJX@9@9Q_l5G*n
z$yEup;R=T)px1f>M}`h^AJLC}7lz>z!TH?MU;}PQ@C4gFSdOV1oE)tXT;){>E_IWG
z#of9=3uenF;09hrhsX)17i<fIgWFJBVPDwk^bQ_zI>CO~I(QE=KaZVynA@)w{OlwJ
zRTwhk=p<p>Y{7J{0E>eI*5Mnju6v7X>mETJ;yQo{(BEBwZjkwy>G>OWh>_fCw<EXF
zZH~^6WbU|IhP#G-_t&oY-z-nmwZL3_$L8>!!w7m6^EyY+JHHo6#&&dZEN4%6i`cK=
z%w`KuXS;;QvB$&1*<yZQ_LSd;of7HIj*fO?>%`i#jbqK(t<eVTr$}A4Rir%o%}-=k
z_(j>~eqlDJpPP+=J^MT?vv<RB<{Atd7r|Ayj@h0Iu$rC&dG;hMr`N-K!L3{YQ|b)n
z8<-4H@F@wuA0zvnnLK_&<|n@%Q`RqwD#cXs^DtHYOiZ#bGu3>ON%CWK4cI=CU|mi2
zKY$7G2K!Givv7%SjM<*X{&}!7kDw#uDBTfVB3)r{?Tz$fpg$jp$={go8Az|ee8VOr
zAIJQL^d-M45|1MEbEF<`{oM3Na4AgiDFiS(b41=ziIMA64b1m6MXJ#pmf5b6IUvlA
zqeet}Bi(32t&AjLzNa9}CmeMz@`Zef^V<)R`#8_NN)pktFxws>Q$>%%bh`&#ADhXV
z|JCmQcpG*8>j2qJb_AcaJI<GTM3<AjVO{xu4Uf(Mr(-x+roG8+(biyi{Dy9jD&%vV
za~nAK4#X%V8&M*C>>E)e_JAlEyG@kCd3q9fAhlx0hz20bwvKHe`hX}q2)!V~W0Q$#
zvBAXj*Z^WF$g=BVZIEy@CJx7Hp=uJhVnvCUv1~+2Oad__NN|8MB*ec3awAKqh-{%Y
za)$a~y|#+4hAU@&U_^XWU~GH{n6NzpOXF=pIB5pLY@NW#crlPt(j&+Cj(MGr@Zx-l
ze~zcb{dgo!1_;nn(gtz|vSG@nSfG9&8J#3`K}o3_=mc&`w?IS81=S5q3IyRo-U=qm
z?D+D)xcE+_9mfOhkZd#r!=(ZUvx)fWa>iqU^l^a*#<LN23{yz4oP-%G2<A&sR55hB
zBobPzGAbFo+<L_KSO?H(hY(j{e-p<+PdO1=i&{tAi)|yE*iNERd^eFhu#4Ci*o|qX
zvxF14OsIiJ#G}9~Vr}3J(K_&%C>rpH=73?H2xKO+5{1c*L=kctQ4SMUHOVVPeeyN&
z8yO}3ggbf|iChF`=>=qWxR3h7fixWk>b2xGas&KG2jNLNN5;qpWCHb`%u9J>S&FA>
zQ(54$&WpaH($qkz0X2i_M6E)<(E(gKir%9;)CTGkb&UE>ouV9AoOt>Xl?FzqwDdD7
zC;g5pNo!Pf7__U?VX8LmQmtv4{vB5B-)WobPJg3%(hsTL^bu+-y^5MZ52EJLov20h
z@6=X$ICYqwM_r^hQFrLw)LZ&6^_4z^+E0C<k5ZrMo76Yjz<yTxJDgG;-Jg!oGiaIF
zMyF?v(|MR1bXn#VU4eN=S7tuZ4PmYNone_ysKHEXW&)F*nTuME{q@XqdIvL}KETYN
zPBMY`MW#dKF|)`2$aMC<Gl_njp?#Ts7*5UZ4QFKMgtM~)!#UYM!nxUI;k;~vaCx>|
zxISAj+?XvIZpju4cV!EQ`?E#DL)bFmk!;2A1hz_eAzL=Qh^-vnj{PHSqwraFNcb+h
zKm3{1!Y-T2CpkYXahJn6xq0CN+`w=m*DBnYD;Ms<DdB<KM@;?f_hxdlyoDU5i?~GZ
z5SQ9J&PCm`+;`ArU!h)uF#E=R%RPdJ=Mg-|58ZDdySQ-ogt^-;5xk3f3LnpHH*4^g
zTR3>mEg3xKRt)ZNs|J_5O@l+-KZ3uy1K{bI66D=^IO4CuJH^W29rP7maCU+=emc0&
zIRygwh2UsRj}CG!qwnxKrbVB?&GQs4<Zr=pP7EY-3B8KxLbQ_$bkDpY4Yb);cKOg#
zP`$3(zl6@A&ZD>S1jsD=?e3s_^#_r5B;EnXg*Mt#F~vFql=X$7mFSh6iz%Ub=%Jip
z-$H-nQ#kJ4!I5lW3f2pCvPJ$E_>ZgEMfeJKMNA4+;Y-<#`TTY}K8xLv&usVQ6YTMD
z<4uRpXBi&_HQon>B?1x}Wk2Fm+yCOekNGn8d%m!3;{Fj{uxTM~B?y|8M)+ps6kb~S
zgvVBK;g*#ooVIERJFLdSY}6pDmCy{no-$T10aL<o`SgXuXP7`*6F{(^30Kb&;UT=n
zXU$#cRXr-KF;8Iia#NTH+R7-bVEUOKgdV0Uv@>HuBQqo>o03=&tDQ1%8y7e8idoIV
zVj8oQ$eR_hda48mPbD#C)D=~uvH00&i{9EE=&|i7o-+oC2aM6;R%0AiWD~@-#!PXc
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%0Ag>@Vm?{e;}4A!$bM
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
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
zLO=)z0U;m+gn$qb0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@
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
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
O009C72oU%rfxiRvt`2$t

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/sprites/New Bitmap Image.bmp b/public/phaser-harkat/phaser-udemy/assets/sprites/New Bitmap Image.bmp
new file mode 100644
index 0000000..e69de29
diff --git a/public/phaser-harkat/phaser-udemy/assets/sprites/armeija_apustus.png b/public/phaser-harkat/phaser-udemy/assets/sprites/armeija_apustus.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8f3f66459c9c2719119d34a50734701d1fe110d
GIT binary patch
literal 13121
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
bfyMg&Aj?^x(*d8f00000NkvXXu0mjfQ-)|W

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/sprites/arrow.png b/public/phaser-harkat/phaser-udemy/assets/sprites/arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..62ba58949c44591f9749ed68cb9764d50feb60db
GIT binary patch
literal 4752
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

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/sprites/rakenus_apustus.jpg b/public/phaser-harkat/phaser-udemy/assets/sprites/rakenus_apustus.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a900f10cc1d1ae86d0ddd21c9fc1acb504ddd98d
GIT binary patch
literal 17917
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

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/sprites/saber.png b/public/phaser-harkat/phaser-udemy/assets/sprites/saber.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b0388009f95c39916828391ee7b98b521b81dd8
GIT binary patch
literal 1665
zcmeAS@N?(olHy`uVBq!ia0vp^iy0UgxjEQ?tgRtt+kq5gage(c!@6@aFM%AEbVpxD
z28NCO+<y{Tfqc#akH}&M2EM}}%y>M1MG8<*vBWi^#JMOnu_QA;Paz~TH<iK2z|hjl
zz{twLOu^8^%D~*p$U;8ZC!B$S^`)naV@O5Z+q;f=(y0;+55-g_2s~1eS@1l8-P-S9
zlPUMK7^bp0&CDAfi*YD6wj2nyIb>93)c3#d{>J(4vPXN>{iOE)6|R5m8OO*Fy8gTV
z!=(ECe~pjn9l8Ggt^VP&ofCNsCn>ra9r0+BI4PhknWW;}lhT1*u*co%ZNiP<C*^b2
zZG60i`Q0>39j^}Gp4j|q>)pQzcP`A{t%_l8Pr2cYyPp<R&9JZgl~w<85C8p|-7gRB
zSZH4Ejm_G}iG2rjER{ByxhMR4%)z6H>AD>yFJ?(+h_~PLmaO`J{K9MzY`*FFA~@sK
z#i{)FYIg50xi`P=!(~^QMnzXl8!uldz3TW)bz6<sL655saXKschoFSJ@3CSQwlFme
zFY-9Qm;P07@cf&d2VON7I_F~xCfuPdQFrU$Ew_2k41Sn2Y+VcFh|jM#TQm24{f~>8
z>?N2H^Ek2Xp0s?1zG2Rby}#$^Wj#9mzV2rHu6Ya1u>=+{eqSmZWdDEG;%@Qw!T0-h
zwcq~L{ePbSZTdCizf#HC*rLB;#$~=~KVDy6|9$$p?-!5H=dtEZ=u|!YW+~6!$_mW*
z09x@mu<5K^>(9U2<G)XrNPT%xdH>r6Y)K(>zLdT6Pm#)F#$TR2#F`FcN?49focuQW
zH+xX*p;N#V+W#i3@9)z8)vv79sUH*eb1m0%Y3%zfVCZ*HCQrZg-Ig1H+yB3iOG};O
zRP|2g_4GEA``;#gKUg_aVtPx#o?kNmYgaD+How{GPWmpLP38Jqjm{;`?MmfKx|epm
zzW$u*@3==-j-N>lGK`Z7JNiey_4OXvhIe)o&E?bN?=3uD{%+4JoA0}dr`@~vG573m
z-*bEC2j`b_@9tN&J`<N^%%9+Q_o04o!pqyfzt7$dUZ%ir9;XJhq3`{l$JQ0Q>Z<Ne
z`m6Sw$+G5m<^0FD?{wWgo}Vi7a;Lzu*YTUqe|$ad&Ea34;+M^j+IVhl#dD5zy5_em
zpN2RTM_j&r=C<O+T>rdO8}W<57iIHu!k;mov26d?`F79U=b4}R6FwPkI%9ie$4pD*
z@BWY^%~$p(WByZ{hMkvI242>!FxeXz?C^Y1q}26?b=$c<Ops9SW1e-UaSqq}E3ef)
zzm<tA-}C<AZ>v)2?VEn@Fq410Y=8QkLl%9>_xNPr6`$L4KDbf#opG*r-t?ztvX5ns
z1~b~0-re~8TkX5r!nwOEO>A9@-g<qVw0*l(-{*qGbBjOjNjbXNtFQFC;kl2#`pe%=
zYFJbCde?7>=RcNBKi_H*TQBoK^<&Z8_TNT(k9da#t}72W?CVJ1)mxby%fHcR-{}p@
zZhzbRRAQgc<c|{!e+k`5NtJQ9lYHmNgJ18?eV(%QVA=icRf|}9lrVFi;iQT4ZdnI?
zUSDmoYg5ZqY^B(h_LYa*?j8LcqGxgR>ILa*D%eaZTz&GNuAjQZw|v=Bt0NEOjduN9
zY!Ze|<wrfXrP=&jw%fe9`{hHu3Dz70%o1Of4QAJC{Z-)qXt~u0OL5x~zWyKMGWI+3
U`Z;Dz2i6b_p00i_>zopr0HuukRsaA1

literal 0
HcmV?d00001

diff --git "a/public/phaser-harkat/phaser-udemy/assets/sprites/t\303\244r\303\244nt\303\244nk\303\266.jpg" "b/public/phaser-harkat/phaser-udemy/assets/sprites/t\303\244r\303\244nt\303\244nk\303\266.jpg"
new file mode 100644
index 0000000000000000000000000000000000000000..999552c9c2a88ad8d6cddb61728dea6a7563e42c
GIT binary patch
literal 12012
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

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/spritesheets/saberSheet.png b/public/phaser-harkat/phaser-udemy/assets/spritesheets/saberSheet.png
new file mode 100644
index 0000000000000000000000000000000000000000..52fff7aca1338f414f558e559e0d9fc90387d7bc
GIT binary patch
literal 22836
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
A<p2Nx

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/grass.png b/public/phaser-harkat/phaser-udemy/assets/tilemaps/grass.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa4d554aeb4a7721adc64f35eb8d427491ad15fd
GIT binary patch
literal 480
zcmV<60U!Q}P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80004{Nkl<ZSVyf_
zL2kn^40C`Td)i^&*i-tW{c(TUaX<$bP{AmqsATRXXlyGqMN#(l{xu$BjPdq;8^51F
zhvyu_U!Ir8<A2Ok<MDnA01Slsc+8#83A&os2C#|&$50-Z4B+lq(E08v1DKu{fQkWJ
zpmunb!6yK>n2kqnLj%Z&5+I9X8Hm6^w@L>BiE2WSY7>%yN&^nmnKUh9APcesa;{m<
zKt+2tsR@!Ykb_kJS<qz~Ko`q4ogI$Zc*m5skNfSRf~%lT-KQB~G`bx!5LG%<&!7z8
zWMxuJ<xV?{>0K|#T~3t}o7d4mcF1QHFb#Bb=sxPS^6~-9clPuvxpq#7T3Nz?+Non;
zGT7EYCm72y6Ete5T?MYhT+3F~WEuFc&|FDV0B(^3m8+;q-=Q0x?Pl!UpwdOVVfa8E
z%vM}EA~I6hI%BT97r1&>C*$m(c{4j7z>7(gM|DHWC*(+hDnWPPJupx;6qj2Z$2ctp
z9Nnr>vD0v;N&=MCfTEbC%L$nYdv_*eCFO*cFD4iRK`L-NA5fF3n-0shn$H;c1I~=c
W!Y2;X+yDRo07*qoM6N<$f&c*UNzje}

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/ground.png b/public/phaser-harkat/phaser-udemy/assets/tilemaps/ground.png
new file mode 100644
index 0000000000000000000000000000000000000000..b34d357d4adfac69f1d4a5ba27c6f50d6869ad78
GIT binary patch
literal 426
zcmV;b0agBqP)<h;3K|Lk000e1NJLTq001BW002M;1^@s6dyaLk0004SNkl<ZXhZFm
zF%E+;3`N5UdZ$V~RF|$yoT#Vj38<(PL_(bR9fmGusZ?<C^ZadRdfn5Sgy;5{)93w6
z^eZe?d@`v5dJEU0JR(d1c~NUIYg3A=*ZT<|tk!$aNsr$i*PE7kUbo!lhs4mP6kij%
zM1XRyq~qj)I!N8biX&o$02Lpd%p+zOpaywGlGtV$s@QA1UU6GI5+E{Eq85Stf71ih
ze5ho}c*pnHiiv=l21`^|0O74kkeHSTc@|JEEitYtAQxM?S3NUCKov#eED}R~fU1Dn
zc`*(1g~aQ2RRj@~W&ydII%lt1a2nD{RRc;MP;;ktI$E!o1>TcVZq+6xdEn}1y=JuE
z2}i3yHK=98;!ddMR{c(?4zmgfyDGvWl>e8eAsO_F*wc-ON=L!kq9gSIG87FQwJEu7
zMCzt$-Pa=VO6I{iV$2}{BO6&UAs`3@fglhBf<O=m0zn`M1c4wB1cE>i_&b3w3!DPv
U0YxDX00000NkvXXu0mjf0I004G5`Po

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/lava.png b/public/phaser-harkat/phaser-udemy/assets/tilemaps/lava.png
new file mode 100644
index 0000000000000000000000000000000000000000..7375508ac477218996853fb42efa189005bf0968
GIT binary patch
literal 432
zcmV;h0Z;ykP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80004YNkl<ZSVyf_
zu@b^i2x}J?zu4V7zgd@hZ=gphA>p--%7XwQ;JQ7RZMpdQz0M9EAMSL#TO$DPEORm&
zEQ7NHU_r-Yvr#fr?PUPN&<Cynd!YVZOu&9Sv><a_Wgda~GNX4f#tvXMP(`)OXZ$X$
z03x5-e*>lP22MdW0Sri-l*;}DKw)s!``BBv$;NiXFi<Ig84wxceIUdY2q5;cB3m}1
ztWD;R0$?m3fza%8F;1jdc@*c}vQ=0g{nH9mVq;v10MvF3I|+a}jD1yvCW0x22yHB%
zVI-Uas`9&j-}ya&`l>7&WxK*D$hKBC&sUi5D*}~JVfGB`r74K2hD4>K`7I^%I?jTl
z5md=pwxBvHOaVK0W9IL0kf0GmEkRpR-2(?9Lg$#*dOr=UI;y0X_ds-_^tC$~REoQY
zW|n#TB4W2d=UijUtgL`iPG)ln06WcCaD|BbGD81+s=JP5CjqcOr=1OUN9MQOgi40Y
a<`2KTBdPf-0^0xp002ovPDHLkV1fW7i@10I

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/lavarock.png b/public/phaser-harkat/phaser-udemy/assets/tilemaps/lavarock.png
new file mode 100644
index 0000000000000000000000000000000000000000..516b67ca6bfbfcc30ab1d0615b205c47787cf598
GIT binary patch
literal 438
zcmV;n0ZIOeP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80004fNkl<ZSVy&1
zTN1)R2-D;0f!5>dtTW7Dnh>bkFYRt2gz&howVoI8-0t_wV=Z-jc)#!OXY$Pz0fdok
zy)u~ZPaKE+5<nPKkp)9trkI@rfE+n~kpE|=_}k?yGi3oVT3IBF1(r@stp$LhV$tSQ
zDZuJ|2_VqAT&vXJ_bfGS0G;xxDnbeM4Zx{5GcW;yv@<^zfD)Igc@$p0CjsoJ&N%7_
z&gtVr0|>&U21QlfSEVZfoB`u{0ZRvM#rxtEfNMIcpU^T?R5~X(JF-)yg%N-dtLu(c
zXT;zn09Nl9MTn3&WGQ4LUUov}%nhc>sp<zU0GWD5KQfVLKy|i3wE^Is5S7AcWnxur
z*#dCOMKHn!Q8l`QRl5_qJx`UFE9GGD&<S%yon@4XYtoX-Ry-A4XF}o~%7Dsy<$#Gy
zRY11i+K8&Ma=CU3%;_p%14}ViX<|GJSU>2Ls=6~u0W&gPTF}PV0I*H7&R8+@69852
gU3&fsz&YRNFQ>HLf!>(%_5c6?07*qoM6N<$f>wRM(*OVf

literal 0
HcmV?d00001

diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.json b/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.json
new file mode 100644
index 0000000..1f7f0e2
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.json
@@ -0,0 +1,91 @@
+{ "height":31,
+ "infinite":false,
+ "layers":[
+        {
+         "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 3, 3, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 3, 2, 3, 1, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 2, 2, 1, 1, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 2, 2, 3, 3, 3, 2, 2, 2, 2, 2, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 3, 3, 2, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3, 3, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 3, 3, 3, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 2, 2, 3, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 2, 2, 2, 1, 1, 3, 1, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 5, 5, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 2, 2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 3, 5, 5, 5, 5, 5, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 3, 3, 3, 3, 1, 1, 2, 3, 3, 3, 2, 3, 3, 3, 2, 1, 1, 1, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 1, 1, 1, 2, 2, 3, 3, 3, 2, 3, 3, 1, 1, 1, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 2, 2, 5, 5, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 3, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 2, 2, 3, 3, 2, 2, 2, 2, 2, 3, 5, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 2, 3, 2, 2, 3, 3, 3, 5, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 2, 3, 5, 3, 5, 5, 5, 0, 0, 0, 0, 5, 5, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3, 2, 5, 5, 5, 0, 0, 0, 5, 5, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 2, 3, 5, 5, 5, 5, 5, 5, 2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 5, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 5, 0, 0, 0, 0, 5, 0, 0, 0, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 0, 5, 5, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 5, 3, 3, 3, 3, 5, 5, 3, 3, 3, 3, 3, 2, 2, 3, 2, 2, 2, 1, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 5, 0, 5, 0, 0, 0, 0, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 3, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+         "height":31,
+         "id":1,
+         "name":"groundLayer",
+         "opacity":0.81,
+         "type":"tilelayer",
+         "visible":true,
+         "width":42,
+         "x":0,
+         "y":0
+        }, 
+        {
+         "data":[4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 4, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4],
+         "height":31,
+         "id":2,
+         "name":"lavaLayer",
+         "opacity":0.39,
+         "type":"tilelayer",
+         "visible":true,
+         "width":42,
+         "x":0,
+         "y":0
+        }],
+ "nextlayerid":3,
+ "nextobjectid":1,
+ "orientation":"orthogonal",
+ "renderorder":"right-down",
+ "tiledversion":"1.2.2",
+ "tileheight":32,
+ "tilesets":[
+        {
+         "columns":1,
+         "firstgid":1,
+         "image":"grass.png",
+         "imageheight":32,
+         "imagewidth":32,
+         "margin":0,
+         "name":"grass",
+         "spacing":0,
+         "tilecount":1,
+         "tileheight":32,
+         "tilewidth":32
+        }, 
+        {
+         "columns":1,
+         "firstgid":2,
+         "image":"ground.png",
+         "imageheight":64,
+         "imagewidth":32,
+         "margin":0,
+         "name":"ground",
+         "spacing":0,
+         "tilecount":2,
+         "tileheight":32,
+         "tilewidth":32
+        }, 
+        {
+         "columns":1,
+         "firstgid":4,
+         "image":"lava.png",
+         "imageheight":32,
+         "imagewidth":32,
+         "margin":0,
+         "name":"lava",
+         "spacing":0,
+         "tilecount":1,
+         "tileheight":32,
+         "tilewidth":32
+        }, 
+        {
+         "columns":1,
+         "firstgid":5,
+         "image":"lavarock.png",
+         "imageheight":32,
+         "imagewidth":32,
+         "margin":0,
+         "name":"lavarock",
+         "spacing":0,
+         "tilecount":1,
+         "tileheight":32,
+         "tilewidth":32
+        }],
+ "tilewidth":32,
+ "type":"map",
+ "version":1.2,
+ "width":42
+}
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.tmx b/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.tmx
new file mode 100644
index 0000000..75c3201
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/assets/tilemaps/state1Tilemap.tmx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<map version="1.2" tiledversion="1.2.2" orientation="orthogonal" renderorder="right-down" width="42" height="31" tilewidth="32" tileheight="32" infinite="0" nextlayerid="3" nextobjectid="1">
+ <tileset firstgid="1" name="grass" tilewidth="32" tileheight="32" tilecount="1" columns="1">
+  <image source="grass.png" width="32" height="32"/>
+ </tileset>
+ <tileset firstgid="2" name="ground" tilewidth="32" tileheight="32" tilecount="2" columns="1">
+  <image source="ground.png" width="32" height="64"/>
+ </tileset>
+ <tileset firstgid="4" name="lava" tilewidth="32" tileheight="32" tilecount="1" columns="1">
+  <image source="lava.png" width="32" height="32"/>
+ </tileset>
+ <tileset firstgid="5" name="lavarock" tilewidth="32" tileheight="32" tilecount="1" columns="1">
+  <image source="lavarock.png" width="32" height="32"/>
+ </tileset>
+ <layer id="1" name="groundLayer" width="42" height="31" opacity="0.81">
+  <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,3,3,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,3,3,3,3,3,3,3,0,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,3,2,3,1,1,1,3,3,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,2,2,1,1,3,3,3,3,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,5,2,2,3,3,3,2,2,2,2,2,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,3,3,2,5,5,5,3,5,5,5,5,5,5,5,5,0,
+0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,3,3,3,5,5,0,0,5,5,5,5,5,5,5,5,5,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,3,3,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,5,5,2,2,3,3,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,2,2,2,1,1,3,1,5,5,5,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,2,2,2,1,1,1,1,1,1,2,2,5,5,0,0,0,0,0,0,5,5,5,5,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,1,1,1,1,1,1,2,2,2,2,2,5,5,5,5,5,5,5,5,5,2,2,2,2,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,1,1,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,3,3,3,3,3,2,2,3,5,0,
+0,0,0,0,0,0,0,0,0,5,5,5,5,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,2,2,3,5,0,
+0,0,5,0,0,0,0,0,5,5,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,2,2,2,5,0,
+0,0,0,0,0,0,0,0,5,5,3,3,3,3,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,2,2,3,5,5,5,5,5,2,5,0,
+0,0,0,0,0,0,0,0,5,5,5,5,3,3,3,3,1,1,2,3,3,3,2,3,3,3,2,1,1,1,2,2,2,2,2,5,5,5,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,1,1,1,2,2,3,3,3,2,3,3,1,1,1,2,2,2,5,5,5,5,5,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,2,2,5,5,3,2,2,3,3,2,2,2,2,2,3,5,5,5,5,5,5,5,5,0,
+0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,2,2,3,3,2,2,2,2,2,3,5,5,5,0,0,0,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,2,3,2,2,3,3,3,5,0,0,0,0,0,5,5,0,
+0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,2,3,5,3,5,5,5,0,0,0,0,5,5,5,0,
+0,0,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,5,5,3,3,2,5,5,5,0,0,0,5,5,2,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,3,2,3,5,5,5,5,5,5,2,2,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,5,5,5,3,3,3,3,3,3,2,2,2,2,5,0,
+0,0,0,5,0,0,0,5,0,5,5,5,0,0,0,0,0,0,0,0,5,5,5,5,5,0,5,5,3,3,3,3,2,2,2,2,2,2,1,1,5,0,
+0,0,0,5,0,0,0,0,0,2,2,2,3,0,0,0,0,0,0,5,3,3,3,3,5,5,3,3,3,3,3,2,2,3,2,2,2,1,1,1,5,0,
+0,0,0,0,0,0,0,0,0,2,2,2,5,0,5,0,0,0,0,5,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,1,1,1,1,1,5,0,
+0,0,0,0,0,0,0,0,0,5,3,3,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="2" name="lavaLayer" width="42" height="31" opacity="0.39">
+  <data encoding="csv">
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,4,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,
+4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,
+4,4,0,4,4,4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,0,4,4,4,0,4,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,0,0,0,0,4,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
+</data>
+ </layer>
+</map>
diff --git a/public/phaser-harkat/phaser-udemy/index.html b/public/phaser-harkat/phaser-udemy/index.html
new file mode 100644
index 0000000..fdc528a
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/index.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <script src="../phaser/phaser2.min.js"></script>
+        <script src="state0.js"></script>
+        <script src="state1.js"></script>
+        <script src="state2.js"></script>
+        <script src="state3.js"></script>
+        <script src="state4.js"></script>
+        <script src="state5.js"></script>
+        <script src="state6.js"></script>
+        <script src="state7.js"></script>
+        <script src="state8.js"></script>
+        <script src="state9.js"></script>
+        <link rel="stylesheet" href="style.css">
+    </head>
+    <body>
+        <script src="main.js"></script>
+    </body>
+</html>
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/main.js b/public/phaser-harkat/phaser-udemy/main.js
new file mode 100644
index 0000000..882b534
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/main.js
@@ -0,0 +1,48 @@
+var game = new Phaser.Game(1500, 1000, Phaser.AUTO);
+game.state.add('state0', demo.state0);
+game.state.add('state1', demo.state1);
+game.state.add('state2', demo.state2);
+game.state.add('state3', demo.state3);
+game.state.add('state4', demo.state4);
+game.state.add('state5', demo.state5);
+game.state.add('state6', demo.state6);
+game.state.add('state7', demo.state7);
+game.state.add('state8', demo.state8);
+game.state.add('state9', demo.state9);
+game.state.start('state0');
+
+document.addEventListener('keydown', function(evt){
+    console.log(evt.key);
+    switch(evt.key){
+        case '0':
+            game.state.start('state' + evt.key);
+            break;
+        case '1':
+            game.state.start('state' + evt.key);
+            break;
+        case '2':
+            game.state.start('state' + evt.key);
+            break;
+        case '3':
+            game.state.start('state' + evt.key);
+            break;
+        case '4':
+            game.state.start('state' + evt.key);
+            break;
+        case '5':
+            game.state.start('state' + evt.key);
+            break;
+        case '6':
+            game.state.start('state' + evt.key);
+            break;
+        case '7':
+            game.state.start('state' + evt.key);
+            break;
+        case '8':
+            game.state.start('state' + evt.key);
+            break;
+        case '9':
+            game.state.start('state' + evt.key);
+            break;
+    }
+});
diff --git a/public/phaser-harkat/phaser-udemy/state0.js b/public/phaser-harkat/phaser-udemy/state0.js
new file mode 100644
index 0000000..628f4c4
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state0.js
@@ -0,0 +1,65 @@
+var demo = {};
+var centerX = 1500/2;
+var centerY = 1000/2;
+var saber;
+var speed = 10;
+demo.state0 = function(){};
+demo.state0.prototype = {
+    preload: function(){
+        game.load.spritesheet('saber', 'assets/spritesheets/saberSheet.png', 302,302);
+        game.load.image('sunset', 'assets/backgrounds/sunset.png');
+    },
+    create: function(){
+        game.physics.startSystem(Phaser.Physics.ARCADE);
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state0');
+        
+        //game.input.Keyboard.addKey(Phaser.Keyboard.ONE).onDown.add(changeState,null,null,1);
+        game.world.setBounds(0,0,2500,1000);
+        var sunset = game.add.sprite(0, 0, 'sunset');
+        game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL;
+        saber = game.add.sprite(centerX, centerY+200, 'saber');
+        saber.anchor.setTo(0.5, 0.5);
+        saber.scale.setTo(0.9, 0.9);
+        game.physics.enable(saber);
+        saber.body.collideWorldBounds = true;
+        saber.animations.add('walk', [0,1,2,3,4]);
+        
+        
+        game.camera.follow(saber);
+        game.camera.deadzone = new Phaser.Rectangle(centerX-300, 0, 600, 1000);
+    },
+    update: function(){
+        if(game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)){
+            saber.x += speed;
+            saber.scale.setTo(0.9, 0.9);
+            saber.animations.play('walk', 12, true);
+        }
+        else if(game.input.keyboard.isDown(Phaser.Keyboard.LEFT)){
+            saber.x -= speed;
+            saber.scale.setTo(-0.9, 0.9);
+            saber.animations.play('walk', 12, true);
+        }
+        else{
+            saber.animations.stop('walk');
+            saber.frame = 0;
+        }
+        if(game.input.keyboard.isDown(Phaser.Keyboard.UP)){
+            saber.y -= speed;
+            saber.animations.play('walk', 12, true);
+            if(saber.y<600){
+                saber.y = 600;
+            }
+        }
+        if(game.input.keyboard.isDown(Phaser.Keyboard.DOWN)){
+            saber.y += speed;
+            saber.animations.play('walk', 12, true);
+        }  
+    }
+};
+/*
+function changeState(i, stateNum){
+    console.log(i);
+    game.state.start('state' + stateNum);
+}
+*/
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state1.js b/public/phaser-harkat/phaser-udemy/state1.js
new file mode 100644
index 0000000..c010d4d
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state1.js
@@ -0,0 +1,72 @@
+demo.state1 = function(){};
+
+var cursors;
+
+var vel = 500;
+
+var lava;
+
+demo.state1.prototype = {
+    preload: function(){
+        game.load.tilemap('map', 'assets/tilemaps/state1Tilemap.json', null, Phaser.Tilemap.TILED_JSON);
+        game.load.image('grass', 'assets/tilemaps/grass.png');
+        game.load.image('ground', 'assets/tilemaps/ground.png');
+        game.load.image('lava', 'assets/tilemaps/lava.png');
+        game.load.image('lavarock', 'assets/tilemaps/lavarock.png');
+        
+        game.load.spritesheet('saber', 'assets/spritesheets/saberSheet.png', 302,302);
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state1');
+        
+        var map = game.add.tilemap('map');
+        map.addTilesetImage('grass');
+        map.addTilesetImage('ground');
+        map.addTilesetImage('lava');
+        map.addTilesetImage('lavarock');
+        
+        var ground = map.createLayer('groundLayer');
+        lava = map.createLayer('lavaLayer');
+        
+        
+        //map.setCollisionBetween(4, 4, true, 'lavaLayer');
+        map.setCollision(4, true, 'lavaLayer');
+        
+        saber = game.add.sprite(centerX, centerY+200, 'saber');
+        saber.scale.setTo(0.2);
+        game.physics.enable(saber);
+        saber.animations.add('walk', [0,1,2,3,4]);
+        
+        cursors = game.input.keyboard.createCursorKeys();
+    },
+    update: function(){
+        
+        //velocity == annetaan nopeutta, jolloin collision mahdollinen
+        game.physics.arcade.collide(saber, lava, function(){console.log('collision')});
+        if(cursors.up.isDown){
+            saber.body.velocity.y = -vel;
+            saber.animations.play('walk', 12, false);
+        }
+        else if(cursors.down.isDown){
+            saber.body.velocity.y = vel;
+            saber.animations.play('walk', 12, false);
+        }
+        else {
+            saber.body.velocity.y = 0;
+        }
+        if(cursors.left.isDown){
+            saber.body.velocity.x = -vel;
+            saber.scale.setTo(-0.2, 0.2);
+            saber.animations.play('walk', 12, false);
+        }
+        else if(cursors.right.isDown){
+            saber.body.velocity.x = vel;
+            saber.scale.setTo(0.2, 0.2);
+            saber.animations.play('walk', 12, false);
+        }
+        else {
+            saber.body.velocity.x = 0;
+        }
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state2.js b/public/phaser-harkat/phaser-udemy/state2.js
new file mode 100644
index 0000000..ae4cf90
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state2.js
@@ -0,0 +1,87 @@
+demo.state2 = function(){};
+
+var barrel;
+var base;
+var bullets;
+var velocity = 1500;
+var nextfire = 0;
+var firerate = 200;
+var enemy; 
+var bullet;
+var enemyGroup;
+demo.state2.prototype = {
+    preload: function(){
+        game.load.spritesheet('saber', 'assets/spritesheets/saberSheet.png', 302,302);
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state2');
+        
+        base = game.add.sprite(centerX, centerY, 'saber');
+        base.anchor.setTo(0.5);
+        base.scale.setTo(0.5);
+        base.tint = 0xaaaaaa;
+        
+        
+        bullets = game.add.group();
+        bullets.enableBody = true;
+        bullets.physicsBodyType = Phaser.Physics.ARCADE;
+        bullets.createMultiple(50, 'saber');
+        bullets.setAll('checkWorldBounds', true);
+        bullets.setAll('outOfBoundsKill', true)
+        bullets.setAll('anchor.y', 0.5);
+        bullets.setAll('scale.y', 0.3);
+        
+        barrel = game.add.sprite(centerX, centerY, 'saber');
+        barrel.anchor.setTo(0.5, 0.1);
+        barrel.scale.setTo(-0.5);
+        
+        enemy = game.add.sprite(100, 200, 'saber');
+        game.physics.enable(enemy);
+        
+        enemyGroup = game.add.group();
+        enemyGroup.enableBody = true;
+        enemyGroup.physicsBodyType = Phaser.Physics.ARCADE;
+        
+        for(let i = 0; i<3; i++){
+            enemyGroup.create(1300,350*i+100, 'saber');
+        }
+        
+        enemyGroup.setAll('anchor.y', 0.5);
+        enemyGroup.setAll('anchor.x', 0.5);
+        enemyGroup.setAll('scale.y', 0.5);
+        enemyGroup.setAll('scale.x', 0.5);
+    },
+    update: function(){
+        barrel.rotation = game.physics.arcade.angleToPointer(barrel)-80;
+        if(game.input.activePointer.isDown){
+            this.fire();
+        }
+        
+        game.physics.arcade.overlap(bullets, enemy, this.hitEnemy);
+        game.physics.arcade.overlap(bullets, enemyGroup, this.hitGroup);
+    },
+    fire: function(){
+        if(game.time.now > nextfire){
+            nextfire = game.time.now + firerate;
+            console.log('firing');
+            bullet = bullets.getFirstDead();
+            bullet.reset(barrel.x, barrel.y);
+            
+            bullet.tint = Math.random() * 0xffffff;
+            game.physics.arcade.moveToPointer(bullet, velocity);
+            bullet.rotation = game.physics.arcade.angleToPointer(bullet);
+        }
+    },
+    hitEnemy: function(){
+        console.log("hit");
+        enemy.kill();
+        bullet.kill();
+    },
+    
+    hitGroup: function(b, e){
+        console.log("hit");
+        b.kill();
+        e.kill();
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state3.js b/public/phaser-harkat/phaser-udemy/state3.js
new file mode 100644
index 0000000..8883aa3
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state3.js
@@ -0,0 +1,43 @@
+demo.state3 = function(){};
+demo.state3.prototype = {
+    preload: function(){
+        game.load.image('button1', 'assets/sprites/armeija_apustus.png');
+        game.load.image('button2', 'assets/sprites/rakenus_apustus.jpg');
+        game.load.image('button3', 'assets/sprites/täräntänkö.jpg');
+        
+        game.load.audio('pops', 'assets/sounds/audio.wav');
+    },
+    create: function(){
+        game.stage.backgroundColor = '#32f532';
+        console.log('state3');
+        
+        sound = game.add.audio('pops');
+        sound.addMarker('boom', 0,1);
+        sound.addMarker('slap', 4.5, 1);
+        
+        var b1 = game.add.button(100,100,'button1', function(){
+            game.state.start('state1');
+        });
+        var b2 = game.add.button(400,400,'button2', function(){
+            game.state.start('state2');
+        });
+        var b3 = game.add.button(700,700,'button3', function(){
+        });
+        
+        b1.onInputDown.add(this.tint, b1);
+        b2.onInputDown.add(this.tint, b2);
+        b3.onInputDown.add(this.tint, b3);
+        
+        b1.onInputUp.add(this.unTint, b1);
+        b2.onInputUp.add(this.unTint, b2);
+        b3.onInputUp.add(this.unTint, b3);
+    },
+    tint: function(){
+        this.tint = 0xbbbbbb;
+        sound.play('boom');
+    },
+    unTint: function(){
+        this.tint = 0xffffff;
+        sound.play('slap');
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state4.js b/public/phaser-harkat/phaser-udemy/state4.js
new file mode 100644
index 0000000..cfce360
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state4.js
@@ -0,0 +1,24 @@
+var i = 0;
+var u = {val: 0};
+
+demo.state4 = function(){};
+demo.state4.prototype = {
+    preload: function(){},
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state4');
+        
+        a1 = game.add.sprite(50,100,'saber');
+        a2 = game.add.sprite(350,100,'saber');
+        a3 = game.add.sprite(650,100,'saber');
+        a4 = game.add.sprite(950,100,'saber');
+        a5 = game.add.sprite(1250,100,'saber');
+        
+        game.add.tween(a1).to({y: '+400'}, 2000, 'Linear', true);
+        i = game.add.tween(a2).to({x: 100, y: 0}, 1000, 'Elastic.easeOut');
+        game.add.tween(a3).from({y: 1000}, 1500, 'Circ.easeOut', true);
+        game.add.tween(a4.anchor).to({x: 1}, 1000, 'Linear', true,1000, false, true).loop(true);
+        game.add.tween(a5).to({alpha: 0}, 1000, 'Bounce', true);
+    },
+    update: function(){}
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state5.js b/public/phaser-harkat/phaser-udemy/state5.js
new file mode 100644
index 0000000..a5a9a2a
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state5.js
@@ -0,0 +1,44 @@
+var accel = 500;
+var platformGroup;
+demo.state5 = function(){};
+demo.state5.prototype = {
+    preload: function(){
+        game.load.image('platform', 'assets/sprites/rakenus_apustus.jpg');
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state5');
+        
+        saber = game.add.sprite(centerX, 500, 'saber');
+        platform = game.add.sprite(0, 800, 'platform');
+        
+        platformGroup = game.add.group();
+        platformGroup.create(650, 400, 'platform');
+        platformGroup.create(1300, 400, 'platform');
+        
+        game.physics.enable([saber, platform, platformGroup]);
+        
+        saber.body.gravity.y = 500;
+        saber.body.bounce.y = 0.3;
+        saber.body.collideWorldBounds = true;
+        
+        platform.body.immovable = true;
+        
+        platformGroup.setAll('body.immovable', true);
+    },
+    update: function(){
+        game.physics.arcade.collide(saber, [platform, platformGroup]);
+        if(game.input.keyboard.isDown(Phaser.Keyboard.LEFT)){
+            saber.body.acceleration.x = -accel;
+        }
+        else if(game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)){
+            saber.body.acceleration.x = accel;
+        }
+        else {
+            saber.body.acceleration.x = 0;
+        }
+        if(game.input.keyboard.isDown(Phaser.Keyboard.UP)){
+            saber.body.velocity.y = -300;
+        }
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state6.js b/public/phaser-harkat/phaser-udemy/state6.js
new file mode 100644
index 0000000..74eecfc
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state6.js
@@ -0,0 +1,39 @@
+var volcano;
+demo.state6 = function(){};
+demo.state6.prototype = {
+    preload: function(){
+        game.load.image('button2', 'assets/sprites/rakenus_apustus.jpg');
+        game.load.image('button1', 'assets/sprites/armeija_apustus.png');
+        game.load.image('button3', 'assets/sprites/täräntänkö.jpg');
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state6');
+        
+        volcano = game.add.sprite(centerX, 1000, 'button2');
+        volcano.anchor.setTo(0.5,1);
+        volcano.scale.setTo(4);
+        
+        var emitter = game.add.emitter(centerX+600, centerY+500, 500);
+        emitter.scale.setTo(0.5);
+       
+        emitter.makeParticles(['button1', 'button3'], 0, 5000, false, true);
+        emitter.maxParticleSpeed.set(300, -300);
+        emitter.minParticleSpeed.set(-300, -100);
+        emitter.gravity = 300;
+        
+        game.time.events.add(2000, function(){
+            emitter.start(false,5000, 20);
+            game.time.events.loop(500, function(){
+                if(emitter.on){
+                    emitter.on = false;   
+                }
+                else{
+                    emitter.on = true;
+                }
+            });
+        });
+        
+    },
+    update: function(){}
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state7.js b/public/phaser-harkat/phaser-udemy/state7.js
new file mode 100644
index 0000000..d097ca7
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state7.js
@@ -0,0 +1,58 @@
+var arrow;
+var startPointX;
+var startPointY;
+var endPointX;
+var endPointY;
+var swipeDirection;
+var leeway = 10;
+
+demo.state7 = function(){};
+demo.state7.prototype = {
+    preload: function(){
+        game.load.image('arrow', 'assets/sprites/arrow.png');
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state7');
+        
+        arrow = game.add.sprite(centerX,centerY, 'arrow');
+        arrow.anchor.setTo(0.5);
+        
+        game.input.onDown.add(this.startSwipe);
+        game.input.onUp.add(this.getSwipeDirection);
+    },
+    update: function(){},
+    
+    startSwipe: function(){
+        startPointX = game.input.x;
+        startPointY = game.input.y;
+    },
+    getSwipeDirection: function(){
+        endPointX = game.input.x;
+        endPointY = game.input.y;
+        
+        if(Math.abs(endPointY-startPointY) < leeway && Math.abs(endPointX - endPointY) < leeway){
+           return false;
+            }
+        if(Math.abs(endPointY-startPointY) < Math.abs(endPointX - startPointX)){
+            console.log("horizontal");
+            if(endPointX > startPointX){
+                swipeDirection = 90;
+            }
+            else{
+                swipeDirection = 270;
+            }
+        }
+        else{
+            console.log('vertical');
+            if(endPointY > startPointY){
+                swipeDirection = 180;
+            }
+            else{
+                swipeDirection = 0;
+            }
+        }
+        
+        arrow.angle = swipeDirection;
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state8.js b/public/phaser-harkat/phaser-udemy/state8.js
new file mode 100644
index 0000000..8ada28e
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state8.js
@@ -0,0 +1,46 @@
+var text;
+
+WebFontConfig = {
+    google: {families: ['Coiny', 'Taprom'] }
+};
+
+demo.state8 = function(){};
+demo.state8.prototype = {
+    preload: function(){
+        game.load.script('webfont', '//ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js');
+    },
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state8');
+        
+        text = 'poae nrbnöe rbnöain tbisntö binsöi tbnösi ntböisntöbinsöitbösi ntbsekntlknt ebntbj kstbn sötnbösntbs nrtbnsrtbnstnbösntä ban4ä ioä4ihnga3h4gaigörfk nbözfnbitbs örtkbnstnbsn tböisntböi nsrtö ibnstinb sintbösnrtöbn srtbsötnböis nrtböinstöib knrstiobnsöitbs';
+         
+        //game.add.text(100, 400, 'Hello World', {fontSize: '100px', fill: '#fff'});
+        
+        this.spellOutText(100, 100, 1000, text, 40, 40, '#fff', 'Coiny');
+        this.spellOutText(100, 600, 1000, text, 40, 20, '#000', 'Taprom');
+    },
+    spellOutText: function(x, y, width, text, fontSize, speed, fill, font){
+        var sentence = game.add.text(x,y,'', {fontSize: fontSize + 'px', fill: fill, font: font});
+        var currentLine = game.add.text(10,10,'', {fontSize: fontSize + 'px', font: font});
+        currentLine.alpha = 0;
+        var loop = game.time.events.loop(speed, addChar);
+        
+        var index = 0;
+        
+        function addChar(){
+            sentence.text += text[index];
+            currentLine.text += text[index];
+            
+            if(currentLine.width > width && text[index] == ' '){
+                sentence.text += '\n';
+                currentLine.text = '';
+            }
+            if( index >= text.length-1){
+                game.time.events.remove(loop);
+                console.log('stop');
+            }
+            index++;
+        }
+    }
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/state9.js b/public/phaser-harkat/phaser-udemy/state9.js
new file mode 100644
index 0000000..a6f5c09
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/state9.js
@@ -0,0 +1,20 @@
+var hsText = [];
+var hs = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
+
+demo.state9 = function(){};
+demo.state9.prototype = {
+    preload: function(){},
+    create: function(){
+        game.stage.backgroundColor = '#DDDDDD';
+        console.log('state9');
+        
+        for (let i = 1; i < 11; i++ ){
+            game.add.text(500, 20+(i*90), i + '. ', {fontSize: '40px'}).anchor.setTo(1,0);
+        }
+        
+        for(let i = 0; i<10; i++){
+            hsText[i] = game.add.text(500, 20+((i+1)*90), hs[i], {fontSize: '40px'});
+        }
+    },
+    update: function(){}
+};
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser-udemy/style.css b/public/phaser-harkat/phaser-udemy/style.css
new file mode 100644
index 0000000..4e41b69
--- /dev/null
+++ b/public/phaser-harkat/phaser-udemy/style.css
@@ -0,0 +1,3 @@
+body {
+    margin: 0;
+}
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser/phaser.min.js b/public/phaser-harkat/phaser/phaser.min.js
new file mode 100644
index 0000000..e6b5575
--- /dev/null
+++ b/public/phaser-harkat/phaser/phaser.min.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Phaser",[],e):"object"==typeof exports?exports.Phaser=e():t.Phaser=e()}(window,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},i.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1127)}([function(t,e){function i(t,e,i){var n=i?t[e]:Object.getOwnPropertyDescriptor(t,e);return!i&&n.value&&"object"==typeof n.value&&(n=n.value),!(!n||!function(t){return!!t.get&&"function"==typeof t.get||!!t.set&&"function"==typeof t.set}(n))&&(void 0===n.enumerable&&(n.enumerable=!0),void 0===n.configurable&&(n.configurable=!0),n)}function n(t,e){var i=Object.getOwnPropertyDescriptor(t,e);return!!i&&(i.value&&"object"==typeof i.value&&(i=i.value),!1===i.configurable)}function s(t,e,s,r){for(var a in e)if(e.hasOwnProperty(a)){var h=i(e,a,s);if(!1!==h){if(n((r||t).prototype,a)){if(o.ignoreFinals)continue;throw new Error("cannot override final property '"+a+"', set Class.ignoreFinals = true to skip")}Object.defineProperty(t.prototype,a,h)}else t.prototype[a]=e[a]}}function r(t,e){if(e){Array.isArray(e)||(e=[e]);for(var i=0;i<e.length;i++)s(t,e[i].prototype||e[i])}}function o(t){var e,i;if(t||(t={}),t.initialize){if("function"!=typeof t.initialize)throw new Error("initialize must be a function");e=t.initialize,delete t.initialize}else if(t.Extends){var n=t.Extends;e=function(){n.apply(this,arguments)}}else e=function(){};t.Extends?(e.prototype=Object.create(t.Extends.prototype),e.prototype.constructor=e,i=t.Extends,delete t.Extends):e.prototype.constructor=e;var o=null;return t.Mixins&&(o=t.Mixins,delete t.Mixins),r(e,o),s(e,t,!0,i),e}o.extend=s,o.mixin=r,o.ignoreFinals=!1,t.exports=o},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e,i){var n=typeof t;return t&&"number"!==n&&"string"!==n&&t.hasOwnProperty(e)&&void 0!==t[e]?t[e]:i}},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.x=0,this.y=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0):(void 0===e&&(e=t),this.x=t||0,this.y=e||0)},clone:function(){return new n(this.x,this.y)},copy:function(t){return this.x=t.x||0,this.y=t.y||0,this},setFromObject:function(t){return this.x=t.x||0,this.y=t.y||0,this},set:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setTo:function(t,e){return this.set(t,e)},setToPolar:function(t,e){return null==e&&(e=1),this.x=Math.cos(t)*e,this.y=Math.sin(t)*e,this},equals:function(t){return this.x===t.x&&this.y===t.y},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},scale:function(t){return isFinite(t)?(this.x*=t,this.y*=t):(this.x=0,this.y=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},negate:function(){return this.x=-this.x,this.y=-this.y,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},length:function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},lengthSq:function(){var t=this.x,e=this.y;return t*t+e*e},normalize:function(){var t=this.x,e=this.y,i=t*t+e*e;return i>0&&(i=1/Math.sqrt(i),this.x=t*i,this.y=e*i),this},normalizeRightHand:function(){var t=this.x;return this.x=-1*this.y,this.y=t,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this},transformMat3:function(t){var e=this.x,i=this.y,n=t.val;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[7],this},transformMat4:function(t){var e=this.x,i=this.y,n=t.val;return this.x=n[0]*e+n[4]*i+n[12],this.y=n[1]*e+n[5]*i+n[13],this},reset:function(){return this.x=0,this.y=0,this}});n.ZERO=new n,t.exports=n},function(t,e){t.exports=function(t,e,i){if(t&&"number"!=typeof t){if(t.hasOwnProperty(e))return t[e];if(e.indexOf(".")){for(var n=e.split("."),s=t,r=i,o=0;o<n.length;o++){if(!s.hasOwnProperty(n[o])){r=i;break}r=s[n[o]],s=s[n[o]]}return r}return i}return i}},function(t,e,i){var n=i(0),s=i(15),r=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.displayList,this.updateList,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.systems.events.once("destroy",this.destroy,this)},start:function(){this.systems.events.once("shutdown",this.shutdown,this)},existing:function(t){return(t.renderCanvas||t.renderWebGL)&&this.displayList.add(t),t.preUpdate&&this.updateList.add(t),t},shutdown:function(){this.systems.events.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null,this.displayList=null,this.updateList=null}});r.register=function(t,e){r.prototype.hasOwnProperty(t)||(r.prototype[t]=e)},s.register("GameObjectFactory",r,"add"),t.exports=r},function(t,e,i){var n=new(i(0))({initialize:function(t,e){void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e},setTo:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e,this}});t.exports=n},function(t,e){var i={},n={install:function(t){for(var e in i)t[e]=i[e]},register:function(t,e){i[t]=e},destroy:function(){i={}}};t.exports=n},function(t,e){t.exports=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}},function(t,e,i){var n=i(0),s=i(39),r=i(190),o=i(398),a=i(54),h=i(187),l=new n({initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.width=i,this.height=n},contains:function(t,e){return s(this,t,e)},getPoint:function(t,e){return r(this,t,e)},getPoints:function(t,e,i){return o(this,t,e,i)},getRandomPoint:function(t){return h(this,t)},setTo:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},setEmpty:function(){return this.setTo(0,0,0,0)},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setSize:function(t,e){return void 0===e&&(e=t),this.width=t,this.height=e,this},isEmpty:function(){return this.width<=0||this.height<=0},getLineA:function(t){return void 0===t&&(t=new a),t.setTo(this.x,this.y,this.right,this.y),t},getLineB:function(t){return void 0===t&&(t=new a),t.setTo(this.right,this.y,this.right,this.bottom),t},getLineC:function(t){return void 0===t&&(t=new a),t.setTo(this.right,this.bottom,this.x,this.bottom),t},getLineD:function(t){return void 0===t&&(t=new a),t.setTo(this.x,this.bottom,this.x,this.y),t},left:{get:function(){return this.x},set:function(t){t>=this.right?this.width=0:this.width=this.right-t,this.x=t}},right:{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}},top:{get:function(){return this.y},set:function(t){t>=this.bottom?this.height=0:this.height=this.bottom-t,this.y=t}},bottom:{get:function(){return this.y+this.height},set:function(t){t<=this.y?this.height=0:this.height=t-this.y}},centerX:{get:function(){return this.x+this.width/2},set:function(t){this.x=t-this.width/2}},centerY:{get:function(){return this.y+this.height/2},set:function(t){this.y=t-this.height/2}}});t.exports=l},function(t,e){t.exports={getTintFromFloats:function(t,e,i,n){return((255&(255*n|0))<<24|(255&(255*t|0))<<16|(255&(255*e|0))<<8|255&(255*i|0))>>>0},getTintAppendFloatAlpha:function(t,e){return((255&(255*e|0))<<24|t)>>>0},getTintAppendFloatAlphaAndSwap:function(t,e){return((255&(255*e|0))<<24|(255&(0|t))<<16|(255&(t>>8|0))<<8|255&(t>>16|0))>>>0},getFloatsFromUintRGB:function(t){return[(255&(t>>16|0))/255,(255&(t>>8|0))/255,(255&(0|t))/255]},getComponentCount:function(t,e){for(var i=0,n=0;n<t.length;++n){var s=t[n];s.type===e.FLOAT?i+=s.size:i+=1}return i}}},function(t,e,i){"use strict";var n=Object.prototype.hasOwnProperty,s="~";function r(){}function o(t,e,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var o=new function(t,e,i){this.fn=t,this.context=e,this.once=i||!1}(i,n||t,r),a=s?s+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],o]:t._events[a].push(o):(t._events[a]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function h(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(s=!1)),h.prototype.eventNames=function(){var t,e,i=[];if(0===this._eventsCount)return i;for(e in t=this._events)n.call(t,e)&&i.push(s?e.slice(1):e);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},h.prototype.listeners=function(t){var e=s?s+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,r=i.length,o=new Array(r);n<r;n++)o[n]=i[n].fn;return o},h.prototype.listenerCount=function(t){var e=s?s+t:t,i=this._events[e];return i?i.fn?1:i.length:0},h.prototype.emit=function(t,e,i,n,r,o){var a=s?s+t:t;if(!this._events[a])return!1;var h,l,u=this._events[a],c=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,i),!0;case 4:return u.fn.call(u.context,e,i,n),!0;case 5:return u.fn.call(u.context,e,i,n,r),!0;case 6:return u.fn.call(u.context,e,i,n,r,o),!0}for(l=1,h=new Array(c-1);l<c;l++)h[l-1]=arguments[l];u.fn.apply(u.context,h)}else{var d,f=u.length;for(l=0;l<f;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),c){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,e);break;case 3:u[l].fn.call(u[l].context,e,i);break;case 4:u[l].fn.call(u[l].context,e,i,n);break;default:if(!h)for(d=1,h=new Array(c-1);d<c;d++)h[d-1]=arguments[d];u[l].fn.apply(u[l].context,h)}}return!0},h.prototype.on=function(t,e,i){return o(this,t,e,i,!1)},h.prototype.once=function(t,e,i){return o(this,t,e,i,!0)},h.prototype.removeListener=function(t,e,i,n){var r=s?s+t:t;if(!this._events[r])return this;if(!e)return a(this,r),this;var o=this._events[r];if(o.fn)o.fn!==e||n&&!o.once||i&&o.context!==i||a(this,r);else{for(var h=0,l=[],u=o.length;h<u;h++)(o[h].fn!==e||n&&!o[h].once||i&&o[h].context!==i)&&l.push(o[h]);l.length?this._events[r]=1===l.length?l[0]:l:a(this,r)}return this},h.prototype.removeAllListeners=function(t){var e;return t?(e=s?s+t:t,this._events[e]&&a(this,e)):(this._events=new r,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=s,h.EventEmitter=h,t.exports=h},function(t,e,i){var n=i(16),s=i(4);t.exports=function(t,e,i){var r=s(t,e,null);if(null===r)return i;if(Array.isArray(r))return n.RND.pick(r);if("object"==typeof r){if(r.hasOwnProperty("randInt"))return n.RND.integerInRange(r.randInt[0],r.randInt[1]);if(r.hasOwnProperty("randFloat"))return n.RND.realInRange(r.randFloat[0],r.randFloat[1])}else if("function"==typeof r)return r(e);return r}},function(t,e,i){var n=i(0),s=i(15),r=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.displayList,this.updateList,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.displayList=this.systems.displayList,this.updateList=this.systems.updateList,this.systems.events.once("destroy",this.destroy,this)},start:function(){this.systems.events.once("shutdown",this.shutdown,this)},shutdown:function(){this.systems.events.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null,this.displayList=null,this.updateList=null}});r.register=function(t,e){r.prototype.hasOwnProperty(t)||(r.prototype[t]=e)},s.register("GameObjectCreator",r,"make"),t.exports=r},function(t,e,i){t.exports={Alpha:i(401),Animation:i(427),BlendMode:i(400),ComputedSize:i(1045),Crop:i(1044),Depth:i(399),Flip:i(1043),GetBounds:i(1042),Mask:i(395),Origin:i(1041),Pipeline:i(186),ScaleMode:i(1040),ScrollFactor:i(392),Size:i(1039),Texture:i(1038),TextureCrop:i(1037),Tint:i(1036),ToJSON:i(391),Transform:i(390),TransformMatrix:i(38),Visible:i(389)}},function(t,e){var i={},n={},s={register:function(t,e,n,s){void 0===s&&(s=!1),i[t]={plugin:e,mapping:n,custom:s}},registerCustom:function(t,e,i,s){n[t]={plugin:e,mapping:i,data:s}},hasCore:function(t){return i.hasOwnProperty(t)},hasCustom:function(t){return n.hasOwnProperty(t)},getCore:function(t){return i[t]},getCustom:function(t){return n[t]},getCustomClass:function(t){return n.hasOwnProperty(t)?n[t].plugin:null},remove:function(t){i.hasOwnProperty(t)&&delete i[t]},removeCustom:function(t){n.hasOwnProperty(t)&&delete n[t]},destroyCorePlugins:function(){for(var t in i)i.hasOwnProperty(t)&&delete i[t]},destroyCustomPlugins:function(){for(var t in n)n.hasOwnProperty(t)&&delete n[t]}};t.exports=s},function(t,e,i){var n=i(404),s={PI2:2*Math.PI,TAU:.5*Math.PI,EPSILON:1e-6,DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,RND:new n};t.exports=s},function(t,e,i){var n=i(2);t.exports=function(t,e,i,s,r,o){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=o.width),void 0===s&&(s=o.height);var a=n(r,"isNotEmpty",!1),h=n(r,"isColliding",!1),l=n(r,"hasInterestingFace",!1);t<0&&(i+=t,t=0),e<0&&(s+=e,e=0),t+i>o.width&&(i=Math.max(o.width-t,0)),e+s>o.height&&(s=Math.max(o.height-e,0));for(var u=[],c=e;c<e+s;c++)for(var d=t;d<t+i;d++){var f=o.data[c][d];if(null!==f){if(a&&-1===f.index)continue;if(h&&!f.collides)continue;if(l&&!f.hasInterestingFace)continue;u.push(f)}}return u}},function(t,e){t.exports={LOADER_IDLE:0,LOADER_LOADING:1,LOADER_PROCESSING:2,LOADER_COMPLETE:3,LOADER_SHUTDOWN:4,LOADER_DESTROYED:5,FILE_PENDING:10,FILE_LOADING:11,FILE_LOADED:12,FILE_FAILED:13,FILE_PROCESSING:14,FILE_ERRORED:16,FILE_COMPLETE:17,FILE_DESTROYED:18,FILE_POPULATED:19}},function(t,e,i){var n=i(0),s=i(391),r=i(123),o=i(11),a=new n({Extends:o,initialize:function(t,e){o.call(this),this.scene=t,this.type=e,this.parentContainer=null,this.name="",this.active=!0,this.tabIndex=-1,this.data=null,this.renderFlags=15,this.cameraFilter=0,this.input=null,this.body=null,this.ignoreDestroy=!1,t.sys.queueDepthSort()},setActive:function(t){return this.active=t,this},setName:function(t){return this.name=t,this},setDataEnabled:function(){return this.data||(this.data=new r(this)),this},setData:function(t,e){return this.data||(this.data=new r(this)),this.data.set(t,e),this},getData:function(t){return this.data||(this.data=new r(this)),this.data.get(t)},setInteractive:function(t,e,i){return this.scene.sys.input.enable(this,t,e,i),this},disableInteractive:function(){return this.input&&(this.input.enabled=!1),this},removeInteractive:function(){return this.scene.sys.input.clear(this),this.input=void 0,this},update:function(){},toJSON:function(){return s(this)},willRender:function(t){return!(a.RENDER_MASK!==this.renderFlags||this.cameraFilter>0&&this.cameraFilter&t.id)},getIndexList:function(){for(var t=this,e=this.parentContainer,i=[];e&&(i.unshift(e.getIndex(t)),t=e,e.parentContainer);)e=e.parentContainer;return i.unshift(this.scene.sys.displayList.getIndex(t)),i},destroy:function(t){if(void 0===t&&(t=!1),this.scene&&!this.ignoreDestroy){this.preDestroy&&this.preDestroy.call(this),this.emit("destroy",this);var e=this.scene.sys;t||(e.displayList.remove(this),e.updateList.remove(this)),this.input&&(e.input.clear(this),this.input=void 0),this.data&&(this.data.destroy(),this.data=void 0),this.body&&(this.body.destroy(),this.body=void 0),t||e.queueDepthSort(),this.active=!1,this.visible=!1,this.scene=void 0,this.parentContainer=void 0,this.removeAllListeners()}}});a.RENDER_MASK=15,t.exports=a},function(t,e,i){var n=i(8),s=function(){var t,e,i,r,o,a,h=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof h&&(c=h,h=arguments[1]||{},l=2),u===l&&(h=this,--l);l<u;l++)if(null!=(t=arguments[l]))for(e in t)i=h[e],h!==(r=t[e])&&(c&&r&&(n(r)||(o=Array.isArray(r)))?(o?(o=!1,a=i&&Array.isArray(i)?i:[]):a=i&&n(i)?i:{},h[e]=s(c,a,r)):void 0!==r&&(h[e]=r));return h};t.exports=s},function(t,e,i){var n=i(0),s=i(18),r=i(2),o=i(141),a=i(140),h=i(254),l=i(105),u=new n({initialize:function(t,e){this.loader=t,this.cache=r(e,"cache",!1),this.type=r(e,"type",!1),this.key=r(e,"key",!1);var i=this.key;if(t.prefix&&""!==t.prefix&&(this.key=t.prefix+i),!this.type||!this.key)throw new Error("Error calling 'Loader."+this.type+"' invalid key provided.");this.url=r(e,"url"),void 0===this.url?this.url=t.path+i+"."+r(e,"extension",""):"function"!=typeof this.url&&(this.url=t.path+this.url),this.src="",this.xhrSettings=l(r(e,"responseType",void 0)),r(e,"xhrSettings",!1)&&(this.xhrSettings=a(this.xhrSettings,r(e,"xhrSettings",{}))),this.xhrLoader=null,this.state="function"==typeof this.url?s.FILE_POPULATED:s.FILE_PENDING,this.bytesTotal=0,this.bytesLoaded=-1,this.percentComplete=-1,this.crossOrigin=void 0,this.data=void 0,this.config=r(e,"config",{}),this.multiFile,this.linkFile},setLink:function(t){this.linkFile=t,t.linkFile=this},resetXHR:function(){this.xhrLoader&&(this.xhrLoader.onload=void 0,this.xhrLoader.onerror=void 0,this.xhrLoader.onprogress=void 0)},load:function(){this.state===s.FILE_POPULATED?this.loader.nextFile(this,!0):(this.src=o(this,this.loader.baseURL),0===this.src.indexOf("data:")?console.warn("Local data URIs are not supported: "+this.key):this.xhrLoader=h(this,this.loader.xhr))},onLoad:function(t,e){var i=!(e.target&&200!==e.target.status);4===t.readyState&&t.status>=400&&t.status<=599&&(i=!1),this.resetXHR(),this.loader.nextFile(this,i)},onError:function(){this.resetXHR(),this.loader.nextFile(this,!1)},onProgress:function(t){t.lengthComputable&&(this.bytesLoaded=t.loaded,this.bytesTotal=t.total,this.percentComplete=Math.min(this.bytesLoaded/this.bytesTotal,1),this.loader.emit("fileprogress",this,this.percentComplete))},onProcess:function(){this.state=s.FILE_PROCESSING,this.onProcessComplete()},onProcessComplete:function(){this.state=s.FILE_COMPLETE,this.multiFile&&this.multiFile.onFileComplete(this),this.loader.fileProcessComplete(this)},onProcessError:function(){this.state=s.FILE_ERRORED,this.multiFile&&this.multiFile.onFileFailed(this),this.loader.fileProcessComplete(this)},hasCacheConflict:function(){return this.cache&&this.cache.exists(this.key)},addToCache:function(){this.cache&&this.cache.add(this.key,this.data),this.pendingDestroy()},pendingDestroy:function(t){void 0===t&&(t=this.data);var e=this.key,i=this.type;this.loader.emit("filecomplete",e,i,t),this.loader.emit("filecomplete-"+i+"-"+e,e,i,t),this.loader.flagForRemoval(this)},destroy:function(){this.loader=null,this.cache=null,this.xhrSettings=null,this.multiFile=null,this.linkFile=null,this.data=null}});u.createObjectURL=function(t,e,i){if("function"==typeof URL)t.src=URL.createObjectURL(e);else{var n=new FileReader;n.onload=function(){t.removeAttribute("crossOrigin"),t.src="data:"+(e.type||i)+";base64,"+n.result.split(",")[1]},n.onerror=t.onerror,n.readAsDataURL(e)}},u.revokeObjectURL=function(t){"function"==typeof URL&&URL.revokeObjectURL(t.src)},t.exports=u},function(t,e){t.exports=function(t,e,i,n,s){var r=n.alpha*i.alpha;if(r<=0)return!1;var o=t._tempMatrix1.copyFromArray(n.matrix.matrix),a=t._tempMatrix2.applyITRS(i.x,i.y,i.rotation,i.scaleX,i.scaleY),h=t._tempMatrix3;return s?(o.multiplyWithOffset(s,-n.scrollX*i.scrollFactorX,-n.scrollY*i.scrollFactorY),a.e=i.x,a.f=i.y,o.multiply(a,h)):(a.e-=n.scrollX*i.scrollFactorX,a.f-=n.scrollY*i.scrollFactorY,o.multiply(a,h)),e.globalCompositeOperation=t.blendModes[i.blendMode],e.globalAlpha=r,e.save(),h.setToContext(e),!0}},function(t,e){t.exports=function(t,e,i){return Math.max(e,Math.min(i,t))}},function(t,e,i){var n,s,r,o=i(26),a=i(120),h=[],l=!1;t.exports={create2D:function(t,e,i){return n(t,e,i,o.CANVAS)},create:n=function(t,e,i,n,r){var u;void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=o.CANVAS),void 0===r&&(r=!1);var c=s(n);return null===c?(c={parent:t,canvas:document.createElement("canvas"),type:n},n===o.CANVAS&&h.push(c),u=c.canvas):(c.parent=t,u=c.canvas),r&&(c.parent=u),u.width=e,u.height=i,l&&n===o.CANVAS&&a.disable(u.getContext("2d")),u},createWebGL:function(t,e,i){return n(t,e,i,o.WEBGL)},disableSmoothing:function(){l=!0},enableSmoothing:function(){l=!1},first:s=function(t){if(void 0===t&&(t=o.CANVAS),t===o.WEBGL)return null;for(var e=0;e<h.length;e++){var i=h[e];if(!i.parent&&i.type===t)return i}return null},free:function(){return h.length-r()},pool:h,remove:function(t){var e=t instanceof HTMLCanvasElement;h.forEach(function(i){(e&&i.canvas===t||!e&&i.parent===t)&&(i.parent=null,i.canvas.width=1,i.canvas.height=1)})},total:r=function(){var t=0;return h.forEach(function(e){e.parent&&t++}),t}}},function(t,e){t.exports=function(t,e,i,n,s,r){var o;void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=1);var a=0,h=t.length;if(1===r)for(o=s;o<h;o++)t[o][e]=i+a*n,a++;else for(o=s;o>=0;o--)t[o][e]=i+a*n,a++;return t}},function(t,e,i){var n={VERSION:"3.15.1",BlendModes:i(66),ScaleModes:i(94),AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,FOREVER:-1,NONE:4,UP:5,DOWN:6,LEFT:7,RIGHT:8};t.exports=n},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(54),a=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.GetBounds,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.ScrollFactor,s.Transform,s.Visible],initialize:function(t,e,i){void 0===e&&(e="Shape"),r.call(this,t,e),this.geom=i,this.pathData=[],this.pathIndexes=[],this.fillColor=16777215,this.fillAlpha=1,this.strokeColor=16777215,this.strokeAlpha=1,this.lineWidth=1,this.isFilled=!1,this.isStroked=!1,this.closePath=!0,this._tempLine=new o,this.initPipeline()},setFillStyle:function(t,e){return void 0===e&&(e=1),void 0===t?this.isFilled=!1:(this.fillColor=t,this.fillAlpha=e,this.isFilled=!0),this},setStrokeStyle:function(t,e,i){return void 0===i&&(i=1),void 0===t?this.isStroked=!1:(this.lineWidth=t,this.strokeColor=e,this.strokeAlpha=i,this.isStroked=!0),this},setClosePath:function(t){return this.closePath=t,this},preDestroy:function(){this.geom=null,this._tempLine=null,this.pathData=[],this.pathIndexes=[]}});t.exports=a},function(t,e,i){var n=i(66),s=i(12),r=i(94);t.exports=function(t,e,i){e.x=s(i,"x",0),e.y=s(i,"y",0),e.depth=s(i,"depth",0),e.flipX=s(i,"flipX",!1),e.flipY=s(i,"flipY",!1);var o=s(i,"scale",null);"number"==typeof o?e.setScale(o):null!==o&&(e.scaleX=s(o,"x",1),e.scaleY=s(o,"y",1));var a=s(i,"scrollFactor",null);"number"==typeof a?e.setScrollFactor(a):null!==a&&(e.scrollFactorX=s(a,"x",1),e.scrollFactorY=s(a,"y",1)),e.rotation=s(i,"rotation",0);var h=s(i,"angle",null);null!==h&&(e.angle=h),e.alpha=s(i,"alpha",1);var l=s(i,"origin",null);if("number"==typeof l)e.setOrigin(l);else if(null!==l){var u=s(l,"x",.5),c=s(l,"y",.5);e.setOrigin(u,c)}return e.scaleMode=s(i,"scaleMode",r.DEFAULT),e.blendMode=s(i,"blendMode",n.NORMAL),e.visible=s(i,"visible",!0),s(i,"add",!0)&&t.sys.displayList.add(e),e.preUpdate&&t.sys.updateList.add(e),e}},function(t,e){t.exports={CSV:0,TILED_JSON:1,ARRAY_2D:2,WELTMEISTER:3}},function(t,e){t.exports=function(t,e,i){var n=i||e.fillColor,s=e.fillAlpha,r=(16711680&n)>>>16,o=(65280&n)>>>8,a=255&n;t.fillStyle="rgba("+r+","+o+","+a+","+s+")"}},function(t,e,i){var n=i(16);t.exports=function(t){return t*n.DEG_TO_RAD}},function(t,e){t.exports=function(t,e,i,n,s,r){var o;void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=1);var a=0,h=t.length;if(1===r)for(o=s;o<h;o++)t[o][e]+=i+a*n,a++;else for(o=s;o>=0;o--)t[o][e]+=i+a*n,a++;return t}},function(t,e,i){(function(e){var i={};t.exports=i,function(){i._nextId=0,i._seed=0,i._nowStartTime=+new Date,i.extend=function(t,e){var n,s;"boolean"==typeof e?(n=2,s=e):(n=1,s=!0);for(var r=n;r<arguments.length;r++){var o=arguments[r];if(o)for(var a in o)s&&o[a]&&o[a].constructor===Object?t[a]&&t[a].constructor!==Object?t[a]=o[a]:(t[a]=t[a]||{},i.extend(t[a],s,o[a])):t[a]=o[a]}return t},i.clone=function(t,e){return i.extend({},e,t)},i.keys=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var i in t)e.push(i);return e},i.values=function(t){var e=[];if(Object.keys){for(var i=Object.keys(t),n=0;n<i.length;n++)e.push(t[i[n]]);return e}for(var s in t)e.push(t[s]);return e},i.get=function(t,e,i,n){e=e.split(".").slice(i,n);for(var s=0;s<e.length;s+=1)t=t[e[s]];return t},i.set=function(t,e,n,s,r){var o=e.split(".").slice(s,r);return i.get(t,e,0,-1)[o[o.length-1]]=n,n},i.shuffle=function(t){for(var e=t.length-1;e>0;e--){var n=Math.floor(i.random()*(e+1)),s=t[e];t[e]=t[n],t[n]=s}return t},i.choose=function(t){return t[Math.floor(i.random()*t.length)]},i.isElement=function(t){return"undefined"!=typeof HTMLElement?t instanceof HTMLElement:!!(t&&t.nodeType&&t.nodeName)},i.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},i.isFunction=function(t){return"function"==typeof t},i.isPlainObject=function(t){return"object"==typeof t&&t.constructor===Object},i.isString=function(t){return"[object String]"===toString.call(t)},i.clamp=function(t,e,i){return t<e?e:t>i?i:t},i.sign=function(t){return t<0?-1:1},i.now=function(){if(window.performance){if(window.performance.now)return window.performance.now();if(window.performance.webkitNow)return window.performance.webkitNow()}return new Date-i._nowStartTime},i.random=function(e,i){return e=void 0!==e?e:0,i=void 0!==i?i:1,e+t()*(i-e)};var t=function(){return i._seed=(9301*i._seed+49297)%233280,i._seed/233280};i.colorToNumber=function(t){return 3==(t=t.replace("#","")).length&&(t=t.charAt(0)+t.charAt(0)+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)),parseInt(t,16)},i.logLevel=1,i.log=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.info=function(){console&&i.logLevel>0&&i.logLevel<=2&&console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warn=function(){console&&i.logLevel>0&&i.logLevel<=3&&console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.nextId=function(){return i._nextId++},i.indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1},i.map=function(t,e){if(t.map)return t.map(e);for(var i=[],n=0;n<t.length;n+=1)i.push(e(t[n]));return i},i.topologicalSort=function(t){var e=[],n=[],s=[];for(var r in t)n[r]||s[r]||i._topologicalSort(r,n,s,t,e);return e},i._topologicalSort=function(t,e,n,s,r){var o=s[t]||[];n[t]=!0;for(var a=0;a<o.length;a+=1){var h=o[a];n[h]||(e[h]||i._topologicalSort(h,e,n,s,r))}n[t]=!1,e[t]=!0,r.push(t)},i.chain=function(){for(var t=[],e=0;e<arguments.length;e+=1){var i=arguments[e];i._chained?t.push.apply(t,i._chained):t.push(i)}var n=function(){for(var e,i=new Array(arguments.length),n=0,s=arguments.length;n<s;n++)i[n]=arguments[n];for(n=0;n<t.length;n+=1){var r=t[n].apply(e,i);void 0!==r&&(e=r)}return e};return n._chained=t,n},i.chainPathBefore=function(t,e,n){return i.set(t,e,i.chain(n,i.get(t,e)))},i.chainPathAfter=function(t,e,n){return i.set(t,e,i.chain(i.get(t,e),n))},i._requireGlobal=function(t,i){return"undefined"!=typeof window?window[t]:void 0!==e?e[t]:null}}()}).call(this,i(200))},function(t,e,i){var n=i(102),s=i(17);t.exports=function(t,e,i,r,o){for(var a=null,h=null,l=null,u=null,c=s(t,e,i,r,null,o),d=0;d<c.length;d++){var f=c[d];f&&(f.collides?(a=n(f.x,f.y-1,!0,o),h=n(f.x,f.y+1,!0,o),l=n(f.x-1,f.y,!0,o),u=n(f.x+1,f.y,!0,o),f.faceTop=!a||!a.collides,f.faceBottom=!h||!h.collides,f.faceLeft=!l||!l.collides,f.faceRight=!u||!u.collides):f.resetFaces())}}},function(t,e){t.exports={DYNAMIC_BODY:0,STATIC_BODY:1,GROUP:2,TILEMAPLAYER:3,FACING_NONE:10,FACING_UP:11,FACING_DOWN:12,FACING_LEFT:13,FACING_RIGHT:14}},function(t,e){t.exports=function(t,e){var i=e.strokeColor,n=e.strokeAlpha,s=(16711680&i)>>>16,r=(65280&i)>>>8,o=255&i;t.strokeStyle="rgba("+s+","+r+","+o+","+n+")",t.lineWidth=e.lineWidth}},function(t,e,i){var n=i(0),s=i(177),r=i(376),o=i(176),a=i(375),h=new n({initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=255),this.r=0,this.g=0,this.b=0,this.a=255,this._h=0,this._s=0,this._v=0,this._locked=!1,this.gl=[0,0,0,1],this._color=0,this._color32=0,this._rgba="",this.setTo(t,e,i,n)},transparent:function(){return this._locked=!0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this._locked=!1,this.update(!0)},setTo:function(t,e,i,n,s){return void 0===n&&(n=255),void 0===s&&(s=!0),this._locked=!0,this.red=t,this.green=e,this.blue=i,this.alpha=n,this._locked=!1,this.update(s)},setGLTo:function(t,e,i,n){return void 0===n&&(n=1),this._locked=!0,this.redGL=t,this.greenGL=e,this.blueGL=i,this.alphaGL=n,this._locked=!1,this.update(!0)},setFromRGB:function(t){return this._locked=!0,this.red=t.r,this.green=t.g,this.blue=t.b,t.hasOwnProperty("a")&&(this.alpha=t.a),this._locked=!1,this.update(!0)},setFromHSV:function(t,e,i){return o(t,e,i,this)},update:function(t){if(void 0===t&&(t=!1),this._locked)return this;var e=this.r,i=this.g,n=this.b,o=this.a;return this._color=s(e,i,n),this._color32=r(e,i,n,o),this._rgba="rgba("+e+","+i+","+n+","+o/255+")",t&&a(e,i,n,this),this},updateHSV:function(){var t=this.r,e=this.g,i=this.b;return a(t,e,i,this),this},clone:function(){return new h(this.r,this.g,this.b,this.a)},gray:function(t){return this.setTo(t,t,t)},random:function(t,e){void 0===t&&(t=0),void 0===e&&(e=255);var i=Math.floor(t+Math.random()*(e-t)),n=Math.floor(t+Math.random()*(e-t)),s=Math.floor(t+Math.random()*(e-t));return this.setTo(i,n,s)},randomGray:function(t,e){void 0===t&&(t=0),void 0===e&&(e=255);var i=Math.floor(t+Math.random()*(e-t));return this.setTo(i,i,i)},saturate:function(t){return this.s+=t/100,this},desaturate:function(t){return this.s-=t/100,this},lighten:function(t){return this.v+=t/100,this},darken:function(t){return this.v-=t/100,this},brighten:function(t){var e=this.r,i=this.g,n=this.b;return e=Math.max(0,Math.min(255,e-Math.round(-t/100*255))),i=Math.max(0,Math.min(255,i-Math.round(-t/100*255))),n=Math.max(0,Math.min(255,n-Math.round(-t/100*255))),this.setTo(e,i,n)},color:{get:function(){return this._color}},color32:{get:function(){return this._color32}},rgba:{get:function(){return this._rgba}},redGL:{get:function(){return this.gl[0]},set:function(t){this.gl[0]=Math.min(Math.abs(t),1),this.r=Math.floor(255*this.gl[0]),this.update(!0)}},greenGL:{get:function(){return this.gl[1]},set:function(t){this.gl[1]=Math.min(Math.abs(t),1),this.g=Math.floor(255*this.gl[1]),this.update(!0)}},blueGL:{get:function(){return this.gl[2]},set:function(t){this.gl[2]=Math.min(Math.abs(t),1),this.b=Math.floor(255*this.gl[2]),this.update(!0)}},alphaGL:{get:function(){return this.gl[3]},set:function(t){this.gl[3]=Math.min(Math.abs(t),1),this.a=Math.floor(255*this.gl[3]),this.update()}},red:{get:function(){return this.r},set:function(t){t=Math.floor(Math.abs(t)),this.r=Math.min(t,255),this.gl[0]=t/255,this.update(!0)}},green:{get:function(){return this.g},set:function(t){t=Math.floor(Math.abs(t)),this.g=Math.min(t,255),this.gl[1]=t/255,this.update(!0)}},blue:{get:function(){return this.b},set:function(t){t=Math.floor(Math.abs(t)),this.b=Math.min(t,255),this.gl[2]=t/255,this.update(!0)}},alpha:{get:function(){return this.a},set:function(t){t=Math.floor(Math.abs(t)),this.a=Math.min(t,255),this.gl[3]=t/255,this.update()}},h:{get:function(){return this._h},set:function(t){this._h=t,o(t,this._s,this._v,this)}},s:{get:function(){return this._s},set:function(t){this._s=t,o(this._h,t,this._v,this)}},v:{get:function(){return this._v},set:function(t){this._v=t,o(this._h,this._s,t,this)}}});t.exports=h},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t,e,i,n,s,r){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===s&&(s=0),void 0===r&&(r=0),this.matrix=new Float32Array([t,e,i,n,s,r,0,0,1]),this.decomposedMatrix={translateX:0,translateY:0,scaleX:1,scaleY:1,rotation:0}},a:{get:function(){return this.matrix[0]},set:function(t){this.matrix[0]=t}},b:{get:function(){return this.matrix[1]},set:function(t){this.matrix[1]=t}},c:{get:function(){return this.matrix[2]},set:function(t){this.matrix[2]=t}},d:{get:function(){return this.matrix[3]},set:function(t){this.matrix[3]=t}},e:{get:function(){return this.matrix[4]},set:function(t){this.matrix[4]=t}},f:{get:function(){return this.matrix[5]},set:function(t){this.matrix[5]=t}},tx:{get:function(){return this.matrix[4]},set:function(t){this.matrix[4]=t}},ty:{get:function(){return this.matrix[5]},set:function(t){this.matrix[5]=t}},rotation:{get:function(){return Math.acos(this.a/this.scaleX)*(Math.atan(-this.c/this.a)<0?-1:1)}},scaleX:{get:function(){return Math.sqrt(this.a*this.a+this.c*this.c)}},scaleY:{get:function(){return Math.sqrt(this.b*this.b+this.d*this.d)}},loadIdentity:function(){var t=this.matrix;return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,this},translate:function(t,e){var i=this.matrix;return i[4]=i[0]*t+i[2]*e+i[4],i[5]=i[1]*t+i[3]*e+i[5],this},scale:function(t,e){var i=this.matrix;return i[0]*=t,i[1]*=t,i[2]*=e,i[3]*=e,this},rotate:function(t){var e=Math.sin(t),i=Math.cos(t),n=this.matrix,s=n[0],r=n[1],o=n[2],a=n[3];return n[0]=s*i+o*e,n[1]=r*i+a*e,n[2]=s*-e+o*i,n[3]=r*-e+a*i,this},multiply:function(t,e){var i=this.matrix,n=t.matrix,s=i[0],r=i[1],o=i[2],a=i[3],h=i[4],l=i[5],u=n[0],c=n[1],d=n[2],f=n[3],p=n[4],g=n[5],v=void 0===e?this:e;return v.a=u*s+c*o,v.b=u*r+c*a,v.c=d*s+f*o,v.d=d*r+f*a,v.e=p*s+g*o+h,v.f=p*r+g*a+l,v},multiplyWithOffset:function(t,e,i){var n=this.matrix,s=t.matrix,r=n[0],o=n[1],a=n[2],h=n[3],l=e*r+i*a+n[4],u=e*o+i*h+n[5],c=s[0],d=s[1],f=s[2],p=s[3],g=s[4],v=s[5];return n[0]=c*r+d*a,n[1]=c*o+d*h,n[2]=f*r+p*a,n[3]=f*o+p*h,n[4]=g*r+v*a+l,n[5]=g*o+v*h+u,this},transform:function(t,e,i,n,s,r){var o=this.matrix,a=o[0],h=o[1],l=o[2],u=o[3],c=o[4],d=o[5];return o[0]=t*a+e*l,o[1]=t*h+e*u,o[2]=i*a+n*l,o[3]=i*h+n*u,o[4]=s*a+r*l+c,o[5]=s*h+r*u+d,this},transformPoint:function(t,e,i){void 0===i&&(i={x:0,y:0});var n=this.matrix,s=n[0],r=n[1],o=n[2],a=n[3],h=n[4],l=n[5];return i.x=t*s+e*o+h,i.y=t*r+e*a+l,i},invert:function(){var t=this.matrix,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=e*s-i*n;return t[0]=s/a,t[1]=-i/a,t[2]=-n/a,t[3]=e/a,t[4]=(n*o-s*r)/a,t[5]=-(e*o-i*r)/a,this},copyFrom:function(t){var e=this.matrix;return e[0]=t.a,e[1]=t.b,e[2]=t.c,e[3]=t.d,e[4]=t.e,e[5]=t.f,this},copyFromArray:function(t){var e=this.matrix;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],this},copyToContext:function(t){var e=this.matrix;return t.transform(e[0],e[1],e[2],e[3],e[4],e[5]),t},setToContext:function(t){var e=this.matrix;return t.setTransform(e[0],e[1],e[2],e[3],e[4],e[5]),t},copyToArray:function(t){var e=this.matrix;return void 0===t?t=[e[0],e[1],e[2],e[3],e[4],e[5]]:(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5]),t},setTransform:function(t,e,i,n,s,r){var o=this.matrix;return o[0]=t,o[1]=e,o[2]=i,o[3]=n,o[4]=s,o[5]=r,this},decomposeMatrix:function(){var t=this.decomposedMatrix,e=this.matrix,i=e[0],n=e[1],s=e[2],r=e[3],o=i*i,a=n*n,h=s*s,l=r*r,u=Math.sqrt(o+h),c=Math.sqrt(a+l);return t.translateX=e[4],t.translateY=e[5],t.scaleX=u,t.scaleY=c,t.rotation=Math.acos(i/u)*(Math.atan(-s/i)<0?-1:1),t},applyITRS:function(t,e,i,n,s){var r=this.matrix,o=Math.sin(i),a=Math.cos(i);return r[4]=t,r[5]=e,r[0]=a*n,r[1]=o*n,r[2]=-o*s,r[3]=a*s,this},applyInverse:function(t,e,i){void 0===i&&(i=new s);var n=this.matrix,r=n[0],o=n[1],a=n[2],h=n[3],l=n[4],u=n[5],c=1/(r*h+a*-o);return i.x=h*c*t+-a*c*e+(u*a-l*h)*c,i.y=r*c*e+-o*c*t+(-u*r+l*o)*c,i},getX:function(t,e){return t*this.a+e*this.c+this.e},getY:function(t,e){return t*this.b+e*this.d+this.f},getCSSMatrix:function(){var t=this.matrix;return"matrix("+t[0]+","+t[1]+","+t[2]+","+t[3]+","+t[4]+","+t[5]+")"},destroy:function(){this.matrix=null,this.decomposedMatrix=null}});t.exports=r},function(t,e){t.exports=function(t,e,i){return!(t.width<=0||t.height<=0)&&t.x<=e&&t.x+t.width>=e&&t.y<=i&&t.y+t.height>=i}},function(t,e){t.exports=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}},function(t,e){t.exports=function(t,e){return t.y=e+t.height*t.originY,t}},function(t,e){t.exports=function(t){return t.y-t.height*t.originY}},function(t,e){t.exports=function(t,e){return t.x=e-t.width+t.width*t.originX,t}},function(t,e){t.exports=function(t){return t.x+t.width-t.width*t.originX}},function(t,e){t.exports=function(t,e){return t.x=e+t.width*t.originX,t}},function(t,e){t.exports=function(t){return t.x-t.width*t.originX}},function(t,e){t.exports=function(t,e){return t.y=e-t.height+t.height*t.originY,t}},function(t,e){t.exports=function(t){return t.y+t.height-t.height*t.originY}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=!0);var s=n.baseTileHeight,r=n.tilemapLayer;return r&&(void 0===i&&(i=r.scene.cameras.main),t-=r.y+i.scrollY*(1-r.scrollFactorY),s*=r.scaleY),e?Math.floor(t/s):t/s}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=!0);var s=n.baseTileWidth,r=n.tilemapLayer;return r&&(void 0===i&&(i=r.scene.cameras.main),t-=r.x+i.scrollX*(1-r.scrollFactorX),s*=r.scaleX),e?Math.floor(t/s):t/s}},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(4),l=i(8),u=new n({Extends:r,initialize:function(t,e,i,n,o){var u="json";if(l(e)){var c=e;e=a(c,"key"),i=a(c,"url"),n=a(c,"xhrSettings"),u=a(c,"extension",u),o=a(c,"dataKey",o)}var d={type:"json",cache:t.cacheManager.json,extension:u,responseType:"text",key:e,url:i,xhrSettings:n,config:o};r.call(this,t,d),l(i)&&(this.data=o?h(i,o):i,this.state=s.FILE_POPULATED)},onProcess:function(){if(this.state!==s.FILE_POPULATED){this.state=s.FILE_PROCESSING;var t=JSON.parse(this.xhrLoader.responseText),e=this.config;this.data="string"==typeof e?h(t,e,t):t}this.onProcessComplete()}});o.register("json",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new u(this,t[s]));else this.addFile(new u(this,t,e,n,i));return this}),t.exports=u},function(t,e){t.exports=function(t,e,i,n){var s=t-i,r=e-n;return Math.sqrt(s*s+r*r)}},function(t,e){t.exports=function(t,e,i){var n=i-e;return e+((t-e)%n+n)%n}},function(t,e,i){var n=i(0),s=i(397),r=i(189),o=i(188),a=i(3),h=new n({initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x1=t,this.y1=e,this.x2=i,this.y2=n},getPoint:function(t,e){return s(this,t,e)},getPoints:function(t,e,i){return r(this,t,e,i)},getRandomPoint:function(t){return o(this,t)},setTo:function(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x1=t,this.y1=e,this.x2=i,this.y2=n,this},getPointA:function(t){return void 0===t&&(t=new a),t.set(this.x1,this.y1),t},getPointB:function(t){return void 0===t&&(t=new a),t.set(this.x2,this.y2),t},left:{get:function(){return Math.min(this.x1,this.x2)},set:function(t){this.x1<=this.x2?this.x1=t:this.x2=t}},right:{get:function(){return Math.max(this.x1,this.x2)},set:function(t){this.x1>this.x2?this.x1=t:this.x2=t}},top:{get:function(){return Math.min(this.y1,this.y2)},set:function(t){this.y1<=this.y2?this.y1=t:this.y2=t}},bottom:{get:function(){return Math.max(this.y1,this.y2)},set:function(t){this.y1>this.y2?this.y1=t:this.y2=t}}});t.exports=h},function(t,e,i){var n=i(0),s=i(14),r=i(265),o=new n({Mixins:[s.Alpha,s.Flip,s.Visible],initialize:function(t,e,i,n,s,r,o,a){this.layer=t,this.index=e,this.x=i,this.y=n,this.width=s,this.height=r,this.baseWidth=void 0!==o?o:s,this.baseHeight=void 0!==a?a:r,this.pixelX=0,this.pixelY=0,this.updatePixelXY(),this.properties={},this.rotation=0,this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceLeft=!1,this.faceRight=!1,this.faceTop=!1,this.faceBottom=!1,this.collisionCallback=null,this.collisionCallbackContext=this,this.tint=16777215,this.physics={}},containsPoint:function(t,e){return!(t<this.pixelX||e<this.pixelY||t>this.right||e>this.bottom)},copy:function(t){return this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.visible=t.visible,this.setFlip(t.flipX,t.flipY),this.tint=t.tint,this.rotation=t.rotation,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext,this},getCollisionGroup:function(){return this.tileset?this.tileset.getTileCollisionGroup(this.index):null},getTileData:function(){return this.tileset?this.tileset.getTileData(this.index):null},getLeft:function(t){var e=this.tilemapLayer;return e?e.tileToWorldX(this.x,t):this.x*this.baseWidth},getRight:function(t){var e=this.tilemapLayer;return e?this.getLeft(t)+this.width*e.scaleX:this.getLeft(t)+this.width},getTop:function(t){var e=this.tilemapLayer;return e?e.tileToWorldY(this.y,t)-(this.height-this.baseHeight)*e.scaleY:this.y*this.baseHeight-(this.height-this.baseHeight)},getBottom:function(t){var e=this.tilemapLayer;return e?this.getTop(t)+this.height*e.scaleY:this.getTop(t)+this.height},getBounds:function(t,e){return void 0===e&&(e=new r),e.x=this.getLeft(),e.y=this.getTop(),e.width=this.getRight()-e.x,e.height=this.getBottom()-e.y,e},getCenterX:function(t){return this.getLeft(t)+this.width/2},getCenterY:function(t){return this.getTop(t)+this.height/2},destroy:function(){this.collisionCallback=void 0,this.collisionCallbackContext=void 0,this.properties=void 0},intersects:function(t,e,i,n){return!(i<=this.pixelX||n<=this.pixelY||t>=this.right||e>=this.bottom)},isInteresting:function(t,e){return t&&e?this.canCollide||this.hasInterestingFace:t?this.collides:!!e&&this.hasInterestingFace},resetCollision:function(t){(void 0===t&&(t=!0),this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,t)&&(this.tilemapLayer&&this.tilemapLayer.calculateFacesAt(this.x,this.y));return this},resetFaces:function(){return this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,this},setCollision:function(t,e,i,n,s){(void 0===e&&(e=t),void 0===i&&(i=t),void 0===n&&(n=t),void 0===s&&(s=!0),this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=n,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=n,s)&&(this.tilemapLayer&&this.tilemapLayer.calculateFacesAt(this.x,this.y));return this},setCollisionCallback:function(t,e){return null===t?(this.collisionCallback=void 0,this.collisionCallbackContext=void 0):(this.collisionCallback=t,this.collisionCallbackContext=e),this},setSize:function(t,e,i,n){return void 0!==t&&(this.width=t),void 0!==e&&(this.height=e),void 0!==i&&(this.baseWidth=i),void 0!==n&&(this.baseHeight=n),this.updatePixelXY(),this},updatePixelXY:function(){return this.pixelX=this.x*this.baseWidth,this.pixelY=this.y*this.baseHeight-(this.height-this.baseHeight),this},canCollide:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}},collides:{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}},hasInterestingFace:{get:function(){return this.faceTop||this.faceBottom||this.faceLeft||this.faceRight}},tileset:{get:function(){var t=this.tilemapLayer;return t?t.tileset:null}},tilemapLayer:{get:function(){return this.layer.tilemapLayer}},tilemap:{get:function(){var t=this.tilemapLayer;return t?t.tilemap:null}}});t.exports=o},function(t,e){t.exports=function(t,e){e?t.setCollision(!0,!0,!0,!0,!1):t.resetCollision(!1)}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n){this.loader=t,this.type=e,this.key=i,this.files=n,this.complete=!1,this.pending=n.length,this.failed=0,this.config={};for(var s=0;s<n.length;s++)n[s].multiFile=this},isReadyToProcess:function(){return 0===this.pending&&0===this.failed&&!this.complete},addToMultiFile:function(t){return this.files.push(t),t.multiFile=this,this.pending++,this.complete=!1,this},onFileComplete:function(t){-1!==this.files.indexOf(t)&&this.pending--},onFileFailed:function(t){-1!==this.files.indexOf(t)&&this.failed++}});t.exports=n},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function t(e,i,n,s,o){var l,u="png";if(h(i)){var c=i;i=a(c,"key"),n=a(c,"url"),l=a(c,"normalMap"),s=a(c,"xhrSettings"),u=a(c,"extension",u),o=a(c,"frameConfig")}Array.isArray(n)&&(l=n[1],n=n[0]);var d={type:"image",cache:e.textureManager,extension:u,responseType:"blob",key:i,url:n,xhrSettings:s,config:o};if(r.call(this,e,d),l){var f=new t(e,this.key,l,s,o);f.type="normalMap",this.setLink(f),e.addFile(f)}},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=new Image,this.data.crossOrigin=this.crossOrigin;var t=this;this.data.onload=function(){r.revokeObjectURL(t.data),t.onProcessComplete()},this.data.onerror=function(){r.revokeObjectURL(t.data),t.onProcessError()},r.createObjectURL(this.data,this.xhrLoader.response,"image/png")},addToCache:function(){var t,e=this.linkFile;e&&e.state===s.FILE_COMPLETE?(t="image"===this.type?this.cache.addImage(this.key,this.data,e.data):this.cache.addImage(e.key,e.data,this.data),this.pendingDestroy(t),e.pendingDestroy(t)):e||(t=this.cache.addImage(this.key,this.data),this.pendingDestroy(t))}});o.register("image",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new l(this,t[n]));else this.addFile(new l(this,t,e,i));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(69),r=i(278),o=i(277),a=i(54),h=i(184),l=new n({initialize:function(t,e,i,n,s,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=0),this.x1=t,this.y1=e,this.x2=i,this.y2=n,this.x3=s,this.y3=r},contains:function(t,e){return s(this,t,e)},getPoint:function(t,e){return r(this,t,e)},getPoints:function(t,e,i){return o(this,t,e,i)},getRandomPoint:function(t){return h(this,t)},setTo:function(t,e,i,n,s,r){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=0),this.x1=t,this.y1=e,this.x2=i,this.y2=n,this.x3=s,this.y3=r,this},getLineA:function(t){return void 0===t&&(t=new a),t.setTo(this.x1,this.y1,this.x2,this.y2),t},getLineB:function(t){return void 0===t&&(t=new a),t.setTo(this.x2,this.y2,this.x3,this.y3),t},getLineC:function(t){return void 0===t&&(t=new a),t.setTo(this.x3,this.y3,this.x1,this.y1),t},left:{get:function(){return Math.min(this.x1,this.x2,this.x3)},set:function(t){var e=0;e=this.x1<=this.x2&&this.x1<=this.x3?this.x1-t:this.x2<=this.x1&&this.x2<=this.x3?this.x2-t:this.x3-t,this.x1-=e,this.x2-=e,this.x3-=e}},right:{get:function(){return Math.max(this.x1,this.x2,this.x3)},set:function(t){var e=0;e=this.x1>=this.x2&&this.x1>=this.x3?this.x1-t:this.x2>=this.x1&&this.x2>=this.x3?this.x2-t:this.x3-t,this.x1-=e,this.x2-=e,this.x3-=e}},top:{get:function(){return Math.min(this.y1,this.y2,this.y3)},set:function(t){var e=0;e=this.y1<=this.y2&&this.y1<=this.y3?this.y1-t:this.y2<=this.y1&&this.y2<=this.y3?this.y2-t:this.y3-t,this.y1-=e,this.y2-=e,this.y3-=e}},bottom:{get:function(){return Math.max(this.y1,this.y2,this.y3)},set:function(t){var e=0;e=this.y1>=this.y2&&this.y1>=this.y3?this.y1-t:this.y2>=this.y1&&this.y2>=this.y3?this.y2-t:this.y3-t,this.y1-=e,this.y2-=e,this.y3-=e}}});t.exports=l},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=t.strokeTint,a=n.getTintAppendFloatAlphaAndSwap(e.strokeColor,e.strokeAlpha*i);o.TL=a,o.TR=a,o.BL=a,o.BR=a;var h=e.pathData,l=h.length-1,u=e.lineWidth,c=u/2,d=h[0]-s,f=h[1]-r;e.closePath||(l-=2);for(var p=2;p<l;p+=2){var g=h[p]-s,v=h[p+1]-r;t.setTexture2D(),t.batchLine(d,f,g,v,c,c,u,p-2,!!e.closePath&&p===l-1),d=g,f=v}}},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(829),a=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.Flip,s.GetBounds,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.ScrollFactor,s.Size,s.TextureCrop,s.Tint,s.Transform,s.Visible,o],initialize:function(t,e,i,n,o){r.call(this,t,"Sprite"),this._crop=this.resetCropObject(),this.anims=new s.Animation(this),this.setTexture(n,o),this.setPosition(e,i),this.setSizeToFrame(),this.setOriginFromFrame(),this.initPipeline()},preUpdate:function(t,e){this.anims.update(t,e)},play:function(t,e,i){return this.anims.play(t,e,i),this},toJSON:function(){return s.ToJSON(this)},preDestroy:function(){this.anims.destroy(),this.anims=void 0}});t.exports=a},function(t,e){t.exports=function(t,e,i,n){var s=t.length;if(e<0||e>s||e>=i||i>s||e+i>s){if(n)throw new Error("Range Error: Values outside acceptable range");return!1}return!0}},function(t,e){t.exports=function(t){var e={};for(var i in t)Array.isArray(t[i])?e[i]=t[i].slice(0):e[i]=t[i];return e}},function(t,e,i){"use strict";function n(t,e,i){i=i||2;var n,a,h,l,u,f,g,v=e&&e.length,y=v?e[0]*i:t.length,m=s(t,0,y,i,!0),x=[];if(!m)return x;if(v&&(m=function(t,e,i,n){var o,a,h,l,u,f=[];for(o=0,a=e.length;o<a;o++)h=e[o]*n,l=o<a-1?e[o+1]*n:t.length,(u=s(t,h,l,n,!1))===u.next&&(u.steiner=!0),f.push(p(u));for(f.sort(c),o=0;o<f.length;o++)d(f[o],i),i=r(i,i.next);return i}(t,e,m,i)),t.length>80*i){n=h=t[0],a=l=t[1];for(var w=i;w<y;w+=i)u=t[w],f=t[w+1],u<n&&(n=u),f<a&&(a=f),u>h&&(h=u),f>l&&(l=f);g=Math.max(h-n,l-a)}return o(m,x,i,n,a,g),x}function s(t,e,i,n,s){var r,o;if(s===A(t,e,i,n)>0)for(r=e;r<i;r+=n)o=T(r,t[r],t[r+1],o);else for(r=i-n;r>=e;r-=n)o=T(r,t[r],t[r+1],o);return o&&m(o,o.next)&&(S(o),o=o.next),o}function r(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!m(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(S(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function o(t,e,i,n,s,c,d){if(t){!d&&c&&function(t,e,i,n){var s=t;do{null===s.z&&(s.z=f(s.x,s.y,e,i,n)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next}while(s!==t);s.prevZ.nextZ=null,s.prevZ=null,function(t){var e,i,n,s,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,n=i,a=0,e=0;e<l&&(a++,n=n.nextZ);e++);for(h=l;a>0||h>0&&n;)0!==a&&(0===h||!n||i.z<=n.z)?(s=i,i=i.nextZ,a--):(s=n,n=n.nextZ,h--),r?r.nextZ=s:t=s,s.prevZ=r,r=s;i=n}r.nextZ=null,l*=2}while(o>1)}(s)}(t,n,s,c);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,c?h(t,n,s,c):a(t))e.push(p.i/i),e.push(t.i/i),e.push(g.i/i),S(t),t=g.next,v=g.next;else if((t=g)===v){d?1===d?o(t=l(t,e,i),e,i,n,s,c,2):2===d&&u(t,e,i,n,s,c):o(r(t),e,i,n,s,c,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(y(e,i,n)>=0)return!1;for(var s=t.next.next;s!==t.prev;){if(g(e.x,e.y,i.x,i.y,n.x,n.y,s.x,s.y)&&y(s.prev,s,s.next)>=0)return!1;s=s.next}return!0}function h(t,e,i,n){var s=t.prev,r=t,o=t.next;if(y(s,r,o)>=0)return!1;for(var a=s.x<r.x?s.x<o.x?s.x:o.x:r.x<o.x?r.x:o.x,h=s.y<r.y?s.y<o.y?s.y:o.y:r.y<o.y?r.y:o.y,l=s.x>r.x?s.x>o.x?s.x:o.x:r.x>o.x?r.x:o.x,u=s.y>r.y?s.y>o.y?s.y:o.y:r.y>o.y?r.y:o.y,c=f(a,h,e,i,n),d=f(l,u,e,i,n),p=t.nextZ;p&&p.z<=d;){if(p!==t.prev&&p!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.nextZ}for(p=t.prevZ;p&&p.z>=c;){if(p!==t.prev&&p!==t.next&&g(s.x,s.y,r.x,r.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}return!0}function l(t,e,i){var n=t;do{var s=n.prev,r=n.next.next;!m(s,r)&&x(s,n,n.next,r)&&w(s,r)&&w(r,s)&&(e.push(s.i/i),e.push(n.i/i),e.push(r.i/i),S(n),S(n.next),n=t=r),n=n.next}while(n!==t);return n}function u(t,e,i,n,s,a){var h=t;do{for(var l=h.next.next;l!==h.prev;){if(h.i!==l.i&&v(h,l)){var u=b(h,l);return h=r(h,h.next),u=r(u,u.next),o(h,e,i,n,s,a),void o(u,e,i,n,s,a)}l=l.next}h=h.next}while(h!==t)}function c(t,e){return t.x-e.x}function d(t,e){if(e=function(t,e){var i,n=e,s=t.x,r=t.y,o=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){var a=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=s&&a>o){if(o=a,a===s){if(r===n.y)return n;if(r===n.next.y)return n.next}i=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!i)return null;if(s===o)return i.prev;var h,l=i,u=i.x,c=i.y,d=1/0;n=i.next;for(;n!==l;)s>=n.x&&n.x>=u&&s!==n.x&&g(r<c?s:o,r,u,c,r<c?o:s,r,n.x,n.y)&&((h=Math.abs(r-n.y)/(s-n.x))<d||h===d&&n.x>i.x)&&w(n,t)&&(i=n,d=h),n=n.next;return i}(t,e)){var i=b(e,t);r(i,i.next)}}function f(t,e,i,n,s){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/s)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/s)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i}function g(t,e,i,n,s,r,o,a){return(s-o)*(e-a)-(t-o)*(r-a)>=0&&(t-o)*(n-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(s-o)*(n-a)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&x(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&w(t,e)&&w(e,t)&&function(t,e){var i=t,n=!1,s=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&i.next.y!==i.y&&s<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)}function y(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function m(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,i,n){return!!(m(t,e)&&m(i,n)||m(t,n)&&m(i,e))||y(t,e,i)>0!=y(t,e,n)>0&&y(i,n,t)>0!=y(i,n,e)>0}function w(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function b(t,e){var i=new _(t.i,t.x,t.y),n=new _(e.i,e.x,e.y),s=t.next,r=e.prev;return t.next=e,e.prev=t,i.next=s,s.prev=i,n.next=i,i.prev=n,r.next=n,n.prev=r,n}function T(t,e,i,n){var s=new _(t,e,i);return n?(s.next=n.next,s.prev=n,n.next.prev=s,n.next=s):(s.prev=s,s.next=s),s}function S(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)}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}function A(t,e,i,n){for(var s=0,r=e,o=i-n;r<i;r+=n)s+=(t[o]-t[r])*(t[r+1]+t[o+1]),o=r;return s}t.exports=n,n.deviation=function(t,e,i,n){var s=e&&e.length,r=s?e[0]*i:t.length,o=Math.abs(A(t,0,r,i));if(s)for(var a=0,h=e.length;a<h;a++){var l=e[a]*i,u=a<h-1?e[a+1]*i:t.length;o-=Math.abs(A(t,l,u,i))}var c=0;for(a=0;a<n.length;a+=3){var d=n[a]*i,f=n[a+1]*i,p=n[a+2]*i;c+=Math.abs((t[d]-t[p])*(t[f+1]-t[d+1])-(t[d]-t[f])*(t[p+1]-t[d+1]))}return 0===o&&0===c?0:Math.abs((c-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,i={vertices:[],holes:[],dimensions:e},n=0,s=0;s<t.length;s++){for(var r=0;r<t[s].length;r++)for(var o=0;o<e;o++)i.vertices.push(t[s][r][o]);s>0&&(n+=t[s-1].length,i.holes.push(n))}return i}},function(t,e){t.exports=function(t){return Math.sqrt((t.x2-t.x1)*(t.x2-t.x1)+(t.y2-t.y1)*(t.y2-t.y1))}},function(t,e){t.exports={SKIP_CHECK:-1,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}},function(t,e,i){var n={};t.exports=n;var s=i(76),r=i(81),o=i(222),a=i(33),h=i(80),l=i(505);!function(){n._inertiaScale=4,n._nextCollidingGroupId=1,n._nextNonCollidingGroupId=-1,n._nextCategory=1,n.create=function(e){var i={id:a.nextId(),type:"body",label:"Body",gameObject:null,parts:[],plugin:{},angle:0,vertices:s.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},previousPositionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,ignoreGravity:!1,ignorePointer:!1,motion:0,sleepThreshold:60,density:.001,restitution:0,friction:.1,frictionStatic:.5,frictionAir:.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:.05,timeScale:1,render:{visible:!0,opacity:1,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0},lineWidth:0},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,_original:null},n=a.extend(i,e);return t(n,e),n},n.nextGroup=function(t){return t?n._nextNonCollidingGroupId--:n._nextCollidingGroupId++},n.nextCategory=function(){return n._nextCategory=n._nextCategory<<1,n._nextCategory};var t=function(t,e){e=e||{},n.set(t,{bounds:t.bounds||h.create(t.vertices),positionPrev:t.positionPrev||r.clone(t.position),anglePrev:t.anglePrev||t.angle,vertices:t.vertices,parts:t.parts||[t],isStatic:t.isStatic,isSleeping:t.isSleeping,parent:t.parent||t}),s.rotate(t.vertices,t.angle,t.position),l.rotate(t.axes,t.angle),h.update(t.bounds,t.vertices,t.velocity),n.set(t,{axes:e.axes||t.axes,area:e.area||t.area,mass:e.mass||t.mass,inertia:e.inertia||t.inertia});var i=t.isStatic?"#2e2b44":a.choose(["#006BA6","#0496FF","#FFBC42","#D81159","#8F2D56"]);t.render.fillStyle=t.render.fillStyle||i,t.render.strokeStyle=t.render.strokeStyle||"#000",t.render.sprite.xOffset+=-(t.bounds.min.x-t.position.x)/(t.bounds.max.x-t.bounds.min.x),t.render.sprite.yOffset+=-(t.bounds.min.y-t.position.y)/(t.bounds.max.y-t.bounds.min.y)};n.set=function(t,e,i){var s;for(s in"string"==typeof e&&(s=e,(e={})[s]=i),e)if(e.hasOwnProperty(s))switch(i=e[s],s){case"isStatic":n.setStatic(t,i);break;case"isSleeping":o.set(t,i);break;case"mass":n.setMass(t,i);break;case"density":n.setDensity(t,i);break;case"inertia":n.setInertia(t,i);break;case"vertices":n.setVertices(t,i);break;case"position":n.setPosition(t,i);break;case"angle":n.setAngle(t,i);break;case"velocity":n.setVelocity(t,i);break;case"angularVelocity":n.setAngularVelocity(t,i);break;case"parts":n.setParts(t,i);break;default:t[s]=i}},n.setStatic=function(t,e){for(var i=0;i<t.parts.length;i++){var n=t.parts[i];n.isStatic=e,e?(n._original={restitution:n.restitution,friction:n.friction,mass:n.mass,inertia:n.inertia,density:n.density,inverseMass:n.inverseMass,inverseInertia:n.inverseInertia},n.restitution=0,n.friction=1,n.mass=n.inertia=n.density=1/0,n.inverseMass=n.inverseInertia=0,n.positionPrev.x=n.position.x,n.positionPrev.y=n.position.y,n.anglePrev=n.angle,n.angularVelocity=0,n.speed=0,n.angularSpeed=0,n.motion=0):n._original&&(n.restitution=n._original.restitution,n.friction=n._original.friction,n.mass=n._original.mass,n.inertia=n._original.inertia,n.density=n._original.density,n.inverseMass=n._original.inverseMass,n.inverseInertia=n._original.inverseInertia,n._original=null)}},n.setMass=function(t,e){var i=t.inertia/(t.mass/6);t.inertia=i*(e/6),t.inverseInertia=1/t.inertia,t.mass=e,t.inverseMass=1/t.mass,t.density=t.mass/t.area},n.setDensity=function(t,e){n.setMass(t,e*t.area),t.density=e},n.setInertia=function(t,e){t.inertia=e,t.inverseInertia=1/t.inertia},n.setVertices=function(t,e){e[0].body===t?t.vertices=e:t.vertices=s.create(e,t),t.axes=l.fromVertices(t.vertices),t.area=s.area(t.vertices),n.setMass(t,t.density*t.area);var i=s.centre(t.vertices);s.translate(t.vertices,i,-1),n.setInertia(t,n._inertiaScale*s.inertia(t.vertices,t.mass)),s.translate(t.vertices,t.position),h.update(t.bounds,t.vertices,t.velocity)},n.setParts=function(t,e,i){var r;for(e=e.slice(0),t.parts.length=0,t.parts.push(t),t.parent=t,r=0;r<e.length;r++){var o=e[r];o!==t&&(o.parent=t,t.parts.push(o))}if(1!==t.parts.length){if(i=void 0===i||i){var a=[];for(r=0;r<e.length;r++)a=a.concat(e[r].vertices);s.clockwiseSort(a);var h=s.hull(a),l=s.centre(h);n.setVertices(t,h),s.translate(t.vertices,l)}var u=n._totalProperties(t);t.area=u.area,t.parent=t,t.position.x=u.centre.x,t.position.y=u.centre.y,t.positionPrev.x=u.centre.x,t.positionPrev.y=u.centre.y,n.setMass(t,u.mass),n.setInertia(t,u.inertia),n.setPosition(t,u.centre)}},n.setPosition=function(t,e){var i=r.sub(e,t.position);t.positionPrev.x+=i.x,t.positionPrev.y+=i.y;for(var n=0;n<t.parts.length;n++){var o=t.parts[n];o.position.x+=i.x,o.position.y+=i.y,s.translate(o.vertices,i),h.update(o.bounds,o.vertices,t.velocity)}},n.setAngle=function(t,e){var i=e-t.angle;t.anglePrev+=i;for(var n=0;n<t.parts.length;n++){var o=t.parts[n];o.angle+=i,s.rotate(o.vertices,i,t.position),l.rotate(o.axes,i),h.update(o.bounds,o.vertices,t.velocity),n>0&&r.rotateAbout(o.position,i,t.position,o.position)}},n.setVelocity=function(t,e){t.positionPrev.x=t.position.x-e.x,t.positionPrev.y=t.position.y-e.y,t.velocity.x=e.x,t.velocity.y=e.y,t.speed=r.magnitude(t.velocity)},n.setAngularVelocity=function(t,e){t.anglePrev=t.angle-e,t.angularVelocity=e,t.angularSpeed=Math.abs(t.angularVelocity)},n.translate=function(t,e){n.setPosition(t,r.add(t.position,e))},n.rotate=function(t,e,i){if(i){var s=Math.cos(e),r=Math.sin(e),o=t.position.x-i.x,a=t.position.y-i.y;n.setPosition(t,{x:i.x+(o*s-a*r),y:i.y+(o*r+a*s)}),n.setAngle(t,t.angle+e)}else n.setAngle(t,t.angle+e)},n.scale=function(t,e,i,r){var o=0,a=0;r=r||t.position;for(var u=0;u<t.parts.length;u++){var c=t.parts[u];s.scale(c.vertices,e,i,r),c.axes=l.fromVertices(c.vertices),c.area=s.area(c.vertices),n.setMass(c,t.density*c.area),s.translate(c.vertices,{x:-c.position.x,y:-c.position.y}),n.setInertia(c,n._inertiaScale*s.inertia(c.vertices,c.mass)),s.translate(c.vertices,{x:c.position.x,y:c.position.y}),u>0&&(o+=c.area,a+=c.inertia),c.position.x=r.x+(c.position.x-r.x)*e,c.position.y=r.y+(c.position.y-r.y)*i,h.update(c.bounds,c.vertices,t.velocity)}t.parts.length>1&&(t.area=o,t.isStatic||(n.setMass(t,t.density*o),n.setInertia(t,a))),t.circleRadius&&(e===i?t.circleRadius*=e:t.circleRadius=null)},n.update=function(t,e,i,n){var o=Math.pow(e*i*t.timeScale,2),a=1-t.frictionAir*i*t.timeScale,u=t.position.x-t.positionPrev.x,c=t.position.y-t.positionPrev.y;t.velocity.x=u*a*n+t.force.x/t.mass*o,t.velocity.y=c*a*n+t.force.y/t.mass*o,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.position.x+=t.velocity.x,t.position.y+=t.velocity.y,t.angularVelocity=(t.angle-t.anglePrev)*a*n+t.torque/t.inertia*o,t.anglePrev=t.angle,t.angle+=t.angularVelocity,t.speed=r.magnitude(t.velocity),t.angularSpeed=Math.abs(t.angularVelocity);for(var d=0;d<t.parts.length;d++){var f=t.parts[d];s.translate(f.vertices,t.velocity),d>0&&(f.position.x+=t.velocity.x,f.position.y+=t.velocity.y),0!==t.angularVelocity&&(s.rotate(f.vertices,t.angularVelocity,t.position),l.rotate(f.axes,t.angularVelocity),d>0&&r.rotateAbout(f.position,t.angularVelocity,t.position,f.position)),h.update(f.bounds,f.vertices,t.velocity)}},n.applyForce=function(t,e,i){t.force.x+=i.x,t.force.y+=i.y;var n=e.x-t.position.x,s=e.y-t.position.y;t.torque+=n*i.y-s*i.x},n._totalProperties=function(t){for(var e={mass:0,area:0,inertia:0,centre:{x:0,y:0}},i=1===t.parts.length?0:1;i<t.parts.length;i++){var n=t.parts[i],s=n.mass!==1/0?n.mass:1;e.mass+=s,e.area+=n.area,e.inertia+=n.inertia,e.centre=r.add(e.centre,r.mult(n.position,s))}return e.centre=r.div(e.centre,e.mass),e}}()},function(t,e){t.exports=function(t){return Math.atan2(t.y2-t.y1,t.x2-t.x1)}},function(t,e){t.exports=function(t,e,i){var n=t.x3-t.x1,s=t.y3-t.y1,r=t.x2-t.x1,o=t.y2-t.y1,a=e-t.x1,h=i-t.y1,l=n*n+s*s,u=n*r+s*o,c=n*a+s*h,d=r*r+o*o,f=r*a+o*h,p=l*d-u*u,g=0===p?0:1/p,v=(d*c-u*f)*g,y=(l*f-u*c)*g;return v>=0&&y>=0&&v+y<1}},function(t,e,i){var n=i(0),s=i(173),r=i(9),o=i(3),a=new n({initialize:function(t){this.type=t,this.defaultDivisions=5,this.arcLengthDivisions=100,this.cacheArcLengths=[],this.needsUpdate=!0,this.active=!0,this._tmpVec2A=new o,this._tmpVec2B=new o},draw:function(t,e){return void 0===e&&(e=32),t.strokePoints(this.getPoints(e))},getBounds:function(t,e){t||(t=new r),void 0===e&&(e=16);var i=this.getLength();e>i&&(e=i/2);var n=Math.max(1,Math.round(i/e));return s(this.getSpacedPoints(n),t)},getDistancePoints:function(t){var e=this.getLength(),i=Math.max(1,e/t);return this.getSpacedPoints(i)},getEndPoint:function(t){return void 0===t&&(t=new o),this.getPointAt(1,t)},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,i=[],n=this.getPoint(0,this._tmpVec2A),s=0;i.push(0);for(var r=1;r<=t;r++)s+=(e=this.getPoint(r/t,this._tmpVec2B)).distance(n),i.push(s),n.copy(e);return this.cacheArcLengths=i,i},getPointAt:function(t,e){var i=this.getUtoTmapping(t);return this.getPoint(i,e)},getPoints:function(t){void 0===t&&(t=this.defaultDivisions);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return e},getRandomPoint:function(t){return void 0===t&&(t=new o),this.getPoint(Math.random(),t)},getSpacedPoints:function(t){void 0===t&&(t=this.defaultDivisions);for(var e=[],i=0;i<=t;i++){var n=this.getUtoTmapping(i/t,null,t);e.push(this.getPoint(n))}return e},getStartPoint:function(t){return void 0===t&&(t=new o),this.getPointAt(0,t)},getTangent:function(t,e){void 0===e&&(e=new o);var i=t-1e-4,n=t+1e-4;return i<0&&(i=0),n>1&&(n=1),this.getPoint(i,this._tmpVec2A),this.getPoint(n,e),e.subtract(this._tmpVec2A).normalize()},getTangentAt:function(t,e){var i=this.getUtoTmapping(t);return this.getTangent(i,e)},getTFromDistance:function(t,e){return t<=0?0:this.getUtoTmapping(0,t,e)},getUtoTmapping:function(t,e,i){var n,s=this.getLengths(i),r=0,o=s.length;n=e?Math.min(e,s[o-1]):t*s[o-1];for(var a,h=0,l=o-1;h<=l;)if((a=s[r=Math.floor(h+(l-h)/2)]-n)<0)h=r+1;else{if(!(a>0)){l=r;break}l=r-1}if(s[r=l]===n)return r/(o-1);var u=s[r];return(r+(n-u)/(s[r+1]-u))/(o-1)},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()}});t.exports=a},function(t,e,i){var n=i(0),s=i(40),r=i(405),o=i(403),a=i(191),h=new n({initialize:function(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this._radius=i,this._diameter=2*i},contains:function(t,e){return s(this,t,e)},getPoint:function(t,e){return r(this,t,e)},getPoints:function(t,e,i){return o(this,t,e,i)},getRandomPoint:function(t){return a(this,t)},setTo:function(t,e,i){return this.x=t,this.y=e,this._radius=i,this._diameter=2*i,this},setEmpty:function(){return this._radius=0,this._diameter=0,this},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},isEmpty:function(){return this._radius<=0},radius:{get:function(){return this._radius},set:function(t){this._radius=t,this._diameter=2*t}},diameter:{get:function(){return this._diameter},set:function(t){this._diameter=t,this._radius=.5*t}},left:{get:function(){return this.x-this._radius},set:function(t){this.x=t+this._radius}},right:{get:function(){return this.x+this._radius},set:function(t){this.x=t-this._radius}},top:{get:function(){return this.y-this._radius},set:function(t){this.y=t+this._radius}},bottom:{get:function(){return this.y+this._radius},set:function(t){this.y=t-this._radius}}});t.exports=h},function(t,e){t.exports=function(t){return t.y-t.height*t.originY+.5*t.height}},function(t,e){t.exports=function(t,e){var i=t.height*t.originY;return t.y=e+i-.5*t.height,t}},function(t,e){t.exports=function(t,e){var i=t.width*t.originX;return t.x=e+i-.5*t.width,t}},function(t,e){t.exports=function(t){return t.x-t.width*t.originX+.5*t.width}},function(t,e,i){var n={};t.exports=n;var s=i(81),r=i(33);n.create=function(t,e){for(var i=[],n=0;n<t.length;n++){var s=t[n],r={x:s.x,y:s.y,index:n,body:e,isInternal:!1,contact:null};r.contact={vertex:r,normalImpulse:0,tangentImpulse:0},i.push(r)}return i},n.fromPath=function(t,e){var i=[];return t.replace(/L?\s*([\-\d\.e]+)[\s,]*([\-\d\.e]+)*/gi,function(t,e,n){i.push({x:parseFloat(e),y:parseFloat(n)})}),n.create(i,e)},n.centre=function(t){for(var e,i,r,o=n.area(t,!0),a={x:0,y:0},h=0;h<t.length;h++)r=(h+1)%t.length,e=s.cross(t[h],t[r]),i=s.mult(s.add(t[h],t[r]),e),a=s.add(a,i);return s.div(a,6*o)},n.mean=function(t){for(var e={x:0,y:0},i=0;i<t.length;i++)e.x+=t[i].x,e.y+=t[i].y;return s.div(e,t.length)},n.area=function(t,e){for(var i=0,n=t.length-1,s=0;s<t.length;s++)i+=(t[n].x-t[s].x)*(t[n].y+t[s].y),n=s;return e?i/2:Math.abs(i)/2},n.inertia=function(t,e){for(var i,n,r=0,o=0,a=t,h=0;h<a.length;h++)n=(h+1)%a.length,r+=(i=Math.abs(s.cross(a[n],a[h])))*(s.dot(a[n],a[n])+s.dot(a[n],a[h])+s.dot(a[h],a[h])),o+=i;return e/6*(r/o)},n.translate=function(t,e,i){var n;if(i)for(n=0;n<t.length;n++)t[n].x+=e.x*i,t[n].y+=e.y*i;else for(n=0;n<t.length;n++)t[n].x+=e.x,t[n].y+=e.y;return t},n.rotate=function(t,e,i){if(0!==e){for(var n=Math.cos(e),s=Math.sin(e),r=0;r<t.length;r++){var o=t[r],a=o.x-i.x,h=o.y-i.y;o.x=i.x+(a*n-h*s),o.y=i.y+(a*s+h*n)}return t}},n.contains=function(t,e){for(var i=0;i<t.length;i++){var n=t[i],s=t[(i+1)%t.length];if((e.x-n.x)*(s.y-n.y)+(e.y-n.y)*(n.x-s.x)>0)return!1}return!0},n.scale=function(t,e,i,r){if(1===e&&1===i)return t;var o,a;r=r||n.centre(t);for(var h=0;h<t.length;h++)o=t[h],a=s.sub(o,r),t[h].x=r.x+a.x*e,t[h].y=r.y+a.y*i;return t},n.chamfer=function(t,e,i,n,o){e="number"==typeof e?[e]:e||[8],i=void 0!==i?i:-1,n=n||2,o=o||14;for(var a=[],h=0;h<t.length;h++){var l=t[h-1>=0?h-1:t.length-1],u=t[h],c=t[(h+1)%t.length],d=e[h<e.length?h:e.length-1];if(0!==d){var f=s.normalise({x:u.y-l.y,y:l.x-u.x}),p=s.normalise({x:c.y-u.y,y:u.x-c.x}),g=Math.sqrt(2*Math.pow(d,2)),v=s.mult(r.clone(f),d),y=s.normalise(s.mult(s.add(f,p),.5)),m=s.sub(u,s.mult(y,g)),x=i;-1===i&&(x=1.75*Math.pow(d,.32)),(x=r.clamp(x,n,o))%2==1&&(x+=1);for(var w=Math.acos(s.dot(f,p))/x,b=0;b<x;b++)a.push(s.add(s.rotate(v,w*b),m))}else a.push(u)}return a},n.clockwiseSort=function(t){var e=n.mean(t);return t.sort(function(t,i){return s.angle(e,t)-s.angle(e,i)}),t},n.isConvex=function(t){var e,i,n,s,r=0,o=t.length;if(o<3)return null;for(e=0;e<o;e++)if(n=(e+2)%o,s=(t[i=(e+1)%o].x-t[e].x)*(t[n].y-t[i].y),(s-=(t[i].y-t[e].y)*(t[n].x-t[i].x))<0?r|=1:s>0&&(r|=2),3===r)return!1;return 0!==r||null},n.hull=function(t){var e,i,n=[],r=[];for((t=t.slice(0)).sort(function(t,e){var i=t.x-e.x;return 0!==i?i:t.y-e.y}),i=0;i<t.length;i+=1){for(e=t[i];r.length>=2&&s.cross3(r[r.length-2],r[r.length-1],e)<=0;)r.pop();r.push(e)}for(i=t.length-1;i>=0;i-=1){for(e=t[i];n.length>=2&&s.cross3(n[n.length-2],n[n.length-1],e)<=0;)n.pop();n.push(e)}return n.pop(),r.pop(),n.concat(r)}},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","map"),this.width=s(t,"width",0),this.height=s(t,"height",0),this.tileWidth=s(t,"tileWidth",0),this.tileHeight=s(t,"tileHeight",0),this.widthInPixels=s(t,"widthInPixels",this.width*this.tileWidth),this.heightInPixels=s(t,"heightInPixels",this.height*this.tileHeight),this.format=s(t,"format",null),this.orientation=s(t,"orientation","orthogonal"),this.renderOrder=s(t,"renderOrder","right-down"),this.version=s(t,"version","1"),this.properties=s(t,"properties",{}),this.layers=s(t,"layers",[]),this.images=s(t,"images",[]),this.objects=s(t,"objects",{}),this.collision=s(t,"collision",{}),this.tilesets=s(t,"tilesets",[]),this.imageCollections=s(t,"imageCollections",[]),this.tiles=s(t,"tiles",[])}});t.exports=r},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","layer"),this.x=s(t,"x",0),this.y=s(t,"y",0),this.width=s(t,"width",0),this.height=s(t,"height",0),this.tileWidth=s(t,"tileWidth",0),this.tileHeight=s(t,"tileHeight",0),this.baseTileWidth=s(t,"baseTileWidth",this.tileWidth),this.baseTileHeight=s(t,"baseTileHeight",this.tileHeight),this.widthInPixels=s(t,"widthInPixels",this.width*this.baseTileWidth),this.heightInPixels=s(t,"heightInPixels",this.height*this.baseTileHeight),this.alpha=s(t,"alpha",1),this.visible=s(t,"visible",!0),this.properties=s(t,"properties",{}),this.indexes=s(t,"indexes",[]),this.collideIndexes=s(t,"collideIndexes",[]),this.callbacks=s(t,"callbacks",[]),this.bodies=s(t,"bodies",[]),this.data=s(t,"data",[]),this.tilemapLayer=s(t,"tilemapLayer",null)}});t.exports=r},function(t,e){t.exports=function(t,e,i){return t>=0&&t<i.width&&e>=0&&e<i.height}},function(t,e){var i={};t.exports=i,i.create=function(t){var e={min:{x:0,y:0},max:{x:0,y:0}};return t&&i.update(e,t),e},i.update=function(t,e,i){t.min.x=1/0,t.max.x=-1/0,t.min.y=1/0,t.max.y=-1/0;for(var n=0;n<e.length;n++){var s=e[n];s.x>t.max.x&&(t.max.x=s.x),s.x<t.min.x&&(t.min.x=s.x),s.y>t.max.y&&(t.max.y=s.y),s.y<t.min.y&&(t.min.y=s.y)}i&&(i.x>0?t.max.x+=i.x:t.min.x+=i.x,i.y>0?t.max.y+=i.y:t.min.y+=i.y)},i.contains=function(t,e){return e.x>=t.min.x&&e.x<=t.max.x&&e.y>=t.min.y&&e.y<=t.max.y},i.overlaps=function(t,e){return t.min.x<=e.max.x&&t.max.x>=e.min.x&&t.max.y>=e.min.y&&t.min.y<=e.max.y},i.translate=function(t,e){t.min.x+=e.x,t.max.x+=e.x,t.min.y+=e.y,t.max.y+=e.y},i.shift=function(t,e){var i=t.max.x-t.min.x,n=t.max.y-t.min.y;t.min.x=e.x,t.max.x=e.x+i,t.min.y=e.y,t.max.y=e.y+n}},function(t,e){var i={};t.exports=i,i.create=function(t,e){return{x:t||0,y:e||0}},i.clone=function(t){return{x:t.x,y:t.y}},i.magnitude=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},i.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y},i.rotate=function(t,e,i){var n=Math.cos(e),s=Math.sin(e);i||(i={});var r=t.x*n-t.y*s;return i.y=t.x*s+t.y*n,i.x=r,i},i.rotateAbout=function(t,e,i,n){var s=Math.cos(e),r=Math.sin(e);n||(n={});var o=i.x+((t.x-i.x)*s-(t.y-i.y)*r);return n.y=i.y+((t.x-i.x)*r+(t.y-i.y)*s),n.x=o,n},i.normalise=function(t){var e=i.magnitude(t);return 0===e?{x:0,y:0}:{x:t.x/e,y:t.y/e}},i.dot=function(t,e){return t.x*e.x+t.y*e.y},i.cross=function(t,e){return t.x*e.y-t.y*e.x},i.cross3=function(t,e,i){return(e.x-t.x)*(i.y-t.y)-(e.y-t.y)*(i.x-t.x)},i.add=function(t,e,i){return i||(i={}),i.x=t.x+e.x,i.y=t.y+e.y,i},i.sub=function(t,e,i){return i||(i={}),i.x=t.x-e.x,i.y=t.y-e.y,i},i.mult=function(t,e){return{x:t.x*e,y:t.y*e}},i.div=function(t,e){return{x:t.x/e,y:t.y/e}},i.perp=function(t,e){return{x:(e=!0===e?-1:1)*-t.y,y:e*t.x}},i.neg=function(t){return{x:-t.x,y:-t.y}},i.angle=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},i._temp=[i.create(),i.create(),i.create(),i.create(),i.create(),i.create()]},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r,o){for(var a=n.getTintAppendFloatAlphaAndSwap(i.fillColor,i.fillAlpha*s),h=i.pathData,l=i.pathIndexes,u=0;u<l.length;u+=3){var c=2*l[u],d=2*l[u+1],f=2*l[u+2],p=h[c+0]-r,g=h[c+1]-o,v=h[d+0]-r,y=h[d+1]-o,m=h[f+0]-r,x=h[f+1]-o,w=e.getX(p,g),b=e.getY(p,g),T=e.getX(v,y),S=e.getY(v,y),_=e.getX(m,x),A=e.getY(m,x);t.setTexture2D(),t.batchTri(w,b,T,S,_,A,0,0,1,1,a,a,a,t.tintEffect)}}},function(t,e){t.exports={CREATED:0,INIT:1,DELAY:2,OFFSET_DELAY:3,PENDING_RENDER:4,PLAYING_FORWARD:5,PLAYING_BACKWARD:6,HOLD_DELAY:7,REPEAT_DELAY:8,COMPLETE:9,PENDING_ADD:20,PAUSED:21,LOOP_DELAY:22,ACTIVE:23,COMPLETE_DELAY:24,PENDING_REMOVE:25,REMOVED:26}},function(t,e){t.exports=function(t,e,i){return t&&t.hasOwnProperty(e)?t[e]:i}},function(t,e){t.exports=function(t,e){return t.hasOwnProperty(e)}},function(t,e,i){var n=i(174);t.exports=function(t,e){if("string"==typeof t&&n.hasOwnProperty(t)){if(e){var i=e.slice(0);return i.unshift(0),function(e){return i[0]=e,n[t].apply(this,i)}}return n[t]}return"function"==typeof t?t:(Array.isArray(t)&&t.length,n.Power0)}},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(826),a=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.Flip,s.GetBounds,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.ScrollFactor,s.Size,s.TextureCrop,s.Tint,s.Transform,s.Visible,o],initialize:function(t,e,i,n,s){r.call(this,t,"Image"),this._crop=this.resetCropObject(),this.setTexture(n,s),this.setPosition(e,i),this.setSizeToFrame(),this.setOriginFromFrame(),this.initPipeline()}});t.exports=a},function(t,e,i){var n=i(417),s=i(0),r=i(2),o=i(4),a=i(8),h=i(312),l=i(95),u=i(61),c=new s({initialize:function(t,e,i){i?e&&!Array.isArray(e)&&(e=[e]):Array.isArray(e)?a(e[0])&&(i=e,e=null):a(e)&&(i=e,e=null),this.scene=t,this.children=new l(e),this.isParent=!0,this.classType=r(i,"classType",u),this.active=r(i,"active",!0),this.maxSize=r(i,"maxSize",-1),this.defaultKey=r(i,"defaultKey",null),this.defaultFrame=r(i,"defaultFrame",null),this.runChildUpdate=r(i,"runChildUpdate",!1),this.createCallback=r(i,"createCallback",null),this.removeCallback=r(i,"removeCallback",null),this.createMultipleCallback=r(i,"createMultipleCallback",null),i&&this.createMultiple(i)},create:function(t,e,i,n,s,r){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.defaultKey),void 0===n&&(n=this.defaultFrame),void 0===s&&(s=!0),void 0===r&&(r=!0),this.isFull())return null;var o=new this.classType(this.scene,t,e,i,n);return this.scene.sys.displayList.add(o),o.preUpdate&&this.scene.sys.updateList.add(o),o.visible=s,o.setActive(r),this.add(o),o},createMultiple:function(t){if(this.isFull())return[];Array.isArray(t)||(t=[t]);var e=[];if(t[0].key)for(var i=0;i<t.length;i++){var n=this.createFromConfig(t[i]);e=e.concat(n)}return e},createFromConfig:function(t){if(this.isFull())return[];this.classType=r(t,"classType",this.classType);var e=r(t,"key",void 0),i=r(t,"frame",null),s=r(t,"visible",!0),a=r(t,"active",!0),l=[];if(void 0===e)return l;Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);for(var u=r(t,"repeat",0),c=r(t,"randomKey",!1),d=r(t,"randomFrame",!1),f=r(t,"yoyo",!1),p=r(t,"frameQuantity",1),g=r(t,"max",0),v=h(e,i,{max:g,qty:p,random:c,randomB:d,repeat:u,yoyo:f}),y=0;y<v.length;y++){var m=this.create(0,0,v[y].a,v[y].b,s,a);if(!m)break;l.push(m)}var x=o(t,"setXY.x",0),w=o(t,"setXY.y",0),b=o(t,"setXY.stepX",0),T=o(t,"setXY.stepY",0);n.SetXY(l,x,w,b,T);var S=o(t,"setRotation.value",0),_=o(t,"setRotation.step",0);n.SetRotation(l,S,_);var A=o(t,"setScale.x",1),C=o(t,"setScale.y",A),M=o(t,"setScale.stepX",0),P=o(t,"setScale.stepY",0);n.SetScale(l,A,C,M,P);var E=o(t,"setAlpha.value",1),k=o(t,"setAlpha.step",0);n.SetAlpha(l,E,k);var L=r(t,"hitArea",null),F=r(t,"hitAreaCallback",null);L&&n.SetHitArea(l,L,F);var R=r(t,"gridAlign",!1);return R&&n.GridAlign(l,R),this.createMultipleCallback&&this.createMultipleCallback.call(this,l),l},preUpdate:function(t,e){if(this.runChildUpdate&&0!==this.children.size)for(var i=this.children.entries.slice(),n=0;n<i.length;n++){var s=i[n];s.active&&s.update(t,e)}},add:function(t,e){return void 0===e&&(e=!1),this.isFull()?this:(this.children.set(t),this.createCallback&&this.createCallback.call(this,t),e&&(this.scene.sys.displayList.add(t),t.preUpdate&&this.scene.sys.updateList.add(t)),t.on("destroy",this.remove,this),this)},addMultiple:function(t,e){if(void 0===e&&(e=!1),Array.isArray(t))for(var i=0;i<t.length;i++)this.add(t[i],e);return this},remove:function(t,e,i){return void 0===e&&(e=!1),void 0===i&&(i=!1),this.children.contains(t)?(this.children.delete(t),this.removeCallback&&this.removeCallback.call(this,t),t.off("destroy",this.remove,this),i?t.destroy():e&&(t.scene.sys.displayList.remove(t),t.preUpdate&&t.scene.sys.updateList.remove(t)),this):this},clear:function(t,e){void 0===t&&(t=!1),void 0===e&&(e=!1);for(var i=this.children,n=0;n<i.size;n++){var s=i.entries[n];s.off("destroy",this.remove,this),e?s.destroy():t&&(s.scene.sys.displayList.remove(s),s.preUpdate&&s.scene.sys.updateList.remove(s))}return this.children.clear(),this},contains:function(t){return this.children.contains(t)},getChildren:function(){return this.children.entries},getLength:function(){return this.children.size},getFirst:function(t,e,i,n,s,r,o){return this.getHandler(!0,1,t,e,i,n,s,r,o)},getFirstNth:function(t,e,i,n,s,r,o,a){return this.getHandler(!0,t,e,i,n,s,r,o,a)},getLast:function(t,e,i,n,s,r,o){return this.getHandler(!1,1,t,e,i,n,s,r,o)},getLastNth:function(t,e,i,n,s,r,o,a){return this.getHandler(!1,t,e,i,n,s,r,o,a)},getHandler:function(t,e,i,n,s,r,o,a,h){var l,u;void 0===i&&(i=!1),void 0===n&&(n=!1);var c=0,d=this.children.entries;if(t)for(u=0;u<d.length;u++)if((l=d[u]).active===i){if(++c===e)break}else l=null;else for(u=d.length-1;u>=0;u--)if((l=d[u]).active===i){if(++c===e)break}else l=null;return l?("number"==typeof s&&(l.x=s),"number"==typeof r&&(l.y=r),l):n?this.create(s,r,o,a,h):null},get:function(t,e,i,n,s){return this.getFirst(!1,!0,t,e,i,n,s)},getFirstAlive:function(t,e,i,n,s,r){return this.getFirst(!0,t,e,i,n,s,r)},getFirstDead:function(t,e,i,n,s,r){return this.getFirst(!1,t,e,i,n,s,r)},playAnimation:function(t,e){return n.PlayAnimation(this.children.entries,t,e),this},isFull:function(){return-1!==this.maxSize&&this.children.size>=this.maxSize},countActive:function(t){void 0===t&&(t=!0);for(var e=0,i=0;i<this.children.size;i++)this.children.entries[i].active===t&&e++;return e},getTotalUsed:function(){return this.countActive()},getTotalFree:function(){var t=this.getTotalUsed();return(-1===this.maxSize?999999999999:this.maxSize)-t},setDepth:function(t,e){return n.SetDepth(this.children.entries,t,e),this},kill:function(t){this.children.contains(t)&&t.setActive(!1)},killAndHide:function(t){this.children.contains(t)&&(t.setActive(!1),t.setVisible(!1))},toggleVisible:function(){return n.ToggleVisible(this.children.entries),this},destroy:function(t){if(void 0===t&&(t=!1),this.scene&&!this.ignoreDestroy){if(t)for(var e=this.children,i=0;i<e.size;i++){var n=e.entries[i];n.off("destroy",this.remove,this),n.destroy()}this.children.clear(),this.scene=void 0,this.children=void 0}}});t.exports=c},function(t,e){t.exports=function(t,e,i){if(t.width<=0||t.height<=0)return!1;var n=(e-t.x)/t.width,s=(i-t.y)/t.height;return(n*=n)+(s*=s)<.25}},function(t,e,i){var n=i(0),s=i(89),r=i(308),o=i(307),a=i(185),h=new n({initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.width=i,this.height=n},contains:function(t,e){return s(this,t,e)},getPoint:function(t,e){return r(this,t,e)},getPoints:function(t,e,i){return o(this,t,e,i)},getRandomPoint:function(t){return a(this,t)},setTo:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},setEmpty:function(){return this.width=0,this.height=0,this},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setSize:function(t,e){return void 0===e&&(e=t),this.width=t,this.height=e,this},isEmpty:function(){return this.width<=0||this.height<=0},getMinorRadius:function(){return Math.min(this.width,this.height)/2},getMajorRadius:function(){return Math.max(this.width,this.height)/2},left:{get:function(){return this.x-this.width/2},set:function(t){this.x=t+this.width/2}},right:{get:function(){return this.x+this.width/2},set:function(t){this.x=t-this.width/2}},top:{get:function(){return this.y-this.height/2},set:function(t){this.y=t+this.height/2}},bottom:{get:function(){return this.y+this.height/2},set:function(t){this.y=t-this.height/2}}});t.exports=h},function(t,e){t.exports=function(t,e){if(!(e>=t.length)){for(var i=t.length-1,n=t[e],s=e;s<i;s++)t[s]=t[s+1];return t.length=i,n}}},function(t,e,i){(function(e){var i={android:!1,chromeOS:!1,cocoonJS:!1,cocoonJSApp:!1,cordova:!1,crosswalk:!1,desktop:!1,ejecta:!1,electron:!1,iOS:!1,iOSVersion:0,iPad:!1,iPhone:!1,kindle:!1,linux:!1,macOS:!1,node:!1,nodeWebkit:!1,pixelRatio:1,webApp:!1,windows:!1,windowsPhone:!1};t.exports=function(){var t=navigator.userAgent;/Windows/.test(t)?i.windows=!0:/Mac OS/.test(t)&&!/like Mac OS/.test(t)?i.macOS=!0:/Android/.test(t)?i.android=!0:/Linux/.test(t)?i.linux=!0:/iP[ao]d|iPhone/i.test(t)?(i.iOS=!0,navigator.appVersion.match(/OS (\d+)/),i.iOSVersion=parseInt(RegExp.$1,10),i.iPhone=-1!==t.toLowerCase().indexOf("iphone"),i.iPad=-1!==t.toLowerCase().indexOf("ipad")):/Kindle/.test(t)||/\bKF[A-Z][A-Z]+/.test(t)||/Silk.*Mobile Safari/.test(t)?i.kindle=!0:/CrOS/.test(t)&&(i.chromeOS=!0),(/Windows Phone/i.test(t)||/IEMobile/i.test(t))&&(i.android=!1,i.iOS=!1,i.macOS=!1,i.windows=!0,i.windowsPhone=!0);var n=/Silk/.test(t);if((i.windows||i.macOS||i.linux&&!n||i.chromeOS)&&(i.desktop=!0),(i.windowsPhone||/Windows NT/i.test(t)&&/Touch/i.test(t))&&(i.desktop=!1),navigator.standalone&&(i.webApp=!0),void 0!==window.cordova&&(i.cordova=!0),void 0!==e&&e.versions&&e.versions.node&&(i.node=!0),i.node&&"object"==typeof e.versions&&(i.nodeWebkit=!!e.versions["node-webkit"],i.electron=!!e.versions.electron),navigator.isCocoonJS){i.cocoonJS=!0;try{i.cocoonJSApp="undefined"!=typeof CocoonJS}catch(t){i.cocoonJSApp=!1}}return void 0!==window.ejecta&&(i.ejecta=!0),/Crosswalk/.test(t)&&(i.crosswalk=!0),i.pixelRatio=window.devicePixelRatio||1,i}()}).call(this,i(907))},function(t,e,i){var n=i(23);t.exports=function(t,e,i){return(i-e)*(t=n(t,0,1))}},function(t,e){t.exports={DEFAULT:0,LINEAR:0,NEAREST:1}},function(t,e,i){var n=new(i(0))({initialize:function(t){if(this.entries=[],Array.isArray(t))for(var e=0;e<t.length;e++)this.set(t[e])},set:function(t){return-1===this.entries.indexOf(t)&&this.entries.push(t),this},get:function(t,e){for(var i=0;i<this.entries.length;i++){var n=this.entries[i];if(n[t]===e)return n}},getArray:function(){return this.entries.slice(0)},delete:function(t){var e=this.entries.indexOf(t);return e>-1&&this.entries.splice(e,1),this},dump:function(){console.group("Set");for(var t=0;t<this.entries.length;t++){var e=this.entries[t];console.log(e)}console.groupEnd()},each:function(t,e){var i,n=this.entries.slice(),s=n.length;if(e)for(i=0;i<s&&!1!==t.call(e,n[i],i);i++);else for(i=0;i<s&&!1!==t(n[i],i);i++);return this},iterate:function(t,e){var i,n=this.entries.length;if(e)for(i=0;i<n&&!1!==t.call(e,this.entries[i],i);i++);else for(i=0;i<n&&!1!==t(this.entries[i],i);i++);return this},iterateLocal:function(t){var e,i=[];for(e=1;e<arguments.length;e++)i.push(arguments[e]);var n=this.entries.length;for(e=0;e<n;e++){var s=this.entries[e];s[t].apply(s,i)}return this},clear:function(){return this.entries.length=0,this},contains:function(t){return this.entries.indexOf(t)>-1},union:function(t){var e=new n;return t.entries.forEach(function(t){e.set(t)}),this.entries.forEach(function(t){e.set(t)}),e},intersect:function(t){var e=new n;return this.entries.forEach(function(i){t.contains(i)&&e.set(i)}),e},difference:function(t){var e=new n;return this.entries.forEach(function(i){t.contains(i)||e.set(i)}),e},size:{get:function(){return this.entries.length},set:function(t){return t<this.entries.length?this.entries.length=t:this.entries.length}}});t.exports=n},function(t,e,i){var n=i(63);t.exports=function(t,e){var i=n(t);for(var s in e)i.hasOwnProperty(s)||(i[s]=e[s]);return i}},function(t,e,i){var n=i(129),s=i(12),r=i(84),o=i(86),a=i(98),h=i(205),l=i(131),u=i(4),c=i(130),d=i(128),f=i(127);t.exports=function(t,e,i){void 0===i&&(i=n);for(var p=i.targets?i.targets:l(e),g=h(e),v=a(e,"delay",i.delay),y=a(e,"duration",i.duration),m=u(e,"easeParams",i.easeParams),x=o(u(e,"ease",i.ease),m),w=a(e,"hold",i.hold),b=a(e,"repeat",i.repeat),T=a(e,"repeatDelay",i.repeatDelay),S=r(e,"yoyo",i.yoyo),_=r(e,"flipX",i.flipX),A=r(e,"flipY",i.flipY),C=[],M=0;M<g.length;M++)for(var P=g[M].key,E=g[M].value,k=0;k<p.length;k++){var L=c(P,E),F=f(p[k],P,L.getEnd,L.getStart,o(u(E,"ease",x),m),a(E,"delay",v),a(E,"duration",y),r(E,"yoyo",S),a(E,"hold",w),a(E,"repeat",b),a(E,"repeatDelay",T),r(E,"flipX",_),r(E,"flipY",A));C.push(F)}var R=new d(t,C,p);R.offset=s(e,"offset",null),R.completeDelay=s(e,"completeDelay",0),R.loop=Math.round(s(e,"loop",0)),R.loopDelay=Math.round(s(e,"loopDelay",0)),R.paused=r(e,"paused",!1),R.useFrames=r(e,"useFrames",!1);for(var O=u(e,"callbackScope",R),D=[R,null],B=d.TYPES,I=0;I<B.length;I++){var Y=B[I],X=u(e,Y,!1);if(X){var z=u(e,Y+"Scope",O),N=u(e,Y+"Params",[]);R.setCallback(Y,X,D.concat(N),z)}}return R}},function(t,e){t.exports=function(t,e,i){var n;n=t.hasOwnProperty(e)?"function"==typeof t[e]?function(i,n,s){return t[e](i,n,s)}:function(){return t[e]}:"function"==typeof i?i:function(){return i};return n}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s,r,o,a){(void 0===i||i<=0)&&(i=32),(void 0===n||n<=0)&&(n=32),void 0===s&&(s=0),void 0===r&&(r=0),void 0===o&&(o={}),void 0===a&&(a={}),this.name=t,this.firstgid=e,this.tileWidth=i,this.tileHeight=n,this.tileMargin=s,this.tileSpacing=r,this.tileProperties=o,this.tileData=a,this.image=null,this.glTexture=null,this.rows=0,this.columns=0,this.total=0,this.texCoordinates=[]},getTileProperties:function(t){return this.containsTileIndex(t)?this.tileProperties[t-this.firstgid]:null},getTileData:function(t){return this.containsTileIndex(t)?this.tileData[t-this.firstgid]:null},getTileCollisionGroup:function(t){var e=this.getTileData(t);return e&&e.objectgroup?e.objectgroup:null},containsTileIndex:function(t){return t>=this.firstgid&&t<this.firstgid+this.total},getTileTextureCoordinates:function(t){return this.containsTileIndex(t)?this.texCoordinates[t-this.firstgid]:null},setImage:function(t){return this.image=t,this.glTexture=t.get().source.glTexture,this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},setTileSize:function(t,e){return void 0!==t&&(this.tileWidth=t),void 0!==e&&(this.tileHeight=e),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},setSpacing:function(t,e){return void 0!==t&&(this.tileMargin=t),void 0!==e&&(this.tileSpacing=e),this.image&&this.updateTileData(this.image.source[0].width,this.image.source[0].height),this},updateTileData:function(t,e){var i=(e-2*this.tileMargin+this.tileSpacing)/(this.tileHeight+this.tileSpacing),n=(t-2*this.tileMargin+this.tileSpacing)/(this.tileWidth+this.tileSpacing);i%1==0&&n%1==0||console.warn("Image tile area not tile size multiple in: "+this.name),i=Math.floor(i),n=Math.floor(n),this.rows=i,this.columns=n,this.total=i*n,this.texCoordinates.length=0;for(var s=this.tileMargin,r=this.tileMargin,o=0;o<this.rows;o++){for(var a=0;a<this.columns;a++)this.texCoordinates.push({x:s,y:r}),s+=this.tileWidth+this.tileSpacing;s=this.tileMargin,r+=this.tileHeight+this.tileSpacing}return this}});t.exports=n},function(t,e){t.exports=function(t,e,i){var n=i.baseTileHeight,s=i.tilemapLayer,r=0;return s&&(void 0===e&&(e=s.scene.cameras.main),r=s.y+e.scrollY*(1-s.scrollFactorY),n*=s.scaleY),r+t*n}},function(t,e){t.exports=function(t,e,i){var n=i.baseTileWidth,s=i.tilemapLayer,r=0;return s&&(void 0===e&&(e=s.scene.cameras.main),r=s.x+e.scrollX*(1-s.scrollFactorX),n*=s.scaleX),r+t*n}},function(t,e,i){var n=i(79);t.exports=function(t,e,i,s){if(void 0===i&&(i=!1),n(t,e,s)){var r=s.data[e][t];return null===r?null:-1===r.index?i?r:null:r}return null}},function(t,e,i){t.exports={CalculateFacesAt:i(136),CalculateFacesWithin:i(34),Copy:i(489),CreateFromTiles:i(488),CullTiles:i(487),Fill:i(486),FilterTiles:i(485),FindByIndex:i(484),FindTile:i(483),ForEachTile:i(482),GetTileAt:i(102),GetTileAtWorldXY:i(481),GetTilesWithin:i(17),GetTilesWithinShape:i(480),GetTilesWithinWorldXY:i(479),HasTileAt:i(219),HasTileAtWorldXY:i(478),IsInLayerBounds:i(79),PutTileAt:i(135),PutTileAtWorldXY:i(477),PutTilesAt:i(476),Randomize:i(475),RemoveTileAt:i(218),RemoveTileAtWorldXY:i(474),RenderDebug:i(473),ReplaceByIndex:i(220),SetCollision:i(472),SetCollisionBetween:i(471),SetCollisionByExclusion:i(470),SetCollisionByProperty:i(469),SetCollisionFromCollisionGroup:i(468),SetTileIndexCallback:i(467),SetTileLocationCallback:i(466),Shuffle:i(465),SwapByIndex:i(464),TileToWorldX:i(101),TileToWorldXY:i(463),TileToWorldY:i(100),WeightedRandomize:i(462),WorldToTileX:i(50),WorldToTileXY:i(461),WorldToTileY:i(49)}},function(t,e,i){var n=i(0),s=i(236),r=i(61),o=new n({Extends:r,Mixins:[s.Acceleration,s.Angular,s.Bounce,s.Debug,s.Drag,s.Enable,s.Friction,s.Gravity,s.Immovable,s.Mass,s.Size,s.Velocity],initialize:function(t,e,i,n,s){r.call(this,t,e,i,n,s),this.body=null}});t.exports=o},function(t,e){t.exports=function(t,e,i,n,s){return void 0===t&&(t=""),void 0===e&&(e=!0),void 0===i&&(i=""),void 0===n&&(n=""),void 0===s&&(s=0),{responseType:t,async:e,user:i,password:n,timeout:s,header:void 0,headerValue:void 0,requestedWith:!1,overrideMimeType:void 0}}},function(t,e,i){var n=i(4),s={},r={register:function(t,e,i,n,r){s[t]={plugin:e,mapping:i,settingsKey:n,configKey:r}},getPlugin:function(t){return s[t]},install:function(t){var e=t.scene.sys,i=e.settings.input,r=e.game.config;for(var o in s){var a=s[o].plugin,h=s[o].mapping,l=s[o].settingsKey,u=s[o].configKey;n(i,l,r[u])&&(t[h]=new a(t))}},remove:function(t){s.hasOwnProperty(t)&&delete s[t]}};t.exports=r},function(t,e,i){var n=i(6);t.exports=function(t,e,i){void 0===i&&(i=new n);var s=t.x1,r=t.y1,o=t.x2,a=t.y2,h=e.x1,l=e.y1,u=e.x2,c=e.y2,d=(u-h)*(r-l)-(c-l)*(s-h),f=(o-s)*(r-l)-(a-r)*(s-h),p=(c-l)*(o-s)-(u-h)*(a-r);if(0===p)return!1;var g=d/p,v=f/p;return g>=0&&g<=1&&v>=0&&v<=1&&(i.x=s+g*(o-s),i.y=r+g*(a-r),!0)}},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(731),a=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.Flip,s.GetBounds,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.Size,s.Texture,s.Transform,s.Visible,s.ScrollFactor,o],initialize:function(t,e,i,n,s,o,a,h,l){if(r.call(this,t,"Mesh"),n.length!==s.length)throw new Error("Mesh Vertex count must match UV count");var u,c=n.length/2|0;if(o.length>0&&o.length<c)throw new Error("Mesh Color count must match Vertex count");if(a.length>0&&a.length<c)throw new Error("Mesh Alpha count must match Vertex count");if(0===o.length)for(u=0;u<c;++u)o[u]=16777215;if(0===a.length)for(u=0;u<c;++u)a[u]=1;this.vertices=new Float32Array(n),this.uv=new Float32Array(s),this.colors=new Uint32Array(o),this.alphas=new Float32Array(a),this.tintFill=!1,this.setTexture(h,l),this.setPosition(e,i),this.setSizeToFrame(),this.setOrigin(),this.initPipeline()}});t.exports=a},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(846),a=i(845),h=i(844),l=new n({Extends:r,Mixins:[s.Alpha,s.BlendMode,s.Depth,s.Mask,s.Origin,s.Pipeline,s.ScaleMode,s.ScrollFactor,s.Texture,s.Tint,s.Transform,s.Visible,h],initialize:function(t,e,i,n,s,a,h){void 0===s&&(s=""),void 0===h&&(h=0),r.call(this,t,"BitmapText"),this.font=n;var l=this.scene.sys.cache.bitmapFont.get(n);this.fontData=l.data,this._text="",this._fontSize=a||this.fontData.size,this._letterSpacing=0,this._align=h,this._bounds=o(this,!1,this._bounds),this._dirty=!1,this.setTexture(l.texture,l.frame),this.setPosition(e,i),this.setOrigin(0,0),this.initPipeline(),this.setText(s)},setLeftAlign:function(){return this._align=l.ALIGN_LEFT,this._dirty=!0,this},setCenterAlign:function(){return this._align=l.ALIGN_CENTER,this._dirty=!0,this},setRightAlign:function(){return this._align=l.ALIGN_RIGHT,this._dirty=!0,this},setFontSize:function(t){return this._fontSize=t,this._dirty=!0,this},setLetterSpacing:function(t){return void 0===t&&(t=0),this._letterSpacing=t,this._dirty=!0,this},setText:function(t){return t||0===t||(t=""),Array.isArray(t)&&(t=t.join("\n")),t!==this.text&&(this._text=t.toString(),this._dirty=!0,this.updateDisplayOrigin()),this},getTextBounds:function(t){return this._dirty&&o(this,t,this._bounds),this._bounds},setFont:function(t,e,i){if(void 0===e&&(e=this._fontSize),void 0===i&&(i=this._align),t!==this.font){var n=this.scene.sys.cache.bitmapFont.get(t);n&&(this.font=t,this.fontData=n.data,this._fontSize=e,this._align=i,this.setTexture(n.texture,n.frame),o(this,!1,this._bounds))}return this},align:{set:function(t){this._align=t,this._dirty=!0},get:function(){return this._align}},text:{set:function(t){this.setText(t)},get:function(){return this._text}},fontSize:{set:function(t){this._fontSize=t,this._dirty=!0},get:function(){return this._fontSize}},letterSpacing:{set:function(t){this._letterSpacing=t,this._dirty=!0},get:function(){return this._letterSpacing}},width:{get:function(){return this.getTextBounds(!1),this._bounds.global.width}},height:{get:function(){return this.getTextBounds(!1),this._bounds.global.height}},toJSON:function(){var t=s.ToJSON(this),e={font:this.font,text:this.text,fontSize:this.fontSize,letterSpacing:this.letterSpacing,align:this.align};return t.data=e,t}});l.ALIGN_LEFT=0,l.ALIGN_CENTER=1,l.ALIGN_RIGHT=2,l.ParseFromAtlas=a,t.exports=l},function(t,e,i){!function(){var e=function(t,e){return i(t.slice(),e)};function i(t,e){"function"!=typeof e&&(e=function(t,e){return String(t).localeCompare(e)});var i=t.length;if(i<=1)return t;for(var s=new Array(i),r=1;r<i;r*=2){n(t,e,r,s);var o=t;t=s,s=o}return t}e.inplace=function(t,e){var s=i(t,e);return s!==t&&n(s,null,t.length,t),t};var n=function(t,e,i,n){var s,r,o,a,h,l=t.length,u=0,c=2*i;for(s=0;s<l;s+=c)for(o=(r=s+i)+i,r>l&&(r=l),o>l&&(o=l),a=s,h=r;;)if(a<r&&h<o)e(t[a],t[h])<=0?n[u++]=t[a++]:n[u++]=t[h++];else if(a<r)n[u++]=t[a++];else{if(!(h<o))break;n[u++]=t[h++]}};t.exports=e}()},function(t,e,i){var n=i(163),s=i(315);t.exports=function(t,e){if(void 0===e&&(e=90),!n(t))return null;if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)(t=s(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t.reverse(),t=s(t);else if(180===Math.abs(e)||"rotate180"===e){for(var i=0;i<t.length;i++)t[i].reverse();t.reverse()}return t}},function(t,e,i){var n=i(164),s=i(0),r=i(1),o=i(110),a=new s({initialize:function(t){this.parent=t,this.list=[],this.position=0,this.addCallback=r,this.removeCallback=r,this._sortKey=""},add:function(t,e){return e?n.Add(this.list,t):n.Add(this.list,t,0,this.addCallback,this)},addAt:function(t,e,i){return i?n.AddAt(this.list,t,e):n.AddAt(this.list,t,e,0,this.addCallback,this)},getAt:function(t){return this.list[t]},getIndex:function(t){return this.list.indexOf(t)},sort:function(t){return t&&(this._sortKey=t,o.inplace(this.list,this.sortHandler)),this},sortHandler:function(t,e){return t[this._sortKey]-e[this._sortKey]},getByName:function(t){return n.GetFirst(this.list,"name",t)},getRandom:function(t,e){return n.GetRandom(this.list,t,e)},getFirst:function(t,e,i,s){return n.GetFirstElement(this.list,t,e,i,s)},getAll:function(t,e,i,s){return n.GetAll(this.list,t,e,i,s)},count:function(t,e){return n.CountAllMatching(this.list,t,e)},swap:function(t,e){n.Swap(this.list,t,e)},moveTo:function(t,e){return n.MoveTo(this.list,t,e)},remove:function(t,e){return e?n.Remove(this.list,t):n.Remove(this.list,t,this.removeCallback,this)},removeAt:function(t,e){return e?n.RemoveAt(this.list,t):n.RemoveAt(this.list,t,this.removeCallback,this)},removeBetween:function(t,e,i){return i?n.RemoveBetween(this.list,t,e):n.RemoveBetween(this.list,t,e,this.removeCallback,this)},removeAll:function(t){for(var e=this.list.length;e--;)this.remove(this.list[e],t);return this},bringToTop:function(t){return n.BringToTop(this.list,t)},sendToBack:function(t){return n.SendToBack(this.list,t)},moveUp:function(t){return n.MoveUp(this.list,t),t},moveDown:function(t){return n.MoveDown(this.list,t),t},reverse:function(){return this.list.reverse(),this},shuffle:function(){return n.Shuffle(this.list),this},replace:function(t,e){return n.Replace(this.list,t,e)},exists:function(t){return this.list.indexOf(t)>-1},setAll:function(t,e,i,s){return n.SetAll(this.list,t,e,i,s),this},each:function(t,e){for(var i=[null],n=2;n<arguments.length;n++)i.push(arguments[n]);for(n=0;n<this.list.length;n++)i[0]=this.list[n],t.apply(e,i)},shutdown:function(){this.removeAll(),this.list=[]},destroy:function(){this.removeAll(),this.parent=null,this.addCallback=null,this.removeCallback=null},length:{get:function(){return this.list.length}},first:{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position<this.list.length?(this.position++,this.list[this.position]):null}},previous:{get:function(){return this.position>0?(this.position--,this.list[this.position]):null}}});t.exports=a},function(t,e,i){var n=i(0),s=i(23),r=i(20),o=new n({initialize:function(t,e,i,n,s,r,o){this.texture=t,this.name=e,this.source=t.source[i],this.sourceIndex=i,this.glTexture=this.source.glTexture,this.cutX,this.cutY,this.cutWidth,this.cutHeight,this.x=0,this.y=0,this.width,this.height,this.halfWidth,this.halfHeight,this.centerX,this.centerY,this.pivotX=0,this.pivotY=0,this.customPivot=!1,this.rotated=!1,this.autoRound=-1,this.customData={},this.u0=0,this.v0=0,this.u1=0,this.v1=0,this.data={cut:{x:0,y:0,w:0,h:0,r:0,b:0},trim:!1,sourceSize:{w:0,h:0},spriteSourceSize:{x:0,y:0,w:0,h:0,r:0,b:0},radius:0,drawImage:{x:0,y:0,width:0,height:0}},this.setSize(r,o,n,s)},setSize:function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this.cutX=i,this.cutY=n,this.cutWidth=t,this.cutHeight=e,this.width=t,this.height=e,this.halfWidth=Math.floor(.5*t),this.halfHeight=Math.floor(.5*e),this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2);var s=this.data,r=s.cut;r.x=i,r.y=n,r.w=t,r.h=e,r.r=i+t,r.b=n+e,s.sourceSize.w=t,s.sourceSize.h=e,s.spriteSourceSize.w=t,s.spriteSourceSize.h=e,s.radius=.5*Math.sqrt(t*t+e*e);var o=s.drawImage;return o.x=i,o.y=n,o.width=t,o.height=e,this.updateUVs()},setTrim:function(t,e,i,n,s,r){var o=this.data,a=o.spriteSourceSize;return o.trim=!0,o.sourceSize.w=t,o.sourceSize.h=e,a.x=i,a.y=n,a.w=s,a.h=r,a.r=i+s,a.b=n+r,this.x=i,this.y=n,this.width=s,this.height=r,this.halfWidth=.5*s,this.halfHeight=.5*r,this.centerX=Math.floor(s/2),this.centerY=Math.floor(r/2),this.updateUVs()},setCropUVs:function(t,e,i,n,r,o,a){var h=this.cutX,l=this.cutY,u=this.cutWidth,c=this.cutHeight,d=this.realWidth,f=this.realHeight,p=h+(e=s(e,0,d)),g=l+(i=s(i,0,f)),v=n=s(n,0,d-e),y=r=s(r,0,f-i),m=this.data;if(m.trim){var x=m.spriteSourceSize,w=e+(n=s(n,0,u-e)),b=i+(r=s(r,0,c-i));if(!(x.r<e||x.b<i||x.x>w||x.y>b)){var T=Math.max(x.x,e),S=Math.max(x.y,i),_=Math.min(x.r,w)-T,A=Math.min(x.b,b)-S;v=_,y=A,p=o?h+(u-(T-x.x)-_):h+(T-x.x),g=a?l+(c-(S-x.y)-A):l+(S-x.y),e=T,i=S,n=_,r=A}else p=0,g=0,v=0,y=0}else o&&(p=h+(u-e-n)),a&&(g=l+(c-i-r));var C=this.source.width,M=this.source.height;return t.u0=Math.max(0,p/C),t.v0=Math.max(0,g/M),t.u1=Math.min(1,(p+v)/C),t.v1=Math.min(1,(g+y)/M),t.x=e,t.y=i,t.cx=p,t.cy=g,t.cw=v,t.ch=y,t.width=n,t.height=r,t.flipX=o,t.flipY=a,t},updateCropUVs:function(t,e,i){return this.setCropUVs(t,t.x,t.y,t.width,t.height,e,i)},updateUVs:function(){var t=this.cutX,e=this.cutY,i=this.cutWidth,n=this.cutHeight,s=this.data.drawImage;s.width=i,s.height=n;var r=this.source.width,o=this.source.height;return this.u0=t/r,this.v0=e/o,this.u1=(t+i)/r,this.v1=(e+n)/o,this},updateUVsInverted:function(){var t=this.source.width,e=this.source.height;return this.u0=(this.cutX+this.cutHeight)/t,this.v0=this.cutY/e,this.u1=this.cutX/t,this.v1=(this.cutY+this.cutWidth)/e,this},clone:function(){var t=new o(this.texture,this.name,this.sourceIndex);return t.cutX=this.cutX,t.cutY=this.cutY,t.cutWidth=this.cutWidth,t.cutHeight=this.cutHeight,t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t.halfWidth=this.halfWidth,t.halfHeight=this.halfHeight,t.centerX=this.centerX,t.centerY=this.centerY,t.rotated=this.rotated,t.data=r(!0,t.data,this.data),t.updateUVs(),t},destroy:function(){this.texture=null,this.source=null},realWidth:{get:function(){return this.data.sourceSize.w}},realHeight:{get:function(){return this.data.sourceSize.h}},radius:{get:function(){return this.data.radius}},trimmed:{get:function(){return this.data.trim}},canvasData:{get:function(){return this.data.drawImage}}});t.exports=o},function(t,e,i){var n=i(0),s=i(11),r=i(20),o=i(1),a=new n({Extends:s,initialize:function(t,e,i){s.call(this),this.manager=t,this.key=e,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=this.duration||0,this.totalDuration=this.totalDuration||0,this.config={mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0},this.currentConfig=this.config,this.config=r(this.config,i),this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:function(t){return!(!t||!t.name||"string"!=typeof t.name)&&(this.markers[t.name]?(console.error("addMarker "+t.name+" already exists in Sound"),!1):(t=r(!0,{name:"",start:0,duration:this.totalDuration-(t.start||0),config:{mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0}},t),this.markers[t.name]=t,!0))},updateMarker:function(t){return!(!t||!t.name||"string"!=typeof t.name)&&(this.markers[t.name]?(this.markers[t.name]=r(!0,this.markers[t.name],t),!0):(console.warn("Audio Marker: "+t.name+" missing in Sound: "+this.key),!1))},removeMarker:function(t){var e=this.markers[t];return e?(this.markers[t]=null,e):null},play:function(t,e){if(void 0===t&&(t=""),"object"==typeof t&&(e=t,t=""),"string"!=typeof t)return!1;if(t){if(!this.markers[t])return console.warn("Marker: "+t+" missing in Sound: "+this.key),!1;this.currentMarker=this.markers[t],this.currentConfig=this.currentMarker.config,this.duration=this.currentMarker.duration}else this.currentMarker=null,this.currentConfig=this.config,this.duration=this.totalDuration;return this.resetConfig(),this.currentConfig=r(this.currentConfig,e),this.isPlaying=!0,this.isPaused=!1,!0},pause:function(){return!(this.isPaused||!this.isPlaying)&&(this.isPlaying=!1,this.isPaused=!0,!0)},resume:function(){return!(!this.isPaused||this.isPlaying)&&(this.isPlaying=!0,this.isPaused=!1,!0)},stop:function(){return!(!this.isPaused&&!this.isPlaying)&&(this.isPlaying=!1,this.isPaused=!1,this.resetConfig(),!0)},applyConfig:function(){this.mute=this.currentConfig.mute,this.volume=this.currentConfig.volume,this.rate=this.currentConfig.rate,this.detune=this.currentConfig.detune,this.loop=this.currentConfig.loop},resetConfig:function(){this.currentConfig.seek=0,this.currentConfig.delay=0},update:o,calculateRate:function(){var t=this.currentConfig.detune+this.manager.detune,e=Math.pow(1.0005777895065548,t);this.totalRate=this.currentConfig.rate*this.manager.rate*e},destroy:function(){this.pendingRemove||(this.emit("destroy",this),this.pendingRemove=!0,this.manager=null,this.key="",this.removeAllListeners(),this.isPlaying=!1,this.isPaused=!1,this.config=null,this.currentConfig=null,this.markers=null,this.currentMarker=null)}});t.exports=a},function(t,e,i){var n=i(0),s=i(63),r=i(11),o=i(1),a=new n({Extends:r,initialize:function(t){r.call(this),this.game=t,this.jsonCache=t.cache.json,this.sounds=[],this.mute=!1,this.volume=1,this.pauseOnBlur=!0,this._rate=1,this._detune=0,this.locked=this.locked||!1,this.unlocked=!1,t.events.on("blur",function(){this.pauseOnBlur&&this.onBlur()},this),t.events.on("focus",function(){this.pauseOnBlur&&this.onFocus()},this),t.events.on("prestep",this.update,this),t.events.once("destroy",this.destroy,this)},add:o,addAudioSprite:function(t,e){void 0===e&&(e={});var i=this.add(t,e);for(var n in i.spritemap=this.jsonCache.get(t).spritemap,i.spritemap)if(i.spritemap.hasOwnProperty(n)){var r=s(e),o=i.spritemap[n];r.loop=!!o.hasOwnProperty("loop")&&o.loop,i.addMarker({name:n,start:o.start,duration:o.end-o.start,config:r})}return i},play:function(t,e){var i=this.add(t);return i.once("ended",i.destroy,i),e?e.name?(i.addMarker(e),i.play(e.name)):i.play(e):i.play()},playAudioSprite:function(t,e,i){var n=this.addAudioSprite(t);return n.once("ended",n.destroy,n),n.play(e,i)},remove:function(t){var e=this.sounds.indexOf(t);return-1!==e&&(t.destroy(),this.sounds.splice(e,1),!0)},removeByKey:function(t){for(var e=0,i=this.sounds.length-1;i>=0;i--){var n=this.sounds[i];n.key===t&&(n.destroy(),this.sounds.splice(i,1),e++)}return e},pauseAll:function(){this.forEachActiveSound(function(t){t.pause()}),this.emit("pauseall",this)},resumeAll:function(){this.forEachActiveSound(function(t){t.resume()}),this.emit("resumeall",this)},stopAll:function(){this.forEachActiveSound(function(t){t.stop()}),this.emit("stopall",this)},unlock:o,onBlur:o,onFocus:o,update:function(t,e){this.unlocked&&(this.unlocked=!1,this.locked=!1,this.emit("unlocked",this));for(var i=this.sounds.length-1;i>=0;i--)this.sounds[i].pendingRemove&&this.sounds.splice(i,1);this.sounds.forEach(function(i){i.update(t,e)})},destroy:function(){this.removeAllListeners(),this.forEachActiveSound(function(t){t.destroy()}),this.sounds.length=0,this.sounds=null,this.game=null},forEachActiveSound:function(t,e){var i=this;this.sounds.forEach(function(n,s){n.pendingRemove||t.call(e||i,n,s,i.sounds)})},setRate:function(t){return this.rate=t,this},rate:{get:function(){return this._rate},set:function(t){this._rate=t,this.forEachActiveSound(function(t){t.calculateRate()}),this.emit("rate",this,t)}},setDetune:function(t){return this.detune=t,this},detune:{get:function(){return this._detune},set:function(t){this._detune=t,this.forEachActiveSound(function(t){t.calculateRate()}),this.emit("detune",this,t)}}});t.exports=a},function(t,e){t.exports={PENDING:0,INIT:1,START:2,LOADING:3,CREATING:4,RUNNING:5,PAUSED:6,SLEEPING:7,SHUTDOWN:8,DESTROYED:9}},function(t,e){t.exports=function(t,e){return t>0&&0==(t&t-1)&&e>0&&0==(e&e-1)}},function(t,e,i){var n,s=i(92),r={chrome:!1,chromeVersion:0,edge:!1,firefox:!1,firefoxVersion:0,ie:!1,ieVersion:0,mobileSafari:!1,opera:!1,safari:!1,safariVersion:0,silk:!1,trident:!1,tridentVersion:0};t.exports=(n=navigator.userAgent,/Edge\/\d+/.test(n)?r.edge=!0:/Chrome\/(\d+)/.test(n)&&!s.windowsPhone?(r.chrome=!0,r.chromeVersion=parseInt(RegExp.$1,10)):/Firefox\D+(\d+)/.test(n)?(r.firefox=!0,r.firefoxVersion=parseInt(RegExp.$1,10)):/AppleWebKit/.test(n)&&s.iOS?r.mobileSafari=!0:/MSIE (\d+\.\d+);/.test(n)?(r.ie=!0,r.ieVersion=parseInt(RegExp.$1,10)):/Opera/.test(n)?r.opera=!0:/Safari/.test(n)&&!s.windowsPhone?r.safari=!0:/Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(n)&&(r.ie=!0,r.trident=!0,r.tridentVersion=parseInt(RegExp.$1,10),r.ieVersion=parseInt(RegExp.$3,10)),/Silk/.test(n)&&(r.silk=!0),r)},function(t,e){t.exports=function(t,e,i){return(e-t)*i+t}},function(t,e){var i,n="";t.exports={disable:function(t){return""===n&&(n=i(t)),n&&(t[n]=!1),t},enable:function(t){return""===n&&(n=i(t)),n&&(t[n]=!0),t},getPrefix:i=function(t){for(var e=["i","webkitI","msI","mozI","oI"],i=0;i<e.length;i++){var n=e[i]+"mageSmoothingEnabled";if(n in t)return n}return null},isEnabled:function(t){return null!==n?t[n]:null}}},function(t,e,i){var n=i(0),s=i(14),r=i(31),o=i(11),a=i(9),h=i(38),l=i(178),u=i(3),c=new n({Extends:o,Mixins:[s.Alpha,s.Visible],initialize:function(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),o.call(this),this.scene,this.sceneManager,this.config,this.id=0,this.name="",this.resolution=1,this.roundPixels=!1,this.useBounds=!1,this.worldView=new a,this.dirty=!0,this._x=t,this._y=e,this._cx=0,this._cy=0,this._cw=0,this._ch=0,this._width=i,this._height=n,this._bounds=new a,this._scrollX=0,this._scrollY=0,this._zoom=1,this._rotation=0,this.matrix=new h,this.transparent=!0,this.backgroundColor=l("rgba(0,0,0,0)"),this.disableCull=!1,this.culledObjects=[],this.midPoint=new u(i/2,n/2),this.originX=.5,this.originY=.5,this._customViewport=!1},setOrigin:function(t,e){return void 0===t&&(t=.5),void 0===e&&(e=t),this.originX=t,this.originY=e,this},getScroll:function(t,e,i){void 0===i&&(i=new u);var n=.5*this.width,s=.5*this.height;return i.x=t-n,i.y=e-s,this.useBounds&&(i.x=this.clampX(i.x),i.y=this.clampY(i.y)),i},centerOn:function(t,e){var i=.5*this.width,n=.5*this.height;return this.midPoint.set(t,e),this.scrollX=t-i,this.scrollY=e-n,this.useBounds&&(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},centerToBounds:function(){if(this.useBounds){var t=this._bounds,e=.5*this.width,i=.5*this.height;this.midPoint.set(t.centerX,t.centerY),this.scrollX=t.centerX-e,this.scrollY=t.centerY-i}return this},centerToSize:function(){return this.scrollX=.5*this.width,this.scrollY=.5*this.height,this},cull:function(t){if(this.disableCull)return t;var e=this.matrix.matrix,i=e[0],n=e[1],s=e[2],r=e[3],o=i*r-n*s;if(!o)return t;var a=e[4],h=e[5],l=this.scrollX,u=this.scrollY,c=this.width,d=this.height,f=this.culledObjects,p=t.length;o=1/o,f.length=0;for(var g=0;g<p;++g){var v=t[g];if(v.hasOwnProperty("width")&&!v.parentContainer){var y=v.width,m=v.height,x=v.x-l*v.scrollFactorX-y*v.originX,w=v.y-u*v.scrollFactorY-m*v.originY,b=x*i+w*s+a,T=x*n+w*r+h,S=(x+y)*i+(w+m)*s+a,_=(x+y)*n+(w+m)*r+h,A=c+y,C=d+m;b>-y&&T>-m&&b<A&&T<C&&S>-y&&_>-m&&S<A&&_<C&&f.push(v)}else f.push(v)}return f},getWorldPoint:function(t,e,i){void 0===i&&(i=new u);var n=this.matrix.matrix,s=n[0],r=n[1],o=n[2],a=n[3],h=n[4],l=n[5],c=s*a-r*o;if(!c)return i.x=t,i.y=e,i;var d=a*(c=1/c),f=-r*c,p=-o*c,g=s*c,v=(o*l-a*h)*c,y=(r*h-s*l)*c,m=Math.cos(this.rotation),x=Math.sin(this.rotation),w=this.zoom,b=this.resolution,T=this.scrollX,S=this.scrollY,_=t+(T*m-S*x)*w,A=e+(T*x+S*m)*w;return i.x=(_*d+A*p)*b+v,i.y=(_*f+A*g)*b+y,i},ignore:function(t){var e=this.id;Array.isArray(t)||(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];Array.isArray(n)?this.ignore(n):n.isParent?this.ignore(n.getChildren()):n.cameraFilter|=e}return this},preRender:function(t,e){var i=this.width,n=this.height,s=.5*i,r=.5*n,o=this.zoom*t,a=this.matrix,h=i*this.originX,l=n*this.originY,u=this.scrollX,c=this.scrollY;this.useBounds&&(u=this.clampX(u),c=this.clampY(c)),this.roundPixels&&(h=Math.round(h),l=Math.round(l)),this.scrollX=u,this.scrollY=c;var d=u+s,f=c+r;this.midPoint.set(d,f);var p=i/o,g=n/o;this.worldView.setTo(d-p/2,f-g/2,p,g),a.loadIdentity(),a.scale(e,e),a.translate(this.x+h,this.y+l),a.rotate(this.rotation),a.scale(o,o),a.translate(-h,-l)},clampX:function(t){var e=this._bounds,i=this.displayWidth,n=e.x+(i-this.width)/2,s=Math.max(n,n+e.width-i);return t<n?t=n:t>s&&(t=s),t},clampY:function(t){var e=this._bounds,i=this.displayHeight,n=e.y+(i-this.height)/2,s=Math.max(n,n+e.height-i);return t<n?t=n:t>s&&(t=s),t},removeBounds:function(){return this.useBounds=!1,this.dirty=!0,this._bounds.setEmpty(),this},setAngle:function(t){return void 0===t&&(t=0),this.rotation=r(t),this},setBackgroundColor:function(t){return void 0===t&&(t="rgba(0,0,0,0)"),this.backgroundColor=l(t),this.transparent=0===this.backgroundColor.alpha,this},setBounds:function(t,e,i,n,s){return this._bounds.setTo(t,e,i,n),this.dirty=!0,this.useBounds=!0,s?this.centerToBounds():(this.scrollX=this.clampX(this.scrollX),this.scrollY=this.clampY(this.scrollY)),this},setName:function(t){return void 0===t&&(t=""),this.name=t,this},setPosition:function(t,e){return void 0===e&&(e=t),this.x=t,this.y=e,this},setRotation:function(t){return void 0===t&&(t=0),this.rotation=t,this},setRoundPixels:function(t){return this.roundPixels=t,this},setScene:function(t){this.scene&&this._customViewport&&this.sceneManager.customViewports--,this.scene=t,this.config=t.sys.game.config,this.sceneManager=t.sys.game.scene;var e=this.config.resolution;return this.resolution=e,this._cx=this._x*e,this._cy=this._y*e,this._cw=this._width*e,this._ch=this._height*e,this.updateSystem(),this},setScroll:function(t,e){return void 0===e&&(e=t),this.scrollX=t,this.scrollY=e,this},setSize:function(t,e){return void 0===e&&(e=t),this.width=t,this.height=e,this},setViewport:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},setZoom:function(t){return void 0===t&&(t=1),0===t&&(t=.001),this.zoom=t,this},toJSON:function(){var t={name:this.name,x:this.x,y:this.y,width:this.width,height:this.height,zoom:this.zoom,rotation:this.rotation,roundPixels:this.roundPixels,scrollX:this.scrollX,scrollY:this.scrollY,backgroundColor:this.backgroundColor.rgba};return this.useBounds&&(t.bounds={x:this._bounds.x,y:this._bounds.y,width:this._bounds.width,height:this._bounds.height}),t},update:function(){},updateSystem:function(){if(this.config){var t=0!==this._x||0!==this._y||this.config.width!==this._width||this.config.height!==this._height,e=this.sceneManager;t&&!this._customViewport?e.customViewports++:!t&&this._customViewport&&e.customViewports--,this.dirty=!0,this._customViewport=t}},destroy:function(){this.emit("cameradestroy",this),this.removeAllListeners(),this.matrix.destroy(),this.culledObjects=[],this._customViewport&&this.sceneManager.customViewports--,this._bounds=null,this.scene=null,this.config=null,this.sceneManager=null},x:{get:function(){return this._x},set:function(t){this._x=t,this._cx=t*this.resolution,this.updateSystem()}},y:{get:function(){return this._y},set:function(t){this._y=t,this._cy=t*this.resolution,this.updateSystem()}},width:{get:function(){return this._width},set:function(t){this._width=t,this._cw=t*this.resolution,this.updateSystem()}},height:{get:function(){return this._height},set:function(t){this._height=t,this._ch=t*this.resolution,this.updateSystem()}},scrollX:{get:function(){return this._scrollX},set:function(t){this._scrollX=t,this.dirty=!0}},scrollY:{get:function(){return this._scrollY},set:function(t){this._scrollY=t,this.dirty=!0}},zoom:{get:function(){return this._zoom},set:function(t){this._zoom=t,this.dirty=!0}},rotation:{get:function(){return this._rotation},set:function(t){this._rotation=t,this.dirty=!0}},centerX:{get:function(){return this.x+.5*this.width}},centerY:{get:function(){return this.y+.5*this.height}},displayWidth:{get:function(){return this.width/this.zoom}},displayHeight:{get:function(){return this.height/this.zoom}}});t.exports=c},function(t,e){t.exports=function(t){for(var e=t.length-1;e>0;e--){var i=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[i],t[i]=n}return t}},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.parent=t,this.events=e,e||(this.events=t.events?t.events:t),this.list={},this.values={},this._frozen=!1,!t.hasOwnProperty("sys")&&this.events&&this.events.once("destroy",this.destroy,this)},get:function(t){var e=this.list;if(Array.isArray(t)){for(var i=[],n=0;n<t.length;n++)i.push(e[t[n]]);return i}return e[t]},getAll:function(){var t={};for(var e in this.list)this.list.hasOwnProperty(e)&&(t[e]=this.list[e]);return t},query:function(t){var e={};for(var i in this.list)this.list.hasOwnProperty(i)&&i.match(t)&&(e[i]=this.list[i]);return e},set:function(t,e){if(this._frozen)return this;if("string"==typeof t)return this.setValue(t,e);for(var i in t)this.setValue(i,t[i]);return this},setValue:function(t,e){if(this._frozen)return this;if(this.has(t))this.values[t]=e;else{var i=this,n=this.list,s=this.events,r=this.parent;Object.defineProperty(this.values,t,{enumerable:!0,configurable:!0,get:function(){return n[t]},set:function(e){if(!i._frozen){var o=n[t];n[t]=e,s.emit("changedata",r,t,e,o),s.emit("changedata_"+t,r,e,o)}}}),n[t]=e,s.emit("setdata",r,t,e)}return this},each:function(t,e){for(var i=[this.parent,null,void 0],n=1;n<arguments.length;n++)i.push(arguments[n]);for(var s in this.list)i[1]=s,i[2]=this.list[s],t.apply(e,i);return this},merge:function(t,e){for(var i in void 0===e&&(e=!0),t)t.hasOwnProperty(i)&&(e||!e&&!this.has(i))&&this.setValue(i,t[i]);return this},remove:function(t){if(this._frozen)return this;if(!Array.isArray(t))return this.removeValue(t);for(var e=0;e<t.length;e++)this.removeValue(t[e]);return this},removeValue:function(t){if(this.has(t)){var e=this.list[t];delete this.list[t],delete this.values[t],this.events.emit("removedata",this.parent,t,e)}return this},pop:function(t){var e=void 0;return!this._frozen&&this.has(t)&&(e=this.list[t],delete this.list[t],delete this.values[t],this.events.emit("removedata",this,t,e)),e},has:function(t){return this.list.hasOwnProperty(t)},setFreeze:function(t){return this._frozen=t,this},reset:function(){for(var t in this.list)delete this.list[t],delete this.values[t];return this._frozen=!1,this},destroy:function(){this.reset(),this.events.off("changedata"),this.events.off("setdata"),this.events.off("removedata"),this.parent=null},freeze:{get:function(){return this._frozen},set:function(t){this._frozen=!!t}},count:{get:function(){var t=0;for(var e in this.list)void 0!==this.list[e]&&t++;return t}}});t.exports=n},function(t,e){t.exports=function(t){return 2*(t.width+t.height)}},function(t,e,i){var n=i(66),s=i(71),r=i(40),o=i(0),a=i(14),h=i(19),l=i(9),u=i(39),c=new o({Extends:h,Mixins:[a.Depth,a.GetBounds,a.Origin,a.ScaleMode,a.Transform,a.ScrollFactor,a.Visible],initialize:function(t,e,i,s,r){void 0===s&&(s=1),void 0===r&&(r=s),h.call(this,t,"Zone"),this.setPosition(e,i),this.width=s,this.height=r,this.blendMode=n.NORMAL,this.updateDisplayOrigin()},displayWidth:{get:function(){return this.scaleX*this.width},set:function(t){this.scaleX=t/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(t){this.scaleY=t/this.height}},setSize:function(t,e,i){return void 0===i&&(i=!0),this.width=t,this.height=e,i&&this.input&&this.input.hitArea instanceof l&&(this.input.hitArea.width=t,this.input.hitArea.height=e),this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this},setCircleDropZone:function(t){return this.setDropZone(new s(0,0,t),r)},setRectangleDropZone:function(t,e){return this.setDropZone(new l(0,0,t,e),u)},setDropZone:function(t,e){return void 0===t?this.setRectangleDropZone(this.width,this.height):this.input||this.setInteractive(t,e,!0),this},setAlpha:function(){},renderCanvas:function(){},renderWebGL:function(){}});t.exports=c},function(t,e,i){var n={};t.exports=n;var s=i(76),r=i(33),o=i(67),a=i(80),h=i(81),l=i(1069);n.rectangle=function(t,e,i,n,a){a=a||{};var h={label:"Rectangle Body",position:{x:t,y:e},vertices:s.fromPath("L 0 0 L "+i+" 0 L "+i+" "+n+" L 0 "+n)};if(a.chamfer){var l=a.chamfer;h.vertices=s.chamfer(h.vertices,l.radius,l.quality,l.qualityMin,l.qualityMax),delete a.chamfer}return o.create(r.extend({},h,a))},n.trapezoid=function(t,e,i,n,a,h){h=h||{};var l,u=i*(a*=.5),c=u+(1-2*a)*i,d=c+u;l=a<.5?"L 0 0 L "+u+" "+-n+" L "+c+" "+-n+" L "+d+" 0":"L 0 0 L "+c+" "+-n+" L "+d+" 0";var f={label:"Trapezoid Body",position:{x:t,y:e},vertices:s.fromPath(l)};if(h.chamfer){var p=h.chamfer;f.vertices=s.chamfer(f.vertices,p.radius,p.quality,p.qualityMin,p.qualityMax),delete h.chamfer}return o.create(r.extend({},f,h))},n.circle=function(t,e,i,s,o){s=s||{};var a={label:"Circle Body",circleRadius:i};o=o||25;var h=Math.ceil(Math.max(10,Math.min(o,i)));return h%2==1&&(h+=1),n.polygon(t,e,h,i,r.extend({},a,s))},n.polygon=function(t,e,i,a,h){if(h=h||{},i<3)return n.circle(t,e,a,h);for(var l=2*Math.PI/i,u="",c=.5*l,d=0;d<i;d+=1){var f=c+d*l,p=Math.cos(f)*a,g=Math.sin(f)*a;u+="L "+p.toFixed(3)+" "+g.toFixed(3)+" "}var v={label:"Polygon Body",position:{x:t,y:e},vertices:s.fromPath(u)};if(h.chamfer){var y=h.chamfer;v.vertices=s.chamfer(v.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete h.chamfer}return o.create(r.extend({},v,h))},n.fromVertices=function(t,e,i,n,u,c,d){var f,p,g,v,y,m,x,w,b;for(n=n||{},p=[],u=void 0!==u&&u,c=void 0!==c?c:.01,d=void 0!==d?d:10,l||r.warn("Bodies.fromVertices: poly-decomp.js required. Could not decompose vertices. Fallback to convex hull."),r.isArray(i[0])||(i=[i]),w=0;w<i.length;w+=1)if(v=i[w],(g=s.isConvex(v))||!l)v=g?s.clockwiseSort(v):s.hull(v),p.push({position:{x:t,y:e},vertices:v});else{var T=v.map(function(t){return[t.x,t.y]});l.makeCCW(T),!1!==c&&l.removeCollinearPoints(T,c);var S=l.quickDecomp(T);for(y=0;y<S.length;y++){var _=S[y].map(function(t){return{x:t[0],y:t[1]}});d>0&&s.area(_)<d||p.push({position:s.centre(_),vertices:_})}}for(y=0;y<p.length;y++)p[y]=o.create(r.extend(p[y],n));if(u)for(y=0;y<p.length;y++){var A=p[y];for(m=y+1;m<p.length;m++){var C=p[m];if(a.overlaps(A.bounds,C.bounds)){var M=A.vertices,P=C.vertices;for(x=0;x<A.vertices.length;x++)for(b=0;b<C.vertices.length;b++){var E=h.magnitudeSquared(h.sub(M[(x+1)%M.length],P[b])),k=h.magnitudeSquared(h.sub(M[x],P[(b+1)%P.length]));E<5&&k<5&&(M[x].isInternal=!0,P[b].isInternal=!0)}}}}return p.length>1?(f=o.create(r.extend({parts:p.slice(0)},n)),o.setPosition(f,{x:t,y:e}),f):p[0]}},function(t,e){t.exports=function(t,e,i,n,s,r,o,a,h,l,u,c,d){return{target:t,key:e,getEndValue:i,getStartValue:n,ease:s,duration:0,totalDuration:0,delay:0,yoyo:a,hold:0,repeat:0,repeatDelay:0,flipX:c,flipY:d,progress:0,elapsed:0,repeatCounter:0,start:0,current:0,end:0,t1:0,t2:0,gen:{delay:r,duration:o,hold:h,repeat:l,repeatDelay:u},state:0}}},function(t,e,i){var n=i(0),s=i(13),r=i(5),o=i(83),a=new n({initialize:function(t,e,i){this.parent=t,this.parentIsTimeline=t.hasOwnProperty("isTimeline"),this.data=e,this.totalData=e.length,this.targets=i,this.totalTargets=i.length,this.useFrames=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.offset=0,this.calculatedOffset=0,this.state=o.PENDING_ADD,this._pausedState=o.PENDING_ADD,this.paused=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.callbacks={onComplete:null,onLoop:null,onRepeat:null,onStart:null,onUpdate:null,onYoyo:null},this.callbackScope},getValue:function(){return this.data[0].current},setTimeScale:function(t){return this.timeScale=t,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return this.state===o.ACTIVE},isPaused:function(){return this.state===o.PAUSED},hasTarget:function(t){return-1!==this.targets.indexOf(t)},updateTo:function(t,e,i){for(var n=0;n<this.totalData;n++){var s=this.data[n];if(s.key===t){s.end=e,i&&(s.start=s.current);break}}return this},restart:function(){this.state===o.REMOVED?(this.seek(0),this.parent.makeActive(this)):(this.stop(),this.play())},calcDuration:function(){for(var t=0,e=this.data,i=0;i<this.totalData;i++){var n=e[i];n.t1=n.duration+n.hold,n.yoyo&&(n.t1+=n.duration),n.t2=n.t1+n.repeatDelay,n.totalDuration=n.delay+n.t1,-1===n.repeat?n.totalDuration+=999999999999*n.t2:n.repeat>0&&(n.totalDuration+=n.t2*n.repeat),n.totalDuration>t&&(t=n.totalDuration)}this.duration=t,this.loopCounter=-1===this.loop?999999999999:this.loop,this.loopCounter>0?this.totalDuration=this.duration+this.completeDelay+(this.duration+this.loopDelay)*this.loopCounter:this.totalDuration=this.duration+this.completeDelay},init:function(){for(var t=this.data,e=this.totalTargets,i=0;i<this.totalData;i++){var n=t[i],s=n.target,r=n.gen;n.delay=r.delay(i,e,s),n.duration=r.duration(i,e,s),n.hold=r.hold(i,e,s),n.repeat=r.repeat(i,e,s),n.repeatDelay=r.repeatDelay(i,e,s)}return this.calcDuration(),this.progress=0,this.totalProgress=0,this.elapsed=0,this.totalElapsed=0,this.paused&&!this.parentIsTimeline?(this.state=o.PENDING_ADD,this._pausedState=o.INIT,!1):(this.state=o.INIT,!0)},nextState:function(){if(this.loopCounter>0){this.elapsed=0,this.progress=0,this.loopCounter--;var t=this.callbacks.onLoop;t&&(t.params[1]=this.targets,t.func.apply(t.scope,t.params)),this.resetTweenData(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.state=o.LOOP_DELAY):this.state=o.ACTIVE}else if(this.completeDelay>0)this.countdown=this.completeDelay,this.state=o.COMPLETE_DELAY;else{var e=this.callbacks.onComplete;e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.PENDING_REMOVE}},pause:function(){if(this.state!==o.PAUSED)return this.paused=!0,this._pausedState=this.state,this.state=o.PAUSED,this},play:function(t){if(this.state!==o.ACTIVE){this.state!==o.PENDING_REMOVE&&this.state!==o.REMOVED||(this.init(),this.parent.makeActive(this),t=!0);var e=this.callbacks.onStart;this.parentIsTimeline?(this.resetTweenData(t),0===this.calculatedOffset?(e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.ACTIVE):(this.countdown=this.calculatedOffset,this.state=o.OFFSET_DELAY)):this.paused?(this.paused=!1,this.parent.makeActive(this)):(this.resetTweenData(t),this.state=o.ACTIVE,e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.parent.makeActive(this))}},resetTweenData:function(t){for(var e=this.data,i=0;i<this.totalData;i++){var n=e[i];n.progress=0,n.elapsed=0,n.repeatCounter=-1===n.repeat?999999999999:n.repeat,t?(n.start=n.getStartValue(n.target,n.key,n.start),n.end=n.getEndValue(n.target,n.key,n.end),n.current=n.start,n.state=o.PLAYING_FORWARD):n.delay>0?(n.elapsed=n.delay,n.state=o.DELAY):n.state=o.PENDING_RENDER}},resume:function(){return this.state===o.PAUSED?(this.paused=!1,this.state=this._pausedState):this.play(),this},seek:function(t){for(var e=this.data,i=0;i<this.totalData;i++){var n=this.totalDuration*t,s=e[i],r=0,o=0;n<=s.delay?(r=0,o=0):n>=s.totalDuration?(r=1,o=s.duration):n>s.delay&&n<=s.t1?(r=(n=Math.max(0,n-s.delay))/s.t1,o=s.duration*r):n>s.t1&&n<s.totalDuration&&(n-=s.delay,(n=(n-=s.t1)/s.t2%1*s.t2)>s.repeatDelay&&(r=n/s.t1,o=s.duration*r)),s.progress=r,s.elapsed=o;var a=s.ease(s.progress);s.current=s.start+(s.end-s.start)*a,s.target[s.key]=s.current}},setCallback:function(t,e,i,n){return this.callbacks[t]={func:e,scope:n,params:i},this},complete:function(t){if(void 0===t&&(t=0),t)this.countdown=t,this.state=o.COMPLETE_DELAY;else{var e=this.callbacks.onComplete;e&&(e.params[1]=this.targets,e.func.apply(e.scope,e.params)),this.state=o.PENDING_REMOVE}},stop:function(t){this.state===o.ACTIVE&&void 0!==t&&this.seek(t),this.state!==o.REMOVED&&(this.state!==o.PAUSED&&this.state!==o.PENDING_ADD||(this.parent._destroy.push(this),this.parent._toProcess++),this.state=o.PENDING_REMOVE)},update:function(t,e){if(this.state===o.PAUSED)return!1;switch(this.useFrames&&(e=1*this.parent.timeScale),e*=this.timeScale,this.elapsed+=e,this.progress=Math.min(this.elapsed/this.duration,1),this.totalElapsed+=e,this.totalProgress=Math.min(this.totalElapsed/this.totalDuration,1),this.state){case o.ACTIVE:for(var i=!1,n=0;n<this.totalData;n++)this.updateTweenData(this,this.data[n],e)&&(i=!0);i||this.nextState();break;case o.LOOP_DELAY:this.countdown-=e,this.countdown<=0&&(this.state=o.ACTIVE);break;case o.OFFSET_DELAY:if(this.countdown-=e,this.countdown<=0){var s=this.callbacks.onStart;s&&(s.params[1]=this.targets,s.func.apply(s.scope,s.params)),this.state=o.ACTIVE}break;case o.COMPLETE_DELAY:if(this.countdown-=e,this.countdown<=0){var r=this.callbacks.onComplete;r&&r.func.apply(r.scope,r.params),this.state=o.PENDING_REMOVE}}return this.state===o.PENDING_REMOVE},setStateFromEnd:function(t,e,i){if(e.yoyo){e.elapsed=i,e.progress=i/e.duration,e.flipX&&e.target.toggleFlipX(),e.flipY&&e.target.toggleFlipY();var n=t.callbacks.onYoyo;return n&&(n.params[1]=e.target,n.func.apply(n.scope,n.params)),e.start=e.getStartValue(e.target,e.key,e.start),o.PLAYING_BACKWARD}if(e.repeatCounter>0){e.repeatCounter--,e.elapsed=i,e.progress=i/e.duration,e.flipX&&e.target.toggleFlipX(),e.flipY&&e.target.toggleFlipY();var s=t.callbacks.onRepeat;return s&&(s.params[1]=e.target,s.func.apply(s.scope,s.params)),e.start=e.getStartValue(e.target,e.key,e.start),e.end=e.getEndValue(e.target,e.key,e.start),e.repeatDelay>0?(e.elapsed=e.repeatDelay-i,e.current=e.start,e.target[e.key]=e.current,o.REPEAT_DELAY):o.PLAYING_FORWARD}return o.COMPLETE},setStateFromStart:function(t,e,i){if(e.repeatCounter>0){e.repeatCounter--,e.elapsed=i,e.progress=i/e.duration,e.flipX&&e.target.toggleFlipX(),e.flipY&&e.target.toggleFlipY();var n=t.callbacks.onRepeat;return n&&(n.params[1]=e.target,n.func.apply(n.scope,n.params)),e.end=e.getEndValue(e.target,e.key,e.start),e.repeatDelay>0?(e.elapsed=e.repeatDelay-i,e.current=e.start,e.target[e.key]=e.current,o.REPEAT_DELAY):o.PLAYING_FORWARD}return o.COMPLETE},updateTweenData:function(t,e,i){switch(e.state){case o.PLAYING_FORWARD:case o.PLAYING_BACKWARD:if(!e.target){e.state=o.COMPLETE;break}var n=e.elapsed,s=e.duration,r=0;(n+=i)>s&&(r=n-s,n=s);var a,h=e.state===o.PLAYING_FORWARD,l=n/s;a=h?e.ease(l):e.ease(1-l),e.current=e.start+(e.end-e.start)*a,e.target[e.key]=e.current,e.elapsed=n,e.progress=l;var u=t.callbacks.onUpdate;u&&(u.params[1]=e.target,u.func.apply(u.scope,u.params)),1===l&&(h?e.hold>0?(e.elapsed=e.hold-r,e.state=o.HOLD_DELAY):e.state=this.setStateFromEnd(t,e,r):e.state=this.setStateFromStart(t,e,r));break;case o.DELAY:e.elapsed-=i,e.elapsed<=0&&(e.elapsed=Math.abs(e.elapsed),e.state=o.PENDING_RENDER);break;case o.REPEAT_DELAY:e.elapsed-=i,e.elapsed<=0&&(e.elapsed=Math.abs(e.elapsed),e.state=o.PLAYING_FORWARD);break;case o.HOLD_DELAY:e.elapsed-=i,e.elapsed<=0&&(e.state=this.setStateFromEnd(t,e,Math.abs(e.elapsed)));break;case o.PENDING_RENDER:e.target?(e.start=e.getStartValue(e.target,e.key,e.target[e.key]),e.end=e.getEndValue(e.target,e.key,e.start),e.current=e.start,e.target[e.key]=e.start,e.state=o.PLAYING_FORWARD):e.state=o.COMPLETE}return e.state!==o.COMPLETE}});a.TYPES=["onComplete","onLoop","onRepeat","onStart","onUpdate","onYoyo"],r.register("tween",function(t){return this.scene.sys.tweens.add(t)}),s.register("tween",function(t){return this.scene.sys.tweens.create(t)}),t.exports=a},function(t,e){t.exports={targets:null,delay:0,duration:1e3,ease:"Power0",easeParams:null,hold:0,repeat:0,repeatDelay:0,yoyo:!1,flipX:!1,flipY:!1}},function(t,e){function i(t){return!!t.getStart&&"function"==typeof t.getStart}function n(t){return!!t.getEnd&&"function"==typeof t.getEnd}var s=function(t,e){var r,o,a=function(t,e,i){return i},h=function(t,e,i){return i},l=typeof e;if("number"===l)a=function(){return e};else if("string"===l){var u=e[0],c=parseFloat(e.substr(2));switch(u){case"+":a=function(t,e,i){return i+c};break;case"-":a=function(t,e,i){return i-c};break;case"*":a=function(t,e,i){return i*c};break;case"/":a=function(t,e,i){return i/c};break;default:a=function(){return parseFloat(e)}}}else"function"===l?a=e:"object"===l&&(i(o=e)||n(o))?(n(e)&&(a=e.getEnd),i(e)&&(h=e.getStart)):e.hasOwnProperty("value")&&(r=s(t,e.value));return r||(r={getEnd:a,getStart:h}),r};t.exports=s},function(t,e,i){var n=i(4);t.exports=function(t){var e=n(t,"targets",null);return null===e?e:("function"==typeof e&&(e=e.call()),Array.isArray(e)||(e=[e]),e)}},function(t,e,i){var n=i(29),s=i(77),r=i(217),o=i(209);t.exports=function(t,e,i,a,h,l,u,c){void 0===i&&(i=32),void 0===a&&(a=32),void 0===h&&(h=10),void 0===l&&(l=10),void 0===c&&(c=!1);var d=null;if(Array.isArray(u))d=r(void 0!==e?e:"map",n.ARRAY_2D,u,i,a,c);else if(void 0!==e){var f=t.cache.tilemap.get(e);f?d=r(e,f.format,f.data,i,a,c):console.warn("No map data found for key "+e)}return null===d&&(d=new s({tileWidth:i,tileHeight:a,width:h,height:l})),new o(t,d)}},function(t,e,i){var n=i(29),s=i(78),r=i(77),o=i(55);t.exports=function(t,e,i,a,h){for(var l=new s({tileWidth:i,tileHeight:a}),u=new r({name:t,tileWidth:i,tileHeight:a,format:n.ARRAY_2D,layers:[l]}),c=[],d=e.length,f=0,p=0;p<e.length;p++){c[p]=[];for(var g=e[p],v=0;v<g.length;v++){var y=parseInt(g[v],10);isNaN(y)||-1===y?c[p][v]=h?null:new o(l,-1,v,p,i,a):c[p][v]=new o(l,y,v,p,i,a)}0===f&&(f=g.length)}return u.width=l.width=f,u.height=l.height=d,u.widthInPixels=l.widthInPixels=f*i,u.heightInPixels=l.heightInPixels=d*a,l.data=c,u}},function(t,e){t.exports=function(t,e,i){var n=i.collideIndexes.indexOf(t);e&&-1===n?i.collideIndexes.push(t):e||-1===n||i.collideIndexes.splice(n,1)}},function(t,e,i){var n=i(55),s=i(79),r=i(136),o=i(56);t.exports=function(t,e,i,a,h){if(!s(e,i,h))return null;void 0===a&&(a=!0);var l=h.data[i][e],u=l&&l.collides;if(t instanceof n)null===h.data[i][e]&&(h.data[i][e]=new n(h,t.index,e,i,t.width,t.height)),h.data[i][e].copy(t);else{var c=t;null===h.data[i][e]?h.data[i][e]=new n(h,c,e,i,h.tileWidth,h.tileHeight):h.data[i][e].index=c}var d=h.data[i][e],f=-1!==h.collideIndexes.indexOf(d.index);return o(d,f),a&&u!==d.collides&&r(e,i,h),d}},function(t,e,i){var n=i(102);t.exports=function(t,e,i){var s=n(t,e,!0,i),r=n(t,e-1,!0,i),o=n(t,e+1,!0,i),a=n(t-1,e,!0,i),h=n(t+1,e,!0,i),l=s&&s.collides;return l&&(s.faceTop=!0,s.faceBottom=!0,s.faceLeft=!0,s.faceRight=!0),r&&r.collides&&(l&&(s.faceTop=!1),r.faceBottom=!l),o&&o.collides&&(l&&(s.faceBottom=!1),o.faceTop=!l),a&&a.collides&&(l&&(s.faceLeft=!1),a.faceRight=!l),h&&h.collides&&(l&&(s.faceRight=!1),h.faceLeft=!l),s&&!s.collides&&s.resetFaces(),s}},function(t,e,i){var n={};t.exports=n;var s=i(195),r=i(33),o=i(80),a=i(67);n.create=function(t){return r.extend({id:r.nextId(),type:"composite",parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:"Composite",plugin:{}},t)},n.setModified=function(t,e,i,s){if(t.isModified=e,i&&t.parent&&n.setModified(t.parent,e,i,s),s)for(var r=0;r<t.composites.length;r++){var o=t.composites[r];n.setModified(o,e,i,s)}},n.add=function(t,e){var i=[].concat(e);s.trigger(t,"beforeAdd",{object:e});for(var o=0;o<i.length;o++){var a=i[o];switch(a.type){case"body":if(a.parent!==a){r.warn("Composite.add: skipped adding a compound body part (you must add its parent instead)");break}n.addBody(t,a);break;case"constraint":n.addConstraint(t,a);break;case"composite":n.addComposite(t,a);break;case"mouseConstraint":n.addConstraint(t,a.constraint)}}return s.trigger(t,"afterAdd",{object:e}),t},n.remove=function(t,e,i){var r=[].concat(e);s.trigger(t,"beforeRemove",{object:e});for(var o=0;o<r.length;o++){var a=r[o];switch(a.type){case"body":n.removeBody(t,a,i);break;case"constraint":n.removeConstraint(t,a,i);break;case"composite":n.removeComposite(t,a,i);break;case"mouseConstraint":n.removeConstraint(t,a.constraint)}}return s.trigger(t,"afterRemove",{object:e}),t},n.addComposite=function(t,e){return t.composites.push(e),e.parent=t,n.setModified(t,!0,!0,!1),t},n.removeComposite=function(t,e,i){var s=t.composites.indexOf(e);if(-1!==s&&(n.removeCompositeAt(t,s),n.setModified(t,!0,!0,!1)),i)for(var r=0;r<t.composites.length;r++)n.removeComposite(t.composites[r],e,!0);return t},n.removeCompositeAt=function(t,e){return t.composites.splice(e,1),n.setModified(t,!0,!0,!1),t},n.addBody=function(t,e){return t.bodies.push(e),n.setModified(t,!0,!0,!1),t},n.removeBody=function(t,e,i){var s=t.bodies.indexOf(e);if(-1!==s&&(n.removeBodyAt(t,s),n.setModified(t,!0,!0,!1)),i)for(var r=0;r<t.composites.length;r++)n.removeBody(t.composites[r],e,!0);return t},n.removeBodyAt=function(t,e){return t.bodies.splice(e,1),n.setModified(t,!0,!0,!1),t},n.addConstraint=function(t,e){return t.constraints.push(e),n.setModified(t,!0,!0,!1),t},n.removeConstraint=function(t,e,i){var s=t.constraints.indexOf(e);if(-1!==s&&n.removeConstraintAt(t,s),i)for(var r=0;r<t.composites.length;r++)n.removeConstraint(t.composites[r],e,!0);return t},n.removeConstraintAt=function(t,e){return t.constraints.splice(e,1),n.setModified(t,!0,!0,!1),t},n.clear=function(t,e,i){if(i)for(var s=0;s<t.composites.length;s++)n.clear(t.composites[s],e,!0);return e?t.bodies=t.bodies.filter(function(t){return t.isStatic}):t.bodies.length=0,t.constraints.length=0,t.composites.length=0,n.setModified(t,!0,!0,!1),t},n.allBodies=function(t){for(var e=[].concat(t.bodies),i=0;i<t.composites.length;i++)e=e.concat(n.allBodies(t.composites[i]));return e},n.allConstraints=function(t){for(var e=[].concat(t.constraints),i=0;i<t.composites.length;i++)e=e.concat(n.allConstraints(t.composites[i]));return e},n.allComposites=function(t){for(var e=[].concat(t.composites),i=0;i<t.composites.length;i++)e=e.concat(n.allComposites(t.composites[i]));return e},n.get=function(t,e,i){var s,r;switch(i){case"body":s=n.allBodies(t);break;case"constraint":s=n.allConstraints(t);break;case"composite":s=n.allComposites(t).concat(t)}return s?0===(r=s.filter(function(t){return t.id.toString()===e.toString()})).length?null:r[0]:null},n.move=function(t,e,i){return n.remove(t,e),n.add(i,e),t},n.rebase=function(t){for(var e=n.allBodies(t).concat(n.allConstraints(t)).concat(n.allComposites(t)),i=0;i<e.length;i++)e[i].id=r.nextId();return n.setModified(t,!0,!0,!1),t},n.translate=function(t,e,i){for(var s=i?n.allBodies(t):t.bodies,r=0;r<s.length;r++)a.translate(s[r],e);return n.setModified(t,!0,!0,!1),t},n.rotate=function(t,e,i,s){for(var r=Math.cos(e),o=Math.sin(e),h=s?n.allBodies(t):t.bodies,l=0;l<h.length;l++){var u=h[l],c=u.position.x-i.x,d=u.position.y-i.y;a.setPosition(u,{x:i.x+(c*r-d*o),y:i.y+(c*o+d*r)}),a.rotate(u,e)}return n.setModified(t,!0,!0,!1),t},n.scale=function(t,e,i,s,r){for(var o=r?n.allBodies(t):t.bodies,h=0;h<o.length;h++){var l=o[h],u=l.position.x-s.x,c=l.position.y-s.y;a.setPosition(l,{x:s.x+u*e,y:s.y+c*i}),a.scale(l,e,i)}return n.setModified(t,!0,!0,!1),t},n.bounds=function(t){for(var e=n.allBodies(t),i=[],s=0;s<e.length;s+=1){var r=e[s];i.push(r.bounds.min,r.bounds.max)}return o.create(i)}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i){this.x=0,this.y=0,this.z=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0):(this.x=t||0,this.y=e||0,this.z=i||0)},up:function(){return this.x=0,this.y=1,this.z=0,this},clone:function(){return new n(this.x,this.y,this.z)},crossVectors:function(t,e){var i=t.x,n=t.y,s=t.z,r=e.x,o=e.y,a=e.z;return this.x=n*a-s*o,this.y=s*r-i*a,this.z=i*o-n*r,this},equals:function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z||0,this},set:function(t,e,i){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0):(this.x=t||0,this.y=e||0,this.z=i||0),this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z||0,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z||0,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z||1,this},scale:function(t){return isFinite(t)?(this.x*=t,this.y*=t,this.z*=t):(this.x=0,this.y=0,this.z=0),this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z||1,this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0;return Math.sqrt(e*e+i*i+n*n)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0;return e*e+i*i+n*n},length:function(){var t=this.x,e=this.y,i=this.z;return Math.sqrt(t*t+e*e+i*i)},lengthSq:function(){var t=this.x,e=this.y,i=this.z;return t*t+e*e+i*i},normalize:function(){var t=this.x,e=this.y,i=this.z,n=t*t+e*e+i*i;return n>0&&(n=1/Math.sqrt(n),this.x=t*n,this.y=e*n,this.z=i*n),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},cross:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z;return this.x=i*o-n*r,this.y=n*s-e*o,this.z=e*r-i*s,this},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this},transformMat3:function(t){var e=this.x,i=this.y,n=this.z,s=t.val;return this.x=e*s[0]+i*s[3]+n*s[6],this.y=e*s[1]+i*s[4]+n*s[7],this.z=e*s[2]+i*s[5]+n*s[8],this},transformMat4:function(t){var e=this.x,i=this.y,n=this.z,s=t.val;return this.x=s[0]*e+s[4]*i+s[8]*n+s[12],this.y=s[1]*e+s[5]*i+s[9]*n+s[13],this.z=s[2]*e+s[6]*i+s[10]*n+s[14],this},transformCoordinates:function(t){var e=this.x,i=this.y,n=this.z,s=t.val,r=e*s[0]+i*s[4]+n*s[8]+s[12],o=e*s[1]+i*s[5]+n*s[9]+s[13],a=e*s[2]+i*s[6]+n*s[10]+s[14],h=e*s[3]+i*s[7]+n*s[11]+s[15];return this.x=r/h,this.y=o/h,this.z=a/h,this},transformQuat:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z,a=t.w,h=a*e+r*n-o*i,l=a*i+o*e-s*n,u=a*n+s*i-r*e,c=-s*e-r*i-o*n;return this.x=h*a+c*-s+l*-o-u*-r,this.y=l*a+c*-r+u*-s-h*-o,this.z=u*a+c*-o+h*-r-l*-s,this},project:function(t){var e=this.x,i=this.y,n=this.z,s=t.val,r=s[0],o=s[1],a=s[2],h=s[3],l=s[4],u=s[5],c=s[6],d=s[7],f=s[8],p=s[9],g=s[10],v=s[11],y=s[12],m=s[13],x=s[14],w=1/(e*h+i*d+n*v+s[15]);return this.x=(e*r+i*l+n*f+y)*w,this.y=(e*o+i*u+n*p+m)*w,this.z=(e*a+i*c+n*g+x)*w,this},unproject:function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,o=this.x-i,a=r-this.y-1-n,h=this.z;return this.x=2*o/s-1,this.y=2*a/r-1,this.z=2*h-1,this.project(e)},reset:function(){return this.x=0,this.y=0,this.z=0,this}});t.exports=n},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=i(343),u=new n({Extends:r,initialize:function(t,e,i,n){var s="xml";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var l={type:"xml",cache:t.cacheManager.xml,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,l)},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=l(this.xhrLoader.responseText),this.data?this.onProcessComplete():(console.warn("Invalid XMLFile: "+this.key),this.onProcessError())}});o.register("xml",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new u(this,t[n]));else this.addFile(new u(this,t,e,i));return this}),t.exports=u},function(t,e,i){var n=i(20),s=i(105);t.exports=function(t,e){var i=void 0===t?s():n({},t);if(e)for(var r in e)void 0!==e[r]&&(i[r]=e[r]);return i}},function(t,e){t.exports=function(t,e){return!!t.url&&(t.url.match(/^(?:blob:|data:|http:\/\/|https:\/\/|\/\/)/)?t.url:e+t.url)}},function(t,e){t.exports=function(t,e,i,n){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.floor(t/e),n?(i+t)/e:i+t)}},function(t,e){t.exports={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:42,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,NUMPAD_ZERO:96,NUMPAD_ONE:97,NUMPAD_TWO:98,NUMPAD_THREE:99,NUMPAD_FOUR:100,NUMPAD_FIVE:101,NUMPAD_SIX:102,NUMPAD_SEVEN:103,NUMPAD_EIGHT:104,NUMPAD_NINE:105,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SEMICOLON:186,PLUS:187,COMMA:188,MINUS:189,PERIOD:190,FORWARD_SLASH:191,BACK_SLASH:220,QUOTES:222,BACKTICK:192,OPEN_BRACKET:219,CLOSED_BRACKET:221}},function(t,e){t.exports=function(t,e,i,n){var s=Math.cos(n),r=Math.sin(n),o=t.x1-e,a=t.y1-i;return t.x1=o*s-a*r+e,t.y1=o*r+a*s+i,o=t.x2-e,a=t.y2-i,t.x2=o*s-a*r+e,t.y2=o*r+a*s+i,o=t.x3-e,a=t.y3-i,t.x3=o*s-a*r+e,t.y3=o*r+a*s+i,t}},function(t,e){t.exports=function(t){return 0===t.height?NaN:t.width/t.height}},function(t,e){t.exports=function(t,e,i,n){var s=Math.cos(n),r=Math.sin(n),o=t.x1-e,a=t.y1-i;return t.x1=o*s-a*r+e,t.y1=o*r+a*s+i,o=t.x2-e,a=t.y2-i,t.x2=o*s-a*r+e,t.y2=o*r+a*s+i,t}},function(t,e){t.exports=function(t,e,i,n){void 0===i&&(i=!1),void 0===n&&(n=[]);for(var s,r,o,a,h,l,u=t.x3-t.x1,c=t.y3-t.y1,d=t.x2-t.x1,f=t.y2-t.y1,p=u*u+c*c,g=u*d+c*f,v=d*d+f*f,y=p*v-g*g,m=0===y?0:1/y,x=t.x1,w=t.y1,b=0;b<e.length&&(r=(p*(l=d*(o=e[b].x-x)+f*(a=e[b].y-w))-g*(h=u*o+c*a))*m,!((s=(v*h-g*l)*m)>=0&&r>=0&&s+r<1&&(n.push({x:e[b].x,y:e[b].y}),i)));b++);return n}},function(t,e){t.exports=function(t,e){return!(t.width<=0||t.height<=0||e.width<=0||e.height<=0||t.right<e.x||t.bottom<e.y||t.x>e.right||t.y>e.bottom)}},function(t,e,i){var n=i(0),s=i(108),r=new n({Extends:s,initialize:function(t,e,i,n,r){s.call(this,t,e,i,[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,0,0,1,1,1,0],[16777215,16777215,16777215,16777215,16777215,16777215],[1,1,1,1,1,1],n,r),this.resetPosition()},setFrame:function(t){return this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,t=this.frame,this.uv[0]=t.u0,this.uv[1]=t.v0,this.uv[2]=t.u0,this.uv[3]=t.v1,this.uv[4]=t.u1,this.uv[5]=t.v1,this.uv[6]=t.u0,this.uv[7]=t.v0,this.uv[8]=t.u1,this.uv[9]=t.v1,this.uv[10]=t.u1,this.uv[11]=t.v0,this},topLeftX:{get:function(){return this.x+this.vertices[0]},set:function(t){this.vertices[0]=t-this.x,this.vertices[6]=t-this.x}},topLeftY:{get:function(){return this.y+this.vertices[1]},set:function(t){this.vertices[1]=t-this.y,this.vertices[7]=t-this.y}},topRightX:{get:function(){return this.x+this.vertices[10]},set:function(t){this.vertices[10]=t-this.x}},topRightY:{get:function(){return this.y+this.vertices[11]},set:function(t){this.vertices[11]=t-this.y}},bottomLeftX:{get:function(){return this.x+this.vertices[2]},set:function(t){this.vertices[2]=t-this.x}},bottomLeftY:{get:function(){return this.y+this.vertices[3]},set:function(t){this.vertices[3]=t-this.y}},bottomRightX:{get:function(){return this.x+this.vertices[4]},set:function(t){this.vertices[4]=t-this.x,this.vertices[8]=t-this.x}},bottomRightY:{get:function(){return this.y+this.vertices[5]},set:function(t){this.vertices[5]=t-this.y,this.vertices[9]=t-this.y}},topLeftAlpha:{get:function(){return this.alphas[0]},set:function(t){this.alphas[0]=t,this.alphas[3]=t}},topRightAlpha:{get:function(){return this.alphas[5]},set:function(t){this.alphas[5]=t}},bottomLeftAlpha:{get:function(){return this.alphas[1]},set:function(t){this.alphas[1]=t}},bottomRightAlpha:{get:function(){return this.alphas[2]},set:function(t){this.alphas[2]=t,this.alphas[4]=t}},topLeftColor:{get:function(){return this.colors[0]},set:function(t){this.colors[0]=t,this.colors[3]=t}},topRightColor:{get:function(){return this.colors[5]},set:function(t){this.colors[5]=t}},bottomLeftColor:{get:function(){return this.colors[1]},set:function(t){this.colors[1]=t}},bottomRightColor:{get:function(){return this.colors[2]},set:function(t){this.colors[2]=t,this.colors[4]=t}},setTopLeft:function(t,e){return this.topLeftX=t,this.topLeftY=e,this},setTopRight:function(t,e){return this.topRightX=t,this.topRightY=e,this},setBottomLeft:function(t,e){return this.bottomLeftX=t,this.bottomLeftY=e,this},setBottomRight:function(t,e){return this.bottomRightX=t,this.bottomRightY=e,this},resetPosition:function(){var t=this.x,e=this.y,i=Math.floor(this.width/2),n=Math.floor(this.height/2);return this.setTopLeft(t-i,e-n),this.setTopRight(t+i,e-n),this.setBottomLeft(t-i,e+n),this.setBottomRight(t+i,e+n),this},resetAlpha:function(){var t=this.alphas;return t[0]=1,t[1]=1,t[2]=1,t[3]=1,t[4]=1,t[5]=1,this},resetColors:function(){var t=this.colors;return t[0]=16777215,t[1]=16777215,t[2]=16777215,t[3]=16777215,t[4]=16777215,t[5]=16777215,this},reset:function(){return this.resetPosition(),this.resetAlpha(),this.resetColors()}});t.exports=r},function(t,e){t.exports=function(t,e,i){for(var n=!1,s=-1,r=t.points.length-1;++s<t.points.length;r=s){var o=t.points[s].x,a=t.points[s].y,h=t.points[r].x,l=t.points[r].y;(a<=i&&i<l||l<=i&&i<a)&&e<(h-o)*(i-a)/(l-a)+o&&(n=!n)}return n}},function(t,e,i){var n=i(0),s=i(150),r=i(284),o=new n({initialize:function(t){this.area=0,this.points=[],t&&this.setTo(t)},contains:function(t,e){return s(this,t,e)},setTo:function(t){if(this.area=0,this.points=[],"string"==typeof t&&(t=t.split(" ")),!Array.isArray(t))return this;for(var e,i=Number.MAX_VALUE,n=0;n<t.length;n++)e={x:0,y:0},"number"==typeof t[n]||"string"==typeof t[n]?(e.x=parseFloat(t[n]),e.y=parseFloat(t[n+1]),n++):Array.isArray(t[n])?(e.x=t[n][0],e.y=t[n][1]):(e.x=t[n].x,e.y=t[n].y),this.points.push(e),e.y<i&&(i=e.y);return this.calculateArea(i),this},calculateArea:function(){if(this.points.length<3)return this.area=0,this.area;for(var t,e,i=0,n=0;n<this.points.length-1;n++)t=this.points[n],i+=((e=this.points[n+1]).x-t.x)*(t.y+e.y);return t=this.points[0],e=this.points[this.points.length-1],i+=(t.x-e.x)*(e.y+t.y),this.area=.5*-i,this.area},getPoints:function(t,e,i){return r(this,t,e,i)}});t.exports=o},function(t,e,i){var n=i(24),s=i(0),r=i(14),o=i(26),a=i(19),h=i(294),l=i(120),u=i(805),c=i(3),d=new s({Extends:a,Mixins:[r.Alpha,r.BlendMode,r.ComputedSize,r.Crop,r.Depth,r.Flip,r.GetBounds,r.Mask,r.Origin,r.Pipeline,r.ScaleMode,r.ScrollFactor,r.Tint,r.Transform,r.Visible,u],initialize:function(t,e,i,s,r,l,u){var d=t.sys.game.renderer;a.call(this,t,"TileSprite");var f=t.sys.textures.get(l),p=f.get(u);s&&r?(s=Math.floor(s),r=Math.floor(r)):(s=p.width,r=p.height),this._tilePosition=new c,this._tileScale=new c(1,1),this.dirty=!1,this.renderer=d,this.canvas=n.create(this,s,r),this.context=this.canvas.getContext("2d"),this.displayTexture=f,this.displayFrame=p,this._crop=this.resetCropObject(),this.texture=t.sys.textures.addCanvas(null,this.canvas,!0),this.frame=this.texture.get(),this.potWidth=h(p.width),this.potHeight=h(p.height),this.fillCanvas=n.create2D(this,this.potWidth,this.potHeight),this.fillContext=this.fillCanvas.getContext("2d"),this.fillPattern=null,this.setPosition(e,i),this.setSize(s,r),this.setFrame(u),this.setOriginFromFrame(),this.initPipeline(),t.sys.game.config.renderType===o.WEBGL&&t.sys.game.renderer.onContextRestored(function(t){var e=t.gl;this.dirty=!0,this.fillPattern=null,this.fillPattern=t.createTexture2D(0,e.LINEAR,e.LINEAR,e.REPEAT,e.REPEAT,e.RGBA,this.fillCanvas,this.potWidth,this.potHeight)},this)},setTexture:function(t,e){return this.displayTexture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t){return this.displayFrame=this.displayTexture.get(t),this.displayFrame.cutWidth&&this.displayFrame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,this.dirty=!0,this.updateTileTexture(),this},setTilePosition:function(t,e){return void 0!==t&&(this.tilePositionX=t),void 0!==e&&(this.tilePositionY=e),this},setTileScale:function(t,e){return void 0!==t&&(this.tileScaleX=t),void 0!==e&&(this.tileScaleY=e),this},updateTileTexture:function(){if(this.dirty){var t=this.displayFrame,e=this.fillContext,i=this.fillCanvas,n=this.potWidth,s=this.potHeight;this.renderer.gl||(n=t.cutWidth,s=t.cutHeight),e.clearRect(0,0,n,s),i.width=n,i.height=s,e.drawImage(t.source.image,t.cutX,t.cutY,t.cutWidth,t.cutHeight,0,0,n,s),this.renderer.gl?this.fillPattern=this.renderer.canvasToTexture(i,this.fillPattern):this.fillPattern=e.createPattern(i,"repeat"),this.updateCanvas(),this.dirty=!1}},updateCanvas:function(){var t=this.canvas;if(t.width===this.width&&t.height===this.height||(t.width=this.width,t.height=this.height,this.frame.setSize(this.width,this.height)),!this.dirty||this.renderer&&this.renderer.gl)this.dirty=!1;else{var e=this.context;this.scene.sys.game.config.antialias||l.disable(e);var i=this._tileScale.x,n=this._tileScale.y,s=this._tilePosition.x,r=this._tilePosition.y;e.clearRect(0,0,this.width,this.height),e.save(),e.scale(i,n),e.translate(-s,-r),e.fillStyle=this.fillPattern,e.fillRect(s,r,this.width/i,this.height/n),e.restore(),this.dirty=!1}},preDestroy:function(){this.renderer&&this.renderer.gl&&this.renderer.deleteTexture(this.fillPattern),n.remove(this.canvas),n.remove(this.fillCanvas),this.fillPattern=null,this.fillContext=null,this.fillCanvas=null,this.displayTexture=null,this.displayFrame=null,this.texture.destroy(),this.renderer=null},tilePositionX:{get:function(){return this._tilePosition.x},set:function(t){this._tilePosition.x=t,this.dirty=!0}},tilePositionY:{get:function(){return this._tilePosition.y},set:function(t){this._tilePosition.y=t,this.dirty=!0}},tileScaleX:{get:function(){return this._tileScale.x},set:function(t){this._tileScale.x=t,this.dirty=!0}},tileScaleY:{get:function(){return this._tileScale.y},set:function(t){this._tileScale.y=t,this.dirty=!0}}});t.exports=d},function(t,e,i){var n=i(169),s=i(24),r=i(0),o=i(14),a=i(26),h=i(19),l=i(811),u=i(4),c=i(342),d=i(810),f=i(807),p=new r({Extends:h,Mixins:[o.Alpha,o.BlendMode,o.ComputedSize,o.Crop,o.Depth,o.Flip,o.GetBounds,o.Mask,o.Origin,o.Pipeline,o.ScaleMode,o.ScrollFactor,o.Tint,o.Transform,o.Visible,d],initialize:function(t,e,i,n,r){void 0===e&&(e=0),void 0===i&&(i=0),h.call(this,t,"Text"),this.renderer=t.sys.game.renderer,this.setPosition(e,i),this.setOrigin(0,0),this.initPipeline(),this.canvas=s.create(this),this.context=this.canvas.getContext("2d"),this.style=new f(this,r),this.autoRound=!0,this.splitRegExp=/(?:\r\n|\r|\n)/,this._text="",this.padding={left:0,right:0,top:0,bottom:0},this.width=1,this.height=1,this.lineSpacing=0,this.dirty=!1,0===this.style.resolution&&(this.style.resolution=t.sys.game.config.resolution),this._crop=this.resetCropObject(),this.texture=t.sys.textures.addCanvas(null,this.canvas,!0),this.frame=this.texture.get(),this.frame.source.resolution=this.style.resolution,this.renderer&&this.renderer.gl&&(this.renderer.deleteTexture(this.frame.source.glTexture),this.frame.source.glTexture=null),this.initRTL(),r&&r.padding&&this.setPadding(r.padding),r&&r.lineSpacing&&(this.lineSpacing=r.lineSpacing),this.setText(n),t.sys.game.config.renderType===a.WEBGL&&t.sys.game.renderer.onContextRestored(function(){this.dirty=!0},this)},initRTL:function(){this.style.rtl&&(this.canvas.dir="rtl",this.context.direction="rtl",this.canvas.style.display="none",n(this.canvas,this.scene.sys.canvas),this.originX=1)},runWordWrap:function(t){var e=this.style;if(e.wordWrapCallback){var i=e.wordWrapCallback.call(e.wordWrapCallbackScope,t,this);return Array.isArray(i)&&(i=i.join("\n")),i}return e.wordWrapWidth?e.wordWrapUseAdvanced?this.advancedWordWrap(t,this.context,this.style.wordWrapWidth):this.basicWordWrap(t,this.context,this.style.wordWrapWidth):t},advancedWordWrap:function(t,e,i){for(var n="",s=t.replace(/ +/gi," ").split(this.splitRegExp),r=s.length,o=0;o<r;o++){var a=s[o],h="";if(a=a.replace(/^ *|\s*$/gi,""),e.measureText(a).width<i)n+=a+"\n";else{for(var l=i,u=a.split(" "),c=0;c<u.length;c++){var d=u[c],f=d+" ",p=e.measureText(f).width;if(p>l){if(0===c){for(var g=f;g.length&&(g=g.slice(0,-1),!((p=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var v=d.substr(g.length);u[c]=v,h+=g}var y=u[c].length?c:c+1,m=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");s[o+1]=m+" "+(s[o+1]||""),r=s.length;break}h+=f,l-=p}n+=h.replace(/[ \n]*$/gi,"")+"\n"}}return n=n.replace(/[\s|\n]*$/gi,"")},basicWordWrap:function(t,e,i){for(var n="",s=t.split(this.splitRegExp),r=0;r<s.length;r++){for(var o=i,a=s[r].split(" "),h=0;h<a.length;h++){var l=e.measureText(a[h]).width,u=l+e.measureText(" ").width;u>o?(h>0&&(n+="\n"),n+=a[h]+" ",o=i-l):(o-=u,n+=a[h],h<a.length-1&&(n+=" "))}r<s.length-1&&(n+="\n")}return n},getWrappedText:function(t){return void 0===t&&(t=this._text),this.style.syncFont(this.canvas,this.context),this.runWordWrap(t).split(this.splitRegExp)},setText:function(t){return t||0===t||(t=""),Array.isArray(t)&&(t=t.join("\n")),t!==this._text&&(this._text=t.toString(),this.updateText()),this},setStyle:function(t){return this.style.setStyle(t)},setFont:function(t){return this.style.setFont(t)},setFontFamily:function(t){return this.style.setFontFamily(t)},setFontSize:function(t){return this.style.setFontSize(t)},setFontStyle:function(t){return this.style.setFontStyle(t)},setFixedSize:function(t,e){return this.style.setFixedSize(t,e)},setBackgroundColor:function(t){return this.style.setBackgroundColor(t)},setFill:function(t){return this.style.setFill(t)},setColor:function(t){return this.style.setColor(t)},setStroke:function(t,e){return this.style.setStroke(t,e)},setShadow:function(t,e,i,n,s,r){return this.style.setShadow(t,e,i,n,s,r)},setShadowOffset:function(t,e){return this.style.setShadowOffset(t,e)},setShadowColor:function(t){return this.style.setShadowColor(t)},setShadowBlur:function(t){return this.style.setShadowBlur(t)},setShadowStroke:function(t){return this.style.setShadowStroke(t)},setShadowFill:function(t){return this.style.setShadowFill(t)},setWordWrapWidth:function(t,e){return this.style.setWordWrapWidth(t,e)},setWordWrapCallback:function(t,e){return this.style.setWordWrapCallback(t,e)},setAlign:function(t){return this.style.setAlign(t)},setResolution:function(t){return this.style.setResolution(t)},setLineSpacing:function(t){return this.lineSpacing=t,this.updateText()},setPadding:function(t,e,i,n){if("object"==typeof t){var s=t,r=u(s,"x",null);null!==r?(t=r,i=r):(t=u(s,"left",0),i=u(s,"right",t));var o=u(s,"y",null);null!==o?(e=o,n=o):(e=u(s,"top",0),n=u(s,"bottom",e))}else void 0===t&&(t=0),void 0===e&&(e=t),void 0===i&&(i=t),void 0===n&&(n=e);return this.padding.left=t,this.padding.top=e,this.padding.right=i,this.padding.bottom=n,this.updateText()},setMaxLines:function(t){return this.style.setMaxLines(t)},updateText:function(){var t=this.canvas,e=this.context,i=this.style,n=i.resolution,s=i.metrics;i.syncFont(t,e);var r=this._text;(i.wordWrapWidth||i.wordWrapCallback)&&(r=this.runWordWrap(this._text));var o,a,h=r.split(this.splitRegExp),u=l(this,s,h),c=this.padding,d=u.width+c.left+c.right,f=u.height+c.top+c.bottom;0===i.fixedWidth&&(this.width=d),0===i.fixedHeight&&(this.height=f),this.updateDisplayOrigin(),d*=n,f*=n,d=Math.max(d,1),f=Math.max(f,1),t.width!==d||t.height!==f?(t.width=d,t.height=f,this.frame.setSize(d,f),i.syncFont(t,e)):e.clearRect(0,0,d,f),e.save(),e.scale(n,n),i.backgroundColor&&(e.fillStyle=i.backgroundColor,e.fillRect(0,0,d,f)),i.syncStyle(t,e),e.textBaseline="alphabetic",e.translate(c.left,c.top);for(var p=0;p<u.lines;p++)o=i.strokeThickness/2,a=i.strokeThickness/2+p*u.lineHeight+s.ascent,p>0&&(a+=u.lineSpacing*p),i.rtl?o=d-o:"right"===i.align?o+=u.width-u.lineWidths[p]:"center"===i.align&&(o+=(u.width-u.lineWidths[p])/2),this.autoRound&&(o=Math.round(o),a=Math.round(a)),i.strokeThickness&&(this.style.syncShadow(e,i.shadowStroke),e.strokeText(h[p],o,a)),i.color&&(this.style.syncShadow(e,i.shadowFill),e.fillText(h[p],o,a));return e.restore(),this.renderer.gl&&(this.frame.source.glTexture=this.renderer.canvasToTexture(t,this.frame.source.glTexture,!0),this.frame.glTexture=this.frame.source.glTexture),this.dirty=!0,this},getTextMetrics:function(){return this.style.getTextMetrics()},text:{get:function(){return this._text},set:function(t){this.setText(t)}},toJSON:function(){var t=o.ToJSON(this),e={autoRound:this.autoRound,text:this._text,style:this.style.toJSON(),padding:{left:this.padding.left,right:this.padding.right,top:this.padding.top,bottom:this.padding.bottom}};return t.data=e,t},preDestroy:function(){this.style.rtl&&c(this.canvas),s.remove(this.canvas),this.texture.destroy()}});t.exports=p},function(t,e,i){var n=i(121),s=i(24),r=i(0),o=i(14),a=i(26),h=i(113),l=i(19),u=i(817),c=i(295),d=new r({Extends:l,Mixins:[o.Alpha,o.BlendMode,o.ComputedSize,o.Crop,o.Depth,o.Flip,o.GetBounds,o.Mask,o.Origin,o.Pipeline,o.ScaleMode,o.ScrollFactor,o.Tint,o.Transform,o.Visible,u],initialize:function(t,e,i,r,o){void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=32),void 0===o&&(o=32),l.call(this,t,"RenderTexture"),this.renderer=t.sys.game.renderer,this.textureManager=t.sys.textures,this.globalTint=16777215,this.globalAlpha=1,this.canvas=s.create2D(this,r,o),this.context=this.canvas.getContext("2d"),this.framebuffer=null,this._crop=this.resetCropObject(),this.texture=t.sys.textures.addCanvas(c(),this.canvas),this.frame=this.texture.get(),this._saved=!1,this.camera=new n(0,0,r,o),this.dirty=!1,this.gl=null;var h=this.renderer;if(h.type===a.WEBGL){var u=h.gl;this.gl=u,this.drawGameObject=this.batchGameObjectWebGL,this.framebuffer=h.createFramebuffer(r,o,this.frame.source.glTexture,!1)}else h.type===a.CANVAS&&(this.drawGameObject=this.batchGameObjectCanvas);this.camera.setScene(t),this.setPosition(e,i),this.setSize(r,o),this.setOrigin(0,0),this.initPipeline()},setSize:function(t,e){return this.resize(t,e)},resize:function(t,e){if(void 0===e&&(e=t),t!==this.width||e!==this.height){if(this.canvas.width=t,this.canvas.height=e,this.gl){var i=this.gl;this.renderer.deleteTexture(this.frame.source.glTexture),this.renderer.deleteFramebuffer(this.framebuffer),this.frame.source.glTexture=this.renderer.createTexture2D(0,i.NEAREST,i.NEAREST,i.CLAMP_TO_EDGE,i.CLAMP_TO_EDGE,i.RGBA,null,t,e,!1),this.framebuffer=this.renderer.createFramebuffer(t,e,this.frame.source.glTexture,!1),this.frame.glTexture=this.frame.source.glTexture}this.frame.source.width=t,this.frame.source.height=e,this.camera.setSize(t,e),this.frame.setSize(t,e),this.width=t,this.height=e}return this},setGlobalTint:function(t){return this.globalTint=t,this},setGlobalAlpha:function(t){return this.globalAlpha=t,this},saveTexture:function(t){return this.textureManager.renameTexture(this.texture.key,t),this._saved=!0,this.texture},fill:function(t,e){void 0===e&&(e=1);var i=255&(t>>16|0),n=255&(t>>8|0),s=255&(0|t);if(this.gl){this.renderer.setFramebuffer(this.framebuffer);var r=this.gl;r.clearColor(i/255,n/255,s/255,e),r.clear(r.COLOR_BUFFER_BIT),this.renderer.setFramebuffer(null)}else this.context.fillStyle="rgb("+i+","+n+","+s+")",this.context.fillRect(0,0,this.canvas.width,this.canvas.height);return this},clear:function(){if(this.dirty){if(this.gl){this.renderer.setFramebuffer(this.framebuffer);var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),this.renderer.setFramebuffer(null)}else{var e=this.context;e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,this.canvas.width,this.canvas.height),e.restore()}this.dirty=!1}return this},draw:function(t,e,i,n,s){void 0===n&&(n=this.globalAlpha),s=void 0===s?(this.globalTint>>16)+(65280&this.globalTint)+((255&this.globalTint)<<16):(s>>16)+(65280&s)+((255&s)<<16),Array.isArray(t)||(t=[t]);var r=this.gl;if(this.camera.preRender(1,1,1),r){this.renderer.setFramebuffer(this.framebuffer);var o=this.pipeline;o.projOrtho(0,this.width,0,this.height,-1e3,1e3),this.batchList(t,e,i,n,s),o.flush(),this.renderer.setFramebuffer(null),o.projOrtho(0,o.width,o.height,0,-1e3,1e3)}else this.renderer.setContext(this.context),this.batchList(t,e,i,n,s),this.renderer.setContext();return this.dirty=!0,this},drawFrame:function(t,e,i,n,s,r){void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=this.globalAlpha),r=void 0===r?(this.globalTint>>16)+(65280&this.globalTint)+((255&this.globalTint)<<16):(r>>16)+(65280&r)+((255&r)<<16);var o=this.gl,a=this.textureManager.getFrame(t,e);if(a){if(this.camera.preRender(1,1,1),o){this.renderer.setFramebuffer(this.framebuffer);var h=this.pipeline;h.projOrtho(0,this.width,0,this.height,-1e3,1e3),h.batchTextureFrame(a,i,n,r,s,this.camera.matrix,null),h.flush(),this.renderer.setFramebuffer(null),h.projOrtho(0,h.width,h.height,0,-1e3,1e3)}else this.batchTextureFrame(a,i,n,s,r);this.dirty=!0}return this},batchList:function(t,e,i,n,s){for(var r=0;r<t.length;r++){var o=t[r];o&&o!==this&&(o.renderWebGL||o.renderCanvas?this.drawGameObject(o,e,i):o.isParent||o.list?this.batchGroup(o.getChildren(),e,i):"string"==typeof o?this.batchTextureFrameKey(o,null,e,i,n,s):o instanceof h?this.batchTextureFrame(o,e,i,n,s):Array.isArray(o)&&this.batchList(o,e,i,n,s))}},batchGroup:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=0);for(var n=0;n<t.length;n++){var s=t[n];if(s.willRender()){var r=s.x+e,o=s.y+i;this.drawGameObject(s,r,o)}}},batchGameObjectWebGL:function(t,e,i){void 0===e&&(e=t.x),void 0===i&&(i=t.y);var n=t.x,s=t.y;this.renderer.setBlendMode(t.blendMode),t.setPosition(e,i),t.renderWebGL(this.renderer,t,0,this.camera,null),t.setPosition(n,s)},batchGameObjectCanvas:function(t,e,i){void 0===e&&(e=t.x),void 0===i&&(i=t.y);var n=t.x,s=t.y;t.setPosition(e,i),t.renderCanvas(this.renderer,t,0,this.camera,null),t.setPosition(n,s)},batchTextureFrameKey:function(t,e,i,n,s,r){var o=this.textureManager.getFrame(t,e);o&&this.batchTextureFrame(o,i,n,s,r)},batchTextureFrame:function(t,e,i,n,s){if(void 0===e&&(e=0),void 0===i&&(i=0),this.gl)this.pipeline.batchTextureFrame(t,e,i,s,n,this.camera.matrix,null);else{var r=this.context,o=t.canvasData,a=t.source.image,h=this.camera.matrix;r.globalAlpha=this.globalAlpha,r.setTransform(h[0],h[1],h[2],h[3],h[4],h[5]),r.drawImage(a,o.x,o.y,o.width,o.height,e,i,o.width,o.height)}},preDestroy:function(){this._saved||(s.remove(this.canvas),this.gl&&this.renderer.deleteFramebuffer(this.framebuffer),this.texture.destroy())}});t.exports=d},function(t,e,i){var n=i(0),s=i(14),r=i(19),o=i(304),a=i(112),h=i(302),l=i(821),u=new n({Extends:r,Mixins:[s.Depth,s.Pipeline,s.Transform,s.Visible,l],initialize:function(t,e,i,n){if(r.call(this,t,"ParticleEmitterManager"),this.blendMode=-1,this.timeScale=1,this.texture=null,this.frame=null,this.frameNames=[],null===i||"object"!=typeof i&&!Array.isArray(i)||(n=i,i=null),this.setTexture(e,i),this.initPipeline(),this.emitters=new a(this),this.wells=new a(this),n){Array.isArray(n)||(n=[n]);for(var s=0;s<n.length;s++)this.createEmitter(n[s])}},setTexture:function(t,e){return this.texture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t){this.frame=this.texture.get(t);var e=[];return this.texture.getFramesFromTextureSource(this.frame.sourceIndex).forEach(function(t){e.push(t.name)}),this.frameNames=e,this.defaultFrame=this.frame,this},setEmitterFrames:function(t,e){Array.isArray(t)||(t=[t]);var i=e.frames;i.length=0;for(var n=0;n<t.length;n++){var s=t[n];-1!==this.frameNames.indexOf(s)&&i.push(this.texture.get(s))}return i.length>0?e.defaultFrame=i[0]:e.defaultFrame=this.defaultFrame,this},addEmitter:function(t){return this.emitters.add(t)},createEmitter:function(t){return this.addEmitter(new h(this,t))},addGravityWell:function(t){return this.wells.add(t)},createGravityWell:function(t){return this.addGravityWell(new o(t))},emitParticle:function(t,e,i){for(var n=this.emitters.list,s=0;s<n.length;s++){var r=n[s];r.active&&r.emitParticle(t,e,i)}return this},emitParticleAt:function(t,e,i){return this.emitParticle(i,t,e)},pause:function(){return this.active=!1,this},resume:function(){return this.active=!0,this},getProcessors:function(){return this.wells.getAll("active",!0)},preUpdate:function(t,e){e*=this.timeScale;for(var i=this.emitters.list,n=0;n<i.length;n++){var s=i[n];s.active&&s.preUpdate(t,e)}},setAlpha:function(){},setScrollFactor:function(){},setBlendMode:function(){}});t.exports=u},function(t,e,i){var n=i(6);t.exports=function(t,e,i){void 0===i&&(i=new n);var s=t.width/2,r=t.height/2;return i.x=t.x+s*Math.cos(e),i.y=t.y+r*Math.sin(e),i}},function(t,e){t.exports={ARC:0,BEGIN_PATH:1,CLOSE_PATH:2,FILL_RECT:3,LINE_TO:4,MOVE_TO:5,LINE_STYLE:6,FILL_STYLE:7,FILL_PATH:8,STROKE_PATH:9,FILL_TRIANGLE:10,STROKE_TRIANGLE:11,LINE_FX_TO:12,MOVE_FX_TO:13,SAVE:14,RESTORE:15,TRANSLATE:16,SCALE:17,ROTATE:18,SET_TEXTURE:19,CLEAR_TEXTURE:20,GRADIENT_FILL_STYLE:21,GRADIENT_LINE_STYLE:22}},function(t,e,i){var n=i(121),s=i(0),r=i(157),o=i(401),a=i(400),h=i(399),l=i(395),u=i(186),c=i(390),d=i(389),f=i(392),p=i(90),g=i(19),v=i(2),y=i(4),m=i(16),x=i(831),w=new s({Extends:g,Mixins:[o,a,h,l,u,c,d,f,x],initialize:function(t,e){var i=y(e,"x",0),n=y(e,"y",0);g.call(this,t,"Graphics"),this.setPosition(i,n),this.initPipeline(),this.displayOriginX=0,this.displayOriginY=0,this.commandBuffer=[],this.defaultFillColor=-1,this.defaultFillAlpha=1,this.defaultStrokeWidth=1,this.defaultStrokeColor=-1,this.defaultStrokeAlpha=1,this._lineWidth=1,this.setDefaultStyles(e)},setDefaultStyles:function(t){return y(t,"lineStyle",null)&&(this.defaultStrokeWidth=y(t,"lineStyle.width",1),this.defaultStrokeColor=y(t,"lineStyle.color",16777215),this.defaultStrokeAlpha=y(t,"lineStyle.alpha",1),this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha)),y(t,"fillStyle",null)&&(this.defaultFillColor=y(t,"fillStyle.color",16777215),this.defaultFillAlpha=y(t,"fillStyle.alpha",1),this.fillStyle(this.defaultFillColor,this.defaultFillAlpha)),this},lineStyle:function(t,e,i){return void 0===i&&(i=1),this.commandBuffer.push(r.LINE_STYLE,t,e,i),this._lineWidth=t,this},fillStyle:function(t,e){return void 0===e&&(e=1),this.commandBuffer.push(r.FILL_STYLE,t,e),this},fillGradientStyle:function(t,e,i,n,s){return void 0===s&&(s=1),this.commandBuffer.push(r.GRADIENT_FILL_STYLE,s,t,e,i,n),this},lineGradientStyle:function(t,e,i,n,s,o){return void 0===o&&(o=1),this.commandBuffer.push(r.GRADIENT_LINE_STYLE,t,o,e,i,n,s),this},setTexture:function(t,e,i){if(void 0===i&&(i=0),void 0===t)this.commandBuffer.push(r.CLEAR_TEXTURE);else{var n=this.scene.sys.textures.getFrame(t,e);n&&(2===i&&(i=3),this.commandBuffer.push(r.SET_TEXTURE,n,i))}return this},beginPath:function(){return this.commandBuffer.push(r.BEGIN_PATH),this},closePath:function(){return this.commandBuffer.push(r.CLOSE_PATH),this},fillPath:function(){return this.commandBuffer.push(r.FILL_PATH),this},strokePath:function(){return this.commandBuffer.push(r.STROKE_PATH),this},fillCircleShape:function(t){return this.fillCircle(t.x,t.y,t.radius)},strokeCircleShape:function(t){return this.strokeCircle(t.x,t.y,t.radius)},fillCircle:function(t,e,i){return this.beginPath(),this.arc(t,e,i,0,m.PI2),this.fillPath(),this},strokeCircle:function(t,e,i){return this.beginPath(),this.arc(t,e,i,0,m.PI2),this.strokePath(),this},fillRectShape:function(t){return this.fillRect(t.x,t.y,t.width,t.height)},strokeRectShape:function(t){return this.strokeRect(t.x,t.y,t.width,t.height)},fillRect:function(t,e,i,n){return this.commandBuffer.push(r.FILL_RECT,t,e,i,n),this},strokeRect:function(t,e,i,n){var s=this._lineWidth/2,r=t-s,o=t+s;return this.beginPath(),this.moveTo(t,e),this.lineTo(t,e+n),this.strokePath(),this.beginPath(),this.moveTo(t+i,e),this.lineTo(t+i,e+n),this.strokePath(),this.beginPath(),this.moveTo(r,e),this.lineTo(o+i,e),this.strokePath(),this.beginPath(),this.moveTo(r,e+n),this.lineTo(o+i,e+n),this.strokePath(),this},fillRoundedRect:function(t,e,i,n,s){void 0===s&&(s=20);var r=s,o=s,a=s,h=s;return"number"!=typeof s&&(r=v(s,"tl",20),o=v(s,"tr",20),a=v(s,"bl",20),h=v(s,"br",20)),this.beginPath(),this.moveTo(t+r,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,-m.TAU,0),this.lineTo(t+i,e+n-h),this.arc(t+i-h,e+n-h,h,0,m.TAU),this.lineTo(t+a,e+n),this.arc(t+a,e+n-a,a,m.TAU,Math.PI),this.lineTo(t,e+r),this.arc(t+r,e+r,r,-Math.PI,-m.TAU),this.fillPath(),this},strokeRoundedRect:function(t,e,i,n,s){void 0===s&&(s=20);var r=s,o=s,a=s,h=s;return"number"!=typeof s&&(r=v(s,"tl",20),o=v(s,"tr",20),a=v(s,"bl",20),h=v(s,"br",20)),this.beginPath(),this.moveTo(t+r,e),this.lineTo(t+i-o,e),this.arc(t+i-o,e+o,o,-m.TAU,0),this.lineTo(t+i,e+n-h),this.arc(t+i-h,e+n-h,h,0,m.TAU),this.lineTo(t+a,e+n),this.arc(t+a,e+n-a,a,m.TAU,Math.PI),this.lineTo(t,e+r),this.arc(t+r,e+r,r,-Math.PI,-m.TAU),this.strokePath(),this},fillPointShape:function(t,e){return this.fillPoint(t.x,t.y,e)},fillPoint:function(t,e,i){return!i||i<1?i=1:(t-=i/2,e-=i/2),this.commandBuffer.push(r.FILL_RECT,t,e,i,i),this},fillTriangleShape:function(t){return this.fillTriangle(t.x1,t.y1,t.x2,t.y2,t.x3,t.y3)},strokeTriangleShape:function(t){return this.strokeTriangle(t.x1,t.y1,t.x2,t.y2,t.x3,t.y3)},fillTriangle:function(t,e,i,n,s,o){return this.commandBuffer.push(r.FILL_TRIANGLE,t,e,i,n,s,o),this},strokeTriangle:function(t,e,i,n,s,o){return this.commandBuffer.push(r.STROKE_TRIANGLE,t,e,i,n,s,o),this},strokeLineShape:function(t){return this.lineBetween(t.x1,t.y1,t.x2,t.y2)},lineBetween:function(t,e,i,n){return this.beginPath(),this.moveTo(t,e),this.lineTo(i,n),this.strokePath(),this},lineTo:function(t,e){return this.commandBuffer.push(r.LINE_TO,t,e),this},moveTo:function(t,e){return this.commandBuffer.push(r.MOVE_TO,t,e),this},lineFxTo:function(t,e,i,n){return this.commandBuffer.push(r.LINE_FX_TO,t,e,i,n,1),this},moveFxTo:function(t,e,i,n){return this.commandBuffer.push(r.MOVE_FX_TO,t,e,i,n,1),this},strokePoints:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=t.length),this.beginPath(),this.moveTo(t[0].x,t[0].y);for(var n=1;n<i;n++)this.lineTo(t[n].x,t[n].y);return e&&this.lineTo(t[0].x,t[0].y),this.strokePath(),this},fillPoints:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=t.length),this.beginPath(),this.moveTo(t[0].x,t[0].y);for(var n=1;n<i;n++)this.lineTo(t[n].x,t[n].y);return e&&this.lineTo(t[0].x,t[0].y),this.fillPath(),this},strokeEllipseShape:function(t,e){void 0===e&&(e=32);var i=t.getPoints(e);return this.strokePoints(i,!0)},strokeEllipse:function(t,e,i,n,s){void 0===s&&(s=32);var r=new p(t,e,i,n).getPoints(s);return this.strokePoints(r,!0)},fillEllipseShape:function(t,e){void 0===e&&(e=32);var i=t.getPoints(e);return this.fillPoints(i,!0)},fillEllipse:function(t,e,i,n,s){void 0===s&&(s=32);var r=new p(t,e,i,n).getPoints(s);return this.fillPoints(r,!0)},arc:function(t,e,i,n,s,o,a){return void 0===o&&(o=!1),void 0===a&&(a=0),this.commandBuffer.push(r.ARC,t,e,i,n,s,o,a),this},slice:function(t,e,i,n,s,o,a){return void 0===o&&(o=!1),void 0===a&&(a=0),this.commandBuffer.push(r.BEGIN_PATH),this.commandBuffer.push(r.MOVE_TO,t,e),this.commandBuffer.push(r.ARC,t,e,i,n,s,o,a),this.commandBuffer.push(r.CLOSE_PATH),this},save:function(){return this.commandBuffer.push(r.SAVE),this},restore:function(){return this.commandBuffer.push(r.RESTORE),this},translate:function(t,e){return this.commandBuffer.push(r.TRANSLATE,t,e),this},scale:function(t,e){return this.commandBuffer.push(r.SCALE,t,e),this},rotate:function(t){return this.commandBuffer.push(r.ROTATE,t),this},clear:function(){return this.commandBuffer.length=0,this.defaultFillColor>-1&&this.fillStyle(this.defaultFillColor,this.defaultFillAlpha),this.defaultStrokeColor>-1&&this.lineStyle(this.defaultStrokeWidth,this.defaultStrokeColor,this.defaultStrokeAlpha),this},generateTexture:function(t,e,i){var n,s,r=this.scene.sys,o=r.game.renderer;if(void 0===e&&(e=r.game.config.width),void 0===i&&(i=r.game.config.height),w.TargetCamera.setScene(this.scene),w.TargetCamera.setViewport(0,0,e,i),w.TargetCamera.scrollX=this.x,w.TargetCamera.scrollY=this.y,"string"==typeof t)if(r.textures.exists(t)){var a=(n=r.textures.get(t)).getSourceImage();a instanceof HTMLCanvasElement&&(s=a.getContext("2d"))}else s=(n=r.textures.createCanvas(t,e,i)).getSourceImage().getContext("2d");else t instanceof HTMLCanvasElement&&(s=t.getContext("2d"));return s&&(this.renderCanvas(o,this,0,w.TargetCamera,null,s,!1),n&&n.refresh()),this},preDestroy:function(){this.commandBuffer=[]}});w.TargetCamera=new n,t.exports=w},function(t,e,i){var n=i(109),s=i(0),r=i(834),o=new s({Extends:n,Mixins:[r],initialize:function(t,e,i,s,r,o,a){n.call(this,t,e,i,s,r,o,a),this.type="DynamicBitmapText",this.scrollX=0,this.scrollY=0,this.cropWidth=0,this.cropHeight=0,this.displayCallback,this.callbackData={color:0,tint:{topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},index:0,charCode:0,x:0,y:0,scale:0,rotation:0,data:0}},setSize:function(t,e){return this.cropWidth=t,this.cropHeight=e,this},setDisplayCallback:function(t){return this.displayCallback=t,this},setScrollX:function(t){return this.scrollX=t,this},setScrollY:function(t){return this.scrollY=t,this}});t.exports=o},function(t,e,i){var n=i(164),s=i(66),r=i(0),o=i(14),a=i(19),h=i(9),l=i(837),u=i(309),c=i(3),d=new r({Extends:a,Mixins:[o.Alpha,o.BlendMode,o.ComputedSize,o.Depth,o.Mask,o.ScrollFactor,o.Transform,o.Visible,l],initialize:function(t,e,i,n){a.call(this,t,"Container"),this.list=[],this.exclusive=!0,this.maxSize=-1,this.position=0,this.localTransform=new o.TransformMatrix,this.tempTransformMatrix=new o.TransformMatrix,this._displayList=t.sys.displayList,this._sortKey="",this._sysEvents=t.sys.events,this.setPosition(e,i),this.clearAlpha(),this.setBlendMode(s.SKIP_CHECK),n&&this.add(n)},originX:{get:function(){return.5}},originY:{get:function(){return.5}},displayOriginX:{get:function(){return.5*this.width}},displayOriginY:{get:function(){return.5*this.height}},setExclusive:function(t){return void 0===t&&(t=!0),this.exclusive=t,this},getBounds:function(t){if(void 0===t&&(t=new h),t.setTo(this.x,this.y,0,0),this.list.length>0)for(var e=this.list,i=new h,n=0;n<e.length;n++){var s=e[n];s.getBounds&&(s.getBounds(i),u(i,t,t))}return t},addHandler:function(t){t.once("destroy",this.remove,this),this.exclusive&&(this._displayList.remove(t),t.parentContainer&&t.parentContainer.remove(t),t.parentContainer=this)},removeHandler:function(t){t.off("destroy",this.remove),this.exclusive&&(t.parentContainer=null)},pointToContainer:function(t,e){if(void 0===e&&(e=new c),this.parentContainer)return this.parentContainer.pointToContainer(t,e);var i=this.tempTransformMatrix;return i.applyITRS(this.x,this.y,this.rotation,this.scaleX,this.scaleY),i.invert(),i.transformPoint(t.x,t.y,e),e},getBoundsTransformMatrix:function(){return this.getWorldTransformMatrix(this.tempTransformMatrix,this.localTransform)},add:function(t){return n.Add(this.list,t,this.maxSize,this.addHandler,this),this},addAt:function(t,e){return n.AddAt(this.list,t,e,this.maxSize,this.addHandler,this),this},getAt:function(t){return this.list[t]},getIndex:function(t){return this.list.indexOf(t)},sort:function(t){return t&&(this._sortKey=t,n.StableSort.inplace(this.list,this.sortHandler)),this},sortHandler:function(t,e){return t[this._sortKey]-e[this._sortKey]},getByName:function(t){return n.GetFirst(this.list,"name",t)},getRandom:function(t,e){return n.GetRandom(this.list,t,e)},getFirst:function(t,e,i,s){return n.GetFirstElement(this.list,t,e,i,s)},getAll:function(t,e,i,s){return n.GetAll(this.list,t,e,i,s)},count:function(t,e,i,s){return n.CountAllMatching(this.list,t,e,i,s)},swap:function(t,e){return n.Swap(this.list,t,e),this},moveTo:function(t,e){return n.MoveTo(this.list,t,e),this},remove:function(t,e){var i=n.Remove(this.list,t,this.removeHandler,this);if(e&&i){Array.isArray(i)||(i=[i]);for(var s=0;s<i.length;s++)i[s].destroy()}return this},removeAt:function(t,e){var i=n.RemoveAt(this.list,t,this.removeHandler,this);return e&&i&&i.destroy(),this},removeBetween:function(t,e,i){var s=n.RemoveBetween(this.list,t,e,this.removeHandler,this);if(i)for(var r=0;r<s.length;r++)s[r].destroy();return this},removeAll:function(t){var e=n.RemoveBetween(this.list,0,this.list.length,this.removeHandler,this);if(t)for(var i=0;i<e.length;i++)e[i].destroy();return this},bringToTop:function(t){return n.BringToTop(this.list,t),this},sendToBack:function(t){return n.SendToBack(this.list,t),this},moveUp:function(t){return n.MoveUp(this.list,t),this},moveDown:function(t){return n.MoveDown(this.list,t),this},reverse:function(){return this.list.reverse(),this},shuffle:function(){return n.Shuffle(this.list),this},replace:function(t,e,i){return n.Replace(this.list,t,e)&&(this.addHandler(e),this.removeHandler(t),i&&t.destroy()),this},exists:function(t){return this.list.indexOf(t)>-1},setAll:function(t,e,i,s){return n.SetAll(this.list,t,e,i,s),this},each:function(t,e){var i,n=[null],s=this.list.slice(),r=s.length;for(i=2;i<arguments.length;i++)n.push(arguments[i]);for(i=0;i<r;i++)n[0]=s[i],t.apply(e,n);return this},iterate:function(t,e){var i,n=[null];for(i=2;i<arguments.length;i++)n.push(arguments[i]);for(i=0;i<this.list.length;i++)n[0]=this.list[i],t.apply(e,n);return this},length:{get:function(){return this.list.length}},first:{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}},last:{get:function(){return this.list.length>0?(this.position=this.list.length-1,this.list[this.position]):null}},next:{get:function(){return this.position<this.list.length?(this.position++,this.list[this.position]):null}},previous:{get:function(){return this.position>0?(this.position--,this.list[this.position]):null}},preDestroy:function(){this.removeAll(!!this.exclusive),this.localTransform.destroy(),this.tempTransformMatrix.destroy(),this.list=[],this._displayList=null}});t.exports=d},function(t,e,i){var n=i(841),s=i(838),r=i(0),o=i(14),a=i(113),h=i(19),l=i(112),u=new r({Extends:h,Mixins:[o.Alpha,o.BlendMode,o.Depth,o.Mask,o.Pipeline,o.ScaleMode,o.ScrollFactor,o.Size,o.Texture,o.Transform,o.Visible,n],initialize:function(t,e,i,n,s){h.call(this,t,"Blitter"),this.setTexture(n,s),this.setPosition(e,i),this.initPipeline(),this.children=new l,this.renderList=[],this.dirty=!1},create:function(t,e,i,n,r){void 0===n&&(n=!0),void 0===r&&(r=this.children.length),void 0===i?i=this.frame:i instanceof a||(i=this.texture.get(i));var o=new s(this,t,e,i,n);return this.children.addAt(o,r,!1),this.dirty=!0,o},createFromCallback:function(t,e,i,n){for(var s=this.createMultiple(e,i,n),r=0;r<s.length;r++){var o=s[r];t.call(this,o,r)}return s},createMultiple:function(t,e,i){void 0===e&&(e=this.frame.name),void 0===i&&(i=!0),Array.isArray(e)||(e=[e]);var n=[],s=this;return e.forEach(function(e){for(var r=0;r<t;r++)n.push(s.create(0,0,e,i))}),n},childCanRender:function(t){return t.visible&&t.alpha>0},getRenderList:function(){return this.dirty&&(this.renderList=this.children.list.filter(this.childCanRender,this),this.dirty=!1),this.renderList},clear:function(){this.children.removeAll(),this.dirty=!0},preDestroy:function(){this.children.destroy(),this.renderList=[]}});t.exports=u},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);var n=e+Math.floor(Math.random()*i);return void 0===t[n]?null:t[n]}},function(t,e){t.exports=function(t){if(!Array.isArray(t)||t.length<2||!Array.isArray(t[0]))return!1;for(var e=t[0].length,i=1;i<t.length;i++)if(t[i].length!==e)return!1;return!0}},function(t,e,i){t.exports={Matrix:i(874),Add:i(867),AddAt:i(866),BringToTop:i(865),CountAllMatching:i(864),Each:i(863),EachInRange:i(862),FindClosestInSorted:i(383),GetAll:i(861),GetFirst:i(860),GetRandom:i(162),MoveDown:i(859),MoveTo:i(858),MoveUp:i(857),NumberArray:i(856),NumberArrayStep:i(855),QuickSelect:i(313),Range:i(312),Remove:i(330),RemoveAt:i(854),RemoveBetween:i(853),RemoveRandomElement:i(852),Replace:i(851),RotateLeft:i(387),RotateRight:i(386),SafeRange:i(62),SendToBack:i(850),SetAll:i(849),Shuffle:i(122),SpliceOne:i(91),StableSort:i(110),Swap:i(848)}},function(t,e,i){var n=i(0),s=i(113),r=i(317),o=new n({initialize:function(t,e,i,n,s){Array.isArray(i)||(i=[i]),this.manager=t,this.key=e,this.source=[],this.dataSource=[],this.frames={},this.customData={},this.firstFrame="__BASE",this.frameTotal=0;for(var o=0;o<i.length;o++)this.source.push(new r(this,i[o],n,s))},add:function(t,e,i,n,r,o){var a=new s(this,t,e,i,n,r,o);return this.frames[t]=a,1===this.frameTotal&&(this.firstFrame=t),this.frameTotal++,a},has:function(t){return this.frames[t]},get:function(t){t||(t=this.firstFrame);var e=this.frames[t];return e||(console.warn("Texture.frame missing: "+t),e=this.frames[this.firstFrame]),e},getTextureSourceIndex:function(t){for(var e=0;e<this.source.length;e++)if(this.source[e]===t)return e;return-1},getFramesFromTextureSource:function(t,e){void 0===e&&(e=!1);var i=[];for(var n in this.frames)if("__BASE"!==n||e){var s=this.frames[n];s.sourceIndex===t&&i.push(s)}return i},getFrameNames:function(t){void 0===t&&(t=!1);var e=Object.keys(this.frames);if(!t){var i=e.indexOf("__BASE");-1!==i&&e.splice(i,1)}return e},getSourceImage:function(t){void 0!==t&&null!==t&&1!==this.frameTotal||(t="__BASE");var e=this.frames[t];return e?e.source.image:(console.warn("Texture.frame missing: "+t),this.frames.__BASE.source.image)},getDataSourceImage:function(t){void 0!==t&&null!==t&&1!==this.frameTotal||(t="__BASE");var e,i=this.frames[t];return i?e=i.sourceIndex:(console.warn("Texture.frame missing: "+t),e=this.frames.__BASE.sourceIndex),this.dataSource[e].image},setDataSource:function(t){Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=this.source[e];this.dataSource.push(new r(this,t[e],i.width,i.height))}},setFilter:function(t){var e;for(e=0;e<this.source.length;e++)this.source[e].setFilter(t);for(e=0;e<this.dataSource.length;e++)this.dataSource[e].setFilter(t)},destroy:function(){var t;for(t=0;t<this.source.length;t++)this.source[t].destroy();for(t=0;t<this.dataSource.length;t++)this.dataSource[t].destroy();for(var e in this.frames){this.frames[e].destroy()}this.source=[],this.dataSource=[],this.frames={},this.manager=null}});t.exports=o},function(t,e,i){var n=i(0),s=i(116),r=i(167),o=i(890),a=i(889),h=i(1),l=i(326),u=new n({initialize:function(t,e){this.scene=t,this.game,this.config=e,this.settings=l.create(e),this.canvas,this.context,this.anims,this.cache,this.plugins,this.registry,this.sound,this.textures,this.add,this.cameras,this.displayList,this.events,this.make,this.scenePlugin,this.updateList,this.sceneUpdate=h},init:function(t){this.settings.status=s.INIT,this.sceneUpdate=h,this.game=t,this.canvas=t.canvas,this.context=t.context;var e=t.plugins;this.plugins=e,e.addToScene(this,r.Global,[r.CoreScene,a(this),o(this)]),this.events.emit("boot",this),this.settings.isBooted=!0},install:function(t){Array.isArray(t)||(t=[t]),this.plugins.installLocal(this,t)},step:function(t,e){this.events.emit("preupdate",t,e),this.events.emit("update",t,e),this.sceneUpdate.call(this.scene,t,e),this.events.emit("postupdate",t,e)},render:function(t){var e=this.displayList;e.depthSort(),this.cameras.render(t,e),this.events.emit("render",t)},queueDepthSort:function(){this.displayList.queueDepthSort()},depthSort:function(){this.displayList.depthSort()},pause:function(t){return this.settings.active&&(this.settings.status=s.PAUSED,this.settings.active=!1,this.events.emit("pause",this,t)),this},resume:function(t){return this.settings.active||(this.settings.status=s.RUNNING,this.settings.active=!0,this.events.emit("resume",this,t)),this},sleep:function(t){return this.settings.status=s.SLEEPING,this.settings.active=!1,this.settings.visible=!1,this.events.emit("sleep",this,t),this},wake:function(t){var e=this.settings;return e.status=s.RUNNING,e.active=!0,e.visible=!0,this.events.emit("wake",this,t),e.isTransition&&this.events.emit("transitionwake",e.transitionFrom,e.transitionDuration),this},isSleeping:function(){return this.settings.status===s.SLEEPING},isActive:function(){return this.settings.status===s.RUNNING},isPaused:function(){return this.settings.status===s.PAUSED},isTransitioning:function(){return this.settings.isTransition||null!==this.scenePlugin._target},isTransitionOut:function(){return null!==this.scenePlugin._target&&this.scenePlugin._duration>0},isTransitionIn:function(){return this.settings.isTransition},isVisible:function(){return this.settings.visible},setVisible:function(t){return this.settings.visible=t,this},setActive:function(t,e){return t?this.resume(e):this.pause(e)},start:function(t){t&&(this.settings.data=t),this.settings.status=s.START,this.settings.active=!0,this.settings.visible=!0,this.events.emit("start",this),this.events.emit("ready",this,t)},resize:function(t,e){this.events.emit("resize",t,e)},shutdown:function(t){this.events.off("transitioninit"),this.events.off("transitionstart"),this.events.off("transitioncomplete"),this.events.off("transitionout"),this.settings.status=s.SHUTDOWN,this.settings.active=!1,this.settings.visible=!1,this.events.emit("shutdown",this,t)},destroy:function(){this.settings.status=s.DESTROYED,this.settings.active=!1,this.settings.visible=!1,this.events.emit("destroy",this),this.events.removeAllListeners();for(var t=["scene","game","anims","cache","plugins","registry","sound","textures","add","camera","displayList","events","make","scenePlugin","updateList"],e=0;e<t.length;e++)this[t[e]]=null}});t.exports=u},function(t,e,i){t.exports={Global:["game","anims","cache","plugins","registry","scale","sound","textures"],CoreScene:["EventEmitter","CameraManager","GameObjectCreator","GameObjectFactory","ScenePlugin","DisplayList","UpdateList"],DefaultScene:["Clock","DataManagerPlugin","InputPlugin","Loader","TweenManager","LightsPlugin"]}},function(t,e,i){var n=i(92),s=i(118),r=i(24),o={canvas:!1,canvasBitBltShift:null,file:!1,fileSystem:!1,getUserMedia:!0,littleEndian:!1,localStorage:!1,pointerLock:!1,support32bit:!1,vibration:!1,webGL:!1,worker:!1};t.exports=function(){o.canvas=!!window.CanvasRenderingContext2D||n.cocoonJS;try{o.localStorage=!!localStorage.getItem}catch(t){o.localStorage=!1}o.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),o.fileSystem=!!window.requestFileSystem;var t,e,i,a=!1;return o.webGL=function(){if(window.WebGLRenderingContext)try{var t=r.createWebGL(this);n.cocoonJS&&(t.screencanvas=!1);var e=t.getContext("webgl")||t.getContext("experimental-webgl"),i=r.create2D(this),s=i.getContext("2d").createImageData(1,1);return a=s.data instanceof Uint8ClampedArray,r.remove(t),r.remove(i),!!e}catch(t){return!1}return!1}(),o.worker=!!window.Worker,o.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,o.getUserMedia=o.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(o.getUserMedia=!1),!n.iOS&&(s.ie||s.firefox||s.chrome)&&(o.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(o.canvasBitBltShift=!1),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(o.vibration=!0),"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(o.littleEndian=(t=new ArrayBuffer(4),e=new Uint8Array(t),i=new Uint32Array(t),e[0]=161,e[1]=178,e[2]=195,e[3]=212,3569595041===i[0]||2712847316!==i[0]&&null)),o.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==o.littleEndian&&a,o}()},function(t,e){t.exports=function(t,e,i){var n;if(void 0===i&&(i=!0),e)"string"==typeof e?n=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(n=e);else if(t.parentElement)return t;return n||(n=document.body),i&&n.style&&(n.style.overflow="hidden"),n.appendChild(t),t}},function(t,e){t.exports=function(t,e){return Math.floor(Math.random()*(e-t+1)+t)}},function(t,e){t.exports=function(t,e,i,n,s){var r=.5*(n-e),o=.5*(s-i),a=t*t;return(2*i-2*n+r+o)*(t*a)+(-3*i+3*n-2*r-o)*a+r*t+i}},function(t,e,i){var n=i(16);t.exports=function(t){return t*n.RAD_TO_DEG}},function(t,e,i){var n=i(9);t.exports=function(t,e){if(void 0===e&&(e=new n),0===t.length)return e;for(var i,s,r,o=Number.MAX_VALUE,a=Number.MAX_VALUE,h=Number.MIN_SAFE_INTEGER,l=Number.MIN_SAFE_INTEGER,u=0;u<t.length;u++)i=t[u],Array.isArray(i)?(s=i[0],r=i[1]):(s=i.x,r=i.y),o=Math.min(o,s),a=Math.min(a,r),h=Math.max(h,s),l=Math.max(l,r);return e.x=o,e.y=a,e.width=h-o,e.height=l-a,e}},function(t,e,i){var n=i(369),s=i(368),r=i(367),o=i(366),a=i(365),h=i(364),l=i(363),u=i(362),c=i(361),d=i(360),f=i(359),p=i(358);t.exports={Power0:l,Power1:u.Out,Power2:o.Out,Power3:c.Out,Power4:d.Out,Linear:l,Quad:u.Out,Cubic:o.Out,Quart:c.Out,Quint:d.Out,Sine:f.Out,Expo:h.Out,Circ:r.Out,Elastic:a.Out,Back:n.Out,Bounce:s.Out,Stepped:p,"Quad.easeIn":u.In,"Cubic.easeIn":o.In,"Quart.easeIn":c.In,"Quint.easeIn":d.In,"Sine.easeIn":f.In,"Expo.easeIn":h.In,"Circ.easeIn":r.In,"Elastic.easeIn":a.In,"Back.easeIn":n.In,"Bounce.easeIn":s.In,"Quad.easeOut":u.Out,"Cubic.easeOut":o.Out,"Quart.easeOut":c.Out,"Quint.easeOut":d.Out,"Sine.easeOut":f.Out,"Expo.easeOut":h.Out,"Circ.easeOut":r.Out,"Elastic.easeOut":a.Out,"Back.easeOut":n.Out,"Bounce.easeOut":s.Out,"Quad.easeInOut":u.InOut,"Cubic.easeInOut":o.InOut,"Quart.easeInOut":c.InOut,"Quint.easeInOut":d.InOut,"Sine.easeInOut":f.InOut,"Expo.easeInOut":h.InOut,"Circ.easeInOut":r.InOut,"Elastic.easeInOut":a.InOut,"Back.easeInOut":n.InOut,"Bounce.easeInOut":s.InOut}},function(t,e){t.exports=function(t,e,i){return t.x=e-t.width/2,t.y=i-t.height/2,t}},function(t,e,i){var n=i(177);t.exports=function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1);var r=Math.floor(6*t),o=6*t-r,a=Math.floor(i*(1-e)*255),h=Math.floor(i*(1-o*e)*255),l=Math.floor(i*(1-(1-o)*e)*255),u=i=Math.floor(i*=255),c=i,d=i,f=r%6;return 0===f?(c=l,d=a):1===f?(u=h,d=a):2===f?(u=a,d=l):3===f?(u=a,c=h):4===f?(u=l,c=a):5===f&&(c=a,d=h),s?s.setTo?s.setTo(u,c,d,s.alpha,!1):(s.r=u,s.g=c,s.b=d,s.color=n(u,c,d),s):{r:u,g:c,b:d,color:n(u,c,d)}}},function(t,e){t.exports=function(t,e,i){return t<<16|e<<8|i}},function(t,e,i){var n=i(377),s=i(374),r=i(372),o=i(371);t.exports=function(t){switch(typeof t){case"string":return"rgb"===t.substr(0,3).toLowerCase()?o(t):n(t);case"number":return s(t);case"object":return r(t)}}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=" "),void 0===n&&(n=3);var s=0;if(e+1>=(t=t.toString()).length)switch(n){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((s=e-t.length)/2);t=new Array(s-r+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t}},function(t,e,i){var n=new(i(0))({initialize:function(t){if(this.entries={},this.size=0,Array.isArray(t))for(var e=0;e<t.length;e++)this.set(t[e][0],t[e][1])},set:function(t,e){return this.has(t)||(this.entries[t]=e,this.size++),this},get:function(t){if(this.has(t))return this.entries[t]},getArray:function(){var t=[],e=this.entries;for(var i in e)t.push(e[i]);return t},has:function(t){return this.entries.hasOwnProperty(t)},delete:function(t){return this.has(t)&&(delete this.entries[t],this.size--),this},clear:function(){return Object.keys(this.entries).forEach(function(t){delete this.entries[t]},this),this.size=0,this},keys:function(){return Object.keys(this.entries)},values:function(){var t=[],e=this.entries;for(var i in e)t.push(e[i]);return t},dump:function(){var t=this.entries;for(var e in console.group("Map"),t)console.log(e,t[e]);console.groupEnd()},each:function(t){var e=this.entries;for(var i in e)if(!1===t(i,e[i]))break;return this},contains:function(t){var e=this.entries;for(var i in e)if(e[i]===t)return!0;return!1},merge:function(t,e){void 0===e&&(e=!1);var i=this.entries,n=t.entries;for(var s in n)i.hasOwnProperty(s)&&e?i[s]=n[s]:this.set(s,n[s]);return this}});t.exports=n},function(t,e){t.exports=function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)}},function(t,e){t.exports=function(t,e,i){return(t=Math.max(0,Math.min(1,(t-e)/(i-e))))*t*t*(t*(6*t-15)+10)}},function(t,e){t.exports=function(t,e,i,n,s){var r=n+Math.atan2(t.y-i,t.x-e);return t.x=e+s*Math.cos(r),t.y=i+s*Math.sin(r),t}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=t.x2-t.x1,s=t.y2-t.y1,r=t.x3-t.x1,o=t.y3-t.y1,a=Math.random(),h=Math.random();return a+h>=1&&(a=1-a,h=1-h),e.x=t.x1+(i*a+r*h),e.y=t.y1+(s*a+o*h),e}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return e.x=t.x+s*Math.cos(i)*t.width/2,e.y=t.y+s*Math.sin(i)*t.height/2,e}},function(t,e){var i={defaultPipeline:null,pipeline:null,initPipeline:function(t){void 0===t&&(t="TextureTintPipeline");var e=this.scene.sys.game.renderer;return!!(e&&e.gl&&e.hasPipeline(t))&&(this.defaultPipeline=e.getPipeline(t),this.pipeline=this.defaultPipeline,!0)},setPipeline:function(t){var e=this.scene.sys.game.renderer;return e&&e.gl&&e.hasPipeline(t)&&(this.pipeline=e.getPipeline(t)),this},resetPipeline:function(){return this.pipeline=this.defaultPipeline,null!==this.pipeline},getPipelineName:function(){return this.pipeline.name}};t.exports=i},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.x+Math.random()*t.width,e.y=t.y+Math.random()*t.height,e}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=Math.random();return e.x=t.x1+i*(t.x2-t.x1),e.y=t.y1+i*(t.y2-t.y1),e}},function(t,e,i){var n=i(65),s=i(6);t.exports=function(t,e,i,r){void 0===r&&(r=[]),e||(e=n(t)/i);for(var o=t.x1,a=t.y1,h=t.x2,l=t.y2,u=0;u<e;u++){var c=u/e,d=o+(h-o)*c,f=a+(l-a)*c;r.push(new s(d,f))}return r}},function(t,e,i){var n=i(124),s=i(6);t.exports=function(t,e,i){if(void 0===i&&(i=new s),e<=0||e>=1)return i.x=t.x,i.y=t.y,i;var r=n(t)*e;return e>.5?(r-=t.width+t.height)<=t.width?(i.x=t.right-r,i.y=t.bottom):(i.x=t.x,i.y=t.bottom-(r-t.width)):r<=t.width?(i.x=t.x+r,i.y=t.y):(i.x=t.right,i.y=t.y+(r-t.width)),i}},function(t,e,i){var n=i(6);t.exports=function(t,e){void 0===e&&(e=new n);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),r=s>1?2-s:s,o=r*Math.cos(i),a=r*Math.sin(i);return e.x=t.x+o*t.radius,e.y=t.y+a*t.radius,e}},function(t,e,i){var n=i(6);t.exports=function(t,e,i){return void 0===i&&(i=new n),i.x=t.x+t.radius*Math.cos(e),i.y=t.y+t.radius*Math.sin(e),i}},function(t,e){t.exports={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}},function(t,e,i){var n={};t.exports=n;var s=i(76),r=i(81),o=i(222),a=i(80),h=i(505),l=i(33);n._warming=.4,n._torqueDampen=1,n._minLength=1e-6,n.create=function(t){var e=t;e.bodyA&&!e.pointA&&(e.pointA={x:0,y:0}),e.bodyB&&!e.pointB&&(e.pointB={x:0,y:0});var i=e.bodyA?r.add(e.bodyA.position,e.pointA):e.pointA,n=e.bodyB?r.add(e.bodyB.position,e.pointB):e.pointB,s=r.magnitude(r.sub(i,n));e.length=void 0!==e.length?e.length:s,e.id=e.id||l.nextId(),e.label=e.label||"Constraint",e.type="constraint",e.stiffness=e.stiffness||(e.length>0?1:.7),e.damping=e.damping||0,e.angularStiffness=e.angularStiffness||0,e.angleA=e.bodyA?e.bodyA.angle:e.angleA,e.angleB=e.bodyB?e.bodyB.angle:e.angleB,e.plugin={};var o={visible:!0,lineWidth:2,strokeStyle:"#ffffff",type:"line",anchors:!0};return 0===e.length&&e.stiffness>.1?(o.type="pin",o.anchors=!1):e.stiffness<.9&&(o.type="spring"),e.render=l.extend(o,e.render),e},n.preSolveAll=function(t){for(var e=0;e<t.length;e+=1){var i=t[e],n=i.constraintImpulse;i.isStatic||0===n.x&&0===n.y&&0===n.angle||(i.position.x+=n.x,i.position.y+=n.y,i.angle+=n.angle)}},n.solveAll=function(t,e){for(var i=0;i<t.length;i+=1){var s=t[i],r=!s.bodyA||s.bodyA&&s.bodyA.isStatic,o=!s.bodyB||s.bodyB&&s.bodyB.isStatic;(r||o)&&n.solve(t[i],e)}for(i=0;i<t.length;i+=1)r=!(s=t[i]).bodyA||s.bodyA&&s.bodyA.isStatic,o=!s.bodyB||s.bodyB&&s.bodyB.isStatic,r||o||n.solve(t[i],e)},n.solve=function(t,e){var i=t.bodyA,s=t.bodyB,o=t.pointA,a=t.pointB;if(i||s){i&&!i.isStatic&&(r.rotate(o,i.angle-t.angleA,o),t.angleA=i.angle),s&&!s.isStatic&&(r.rotate(a,s.angle-t.angleB,a),t.angleB=s.angle);var h=o,l=a;if(i&&(h=r.add(i.position,o)),s&&(l=r.add(s.position,a)),h&&l){var u=r.sub(h,l),c=r.magnitude(u);c<n._minLength&&(c=n._minLength);var d,f,p,g,v,y=(c-t.length)/c,m=t.stiffness<1?t.stiffness*e:t.stiffness,x=r.mult(u,y*m),w=(i?i.inverseMass:0)+(s?s.inverseMass:0),b=w+((i?i.inverseInertia:0)+(s?s.inverseInertia:0));if(t.damping){var T=r.create();p=r.div(u,c),v=r.sub(s&&r.sub(s.position,s.positionPrev)||T,i&&r.sub(i.position,i.positionPrev)||T),g=r.dot(p,v)}i&&!i.isStatic&&(f=i.inverseMass/w,i.constraintImpulse.x-=x.x*f,i.constraintImpulse.y-=x.y*f,i.position.x-=x.x*f,i.position.y-=x.y*f,t.damping&&(i.positionPrev.x-=t.damping*p.x*g*f,i.positionPrev.y-=t.damping*p.y*g*f),d=r.cross(o,x)/b*n._torqueDampen*i.inverseInertia*(1-t.angularStiffness),i.constraintImpulse.angle-=d,i.angle-=d),s&&!s.isStatic&&(f=s.inverseMass/w,s.constraintImpulse.x+=x.x*f,s.constraintImpulse.y+=x.y*f,s.position.x+=x.x*f,s.position.y+=x.y*f,t.damping&&(s.positionPrev.x+=t.damping*p.x*g*f,s.positionPrev.y+=t.damping*p.y*g*f),d=r.cross(a,x)/b*n._torqueDampen*s.inverseInertia*(1-t.angularStiffness),s.constraintImpulse.angle+=d,s.angle+=d)}}},n.postSolveAll=function(t){for(var e=0;e<t.length;e++){var i=t[e],l=i.constraintImpulse;if(!(i.isStatic||0===l.x&&0===l.y&&0===l.angle)){o.set(i,!1);for(var u=0;u<i.parts.length;u++){var c=i.parts[u];s.translate(c.vertices,l),u>0&&(c.position.x+=l.x,c.position.y+=l.y),0!==l.angle&&(s.rotate(c.vertices,l.angle,i.position),h.rotate(c.axes,l.angle),u>0&&r.rotateAbout(c.position,l.angle,i.position,c.position)),a.update(c.bounds,c.vertices,i.velocity)}l.angle*=n._warming,l.x*=n._warming,l.y*=n._warming}}}},function(t,e,i){var n={};t.exports=n;var s=i(33);n.on=function(t,e,i){for(var n,s=e.split(" "),r=0;r<s.length;r++)n=s[r],t.events=t.events||{},t.events[n]=t.events[n]||[],t.events[n].push(i);return i},n.off=function(t,e,i){if(e){"function"==typeof e&&(i=e,e=s.keys(t.events).join(" "));for(var n=e.split(" "),r=0;r<n.length;r++){var o=t.events[n[r]],a=[];if(i&&o)for(var h=0;h<o.length;h++)o[h]!==i&&a.push(o[h]);t.events[n[r]]=a}}else t.events={}},n.trigger=function(t,e,i){var n,r,o,a,h=t.events;if(h&&s.keys(h).length>0){i||(i={}),n=e.split(" ");for(var l=0;l<n.length;l++)if(o=h[r=n[l]]){(a=s.clone(i,!1)).name=r,a.source=t;for(var u=0;u<o.length;u++)o[u].apply(t,[a])}}}},function(t,e,i){var n=i(0),s=i(64),r=i(2),o=i(894),a=i(893),h=i(892),l=i(38),u=i(10),c=i(197),d=new n({Extends:c,Mixins:[o],initialize:function(t){var e=t.renderer.config;c.call(this,{game:t.game,renderer:t.renderer,gl:t.renderer.gl,topology:r(t,"topology",t.renderer.gl.TRIANGLES),vertShader:r(t,"vertShader",h),fragShader:r(t,"fragShader",a),vertexCapacity:r(t,"vertexCapacity",6*e.batchSize),vertexSize:r(t,"vertexSize",5*Float32Array.BYTES_PER_ELEMENT+4*Uint8Array.BYTES_PER_ELEMENT),attributes:[{name:"inPosition",size:2,type:t.renderer.gl.FLOAT,normalized:!1,offset:0},{name:"inTexCoord",size:2,type:t.renderer.gl.FLOAT,normalized:!1,offset:2*Float32Array.BYTES_PER_ELEMENT},{name:"inTintEffect",size:1,type:t.renderer.gl.FLOAT,normalized:!1,offset:4*Float32Array.BYTES_PER_ELEMENT},{name:"inTint",size:4,type:t.renderer.gl.UNSIGNED_BYTE,normalized:!0,offset:5*Float32Array.BYTES_PER_ELEMENT}]}),this.vertexViewF32=new Float32Array(this.vertexData),this.vertexViewU32=new Uint32Array(this.vertexData),this.maxQuads=e.batchSize,this.batches=[],this._tempMatrix1=new l,this._tempMatrix2=new l,this._tempMatrix3=new l,this._tempMatrix4=new l,this.tempTriangle=[{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0},{x:0,y:0,width:0}],this.tintEffect=2,this.strokeTint={TL:0,TR:0,BL:0,BR:0},this.fillTint={TL:0,TR:0,BL:0,BR:0},this.currentFrame={u0:0,v0:0,u1:1,v1:1},this.firstQuad=[0,0,0,0,0],this.prevQuad=[0,0,0,0,0],this.polygonCache=[],this.mvpInit()},onBind:function(){return c.prototype.onBind.call(this),this.mvpUpdate(),0===this.batches.length&&this.pushBatch(),this},resize:function(t,e,i){return c.prototype.resize.call(this,t,e,i),this.projOrtho(0,this.width,this.height,0,-1e3,1e3),this},setTexture2D:function(t,e){t||(t=this.renderer.blankTexture.glTexture,e=0);var i=this.batches;0===i.length&&this.pushBatch();var n=i[i.length-1];return e>0?(n.textures[e-1]&&n.textures[e-1]!==t&&this.pushBatch(),i[i.length-1].textures[e-1]=t):(null!==n.texture&&n.texture!==t&&this.pushBatch(),i[i.length-1].texture=t),this},pushBatch:function(){var t={first:this.vertexCount,texture:null,textures:[]};this.batches.push(t)},flush:function(){if(this.flushLocked)return this;this.flushLocked=!0;var t,e,i,n=this.gl,s=this.vertexCount,r=this.topology,o=this.vertexSize,a=this.renderer,h=this.batches,l=0,u=null;if(0===h.length||0===s)return this.flushLocked=!1,this;n.bufferSubData(n.ARRAY_BUFFER,0,this.bytes.subarray(0,s*o));for(var c=0;c<h.length-1;c++){if(u=h[c],t=h[c+1],u.textures.length>0){for(e=0;e<u.textures.length;++e)(i=u.textures[e])&&a.setTexture2D(i,1+e);n.activeTexture(n.TEXTURE0)}l=t.first-u.first,null===u.texture||l<=0||(a.setTexture2D(u.texture,0),n.drawArrays(r,u.first,l))}if((u=h[h.length-1]).textures.length>0){for(e=0;e<u.textures.length;++e)(i=u.textures[e])&&a.setTexture2D(i,1+e);n.activeTexture(n.TEXTURE0)}return l=s-u.first,u.texture&&l>0&&(a.setTexture2D(u.texture,0),n.drawArrays(r,u.first,l)),this.vertexCount=0,h.length=0,this.pushBatch(),this.flushLocked=!1,this},batchSprite:function(t,e,i){this.renderer.setPipeline(this);var n=this._tempMatrix1,s=this._tempMatrix2,r=this._tempMatrix3,o=t.frame,a=o.glTexture,h=o.u0,l=o.v0,c=o.u1,d=o.v1,f=o.x,p=o.y,g=o.cutWidth,v=o.cutHeight,y=-t.displayOriginX+f,m=-t.displayOriginY+p;if(t.isCropped){var x=t._crop;x.flipX===t.flipX&&x.flipY===t.flipY||o.updateCropUVs(x,t.flipX,t.flipY),h=x.u0,l=x.v0,c=x.u1,d=x.v1,g=x.width,v=x.height,f=x.x,p=x.y,y=-t.displayOriginX+f,m=-t.displayOriginY+p}t.flipX&&(y+=g,g*=-1),t.flipY&&(m+=v,v*=-1);var w=y+g,b=m+v;s.applyITRS(t.x,t.y,t.rotation,t.scaleX,t.scaleY),n.copyFrom(e.matrix),i?(n.multiplyWithOffset(i,-e.scrollX*t.scrollFactorX,-e.scrollY*t.scrollFactorY),s.e=t.x,s.f=t.y,n.multiply(s,r)):(s.e-=e.scrollX*t.scrollFactorX,s.f-=e.scrollY*t.scrollFactorY,n.multiply(s,r));var T=r.getX(y,m),S=r.getY(y,m),_=r.getX(y,b),A=r.getY(y,b),C=r.getX(w,b),M=r.getY(w,b),P=r.getX(w,m),E=r.getY(w,m),k=u.getTintAppendFloatAlpha(t._tintTL,e.alpha*t._alphaTL),L=u.getTintAppendFloatAlpha(t._tintTR,e.alpha*t._alphaTR),F=u.getTintAppendFloatAlpha(t._tintBL,e.alpha*t._alphaBL),R=u.getTintAppendFloatAlpha(t._tintBR,e.alpha*t._alphaBR);e.roundPixels&&(T|=0,S|=0,_|=0,A|=0,C|=0,M|=0,P|=0,E|=0),this.setTexture2D(a,0);var O=t._isTinted&&t.tintFill;this.batchQuad(T,S,_,A,C,M,P,E,h,l,c,d,k,L,F,R,O)},batchQuad:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g,v){var y=!1;this.vertexCount+6>this.vertexCapacity&&(this.flush(),y=!0);var m=this.vertexViewF32,x=this.vertexViewU32,w=this.vertexCount*this.vertexComponentCount-1;return m[++w]=t,m[++w]=e,m[++w]=h,m[++w]=l,m[++w]=v,x[++w]=d,m[++w]=i,m[++w]=n,m[++w]=h,m[++w]=c,m[++w]=v,x[++w]=p,m[++w]=s,m[++w]=r,m[++w]=u,m[++w]=c,m[++w]=v,x[++w]=g,m[++w]=t,m[++w]=e,m[++w]=h,m[++w]=l,m[++w]=v,x[++w]=d,m[++w]=s,m[++w]=r,m[++w]=u,m[++w]=c,m[++w]=v,x[++w]=g,m[++w]=o,m[++w]=a,m[++w]=u,m[++w]=l,m[++w]=v,x[++w]=f,this.vertexCount+=6,y},batchTri:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f){var p=!1;this.vertexCount+3>this.vertexCapacity&&(this.flush(),p=!0);var g=this.vertexViewF32,v=this.vertexViewU32,y=this.vertexCount*this.vertexComponentCount-1;return g[++y]=t,g[++y]=e,g[++y]=o,g[++y]=a,g[++y]=f,v[++y]=u,g[++y]=i,g[++y]=n,g[++y]=o,g[++y]=l,g[++y]=f,v[++y]=c,g[++y]=s,g[++y]=r,g[++y]=h,g[++y]=l,g[++y]=f,v[++y]=d,this.vertexCount+=3,p},batchTexture:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g,v,y,m,x,w,b,T,S,_,A,C,M,P,E,k){this.renderer.setPipeline(this,t);var L=this._tempMatrix1,F=this._tempMatrix2,R=this._tempMatrix3,O=y/i+C,D=m/n+M,B=(y+x)/i+C,I=(m+w)/n+M,Y=o,X=a,z=-g,N=-v;if(t.isCropped){var U=t._crop;Y=U.width,X=U.height,o=U.width,a=U.height;var V=y=U.x,G=m=U.y;c&&(V=x-U.x-U.width),d&&!e.isRenderTexture&&(G=w-U.y-U.height),O=V/i+C,D=G/n+M,B=(V+U.width)/i+C,I=(G+U.height)/n+M,z=-g+y,N=-v+m}d^=!k&&e.isRenderTexture?1:0,c&&(Y*=-1,z+=o),d&&(X*=-1,N+=a);var W=z+Y,H=N+X;F.applyITRS(s,r,u,h,l),L.copyFrom(P.matrix),E?(L.multiplyWithOffset(E,-P.scrollX*f,-P.scrollY*p),F.e=s,F.f=r,L.multiply(F,R)):(F.e-=P.scrollX*f,F.f-=P.scrollY*p,L.multiply(F,R));var j=R.getX(z,N),q=R.getY(z,N),K=R.getX(z,H),J=R.getY(z,H),Z=R.getX(W,H),Q=R.getY(W,H),$=R.getX(W,N),tt=R.getY(W,N);P.roundPixels&&(j|=0,q|=0,K|=0,J|=0,Z|=0,Q|=0,$|=0,tt|=0),this.setTexture2D(e,0),this.batchQuad(j,q,K,J,Z,Q,$,tt,O,D,B,I,b,T,S,_,A)},batchTextureFrame:function(t,e,i,n,s,r,o){this.renderer.setPipeline(this);var a=this._tempMatrix1.copyFrom(r),h=this._tempMatrix2,l=e+t.width,c=i+t.height;o?a.multiply(o,h):h=a;var d=h.getX(e,i),f=h.getY(e,i),p=h.getX(e,c),g=h.getY(e,c),v=h.getX(l,c),y=h.getY(l,c),m=h.getX(l,i),x=h.getY(l,i);this.setTexture2D(t.glTexture,0),n=u.getTintAppendFloatAlpha(n,s),this.batchQuad(d,f,p,g,v,y,m,x,t.u0,t.v0,t.u1,t.v1,n,n,n,n,0)},drawFillRect:function(t,e,i,n,s,r){var o=t+i,a=e+n,h=u.getTintAppendFloatAlphaAndSwap(s,r);this.batchQuad(t,e,t,a,o,a,o,e,0,0,1,1,h,h,h,h,2)},batchFillRect:function(t,e,i,n,s,r){this.renderer.setPipeline(this);var o=this._tempMatrix3;r&&r.multiply(s,o);var a=t+i,h=e+n,l=o.getX(t,e),u=o.getY(t,e),c=o.getX(t,h),d=o.getY(t,h),f=o.getX(a,h),p=o.getY(a,h),g=o.getX(a,e),v=o.getY(a,e),y=this.currentFrame,m=y.u0,x=y.v0,w=y.u1,b=y.v1;this.batchQuad(l,u,c,d,f,p,g,v,m,x,w,b,this.fillTint.TL,this.fillTint.TR,this.fillTint.BL,this.fillTint.BR,this.tintEffect)},batchFillTriangle:function(t,e,i,n,s,r,o,a){this.renderer.setPipeline(this);var h=this._tempMatrix3;a&&a.multiply(o,h);var l=h.getX(t,e),u=h.getY(t,e),c=h.getX(i,n),d=h.getY(i,n),f=h.getX(s,r),p=h.getY(s,r),g=this.currentFrame,v=g.u0,y=g.v0,m=g.u1,x=g.v1;this.batchTri(l,u,c,d,f,p,v,y,m,x,this.fillTint.TL,this.fillTint.TR,this.fillTint.BL,this.tintEffect)},batchStrokeTriangle:function(t,e,i,n,s,r,o,a,h){var l=this.tempTriangle;l[0].x=t,l[0].y=e,l[0].width=o,l[1].x=i,l[1].y=n,l[1].width=o,l[2].x=s,l[2].y=r,l[2].width=o,l[3].x=t,l[3].y=e,l[3].width=o,this.batchStrokePath(l,o,!1,a,h)},batchFillPath:function(t,e,i){this.renderer.setPipeline(this);var n=this._tempMatrix3;i&&i.multiply(e,n);for(var r,o,a=t.length,h=this.polygonCache,l=this.fillTint.TL,u=this.fillTint.TR,c=this.fillTint.BL,d=this.tintEffect,f=0;f<a;++f)o=t[f],h.push(o.x,o.y);a=(r=s(h)).length;for(var p=this.currentFrame,g=0;g<a;g+=3){var v=2*r[g+0],y=2*r[g+1],m=2*r[g+2],x=h[v+0],w=h[v+1],b=h[y+0],T=h[y+1],S=h[m+0],_=h[m+1],A=n.getX(x,w),C=n.getY(x,w),M=n.getX(b,T),P=n.getY(b,T),E=n.getX(S,_),k=n.getY(S,_),L=p.u0,F=p.v0,R=p.u1,O=p.v1;this.batchTri(A,C,M,P,E,k,L,F,R,O,l,u,c,d)}h.length=0},batchStrokePath:function(t,e,i,n,s){this.renderer.setPipeline(this),this.prevQuad[4]=0,this.firstQuad[4]=0;for(var r=t.length-1,o=0;o<r;o++){var a=t[o],h=t[o+1];this.batchLine(a.x,a.y,h.x,h.y,a.width/2,h.width/2,e,o,!i&&o===r-1,n,s)}},batchLine:function(t,e,i,n,s,r,o,a,h,l,u){this.renderer.setPipeline(this);var c=this._tempMatrix3;u&&u.multiply(l,c);var d=i-t,f=n-e,p=Math.sqrt(d*d+f*f),g=s*(n-e)/p,v=s*(t-i)/p,y=r*(n-e)/p,m=r*(t-i)/p,x=i-y,w=n-m,b=t-g,T=e-v,S=i+y,_=n+m,A=t+g,C=e+v,M=c.getX(x,w),P=c.getY(x,w),E=c.getX(b,T),k=c.getY(b,T),L=c.getX(S,_),F=c.getY(S,_),R=c.getX(A,C),O=c.getY(A,C),D=this.strokeTint,B=this.tintEffect,I=D.TL,Y=D.TR,X=D.BL,z=D.BR,N=this.currentFrame,U=N.u0,V=N.v0,G=N.u1,W=N.v1;if(this.batchQuad(R,O,E,k,M,P,L,F,U,V,G,W,I,Y,X,z,B),!(o<=2)){var H=this.prevQuad,j=this.firstQuad;a>0&&H[4]?this.batchQuad(R,O,E,k,H[0],H[1],H[2],H[3],U,V,G,W,I,Y,X,z,B):(j[0]=R,j[1]=O,j[2]=E,j[3]=k,j[4]=1),h&&j[4]?this.batchQuad(M,P,L,F,j[0],j[1],j[2],j[3],U,V,G,W,I,Y,X,z,B):(H[0]=M,H[1]=P,H[2]=L,H[3]=F,H[4]=1)}}});t.exports=d},function(t,e,i){var n=i(0),s=i(10),r=new n({initialize:function(t){this.name="WebGLPipeline",this.game=t.game,this.view=t.game.canvas,this.resolution=t.game.config.resolution,this.width=t.game.config.width*this.resolution,this.height=t.game.config.height*this.resolution,this.gl=t.gl,this.vertexCount=0,this.vertexCapacity=t.vertexCapacity,this.renderer=t.renderer,this.vertexData=t.vertices?t.vertices:new ArrayBuffer(t.vertexCapacity*t.vertexSize),this.vertexBuffer=this.renderer.createVertexBuffer(t.vertices?t.vertices:this.vertexData.byteLength,this.gl.STREAM_DRAW),this.program=this.renderer.createProgram(t.vertShader,t.fragShader),this.attributes=t.attributes,this.vertexSize=t.vertexSize,this.topology=t.topology,this.bytes=new Uint8Array(this.vertexData),this.vertexComponentCount=s.getComponentCount(t.attributes,this.gl),this.flushLocked=!1,this.active=!1},boot:function(){},addAttribute:function(t,e,i,n,s){return this.attributes.push({name:t,size:e,type:this.renderer.glFormats[i],normalized:n,offset:s}),this},shouldFlush:function(){return this.vertexCount>=this.vertexCapacity},resize:function(t,e,i){return this.width=t*i,this.height=e*i,this},bind:function(){var t=this.gl,e=this.vertexBuffer,i=this.attributes,n=this.program,s=this.renderer,r=this.vertexSize;s.setProgram(n),s.setVertexBuffer(e);for(var o=0;o<i.length;++o){var a=i[o],h=t.getAttribLocation(n,a.name);h>=0?(t.enableVertexAttribArray(h),t.vertexAttribPointer(h,a.size,a.type,a.normalized,r,a.offset)):t.disableVertexAttribArray(h)}return this},onBind:function(){return this},onPreRender:function(){return this},onRender:function(){return this},onPostRender:function(){return this},flush:function(){if(this.flushLocked)return this;this.flushLocked=!0;var t=this.gl,e=this.vertexCount,i=this.topology,n=this.vertexSize;if(0!==e)return t.bufferSubData(t.ARRAY_BUFFER,0,this.bytes.subarray(0,e*n)),t.drawArrays(i,0,e),this.vertexCount=0,this.flushLocked=!1,this;this.flushLocked=!1},destroy:function(){var t=this.gl;return t.deleteProgram(this.program),t.deleteBuffer(this.vertexBuffer),delete this.program,delete this.vertexBuffer,delete this.gl,this},setFloat1:function(t,e){return this.renderer.setFloat1(this.program,t,e),this},setFloat2:function(t,e,i){return this.renderer.setFloat2(this.program,t,e,i),this},setFloat3:function(t,e,i,n){return this.renderer.setFloat3(this.program,t,e,i,n),this},setFloat4:function(t,e,i,n,s){return this.renderer.setFloat4(this.program,t,e,i,n,s),this},setFloat1v:function(t,e){return this.renderer.setFloat1v(this.program,t,e),this},setFloat2v:function(t,e){return this.renderer.setFloat2v(this.program,t,e),this},setFloat3v:function(t,e){return this.renderer.setFloat3v(this.program,t,e),this},setFloat4v:function(t,e){return this.renderer.setFloat4v(this.program,t,e),this},setInt1:function(t,e){return this.renderer.setInt1(this.program,t,e),this},setInt2:function(t,e,i){return this.renderer.setInt2(this.program,t,e,i),this},setInt3:function(t,e,i,n){return this.renderer.setInt3(this.program,t,e,i,n),this},setInt4:function(t,e,i,n,s){return this.renderer.setInt4(this.program,t,e,i,n,s),this},setMatrix2:function(t,e,i){return this.renderer.setMatrix2(this.program,t,e,i),this},setMatrix3:function(t,e,i){return this.renderer.setMatrix3(this.program,t,e,i),this},setMatrix4:function(t,e,i){return this.renderer.setMatrix4(this.program,t,e,i),this}});t.exports=r},function(t,e,i){var n=i(53);t.exports=function(t){return n(t,-180,180)}},function(t,e,i){var n=i(53);t.exports=function(t){return n(t,-Math.PI,Math.PI)}},function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){var n=i(0),s=i(11),r=i(97),o=i(83),a=new n({Extends:s,initialize:function(t){s.call(this),this.manager=t,this.isTimeline=!0,this.data=[],this.totalData=0,this.useFrames=!1,this.timeScale=1,this.loop=0,this.loopDelay=0,this.loopCounter=0,this.completeDelay=0,this.countdown=0,this.state=o.PENDING_ADD,this._pausedState=o.PENDING_ADD,this.paused=!1,this.elapsed=0,this.totalElapsed=0,this.duration=0,this.progress=0,this.totalDuration=0,this.totalProgress=0,this.callbacks={onComplete:null,onLoop:null,onStart:null,onUpdate:null,onYoyo:null},this.callbackScope},setTimeScale:function(t){return this.timeScale=t,this},getTimeScale:function(){return this.timeScale},isPlaying:function(){return this.state===o.ACTIVE},add:function(t){return this.queue(r(this,t))},queue:function(t){return this.isPlaying()||(t.parent=this,t.parentIsTimeline=!0,this.data.push(t),this.totalData=this.data.length),this},hasOffset:function(t){return null!==t.offset},isOffsetAbsolute:function(t){return"number"==typeof t},isOffsetRelative:function(t){if("string"===typeof t){var e=t[0];if("-"===e||"+"===e)return!0}return!1},getRelativeOffset:function(t,e){var i=t[0],n=parseFloat(t.substr(2)),s=e;switch(i){case"+":s+=n;break;case"-":s-=n}return Math.max(0,s)},calcDuration:function(){for(var t=0,e=0,i=0,n=0;n<this.totalData;n++){var s=this.data[n];s.init(),this.hasOffset(s)?this.isOffsetAbsolute(s.offset)?(s.calculatedOffset=s.offset,0===s.offset&&(i=0)):this.isOffsetRelative(s.offset)&&(s.calculatedOffset=this.getRelativeOffset(s.offset,t)):s.calculatedOffset=i,t=s.totalDuration+s.calculatedOffset,e+=s.totalDuration,i+=s.totalDuration}this.duration=e,this.loopCounter=-1===this.loop?999999999999:this.loop,this.loopCounter>0?this.totalDuration=this.duration+this.completeDelay+(this.duration+this.loopDelay)*this.loopCounter:this.totalDuration=this.duration+this.completeDelay},init:function(){return this.calcDuration(),this.progress=0,this.totalProgress=0,!this.paused||(this.state=o.PAUSED,!1)},resetTweens:function(t){for(var e=0;e<this.totalData;e++){this.data[e].play(t)}},setCallback:function(t,e,i,n){return-1!==a.TYPES.indexOf(t)&&(this.callbacks[t]={func:e,scope:n,params:i}),this},makeActive:function(t){return this.manager.makeActive(t)},play:function(){if(this.state!==o.ACTIVE){if(this.paused)return this.paused=!1,void this.manager.makeActive(this);this.resetTweens(!1),this.state=o.ACTIVE;var t=this.callbacks.onStart;t&&t.func.apply(t.scope,t.params),this.emit("start",this)}},nextState:function(){if(this.loopCounter>0){this.elapsed=0,this.progress=0,this.loopCounter--;var t=this.callbacks.onLoop;t&&t.func.apply(t.scope,t.params),this.emit("loop",this,this.loopCounter),this.resetTweens(!0),this.loopDelay>0?(this.countdown=this.loopDelay,this.state=o.LOOP_DELAY):this.state=o.ACTIVE}else if(this.completeDelay>0)this.countdown=this.completeDelay,this.state=o.COMPLETE_DELAY;else{var e=this.callbacks.onComplete;e&&e.func.apply(e.scope,e.params),this.emit("complete",this),this.state=o.PENDING_REMOVE}},update:function(t,e){if(this.state!==o.PAUSED){var i=e;switch(this.useFrames&&(e=1*this.manager.timeScale),e*=this.timeScale,this.elapsed+=e,this.progress=Math.min(this.elapsed/this.duration,1),this.totalElapsed+=e,this.totalProgress=Math.min(this.totalElapsed/this.totalDuration,1),this.state){case o.ACTIVE:for(var n=this.totalData,s=0;s<this.totalData;s++){this.data[s].update(t,i)&&n--}var r=this.callbacks.onUpdate;r&&r.func.apply(r.scope,r.params),this.emit("update",this),0===n&&this.nextState();break;case o.LOOP_DELAY:this.countdown-=e,this.countdown<=0&&(this.state=o.ACTIVE);break;case o.COMPLETE_DELAY:if(this.countdown-=e,this.countdown<=0){var a=this.callbacks.onComplete;a&&a.func.apply(a.scope,a.params),this.emit("complete",this),this.state=o.PENDING_REMOVE}}return this.state===o.PENDING_REMOVE}},stop:function(){this.state=o.PENDING_REMOVE},pause:function(){if(this.state!==o.PAUSED)return this.paused=!0,this._pausedState=this.state,this.state=o.PAUSED,this.emit("pause",this),this},resume:function(){return this.state===o.PAUSED&&(this.paused=!1,this.state=this._pausedState),this.emit("resume",this),this},hasTarget:function(t){for(var e=0;e<this.data.length;e++)if(this.data[e].hasTarget(t))return!0;return!1},destroy:function(){for(var t=0;t<this.data.length;t++)this.data[t].stop()}});a.TYPES=["onStart","onUpdate","onLoop","onComplete","onYoyo"],t.exports=a},function(t,e,i){var n=i(63),s=i(129),r=i(12),o=i(84),a=i(86),h=i(98),l=i(131),u=i(204),c=i(4),d=i(201),f=i(97);t.exports=function(t,e){var i=new d(t),p=u(e);if(0===p.length)return i.paused=!0,i;var g=n(s);g.targets=l(e);var v=r(e,"totalDuration",0);g.duration=v>0?Math.floor(v/p.length):h(e,"duration",g.duration),g.delay=h(e,"delay",g.delay),g.easeParams=c(e,"easeParams",g.easeParams),g.ease=a(c(e,"ease",g.ease),g.easeParams),g.hold=h(e,"hold",g.hold),g.repeat=h(e,"repeat",g.repeat),g.repeatDelay=h(e,"repeatDelay",g.repeatDelay),g.yoyo=o(e,"yoyo",g.yoyo),g.flipX=o(e,"flipX",g.flipX),g.flipY=o(e,"flipY",g.flipY);for(var y=0;y<p.length;y++)i.queue(f(i,p[y],g));i.completeDelay=r(e,"completeDelay",0),i.loop=Math.round(r(e,"loop",0)),i.loopDelay=Math.round(r(e,"loopDelay",0)),i.paused=o(e,"paused",!1),i.useFrames=o(e,"useFrames",!1);var m=c(e,"callbackScope",i),x=[i],w=c(e,"onStart",!1);if(w){var b=c(e,"onStartScope",m),T=c(e,"onStartParams",[]);i.setCallback("onStart",w,x.concat(T),b)}var S=c(e,"onUpdate",!1);if(S){var _=c(e,"onUpdateScope",m),A=c(e,"onUpdateParams",[]);i.setCallback("onUpdate",S,x.concat(A),_)}var C=c(e,"onLoop",!1);if(C){var M=c(e,"onLoopScope",m),P=c(e,"onLoopParams",[]);i.setCallback("onLoop",C,x.concat(P),M)}var E=c(e,"onYoyo",!1);if(E){var k=c(e,"onYoyoScope",m),L=c(e,"onYoyoParams",[]);i.setCallback("onYoyo",E,x.concat(null,L),k)}var F=c(e,"onComplete",!1);if(F){var R=c(e,"onCompleteScope",m),O=c(e,"onCompleteParams",[]);i.setCallback("onComplete",F,x.concat(O),R)}return i}},function(t,e,i){var n=i(129),s=i(12),r=i(84),o=i(86),a=i(98),h=i(4),l=i(130),u=i(128),c=i(127);t.exports=function(t,e,i){void 0===i&&(i=n);var d=h(e,"from",0),f=h(e,"to",1),p=[{value:d}],g=a(e,"delay",i.delay),v=a(e,"duration",i.duration),y=h(e,"easeParams",i.easeParams),m=o(h(e,"ease",i.ease),y),x=a(e,"hold",i.hold),w=a(e,"repeat",i.repeat),b=a(e,"repeatDelay",i.repeatDelay),T=r(e,"yoyo",i.yoyo),S=[],_=l("value",f),A=c(p[0],"value",_.getEnd,_.getStart,m,g,v,T,x,w,b,!1,!1);A.start=d,A.current=d,A.to=f,S.push(A);var C=new u(t,S,p);C.offset=s(e,"offset",null),C.completeDelay=s(e,"completeDelay",0),C.loop=Math.round(s(e,"loop",0)),C.loopDelay=Math.round(s(e,"loopDelay",0)),C.paused=r(e,"paused",!1),C.useFrames=r(e,"useFrames",!1);for(var M=h(e,"callbackScope",C),P=[C,null],E=u.TYPES,k=0;k<E.length;k++){var L=E[k],F=h(e,L,!1);if(F){var R=h(e,L+"Scope",M),O=h(e,L+"Params",[]);C.setCallback(L,F,P.concat(O),R)}}return C}},function(t,e,i){var n=i(4);t.exports=function(t){var e=n(t,"tweens",null);return null===e?[]:("function"==typeof e&&(e=e.call()),Array.isArray(e)||(e=[e]),e)}},function(t,e,i){var n=i(437);t.exports=function(t){var e,i=[];if(t.hasOwnProperty("props"))for(e in t.props)"_"!==e.substr(0,1)&&i.push({key:e,value:t.props[e]});else for(e in t)-1===n.indexOf(e)&&"_"!==e.substr(0,1)&&i.push({key:e,value:t[e]});return i}},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){this.delay=0,this.repeat=0,this.repeatCount=0,this.loop=!1,this.callback,this.callbackScope,this.args,this.timeScale=1,this.startAt=0,this.elapsed=0,this.paused=!1,this.hasDispatched=!1,this.reset(t)},reset:function(t){return this.delay=s(t,"delay",0),this.repeat=s(t,"repeat",0),this.loop=s(t,"loop",!1),this.callback=s(t,"callback",void 0),this.callbackScope=s(t,"callbackScope",this.callback),this.args=s(t,"args",[]),this.timeScale=s(t,"timeScale",1),this.startAt=s(t,"startAt",0),this.paused=s(t,"paused",!1),this.elapsed=this.startAt,this.hasDispatched=!1,this.repeatCount=-1===this.repeat||this.loop?999999999999:this.repeat,this},getProgress:function(){return this.elapsed/this.delay},getOverallProgress:function(){if(this.repeat>0){var t=this.delay+this.delay*this.repeat;return(this.elapsed+this.delay*(this.repeat-this.repeatCount))/t}return this.getProgress()},getRepeatCount:function(){return this.repeatCount},getElapsed:function(){return this.elapsed},getElapsedSeconds:function(){return.001*this.elapsed},remove:function(t){void 0===t&&(t=!1),this.elapsed=this.delay,this.hasDispatched=!t,this.repeatCount=0},destroy:function(){this.callback=void 0,this.callbackScope=void 0,this.args=[]}});t.exports=r},function(t,e,i){var n=i(0),s=i(14),r=i(26),o=i(19),a=i(446),h=i(103),l=i(38),u=i(10),c=new n({Extends:o,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.Flip,s.GetBounds,s.Origin,s.Pipeline,s.ScaleMode,s.Transform,s.Visible,s.ScrollFactor,a],initialize:function(t,e,i,n,s,a){o.call(this,t,"StaticTilemapLayer"),this.isTilemap=!0,this.tilemap=e,this.layerIndex=i,this.layer=e.layers[i],this.layer.tilemapLayer=this,this.tileset=[],this.culledTiles=[],this.skipCull=!1,this.tilesDrawn=0,this.tilesTotal=this.layer.width*this.layer.height,this.cullPaddingX=1,this.cullPaddingY=1,this.cullCallback=h.CullTiles,this.renderer=t.sys.game.renderer,this.vertexBuffer=[],this.bufferData=[],this.vertexViewF32=[],this.vertexViewU32=[],this.dirty=[],this.vertexCount=[],this._renderOrder=0,this._tempMatrix=new l,this.gidMap=[],this.setTilesets(n),this.setAlpha(this.layer.alpha),this.setPosition(s,a),this.setOrigin(),this.setSize(this.layer.tileWidth*this.layer.width,this.layer.tileHeight*this.layer.height),this.updateVBOData(),this.initPipeline("TextureTintPipeline"),t.sys.game.config.renderType===r.WEBGL&&t.sys.game.renderer.onContextRestored(function(){this.updateVBOData()},this)},setTilesets:function(t){var e=[],i=[],n=this.tilemap;Array.isArray(t)||(t=[t]);for(var s=0;s<t.length;s++){var r=t[s];if("string"==typeof r&&(r=n.getTileset(r)),r){i.push(r);for(var o=r.firstgid,a=0;a<r.total;a++)e[o+a]=r}}this.gidMap=e,this.tileset=i},updateVBOData:function(){for(var t=0;t<this.tileset.length;t++)this.dirty[t]=!0,this.vertexCount[t]=0,this.vertexBuffer[t]=null,this.bufferData[t]=null,this.vertexViewF32[t]=null,this.vertexViewU32[t]=null;return this},upload:function(t,e){var i=this.renderer,n=i.gl,s=i.pipelines.TextureTintPipeline;if(this.dirty[e]){var r,o,a,h=this.tileset[e],l=this.layer.width,u=this.layer.height,c=h.image.source[0].width,d=h.image.source[0].height,f=this.layer.data,p=this._renderOrder,g=h.firstgid,v=h.firstgid+h.total,y=this.vertexBuffer[e],m=this.bufferData[e],x=-1,w=l*u*s.vertexSize*6;if(this.vertexCount[e]=0,null===m&&(m=new ArrayBuffer(w),this.bufferData[e]=m,this.vertexViewF32[e]=new Float32Array(m),this.vertexViewU32[e]=new Uint32Array(m)),0===p)for(o=0;o<u;o++)for(a=0;a<l;a++)!(r=f[o][a])||r.index<g||r.index>v||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(1===p)for(o=0;o<u;o++)for(a=l-1;a>=0;a--)!(r=f[o][a])||r.index<g||r.index>v||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(2===p)for(o=u-1;o>=0;o--)for(a=0;a<l;a++)!(r=f[o][a])||r.index<g||r.index>v||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));else if(3===p)for(o=u-1;o>=0;o--)for(a=l-1;a>=0;a--)!(r=f[o][a])||r.index<g||r.index>v||!r.visible||(x=this.batchTile(x,r,h,c,d,t,e));this.dirty[e]=!1,null===y?(y=i.createVertexBuffer(m,n.STATIC_DRAW),this.vertexBuffer[e]=y):(i.setVertexBuffer(y),n.bufferSubData(n.ARRAY_BUFFER,0,m))}return this},batchTile:function(t,e,i,n,s,r,o){var a=i.getTileTextureCoordinates(e.index);if(!a)return t;var h=a.x/n,l=a.y/s,c=(a.x+e.width)/n,d=(a.y+e.height)/s,f=this._tempMatrix,p=e.width,g=e.height,v=p/2,y=g/2,m=-v,x=-y;e.flipX&&(p*=-1,m+=e.width),e.flipY&&(g*=-1,x+=e.height);var w=m+p,b=x+g;f.applyITRS(v+e.pixelX,y+e.pixelY,e.rotation,1,1);var T=u.getTintAppendFloatAlpha(16777215,r.alpha*this.alpha*e.alpha),S=f.getX(m,x),_=f.getY(m,x),A=f.getX(m,b),C=f.getY(m,b),M=f.getX(w,b),P=f.getY(w,b),E=f.getX(w,x),k=f.getY(w,x);r.roundPixels&&(S|=0,_|=0,A|=0,C|=0,M|=0,P|=0,E|=0,k|=0);var L=this.vertexViewF32[o],F=this.vertexViewU32[o];return L[++t]=S,L[++t]=_,L[++t]=h,L[++t]=l,L[++t]=0,F[++t]=T,L[++t]=A,L[++t]=C,L[++t]=h,L[++t]=d,L[++t]=0,F[++t]=T,L[++t]=M,L[++t]=P,L[++t]=c,L[++t]=d,L[++t]=0,F[++t]=T,L[++t]=S,L[++t]=_,L[++t]=h,L[++t]=l,L[++t]=0,F[++t]=T,L[++t]=M,L[++t]=P,L[++t]=c,L[++t]=d,L[++t]=0,F[++t]=T,L[++t]=E,L[++t]=k,L[++t]=c,L[++t]=l,L[++t]=0,F[++t]=T,this.vertexCount[o]+=6,t},setRenderOrder:function(t){if("string"==typeof t&&(t=["right-down","left-down","right-up","left-up"].indexOf(t)),t>=0&&t<4){this._renderOrder=t;for(var e=0;e<this.tileset.length;e++)this.dirty[e]=!0}return this},calculateFacesAt:function(t,e){return h.CalculateFacesAt(t,e,this.layer),this},calculateFacesWithin:function(t,e,i,n){return h.CalculateFacesWithin(t,e,i,n,this.layer),this},createFromTiles:function(t,e,i,n,s){return h.CreateFromTiles(t,e,i,n,s,this.layer)},cull:function(t){return this.cullCallback(this.layer,t,this.culledTiles)},setSkipCull:function(t){return void 0===t&&(t=!0),this.skipCull=t,this},setCullPadding:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=1),this.cullPaddingX=t,this.cullPaddingY=e,this},findByIndex:function(t,e,i){return h.FindByIndex(t,e,i,this.layer)},findTile:function(t,e,i,n,s,r,o){return h.FindTile(t,e,i,n,s,r,o,this.layer)},filterTiles:function(t,e,i,n,s,r,o){return h.FilterTiles(t,e,i,n,s,r,o,this.layer)},forEachTile:function(t,e,i,n,s,r,o){return h.ForEachTile(t,e,i,n,s,r,o,this.layer),this},getTileAt:function(t,e,i){return h.GetTileAt(t,e,i,this.layer)},getTileAtWorldXY:function(t,e,i,n){return h.GetTileAtWorldXY(t,e,i,n,this.layer)},getTilesWithin:function(t,e,i,n,s){return h.GetTilesWithin(t,e,i,n,s,this.layer)},getTilesWithinWorldXY:function(t,e,i,n,s,r){return h.GetTilesWithinWorldXY(t,e,i,n,s,r,this.layer)},getTilesWithinShape:function(t,e,i){return h.GetTilesWithinShape(t,e,i,this.layer)},hasTileAt:function(t,e){return h.HasTileAt(t,e,this.layer)},hasTileAtWorldXY:function(t,e,i){return h.HasTileAtWorldXY(t,e,i,this.layer)},renderDebug:function(t,e){return h.RenderDebug(t,e,this.layer),this},setCollision:function(t,e,i){return h.SetCollision(t,e,i,this.layer),this},setCollisionBetween:function(t,e,i,n){return h.SetCollisionBetween(t,e,i,n,this.layer),this},setCollisionByProperty:function(t,e,i){return h.SetCollisionByProperty(t,e,i,this.layer),this},setCollisionByExclusion:function(t,e,i){return h.SetCollisionByExclusion(t,e,i,this.layer),this},setTileIndexCallback:function(t,e,i){return h.SetTileIndexCallback(t,e,i,this.layer),this},setCollisionFromCollisionGroup:function(t,e){return h.SetCollisionFromCollisionGroup(t,e,this.layer),this},setTileLocationCallback:function(t,e,i,n,s,r){return h.SetTileLocationCallback(t,e,i,n,s,r,this.layer),this},tileToWorldX:function(t,e){return h.TileToWorldX(t,e,this.layer)},tileToWorldY:function(t,e){return h.TileToWorldY(t,e,this.layer)},tileToWorldXY:function(t,e,i,n){return h.TileToWorldXY(t,e,i,n,this.layer)},worldToTileX:function(t,e,i){return h.WorldToTileX(t,e,i,this.layer)},worldToTileY:function(t,e,i){return h.WorldToTileY(t,e,i,this.layer)},worldToTileXY:function(t,e,i,n,s){return h.WorldToTileXY(t,e,i,n,s,this.layer)},destroy:function(){this.layer.tilemapLayer===this&&(this.layer.tilemapLayer=void 0),this.tilemap=void 0,this.layer=void 0,this.culledTiles.length=0,this.cullCallback=null;for(var t=0;t<this.tileset.length;t++)this.dirty[t]=!0,this.vertexCount[t]=0,this.vertexBuffer[t]=null,this.bufferData[t]=null,this.vertexViewF32[t]=null,this.vertexViewU32[t]=null;this.gidMap=[],this.tileset=[],o.prototype.destroy.call(this)}});t.exports=c},function(t,e,i){var n=i(0),s=i(14),r=i(449),o=i(19),a=i(103),h=new n({Extends:o,Mixins:[s.Alpha,s.BlendMode,s.ComputedSize,s.Depth,s.Flip,s.GetBounds,s.Origin,s.Pipeline,s.ScaleMode,s.Transform,s.Visible,s.ScrollFactor,r],initialize:function(t,e,i,n,s,r){o.call(this,t,"DynamicTilemapLayer"),this.isTilemap=!0,this.tilemap=e,this.layerIndex=i,this.layer=e.layers[i],this.layer.tilemapLayer=this,this.tileset=[],this.culledTiles=[],this.skipCull=!1,this.tilesDrawn=0,this.tilesTotal=this.layer.width*this.layer.height,this.cullPaddingX=1,this.cullPaddingY=1,this.cullCallback=a.CullTiles,this._renderOrder=0,this.gidMap=[],this.setTilesets(n),this.setAlpha(this.layer.alpha),this.setPosition(s,r),this.setOrigin(),this.setSize(this.layer.tileWidth*this.layer.width,this.layer.tileHeight*this.layer.height),this.initPipeline("TextureTintPipeline")},setTilesets:function(t){var e=[],i=[],n=this.tilemap;Array.isArray(t)||(t=[t]);for(var s=0;s<t.length;s++){var r=t[s];if("string"==typeof r&&(r=n.getTileset(r)),r){i.push(r);for(var o=r.firstgid,a=0;a<r.total;a++)e[o+a]=r}}this.gidMap=e,this.tileset=i},setRenderOrder:function(t){return"string"==typeof t&&(t=["right-down","left-down","right-up","left-up"].indexOf(t)),t>=0&&t<4&&(this._renderOrder=t),this},calculateFacesAt:function(t,e){return a.CalculateFacesAt(t,e,this.layer),this},calculateFacesWithin:function(t,e,i,n){return a.CalculateFacesWithin(t,e,i,n,this.layer),this},createFromTiles:function(t,e,i,n,s){return a.CreateFromTiles(t,e,i,n,s,this.layer)},cull:function(t){return this.cullCallback(this.layer,t,this.culledTiles,this._renderOrder)},copy:function(t,e,i,n,s,r,o){return a.Copy(t,e,i,n,s,r,o,this.layer),this},destroy:function(){this.layer.tilemapLayer===this&&(this.layer.tilemapLayer=void 0),this.tilemap=void 0,this.layer=void 0,this.culledTiles.length=0,this.cullCallback=null,this.gidMap=[],this.tileset=[],o.prototype.destroy.call(this)},fill:function(t,e,i,n,s,r){return a.Fill(t,e,i,n,s,r,this.layer),this},filterTiles:function(t,e,i,n,s,r,o){return a.FilterTiles(t,e,i,n,s,r,o,this.layer)},findByIndex:function(t,e,i){return a.FindByIndex(t,e,i,this.layer)},findTile:function(t,e,i,n,s,r,o){return a.FindTile(t,e,i,n,s,r,o,this.layer)},forEachTile:function(t,e,i,n,s,r,o){return a.ForEachTile(t,e,i,n,s,r,o,this.layer),this},getTileAt:function(t,e,i){return a.GetTileAt(t,e,i,this.layer)},getTileAtWorldXY:function(t,e,i,n){return a.GetTileAtWorldXY(t,e,i,n,this.layer)},getTilesWithin:function(t,e,i,n,s){return a.GetTilesWithin(t,e,i,n,s,this.layer)},getTilesWithinShape:function(t,e,i){return a.GetTilesWithinShape(t,e,i,this.layer)},getTilesWithinWorldXY:function(t,e,i,n,s,r){return a.GetTilesWithinWorldXY(t,e,i,n,s,r,this.layer)},hasTileAt:function(t,e){return a.HasTileAt(t,e,this.layer)},hasTileAtWorldXY:function(t,e,i){return a.HasTileAtWorldXY(t,e,i,this.layer)},putTileAt:function(t,e,i,n){return a.PutTileAt(t,e,i,n,this.layer)},putTileAtWorldXY:function(t,e,i,n,s){return a.PutTileAtWorldXY(t,e,i,n,s,this.layer)},putTilesAt:function(t,e,i,n){return a.PutTilesAt(t,e,i,n,this.layer),this},randomize:function(t,e,i,n,s){return a.Randomize(t,e,i,n,s,this.layer),this},removeTileAt:function(t,e,i,n){return a.RemoveTileAt(t,e,i,n,this.layer)},removeTileAtWorldXY:function(t,e,i,n,s){return a.RemoveTileAtWorldXY(t,e,i,n,s,this.layer)},renderDebug:function(t,e){return a.RenderDebug(t,e,this.layer),this},replaceByIndex:function(t,e,i,n,s,r){return a.ReplaceByIndex(t,e,i,n,s,r,this.layer),this},setSkipCull:function(t){return void 0===t&&(t=!0),this.skipCull=t,this},setCullPadding:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=1),this.cullPaddingX=t,this.cullPaddingY=e,this},setCollision:function(t,e,i){return a.SetCollision(t,e,i,this.layer),this},setCollisionBetween:function(t,e,i,n){return a.SetCollisionBetween(t,e,i,n,this.layer),this},setCollisionByProperty:function(t,e,i){return a.SetCollisionByProperty(t,e,i,this.layer),this},setCollisionByExclusion:function(t,e,i){return a.SetCollisionByExclusion(t,e,i,this.layer),this},setCollisionFromCollisionGroup:function(t,e){return a.SetCollisionFromCollisionGroup(t,e,this.layer),this},setTileIndexCallback:function(t,e,i){return a.SetTileIndexCallback(t,e,i,this.layer),this},setTileLocationCallback:function(t,e,i,n,s,r){return a.SetTileLocationCallback(t,e,i,n,s,r,this.layer),this},shuffle:function(t,e,i,n){return a.Shuffle(t,e,i,n,this.layer),this},swapByIndex:function(t,e,i,n,s,r){return a.SwapByIndex(t,e,i,n,s,r,this.layer),this},tileToWorldX:function(t,e){return a.TileToWorldX(t,e,this.layer)},tileToWorldY:function(t,e){return a.TileToWorldY(t,e,this.layer)},tileToWorldXY:function(t,e,i,n){return a.TileToWorldXY(t,e,i,n,this.layer)},weightedRandomize:function(t,e,i,n,s){return a.WeightedRandomize(t,e,i,n,s,this.layer),this},worldToTileX:function(t,e,i){return a.WorldToTileX(t,e,i,this.layer)},worldToTileY:function(t,e,i){return a.WorldToTileY(t,e,i,this.layer)},worldToTileXY:function(t,e,i,n,s){return a.WorldToTileXY(t,e,i,n,s,this.layer)}});t.exports=h},function(t,e,i){var n=i(0),s=i(31),r=i(208),o=i(20),a=i(29),h=i(78),l=i(242),u=i(207),c=i(55),d=i(103),f=i(99),p=new n({initialize:function(t,e){this.scene=t,this.tileWidth=e.tileWidth,this.tileHeight=e.tileHeight,this.width=e.width,this.height=e.height,this.orientation=e.orientation,this.renderOrder=e.renderOrder,this.format=e.format,this.version=e.version,this.properties=e.properties,this.widthInPixels=e.widthInPixels,this.heightInPixels=e.heightInPixels,this.imageCollections=e.imageCollections,this.images=e.images,this.layers=e.layers,this.tilesets=e.tilesets,this.objects=e.objects,this.currentLayerIndex=0},setRenderOrder:function(t){var e=["right-down","left-down","right-up","left-up"];return"number"==typeof t&&(t=e[t]),e.indexOf(t)>-1&&(this.renderOrder=t),this},addTilesetImage:function(t,e,i,n,s,r,o){if(void 0===t)return null;if(void 0!==e&&null!==e||(e=t),!this.scene.sys.textures.exists(e))return console.warn("Invalid Tileset Image: "+e),null;var h=this.scene.sys.textures.get(e),l=this.getTilesetIndex(t);if(null===l&&this.format===a.TILED_JSON)return console.warn("No data found for Tileset: "+t),null;var u=this.tilesets[l];return u?(u.setTileSize(i,n),u.setSpacing(s,r),u.setImage(h),u):(void 0===i&&(i=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===s&&(s=0),void 0===r&&(r=0),void 0===o&&(o=0),(u=new f(t,o,i,n,s,r)).setImage(h),this.tilesets.push(u),u)},convertLayerToStatic:function(t){if(null===(t=this.getLayer(t)))return null;var e=t.tilemapLayer;if(!(e&&e instanceof r))return null;var i=new u(e.scene,e.tilemap,e.layerIndex,e.tileset,e.x,e.y);return this.scene.sys.displayList.add(i),e.destroy(),i},copy:function(t,e,i,n,s,r,o,a){return a=this.getLayer(a),this._isStaticCall(a,"copy")?this:(null!==a&&d.Copy(t,e,i,n,s,r,o,a),this)},createBlankDynamicLayer:function(t,e,i,n,s,o,a,l){if(void 0===a&&(a=e.tileWidth),void 0===l&&(l=e.tileHeight),void 0===s&&(s=this.width),void 0===o&&(o=this.height),void 0===i&&(i=0),void 0===n&&(n=0),null!==this.getLayerIndex(t))return console.warn("Invalid Tilemap Layer ID: "+t),null;for(var u,d=new h({name:t,tileWidth:a,tileHeight:l,width:s,height:o}),f=0;f<o;f++){u=[];for(var p=0;p<s;p++)u.push(new c(d,-1,p,f,a,l,this.tileWidth,this.tileHeight));d.data.push(u)}this.layers.push(d),this.currentLayerIndex=this.layers.length-1;var g=new r(this.scene,this,this.currentLayerIndex,e,i,n);return g.setRenderOrder(this.renderOrder),this.scene.sys.displayList.add(g),g},createDynamicLayer:function(t,e,i,n){var s=this.getLayerIndex(t);if(null===s)return console.warn("Invalid Tilemap Layer ID: "+t),null;if(this.layers[s].tilemapLayer)return console.warn("Tilemap Layer ID already exists:"+t),null;this.currentLayerIndex=s,void 0===i&&this.layers[s].x&&(i=this.layers[s].x),void 0===n&&this.layers[s].y&&(n=this.layers[s].y);var o=new r(this.scene,this,s,e,i,n);return o.setRenderOrder(this.renderOrder),this.scene.sys.displayList.add(o),o},createFromObjects:function(t,e,i,n){void 0===i&&(i={}),void 0===n&&(n=this.scene);var r=this.getObjectLayer(t);if(r){for(var a=r.objects,h=[],u=0;u<a.length;u++){var c=!1,d=a[u];if((void 0!==d.gid&&"number"==typeof e&&d.gid===e||void 0!==d.id&&"number"==typeof e&&d.id===e||void 0!==d.name&&"string"==typeof e&&d.name===e)&&(c=!0),c){var f=o({},i,d.properties);f.x=d.x,f.y=d.y;var p=this.scene.make.sprite(f);p.name=d.name,d.width&&(p.displayWidth=d.width),d.height&&(p.displayHeight=d.height);var g={x:p.originX*p.displayWidth,y:(p.originY-1)*p.displayHeight};if(d.rotation){var v=s(d.rotation);l(g,v),p.rotation=v}for(var y in p.x+=g.x,p.y+=g.y,void 0===d.flippedHorizontal&&void 0===d.flippedVertical||p.setFlip(d.flippedHorizontal,d.flippedVertical),d.visible||(p.visible=!1),d.properties)p.hasOwnProperty(y)||p.setData(y,d.properties[y]);h.push(p)}}return h}console.warn("Cannot create from object. Invalid objectgroup name given: "+t)},createFromTiles:function(t,e,i,n,s,r){return null===(r=this.getLayer(r))?null:d.CreateFromTiles(t,e,i,n,s,r)},createStaticLayer:function(t,e,i,n){var s=this.getLayerIndex(t);if(null===s)return console.warn("Invalid Tilemap Layer ID: "+t),null;if(this.layers[s].tilemapLayer)return console.warn("Tilemap Layer ID already exists:"+t),null;this.currentLayerIndex=s,void 0===i&&this.layers[s].x&&(i=this.layers[s].x),void 0===n&&this.layers[s].y&&(n=this.layers[s].y);var r=new u(this.scene,this,s,e,i,n);return r.setRenderOrder(this.renderOrder),this.scene.sys.displayList.add(r),r},destroy:function(){this.removeAllLayers(),this.tilesets.length=0,this.objects.length=0,this.scene=void 0},fill:function(t,e,i,n,s,r,o){return o=this.getLayer(o),this._isStaticCall(o,"fill")?this:(null!==o&&d.Fill(t,e,i,n,s,r,o),this)},filterObjects:function(t,e,i){if("string"==typeof t){var n=t;if(!(t=this.getObjectLayer(t)))return console.warn("No object layer found with the name: "+n),null}return t.objects.filter(e,i)},filterTiles:function(t,e,i,n,s,r,o,a){return null===(a=this.getLayer(a))?null:d.FilterTiles(t,e,i,n,s,r,o,a)},findByIndex:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.FindByIndex(t,e,i,n)},findObject:function(t,e,i){if("string"==typeof t){var n=t;if(!(t=this.getObjectLayer(t)))return console.warn("No object layer found with the name: "+n),null}return t.objects.find(e,i)||null},findTile:function(t,e,i,n,s,r,o,a){return null===(a=this.getLayer(a))?null:d.FindTile(t,e,i,n,s,r,o,a)},forEachTile:function(t,e,i,n,s,r,o,a){return null!==(a=this.getLayer(a))&&d.ForEachTile(t,e,i,n,s,r,o,a),this},getImageIndex:function(t){return this.getIndex(this.images,t)},getIndex:function(t,e){for(var i=0;i<t.length;i++)if(t[i].name===e)return i;return null},getLayer:function(t){var e=this.getLayerIndex(t);return null!==e?this.layers[e]:null},getObjectLayer:function(t){var e=this.getIndex(this.objects,t);return null!==e?this.objects[e]:null},getLayerIndex:function(t){return void 0===t?this.currentLayerIndex:"string"==typeof t?this.getLayerIndexByName(t):"number"==typeof t&&t<this.layers.length?t:t instanceof u||t instanceof r?t.layerIndex:null},getLayerIndexByName:function(t){return this.getIndex(this.layers,t)},getTileAt:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.GetTileAt(t,e,i,n)},getTileAtWorldXY:function(t,e,i,n,s){return null===(s=this.getLayer(s))?null:d.GetTileAtWorldXY(t,e,i,n,s)},getTilesWithin:function(t,e,i,n,s,r){return null===(r=this.getLayer(r))?null:d.GetTilesWithin(t,e,i,n,s,r)},getTilesWithinShape:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.GetTilesWithinShape(t,e,i,n)},getTilesWithinWorldXY:function(t,e,i,n,s,r,o){return null===(o=this.getLayer(o))?null:d.GetTilesWithinWorldXY(t,e,i,n,s,r,o)},getTileset:function(t){var e=this.getIndex(this.tilesets,t);return null!==e?this.tilesets[e]:null},getTilesetIndex:function(t){return this.getIndex(this.tilesets,t)},hasTileAt:function(t,e,i){return null===(i=this.getLayer(i))?null:d.HasTileAt(t,e,i)},hasTileAtWorldXY:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.HasTileAtWorldXY(t,e,i,n)},layer:{get:function(){return this.layers[this.currentLayerIndex]},set:function(t){this.setLayer(t)}},putTileAt:function(t,e,i,n,s){return s=this.getLayer(s),this._isStaticCall(s,"putTileAt")?null:null===s?null:d.PutTileAt(t,e,i,n,s)},putTileAtWorldXY:function(t,e,i,n,s,r){return r=this.getLayer(r),this._isStaticCall(r,"putTileAtWorldXY")?null:null===r?null:d.PutTileAtWorldXY(t,e,i,n,s,r)},putTilesAt:function(t,e,i,n,s){return s=this.getLayer(s),this._isStaticCall(s,"putTilesAt")?this:(null!==s&&d.PutTilesAt(t,e,i,n,s),this)},randomize:function(t,e,i,n,s,r){return r=this.getLayer(r),this._isStaticCall(r,"randomize")?this:(null!==r&&d.Randomize(t,e,i,n,s,r),this)},calculateFacesAt:function(t,e,i){return null===(i=this.getLayer(i))?this:(d.CalculateFacesAt(t,e,i),this)},calculateFacesWithin:function(t,e,i,n,s){return null===(s=this.getLayer(s))?this:(d.CalculateFacesWithin(t,e,i,n,s),this)},removeAllLayers:function(){for(var t=0;t<this.layers.length;t++)this.layers[t].tilemapLayer&&this.layers[t].tilemapLayer.destroy();return this.layers.length=0,this.currentLayerIndex=0,this},removeTileAt:function(t,e,i,n,s){return s=this.getLayer(s),this._isStaticCall(s,"removeTileAt")?null:null===s?null:d.RemoveTileAt(t,e,i,n,s)},removeTileAtWorldXY:function(t,e,i,n,s,r){return r=this.getLayer(r),this._isStaticCall(r,"removeTileAtWorldXY")?null:null===r?null:d.RemoveTileAtWorldXY(t,e,i,n,s,r)},renderDebug:function(t,e,i){return null===(i=this.getLayer(i))?this:(d.RenderDebug(t,e,i),this)},replaceByIndex:function(t,e,i,n,s,r,o){return o=this.getLayer(o),this._isStaticCall(o,"replaceByIndex")?this:(null!==o&&d.ReplaceByIndex(t,e,i,n,s,r,o),this)},setCollision:function(t,e,i,n){return null===(n=this.getLayer(n))?this:(d.SetCollision(t,e,i,n),this)},setCollisionBetween:function(t,e,i,n,s){return null===(s=this.getLayer(s))?this:(d.SetCollisionBetween(t,e,i,n,s),this)},setCollisionByProperty:function(t,e,i,n){return null===(n=this.getLayer(n))?this:(d.SetCollisionByProperty(t,e,i,n),this)},setCollisionByExclusion:function(t,e,i,n){return null===(n=this.getLayer(n))?this:(d.SetCollisionByExclusion(t,e,i,n),this)},setCollisionFromCollisionGroup:function(t,e,i){return null===(i=this.getLayer(i))?this:(d.SetCollisionFromCollisionGroup(t,e,i),this)},setTileIndexCallback:function(t,e,i,n){return null===(n=this.getLayer(n))?this:(d.SetTileIndexCallback(t,e,i,n),this)},setTileLocationCallback:function(t,e,i,n,s,r,o){return null===(o=this.getLayer(o))?this:(d.SetTileLocationCallback(t,e,i,n,s,r,o),this)},setLayer:function(t){var e=this.getLayerIndex(t);return null!==e&&(this.currentLayerIndex=e),this},setBaseTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e;for(var i=0;i<this.layers.length;i++){this.layers[i].baseTileWidth=t,this.layers[i].baseTileHeight=e;for(var n=this.layers[i].data,s=this.layers[i].width,r=this.layers[i].height,o=0;o<r;++o)for(var a=0;a<s;++a){var h=n[o][a];null!==h&&h.setSize(void 0,void 0,t,e)}}return this},setLayerTileSize:function(t,e,i){if(null===(i=this.getLayer(i)))return this;i.tileWidth=t,i.tileHeight=e;for(var n=i.data,s=i.width,r=i.height,o=0;o<r;++o)for(var a=0;a<s;++a){var h=n[o][a];null!==h&&h.setSize(t,e)}return this},shuffle:function(t,e,i,n,s){return s=this.getLayer(s),this._isStaticCall(s,"shuffle")?this:(null!==s&&d.Shuffle(t,e,i,n,s),this)},swapByIndex:function(t,e,i,n,s,r,o){return o=this.getLayer(o),this._isStaticCall(o,"swapByIndex")?this:(null!==o&&d.SwapByIndex(t,e,i,n,s,r,o),this)},tileToWorldX:function(t,e,i){return null===(i=this.getLayer(i))?null:d.TileToWorldX(t,e,i)},tileToWorldY:function(t,e,i){return null===(i=this.getLayer(i))?null:d.TileToWorldY(t,e,i)},tileToWorldXY:function(t,e,i,n,s){return null===(s=this.getLayer(s))?null:d.TileToWorldXY(t,e,i,n,s)},weightedRandomize:function(t,e,i,n,s,r){return r=this.getLayer(r),this._isStaticCall(r,"weightedRandomize")?this:(null!==r&&d.WeightedRandomize(t,e,i,n,s,r),this)},worldToTileX:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.WorldToTileX(t,e,i,n)},worldToTileY:function(t,e,i,n){return null===(n=this.getLayer(n))?null:d.WorldToTileY(t,e,i,n)},worldToTileXY:function(t,e,i,n,s,r){return null===(r=this.getLayer(r))?null:d.WorldToTileXY(t,e,i,n,s,r)},_isStaticCall:function(t,e){return t.tilemapLayer instanceof u&&(console.warn(e+": You cannot change the tiles in a static tilemap layer"),!0)}});t.exports=p},function(t,e,i){var n=i(29),s=i(77),r=i(451),o=i(450);t.exports=function(t,e,i){if(0===e.layer.length)return console.warn("No layers found in the Weltmeister map: "+t),null;for(var a=0,h=0,l=0;l<e.layer.length;l++)e.layer[l].width>a&&(a=e.layer[l].width),e.layer[l].height>h&&(h=e.layer[l].height);var u=new s({width:a,height:h,name:t,tileWidth:e.layer[0].tilesize,tileHeight:e.layer[0].tilesize,format:n.WELTMEISTER});return u.layers=r(e,i),u.tilesets=o(e),u}},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t){void 0===t&&(t={}),this.name=s(t,"name","object layer"),this.opacity=s(t,"opacity",1),this.properties=s(t,"properties",{}),this.propertyTypes=s(t,"propertytypes",{}),this.type=s(t,"type","objectgroup"),this.visible=s(t,"visible",!0),this.objects=s(t,"objects",[])}});t.exports=r},function(t,e,i){var n=i(455),s=i(214),r=function(t){return{x:t.x,y:t.y}},o=["id","name","type","rotation","properties","visible","x","y","width","height"];t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=0);var a=n(t,o);if(a.x+=e,a.y+=i,t.gid){var h=s(t.gid);a.gid=h.gid,a.flippedHorizontal=h.flippedHorizontal,a.flippedVertical=h.flippedVertical,a.flippedAntiDiagonal=h.flippedAntiDiagonal}else t.polyline?a.polyline=t.polyline.map(r):t.polygon?a.polygon=t.polygon.map(r):t.ellipse?(a.ellipse=t.ellipse,a.width=t.width,a.height=t.height):t.text?(a.width=t.width,a.height=t.height,a.text=t.text):(a.rectangle=!0,a.width=t.width,a.height=t.height);return a}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s,r,o){(void 0===i||i<=0)&&(i=32),(void 0===n||n<=0)&&(n=32),void 0===s&&(s=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|n,this.imageMargin=0|s,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},containsImageIndex:function(t){return t>=this.firstgid&&t<this.firstgid+this.total},addImage:function(t,e){return this.images.push({gid:t,image:e}),this.total++,this}});t.exports=n},function(t,e){t.exports=function(t){var e=Boolean(2147483648&t),i=Boolean(1073741824&t),n=Boolean(536870912&t);t&=536870911;var s=0,r=!1;return e&&i&&n?(s=Math.PI/2,r=!0):e&&i&&!n?(s=Math.PI,r=!1):e&&!i&&n?(s=Math.PI/2,r=!1):!e||i||n?!e&&i&&n?(s=3*Math.PI/2,r=!1):e||!i||n?e||i||!n?e||i||n||(s=0,r=!1):(s=3*Math.PI/2,r=!0):(s=Math.PI,r=!0):(s=0,r=!0),{gid:t,flippedHorizontal:e,flippedVertical:i,flippedAntiDiagonal:n,rotation:s,flipped:r}}},function(t,e,i){var n=i(29),s=i(77),r=i(459),o=i(457),a=i(456),h=i(454),l=i(453),u=i(452);t.exports=function(t,e,i){if("orthogonal"!==e.orientation)return console.warn("Only orthogonal map types are supported in this version of Phaser"),null;var c=new s({width:e.width,height:e.height,name:t,tileWidth:e.tilewidth,tileHeight:e.tileheight,orientation:e.orientation,format:n.TILED_JSON,version:e.version,properties:e.properties,renderOrder:e.renderorder});c.layers=r(e,i),c.images=o(e);var d=a(e);return c.tilesets=d.tilesets,c.imageCollections=d.imageCollections,c.objects=h(e),c.tiles=l(c),u(c),c}},function(t,e,i){var n=i(29),s=i(133);t.exports=function(t,e,i,r,o){var a=e.trim().split("\n").map(function(t){return t.split(",")}),h=s(t,a,i,r,o);return h.format=n.CSV,h}},function(t,e,i){var n=i(29),s=i(133),r=i(216),o=i(215),a=i(210);t.exports=function(t,e,i,h,l,u){var c;switch(e){case n.ARRAY_2D:c=s(t,i,h,l,u);break;case n.CSV:c=r(t,i,h,l,u);break;case n.TILED_JSON:c=o(t,i,u);break;case n.WELTMEISTER:c=a(t,i,u);break;default:console.warn("Unrecognized tilemap data format: "+e),c=null}return c}},function(t,e,i){var n=i(55),s=i(79),r=i(136);t.exports=function(t,e,i,o,a){if(void 0===i&&(i=!1),void 0===o&&(o=!0),!s(t,e,a))return null;var h=a.data[e][t];return null===h?null:(a.data[e][t]=i?null:new n(a,-1,t,e,h.width,h.height),o&&h&&h.collides&&r(t,e,a),h)}},function(t,e,i){var n=i(79);t.exports=function(t,e,i){if(n(t,e,i)){var s=i.data[e][t];return null!==s&&s.index>-1}return!1}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a){for(var h=n(i,s,r,o,null,a),l=0;l<h.length;l++)h[l]&&h[l].index===t&&(h[l].index=e)}},function(t,e,i){var n=new(i(0))({initialize:function(t){this.pluginManager=t,this.game=t.game,this.scene,this.systems},init:function(){},start:function(){},stop:function(){},boot:function(){},destroy:function(){this.pluginManager=null,this.game=null,this.scene=null,this.systems=null}});t.exports=n},function(t,e,i){var n={};t.exports=n;var s=i(195);n._motionWakeThreshold=.18,n._motionSleepThreshold=.08,n._minBias=.9,n.update=function(t,e){for(var i=e*e*e,s=0;s<t.length;s++){var r=t[s],o=r.speed*r.speed+r.angularSpeed*r.angularSpeed;if(0===r.force.x&&0===r.force.y){var a=Math.min(r.motion,o),h=Math.max(r.motion,o);r.motion=n._minBias*a+(1-n._minBias)*h,r.sleepThreshold>0&&r.motion<n._motionSleepThreshold*i?(r.sleepCounter+=1,r.sleepCounter>=r.sleepThreshold&&n.set(r,!0)):r.sleepCounter>0&&(r.sleepCounter-=1)}else n.set(r,!1)}},n.afterCollisions=function(t,e){for(var i=e*e*e,s=0;s<t.length;s++){var r=t[s];if(r.isActive){var o=r.collision,a=o.bodyA.parent,h=o.bodyB.parent;if(!(a.isSleeping&&h.isSleeping||a.isStatic||h.isStatic)&&(a.isSleeping||h.isSleeping)){var l=a.isSleeping&&!a.isStatic?a:h,u=l===a?h:a;!l.isStatic&&u.motion>n._motionWakeThreshold*i&&n.set(l,!1)}}}},n.set=function(t,e){var i=t.isSleeping;e?(t.isSleeping=!0,t.sleepCounter=t.sleepThreshold,t.positionImpulse.x=0,t.positionImpulse.y=0,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.anglePrev=t.angle,t.speed=0,t.angularSpeed=0,t.motion=0,i||s.trigger(t,"sleepStart")):(t.isSleeping=!1,t.sleepCounter=0,i&&s.trigger(t,"sleepEnd"))}},function(t,e){t.exports={NONE:0,A:1,B:2,BOTH:3}},function(t,e){t.exports={NEVER:0,LITE:1,PASSIVE:2,ACTIVE:4,FIXED:8}},function(t,e,i){var n=i(40),s=i(0),r=i(35),o=i(39),a=i(3),h=new s({initialize:function(t,e){var i=e.width?e.width:64,n=e.height?e.height:64;this.world=t,this.gameObject=e,this.debugShowBody=t.defaults.debugShowStaticBody,this.debugBodyColor=t.defaults.staticBodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new a,this.position=new a(e.x-e.displayOriginX,e.y-e.displayOriginY),this.width=i,this.height=n,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center=new a(e.x+this.halfWidth,e.y+this.halfHeight),this.velocity=a.ZERO,this.allowGravity=!1,this.gravity=a.ZERO,this.bounce=a.ZERO,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.mass=1,this.immovable=!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.physicsType=r.STATIC_BODY,this._dx=0,this._dy=0},setGameObject:function(t,e){return t&&t!==this.gameObject&&(this.gameObject.body=null,t.body=this,this.gameObject=t),e&&this.updateFromGameObject(),this},updateFromGameObject:function(){this.world.staticTree.remove(this);var t=this.gameObject;return t.getTopLeft(this.position),this.width=t.displayWidth,this.height=t.displayHeight,this.halfWidth=Math.abs(this.width/2),this.halfHeight=Math.abs(this.height/2),this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.world.staticTree.insert(this),this},setOffset:function(t,e){return void 0===e&&(e=t),this.world.staticTree.remove(this),this.position.x-=this.offset.x,this.position.y-=this.offset.y,this.offset.set(t,e),this.position.x+=this.offset.x,this.position.y+=this.offset.y,this.updateCenter(),this.world.staticTree.insert(this),this},setSize:function(t,e,i,n){void 0===i&&(i=this.offset.x),void 0===n&&(n=this.offset.y);var s=this.gameObject;return!t&&s.frame&&(t=s.frame.realWidth),!e&&s.frame&&(e=s.frame.realHeight),this.world.staticTree.remove(this),this.width=t,this.height=e,this.halfWidth=Math.floor(t/2),this.halfHeight=Math.floor(e/2),this.offset.set(i,n),this.updateCenter(),this.isCircle=!1,this.radius=0,this.world.staticTree.insert(this),this},setCircle:function(t,e,i){return void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.world.staticTree.remove(this),this.isCircle=!0,this.radius=t,this.width=2*t,this.height=2*t,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.set(e,i),this.updateCenter(),this.world.staticTree.insert(this)):this.isCircle=!1,this},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(t,e){var i=this.gameObject;void 0===t&&(t=i.x),void 0===e&&(e=i.y),this.world.staticTree.remove(this),i.getTopLeft(this.position),this.updateCenter(),this.world.staticTree.insert(this)},stop:function(){return this},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?n(this,t,e):o(this,t,e)},postUpdate:function(){},deltaAbsX:function(){return 0},deltaAbsY:function(){return 0},deltaX:function(){return 0},deltaY:function(){return 0},deltaZ:function(){return 0},destroy:function(){this.enable=!1,this.world.pendingDestroy.set(this)},drawDebug:function(t){var e=this.position;this.debugShowBody&&(t.lineStyle(1,this.debugBodyColor,1),t.strokeRect(e.x,e.y,this.width,this.height))},willDrawDebug:function(){return this.debugShowBody},setMass:function(t){return t<=0&&(t=.1),this.mass=t,this},x:{get:function(){return this.position.x},set:function(t){this.world.staticTree.remove(this),this.position.x=t,this.world.staticTree.insert(this)}},y:{get:function(){return this.position.y},set:function(t){this.world.staticTree.remove(this),this.position.y=t,this.world.staticTree.insert(this)}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=h},function(t,e){t.exports=function(t,e){return!(e.right<=t.left||e.bottom<=t.top||e.position.x>=t.right||e.position.y>=t.bottom)}},function(t,e,i){var n=i(313);function s(t){if(!(this instanceof s))return new s(t,[".left",".top",".right",".bottom"]);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}function r(t,e,i){if(!i)return e.indexOf(t);for(var n=0;n<e.length;n++)if(i(t,e[n]))return n;return-1}function o(t,e){a(t,0,t.children.length,e,t)}function a(t,e,i,n,s){s||(s=g(null)),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(var r,o=e;o<i;o++)r=t.children[o],h(s,t.leaf?n(r):r);return s}function h(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function l(t,e){return t.minX-e.minX}function u(t,e){return t.minY-e.minY}function c(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function d(t){return t.maxX-t.minX+(t.maxY-t.minY)}function f(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function p(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function g(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function v(t,e,i,s,r){for(var o,a=[e,i];a.length;)(i=a.pop())-(e=a.pop())<=s||(o=e+Math.ceil((i-e)/s/2)*s,n(t,o,e,i,r),a.push(e,o,o,i))}s.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,i=[],n=this.toBBox;if(!p(t,e))return i;for(var s,r,o,a,h=[];e;){for(s=0,r=e.children.length;s<r;s++)o=e.children[s],p(t,a=e.leaf?n(o):o)&&(e.leaf?i.push(o):f(t,a)?this._all(o,i):h.push(o));e=h.pop()}return i},collides:function(t){var e=this.data,i=this.toBBox;if(!p(t,e))return!1;for(var n,s,r,o,a=[];e;){for(n=0,s=e.children.length;n<s;n++)if(r=e.children[n],p(t,o=e.leaf?i(r):r)){if(e.leaf||f(t,o))return!0;a.push(r)}e=a.pop()}return!1},load:function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var e=0,i=t.length;e<i;e++)this.insert(t[e]);return this}var n=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===n.height)this._splitRoot(this.data,n);else{if(this.data.height<n.height){var s=this.data;this.data=n,n=s}this._insert(n,this.data.height-n.height-1,!0)}else this.data=n;return this},insert:function(t){return t&&this._insert(t,this.data.height-1),this},clear:function(){return this.data=g([]),this},remove:function(t,e){if(!t)return this;for(var i,n,s,o,a=this.data,h=this.toBBox(t),l=[],u=[];a||l.length;){if(a||(a=l.pop(),n=l[l.length-1],i=u.pop(),o=!0),a.leaf&&-1!==(s=r(t,a.children,e)))return a.children.splice(s,1),l.push(a),this._condense(l),this;o||a.leaf||!f(a,h)?n?(i++,a=n.children[i],o=!1):a=null:(l.push(a),u.push(i),i=0,n=a,a=a.children[0])}return this},toBBox:function(t){return t},compareMinX:l,compareMinY:u,toJSON:function(){return this.data},fromJSON:function(t){return this.data=t,this},_all:function(t,e){for(var i=[];t;)t.leaf?e.push.apply(e,t.children):i.push.apply(i,t.children),t=i.pop();return e},_build:function(t,e,i,n){var s,r=i-e+1,a=this._maxEntries;if(r<=a)return o(s=g(t.slice(e,i+1)),this.toBBox),s;n||(n=Math.ceil(Math.log(r)/Math.log(a)),a=Math.ceil(r/Math.pow(a,n-1))),(s=g([])).leaf=!1,s.height=n;var h,l,u,c,d=Math.ceil(r/a),f=d*Math.ceil(Math.sqrt(a));for(v(t,e,i,f,this.compareMinX),h=e;h<=i;h+=f)for(v(t,h,u=Math.min(h+f-1,i),d,this.compareMinY),l=h;l<=u;l+=d)c=Math.min(l+d-1,u),s.children.push(this._build(t,l,c,n-1));return o(s,this.toBBox),s},_chooseSubtree:function(t,e,i,n){for(var s,r,o,a,h,l,u,d,f,p;n.push(e),!e.leaf&&n.length-1!==i;){for(u=d=1/0,s=0,r=e.children.length;s<r;s++)h=c(o=e.children[s]),f=t,p=o,(l=(Math.max(p.maxX,f.maxX)-Math.min(p.minX,f.minX))*(Math.max(p.maxY,f.maxY)-Math.min(p.minY,f.minY))-h)<d?(d=l,u=h<u?h:u,a=o):l===d&&h<u&&(u=h,a=o);e=a||e.children[0]}return e},_insert:function(t,e,i){var n=this.toBBox,s=i?t:n(t),r=[],o=this._chooseSubtree(s,this.data,e,r);for(o.children.push(t),h(o,s);e>=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(s,r,e)},_split:function(t,e){var i=t[e],n=i.children.length,s=this._minEntries;this._chooseSplitAxis(i,s,n);var r=this._chooseSplitIndex(i,s,n),a=g(i.children.splice(r,i.children.length-r));a.height=i.height,a.leaf=i.leaf,o(i,this.toBBox),o(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(i,a)},_splitRoot:function(t,e){this.data=g([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,i){var n,s,r,o,h,l,u,d,f,p,g,v,y,m;for(l=u=1/0,n=e;n<=i-e;n++)s=a(t,0,n,this.toBBox),r=a(t,n,i,this.toBBox),f=s,p=r,void 0,void 0,void 0,void 0,g=Math.max(f.minX,p.minX),v=Math.max(f.minY,p.minY),y=Math.min(f.maxX,p.maxX),m=Math.min(f.maxY,p.maxY),o=Math.max(0,y-g)*Math.max(0,m-v),h=c(s)+c(r),o<l?(l=o,d=n,u=h<u?h:u):o===l&&h<u&&(u=h,d=n);return d},_chooseSplitAxis:function(t,e,i){var n=t.leaf?this.compareMinX:l,s=t.leaf?this.compareMinY:u;this._allDistMargin(t,e,i,n)<this._allDistMargin(t,e,i,s)&&t.children.sort(n)},_allDistMargin:function(t,e,i,n){t.children.sort(n);var s,r,o=this.toBBox,l=a(t,0,e,o),u=a(t,i-e,i,o),c=d(l)+d(u);for(s=e;s<i-e;s++)r=t.children[s],h(l,t.leaf?o(r):r),c+=d(l);for(s=i-e-1;s>=e;s--)r=t.children[s],h(u,t.leaf?o(r):r),c+=d(u);return c},_adjustParentBBoxes:function(t,e,i){for(var n=i;n>=0;n--)h(e[n],t)},_condense:function(t){for(var e,i=t.length-1;i>=0;i--)0===t[i].children.length?i>0?(e=t[i-1].children).splice(e.indexOf(t[i]),1):this.clear():o(t[i],this.toBBox)},compareMinX:function(t,e){return t.left-e.left},compareMinY:function(t,e){return t.top-e.top},toBBox:function(t){return{minX:t.left,minY:t.top,maxX:t.right,maxY:t.bottom}}},t.exports=s},function(t,e,i){var n=new(i(0))({initialize:function(){this._pending=[],this._active=[],this._destroy=[],this._toProcess=0},add:function(t){return this._pending.push(t),this._toProcess++,this},remove:function(t){return this._destroy.push(t),this._toProcess++,this},update:function(){if(0===this._toProcess)return this._active;var t,e,i=this._destroy,n=this._active;for(t=0;t<i.length;t++){e=i[t];var s=n.indexOf(e);-1!==s&&n.splice(s,1)}for(i.length=0,i=this._pending,t=0;t<i.length;t++)e=i[t],this._active.push(e);return i.length=0,this._toProcess=0,this._active},getActive:function(){return this._active},destroy:function(){this._pending=[],this._active=[],this._destroy=[]}});t.exports=n},function(t,e,i){var n=i(35);t.exports=function(t,e,i,s){var r=0,o=t.deltaAbsY()+e.deltaAbsY()+s;return 0===t._dy&&0===e._dy?(t.embedded=!0,e.embedded=!0):t._dy>e._dy?(r=t.bottom-e.y)>o&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?r=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.down=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.up=!0)):t._dy<e._dy&&(-(r=t.y-e.bottom)>o&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?r=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.up=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.down=!0))),t.overlapY=r,e.overlapY=r,r}},function(t,e,i){var n=i(35);t.exports=function(t,e,i,s){var r=0,o=t.deltaAbsX()+e.deltaAbsX()+s;return 0===t._dx&&0===e._dx?(t.embedded=!0,e.embedded=!0):t._dx>e._dx?(r=t.right-e.x)>o&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?r=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.right=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.left=!0)):t._dx<e._dx&&(-(r=t.x-e.width-e.x)>o&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?r=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0,e.physicsType===n.STATIC_BODY&&(t.blocked.none=!1,t.blocked.left=!0),t.physicsType===n.STATIC_BODY&&(e.blocked.none=!1,e.blocked.right=!0))),t.overlapX=r,e.overlapX=r,r}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s,r,o){this.world=t,this.name="",this.active=!0,this.overlapOnly=e,this.object1=i,this.object2=n,this.collideCallback=s,this.processCallback=r,this.callbackContext=o},setName:function(t){return this.name=t,this},update:function(){this.world.collideObjects(this.object1,this.object2,this.collideCallback,this.processCallback,this.callbackContext,this.overlapOnly)},destroy:function(){this.world.removeCollider(this),this.active=!1,this.world=null,this.object1=null,this.object2=null,this.collideCallback=null,this.processCallback=null,this.callbackContext=null}});t.exports=n},function(t,e,i){var n=i(40),s=i(0),r=i(35),o=i(172),a=i(9),h=i(39),l=i(3),u=new s({initialize:function(t,e){var i=e.width?e.width:64,n=e.height?e.height:64;this.world=t,this.gameObject=e,this.transform={x:e.x,y:e.y,rotation:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,displayOriginX:e.displayOriginX,displayOriginY:e.displayOriginY},this.debugShowBody=t.defaults.debugShowBody,this.debugShowVelocity=t.defaults.debugShowVelocity,this.debugBodyColor=t.defaults.bodyDebugColor,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new l,this.position=new l(e.x,e.y),this.prev=new l(e.x,e.y),this.allowRotation=!0,this.rotation=e.angle,this.preRotation=e.angle,this.width=i,this.height=n,this.sourceWidth=i,this.sourceHeight=n,e.frame&&(this.sourceWidth=e.frame.realWidth,this.sourceHeight=e.frame.realHeight),this.halfWidth=Math.abs(i/2),this.halfHeight=Math.abs(n/2),this.center=new l(e.x+this.halfWidth,e.y+this.halfHeight),this.velocity=new l,this.newVelocity=new l,this.deltaMax=new l,this.acceleration=new l,this.allowDrag=!0,this.drag=new l,this.allowGravity=!0,this.gravity=new l,this.bounce=new l,this.worldBounce=null,this.onWorldBounds=!1,this.onCollide=!1,this.onOverlap=!1,this.maxVelocity=new l(1e4,1e4),this.friction=new l(1,0),this.useDamping=!1,this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=r.FACING_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.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.physicsType=r.DYNAMIC_BODY,this._reset=!0,this._sx=e.scaleX,this._sy=e.scaleY,this._dx=0,this._dy=0,this._bounds=new a},updateBounds:function(){var t=this.gameObject,e=this.transform;if(t.parentContainer){var i=t.getWorldTransformMatrix(this.world._tempMatrix,this.world._tempMatrix2);e.x=i.tx,e.y=i.ty,e.rotation=o(i.rotation),e.scaleX=i.scaleX,e.scaleY=i.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY}else e.x=t.x,e.y=t.y,e.rotation=t.angle,e.scaleX=t.scaleX,e.scaleY=t.scaleY,e.displayOriginX=t.displayOriginX,e.displayOriginY=t.displayOriginY;var n=!1;if(this.syncBounds){var s=t.getBounds(this._bounds);this.width=s.width,this.height=s.height,n=!0}else{var r=Math.abs(e.scaleX),a=Math.abs(e.scaleY);this._sx===r&&this._sy===a||(this.width=this.sourceWidth*r,this.height=this.sourceHeight*a,this._sx=r,this._sy=a,n=!0)}n&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.set(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},update:function(t){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();var e=this.transform;if(this.position.x=e.x+e.scaleX*(this.offset.x-e.displayOriginX),this.position.y=e.y+e.scaleY*(this.offset.y-e.displayOriginY),this.updateCenter(),this.rotation=e.rotation,this.preRotation=this.rotation,this._reset&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves){this.world.updateMotion(this,t);var i=this.velocity.x,n=this.velocity.y;this.newVelocity.set(i*t,n*t),this.position.add(this.newVelocity),this.updateCenter(),this.angle=Math.atan2(n,i),this.speed=Math.sqrt(i*i+n*n),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.world.emit("worldbounds",this,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)}this._dx=this.position.x-this.prev.x,this._dy=this.position.y-this.prev.y},postUpdate:function(){this._dx=this.position.x-this.prev.x,this._dy=this.position.y-this.prev.y,this.moves&&(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.gameObject.x+=this._dx,this.gameObject.y+=this._dy,this._reset=!0),this._dx<0?this.facing=r.FACING_LEFT:this._dx>0&&(this.facing=r.FACING_RIGHT),this._dy<0?this.facing=r.FACING_UP:this._dy>0&&(this.facing=r.FACING_DOWN),this.allowRotation&&(this.gameObject.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y},checkWorldBounds:function(){var t=this.position,e=this.world.bounds,i=this.world.checkCollision,n=this.worldBounce?-this.worldBounce.x:-this.bounce.x,s=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.x<e.x&&i.left?(t.x=e.x,this.velocity.x*=n,this.blocked.left=!0,this.blocked.none=!1):this.right>e.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=n,this.blocked.right=!0,this.blocked.none=!1),t.y<e.y&&i.up?(t.y=e.y,this.velocity.y*=s,this.blocked.up=!0,this.blocked.none=!1):this.bottom>e.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=s,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},setOffset:function(t,e){return void 0===e&&(e=t),this.offset.set(t,e),this},setSize:function(t,e,i){void 0===i&&(i=!0);var n=this.gameObject;if(!t&&n.frame&&(t=n.frame.realWidth),!e&&n.frame&&(e=n.frame.realHeight),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.updateCenter(),i&&n.getCenter){var s=n.displayWidth/2,r=n.displayHeight/2;this.offset.set(s-this.halfWidth,r-this.halfHeight)}return this.isCircle=!1,this.radius=0,this},setCircle:function(t,e,i){return 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.set(e,i),this.updateCenter()):this.isCircle=!1,this},reset:function(t,e){this.stop();var i=this.gameObject;i.setPosition(t,e),i.getTopLeft(this.position),this.prev.copy(this.position),this.rotation=i.angle,this.preRotation=i.angle,this.updateBounds(),this.updateCenter()},stop:function(){return this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this},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?n(this,t,e):h(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._dx>0?this._dx:-this._dx},deltaAbsY:function(){return this._dy>0?this._dy:-this._dy},deltaX:function(){return this._dx},deltaY:function(){return this._dy},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.enable=!1,this.world.pendingDestroy.set(this)},drawDebug:function(t){var e=this.position,i=e.x+this.halfWidth,n=e.y+this.halfHeight;this.debugShowBody&&(t.lineStyle(1,this.debugBodyColor),this.isCircle?t.strokeCircle(i,n,this.width/2):t.strokeRect(e.x,e.y,this.width,this.height)),this.debugShowVelocity&&(t.lineStyle(1,this.world.defaults.velocityDebugColor,1),t.lineBetween(i,n,i+this.velocity.x/2,n+this.velocity.y/2))},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},setCollideWorldBounds:function(t){return void 0===t&&(t=!0),this.collideWorldBounds=t,this},setVelocity:function(t,e){return this.velocity.set(t,e),this.speed=Math.sqrt(t*t+e*e),this},setVelocityX:function(t){this.velocity.x=t;var e=t,i=this.velocity.y;return this.speed=Math.sqrt(e*e+i*i),this},setVelocityY:function(t){this.velocity.y=t;var e=this.velocity.x,i=t;return this.speed=Math.sqrt(e*e+i*i),this},setMaxVelocity:function(t,e){return this.maxVelocity.set(t,e),this},setBounce:function(t,e){return this.bounce.set(t,e),this},setBounceX:function(t){return this.bounce.x=t,this},setBounceY:function(t){return this.bounce.y=t,this},setAcceleration:function(t,e){return this.acceleration.set(t,e),this},setAccelerationX:function(t){return this.acceleration.x=t,this},setAccelerationY:function(t){return this.acceleration.y=t,this},setAllowDrag:function(t){return void 0===t&&(t=!0),this.allowDrag=t,this},setAllowGravity:function(t){return void 0===t&&(t=!0),this.allowGravity=t,this},setAllowRotation:function(t){return void 0===t&&(t=!0),this.allowRotation=t,this},setDrag:function(t,e){return this.drag.set(t,e),this},setDragX:function(t){return this.drag.x=t,this},setDragY:function(t){return this.drag.y=t,this},setGravity:function(t,e){return this.gravity.set(t,e),this},setGravityX:function(t){return this.gravity.x=t,this},setGravityY:function(t){return this.gravity.y=t,this},setFriction:function(t,e){return this.friction.set(t,e),this},setFrictionX:function(t){return this.friction.x=t,this},setFrictionY:function(t){return this.friction.y=t,this},setAngularVelocity:function(t){return this.angularVelocity=t,this},setAngularAcceleration:function(t){return this.angularAcceleration=t,this},setAngularDrag:function(t){return this.angularDrag=t,this},setMass:function(t){return this.mass=t,this},setImmovable:function(t){return void 0===t&&(t=!0),this.immovable=t,this},setEnable:function(t){return void 0===t&&(t=!0),this.enable=t,this},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}},left:{get:function(){return this.position.x}},right:{get:function(){return this.position.x+this.width}},top:{get:function(){return this.position.y}},bottom:{get:function(){return this.position.y+this.height}}});t.exports=u},function(t,e,i){var n=i(232),s=i(23),r=i(0),o=i(231),a=i(35),h=i(52),l=i(11),u=i(248),c=i(247),d=i(246),f=i(230),p=i(229),g=i(4),v=i(228),y=i(514),m=i(9),x=i(227),w=i(513),b=i(508),T=i(507),S=i(95),_=i(225),A=i(226),C=i(38),M=i(3),P=i(53),E=new r({Extends:l,initialize:function(t,e){l.call(this),this.scene=t,this.bodies=new S,this.staticBodies=new S,this.pendingDestroy=new S,this.colliders=new v,this.gravity=new M(g(e,"gravity.x",0),g(e,"gravity.y",0)),this.bounds=new m(g(e,"x",0),g(e,"y",0),g(e,"width",t.sys.game.config.width),g(e,"height",t.sys.game.config.height)),this.checkCollision={up:g(e,"checkCollision.up",!0),down:g(e,"checkCollision.down",!0),left:g(e,"checkCollision.left",!0),right:g(e,"checkCollision.right",!0)},this.fps=g(e,"fps",60),this._elapsed=0,this._frameTime=1/this.fps,this._frameTimeMS=1e3*this._frameTime,this.stepsLastFrame=0,this.timeScale=g(e,"timeScale",1),this.OVERLAP_BIAS=g(e,"overlapBias",4),this.TILE_BIAS=g(e,"tileBias",16),this.forceX=g(e,"forceX",!1),this.isPaused=g(e,"isPaused",!1),this._total=0,this.drawDebug=g(e,"debug",!1),this.debugGraphic,this.defaults={debugShowBody:g(e,"debugShowBody",!0),debugShowStaticBody:g(e,"debugShowStaticBody",!0),debugShowVelocity:g(e,"debugShowVelocity",!0),bodyDebugColor:g(e,"debugBodyColor",16711935),staticBodyDebugColor:g(e,"debugStaticBodyColor",255),velocityDebugColor:g(e,"debugVelocityColor",65280)},this.maxEntries=g(e,"maxEntries",16),this.useTree=g(e,"useTree",!0),this.tree=new x(this.maxEntries),this.staticTree=new x(this.maxEntries),this.treeMinMax={minX:0,minY:0,maxX:0,maxY:0},this._tempMatrix=new C,this._tempMatrix2=new C,this.drawDebug&&this.createDebugGraphic()},enable:function(t,e){void 0===e&&(e=a.DYNAMIC_BODY),Array.isArray(t)||(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];if(n.isParent)for(var s=n.getChildren(),r=0;r<s.length;r++){var o=s[r];o.isParent?this.enable(o,e):this.enableBody(o,e)}else this.enableBody(n,e)}},enableBody:function(t,e){return void 0===e&&(e=a.DYNAMIC_BODY),t.body||(e===a.DYNAMIC_BODY?t.body=new n(this,t):e===a.STATIC_BODY&&(t.body=new _(this,t))),this.add(t.body),t},add:function(t){return t.physicsType===a.DYNAMIC_BODY?this.bodies.set(t):t.physicsType===a.STATIC_BODY&&(this.staticBodies.set(t),this.staticTree.insert(t)),t.enable=!0,t},disable:function(t){Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e];if(i.isParent)for(var n=i.getChildren(),s=0;s<n.length;s++){var r=n[s];r.isParent?this.disable(r):this.disableBody(r.body)}else this.disableBody(i.body)}},disableBody:function(t){this.remove(t),t.enable=!1},remove:function(t){t.physicsType===a.DYNAMIC_BODY?(this.tree.remove(t),this.bodies.delete(t)):t.physicsType===a.STATIC_BODY&&(this.staticBodies.delete(t),this.staticTree.remove(t))},createDebugGraphic:function(){var t=this.scene.sys.add.graphics({x:0,y:0});return t.setDepth(Number.MAX_VALUE),this.debugGraphic=t,this.drawDebug=!0,t},setBounds:function(t,e,i,n,s,r,o,a){return this.bounds.setTo(t,e,i,n),void 0!==s&&this.setBoundsCollision(s,r,o,a),this},setBoundsCollision:function(t,e,i,n){return void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===n&&(n=!0),this.checkCollision.left=t,this.checkCollision.right=e,this.checkCollision.up=i,this.checkCollision.down=n,this},pause:function(){return this.isPaused=!0,this.emit("pause"),this},resume:function(){return this.isPaused=!1,this.emit("resume"),this},addCollider:function(t,e,i,n,s){void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i);var r=new o(this,!1,t,e,i,n,s);return this.colliders.add(r),r},addOverlap:function(t,e,i,n,s){void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i);var r=new o(this,!0,t,e,i,n,s);return this.colliders.add(r),r},removeCollider:function(t){return this.colliders.remove(t),this},setFPS:function(t){return this.fps=t,this._frameTime=1/this.fps,this._frameTimeMS=1e3*this._frameTime,this},update:function(t,e){if(!this.isPaused&&0!==this.bodies.size){var i=0,n=this._frameTime,s=this._frameTimeMS*this.timeScale;for(this._elapsed+=e;this._elapsed>=s;)this._elapsed-=s,i++,this.step(n);this.stepsLastFrame=i}},step:function(t){var e,i,n=this.bodies.entries,s=n.length;for(e=0;e<s;e++)(i=n[e]).enable&&i.update(t);this.useTree&&(this.tree.clear(),this.tree.load(n));var r=this.colliders.update();for(e=0;e<r.length;e++){var o=r[e];o.active&&o.update()}for(s=n.length,e=0;e<s;e++)(i=n[e]).enable&&i.postUpdate()},postUpdate:function(){var t,e,i=this.bodies,n=this.staticBodies,s=this.pendingDestroy,r=i.entries,o=r.length;if(this.drawDebug){var h=this.debugGraphic;for(h.clear(),t=0;t<o;t++)(e=r[t]).willDrawDebug()&&e.drawDebug(h);for(o=(r=n.entries).length,t=0;t<o;t++)(e=r[t]).willDrawDebug()&&e.drawDebug(h)}if(s.size>0){var l=this.tree,u=this.staticTree;for(o=(r=s.entries).length,t=0;t<o;t++)(e=r[t]).physicsType===a.DYNAMIC_BODY?(l.remove(e),i.delete(e)):e.physicsType===a.STATIC_BODY&&(u.remove(e),n.delete(e)),e.world=void 0,e.gameObject=void 0;s.clear()}},updateMotion:function(t,e){t.allowRotation&&this.computeAngularVelocity(t,e),this.computeVelocity(t,e)},computeAngularVelocity:function(t,e){var i=t.angularVelocity,n=t.angularAcceleration,r=t.angularDrag,o=t.maxAngular;n?i+=n*e:t.allowDrag&&r&&(c(i-(r*=e),0,.1)?i-=r:d(i+r,0,.1)?i+=r:i=0);var a=(i=s(i,-o,o))-t.angularVelocity;t.angularVelocity+=a,t.rotation+=t.angularVelocity*e},computeVelocity:function(t,e){var i=t.velocity.x,n=t.acceleration.x,r=t.drag.x,o=t.maxVelocity.x,a=t.velocity.y,h=t.acceleration.y,l=t.drag.y,f=t.maxVelocity.y,p=t.speed,g=t.allowDrag,v=t.useDamping;t.allowGravity&&(i+=(this.gravity.x+t.gravity.x)*e,a+=(this.gravity.y+t.gravity.y)*e),n?i+=n*e:g&&r&&(v?(i*=r,u(p,0,.001)&&(i=0)):c(i-(r*=e),0,.01)?i-=r:d(i+r,0,.01)?i+=r:i=0),h?a+=h*e:g&&l&&(v?(a*=l,u(p,0,.001)&&(a=0)):c(a-(l*=e),0,.01)?a-=l:d(a+l,0,.01)?a+=l:a=0),i=s(i,-o,o),a=s(a,-f,f),t.velocity.set(i,a)},separate:function(t,e,i,n,s){if(!t.enable||!e.enable||t.checkCollision.none||e.checkCollision.none||!this.intersects(t,e))return!1;if(i&&!1===i.call(n,t.gameObject,e.gameObject))return!1;if(t.isCircle&&e.isCircle)return this.separateCircle(t,e,s);if(t.isCircle!==e.isCircle){var r=t.isCircle?e:t,o=t.isCircle?t:e,a={x:r.x,y:r.y,right:r.right,bottom:r.bottom},h=o.center;if((h.y<a.y||h.y>a.bottom)&&(h.x<a.x||h.x>a.right))return this.separateCircle(t,e,s)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)<Math.abs(this.gravity.x+t.gravity.x)?(l=b(t,e,s,this.OVERLAP_BIAS),this.intersects(t,e)&&(u=T(t,e,s,this.OVERLAP_BIAS))):(u=T(t,e,s,this.OVERLAP_BIAS),this.intersects(t,e)&&(l=b(t,e,s,this.OVERLAP_BIAS)));var c=l||u;return c&&(s&&(t.onOverlap||e.onOverlap)?this.emit("overlap",t.gameObject,e.gameObject,t,e):(t.postUpdate(),e.postUpdate(),(t.onCollide||e.onCollide)&&this.emit("collide",t.gameObject,e.gameObject,t,e))),c},separateCircle:function(t,e,i,n){f(t,e,!1,n),p(t,e,!1,n);var s=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,s),a=0;if(t.isCircle!==e.isCircle){var l={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},u={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};u.y<l.y?u.x<l.x?a=h(u.x,u.y,l.x,l.y)-u.radius:u.x>l.right&&(a=h(u.x,u.y,l.right,l.y)-u.radius):u.y>l.bottom&&(u.x<l.x?a=h(u.x,u.y,l.x,l.bottom)-u.radius:u.x>l.right&&(a=h(u.x,u.y,l.right,l.bottom)-u.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-h(t.center.x,t.center.y,e.center.x,e.center.y);if(i||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap||e.onOverlap)&&this.emit("overlap",t.gameObject,e.gameObject,t,e),0!==a;var c=t.velocity.x,d=t.velocity.y,g=t.mass,v=e.velocity.x,y=e.velocity.y,m=e.mass,x=c*Math.cos(o)+d*Math.sin(o),w=c*Math.sin(o)-d*Math.cos(o),b=v*Math.cos(o)+y*Math.sin(o),T=v*Math.sin(o)-y*Math.cos(o),S=((g-m)*x+2*m*b)/(g+m),_=(2*g*x+(m-g)*b)/(g+m);t.immovable||(t.velocity.x=(S*Math.cos(o)-w*Math.sin(o))*t.bounce.x,t.velocity.y=(w*Math.cos(o)+S*Math.sin(o))*t.bounce.y,c=t.velocity.x,d=t.velocity.y),e.immovable||(e.velocity.x=(_*Math.cos(o)-T*Math.sin(o))*e.bounce.x,e.velocity.y=(T*Math.cos(o)+_*Math.sin(o))*e.bounce.y,v=e.velocity.x,y=e.velocity.y),Math.abs(o)<Math.PI/2?c>0&&!t.immovable&&v>c?t.velocity.x*=-1:v<0&&!e.immovable&&c<v?e.velocity.x*=-1:d>0&&!t.immovable&&y>d?t.velocity.y*=-1:y<0&&!e.immovable&&d<y&&(e.velocity.y*=-1):Math.abs(o)>Math.PI/2&&(c<0&&!t.immovable&&v<c?t.velocity.x*=-1:v>0&&!e.immovable&&c>v?e.velocity.x*=-1:d<0&&!t.immovable&&y<d?t.velocity.y*=-1:y>0&&!e.immovable&&c>y&&(e.velocity.y*=-1));var A=this._frameTime;return t.immovable||(t.x+=t.velocity.x*A-a*Math.cos(o),t.y+=t.velocity.y*A-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*A+a*Math.cos(o),e.y+=e.velocity.y*A+a*Math.sin(o)),(t.onCollide||e.onCollide)&&this.emit("collide",t.gameObject,e.gameObject,t,e),t.postUpdate(),e.postUpdate(),!0},intersects:function(t,e){return t!==e&&(t.isCircle||e.isCircle?t.isCircle?e.isCircle?h(t.center.x,t.center.y,e.center.x,e.center.y)<=t.halfWidth+e.halfWidth:this.circleBodyIntersects(t,e):this.circleBodyIntersects(e,t):!(t.right<=e.position.x||t.bottom<=e.position.y||t.position.x>=e.right||t.position.y>=e.bottom))},circleBodyIntersects:function(t,e){var i=s(t.center.x,e.left,e.right),n=s(t.center.y,e.top,e.bottom);return(t.center.x-i)*(t.center.x-i)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},overlap:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.collideObjects(t,e,i,n,s,!0)},collide:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.collideObjects(t,e,i,n,s,!1)},collideObjects:function(t,e,i,n,s,r){var o;t.isParent&&void 0===t.physicsType&&(t=t.children.entries),e&&e.isParent&&void 0===e.physicsType&&(e=e.children.entries);var a=Array.isArray(t),h=Array.isArray(e);if(this._total=0,a||h)if(!a&&h)for(o=0;o<e.length;o++)this.collideHandler(t,e[o],i,n,s,r);else if(a&&!h)for(o=0;o<t.length;o++)this.collideHandler(t[o],e,i,n,s,r);else for(o=0;o<t.length;o++)for(var l=0;l<e.length;l++)this.collideHandler(t[o],e[l],i,n,s,r);else this.collideHandler(t,e,i,n,s,r);return this._total>0},collideHandler:function(t,e,i,n,s,r){if(void 0===e&&t.isParent)return this.collideGroupVsGroup(t,t,i,n,s,r);if(!t||!e)return!1;if(t.body){if(e.body)return this.collideSpriteVsSprite(t,e,i,n,s,r);if(e.isParent)return this.collideSpriteVsGroup(t,e,i,n,s,r);if(e.isTilemap)return this.collideSpriteVsTilemapLayer(t,e,i,n,s,r)}else if(t.isParent){if(e.body)return this.collideSpriteVsGroup(e,t,i,n,s,r);if(e.isParent)return this.collideGroupVsGroup(t,e,i,n,s,r);if(e.isTilemap)return this.collideGroupVsTilemapLayer(t,e,i,n,s,r)}else if(t.isTilemap){if(e.body)return this.collideSpriteVsTilemapLayer(e,t,i,n,s,r);if(e.isParent)return this.collideGroupVsTilemapLayer(e,t,i,n,s,r)}},collideSpriteVsSprite:function(t,e,i,n,s,r){return!(!t.body||!e.body)&&(this.separate(t.body,e.body,n,s,r)&&(i&&i.call(s,t,e),this._total++),!0)},collideSpriteVsGroup:function(t,e,i,n,s,r){var o,h,l,u=t.body;if(0!==e.length&&u&&u.enable)if(this.useTree){var c=this.treeMinMax;c.minX=u.left,c.minY=u.top,c.maxX=u.right,c.maxY=u.bottom;var d=e.physicsType===a.DYNAMIC_BODY?this.tree.search(c):this.staticTree.search(c);for(h=d.length,o=0;o<h;o++)u!==(l=d[o])&&e.contains(l.gameObject)&&this.separate(u,l,n,s,r)&&(i&&i.call(s,u.gameObject,l.gameObject),this._total++)}else{var f=e.getChildren(),p=e.children.entries.indexOf(t);for(h=f.length,o=0;o<h;o++)(l=f[o].body)&&o!==p&&l.enable&&this.separate(u,l,n,s,r)&&(i&&i.call(s,u.gameObject,l.gameObject),this._total++)}},collideGroupVsTilemapLayer:function(t,e,i,n,s,r){var o=t.getChildren();if(0===o.length)return!1;for(var a=!1,h=0;h<o.length;h++)o[h].body&&this.collideSpriteVsTilemapLayer(o[h],e,i,n,s,r)&&(a=!0);return a},collideSpriteVsTilemapLayer:function(t,e,i,n,s,r){var o=t.body;if(!o.enable)return!1;var a=o.position.x,h=o.position.y,l=o.width,u=o.height,c=e.layer;if(c.tileWidth>c.baseTileWidth){var d=(c.tileWidth-c.baseTileWidth)*e.scaleX;a-=d,l+=d}c.tileHeight>c.baseTileHeight&&(u+=(c.tileHeight-c.baseTileHeight)*e.scaleY);var f,p=e.getTilesWithinWorldXY(a,h,l,u);if(0===p.length)return!1;for(var g={left:0,right:0,top:0,bottom:0},v=0;v<p.length;v++)f=p[v],g.left=e.tileToWorldX(f.x),g.top=e.tileToWorldY(f.y),f.baseHeight!==f.height&&(g.top-=(f.height-f.baseHeight)*e.scaleY),g.right=g.left+f.width*e.scaleX,g.bottom=g.top+f.height*e.scaleY,A(g,o)&&(!n||n.call(s,t,f))&&y(f,t)&&(r||w(v,o,f,g,e,this.TILE_BIAS))&&(this._total++,i&&i.call(s,t,f),r&&o.onOverlap?t.emit("overlap",o.gameObject,f,o,null):o.onCollide&&t.emit("collide",o.gameObject,f,o,null),o.postUpdate())},collideGroupVsGroup:function(t,e,i,n,s,r){if(0!==t.length&&0!==e.length)for(var o=t.getChildren(),a=0;a<o.length;a++)this.collideSpriteVsGroup(o[a],e,i,n,s,r)},wrap:function(t,e){t.body?this.wrapObject(t,e):t.getChildren?this.wrapArray(t.getChildren(),e):Array.isArray(t)?this.wrapArray(t,e):this.wrapObject(t,e)},wrapArray:function(t,e){for(var i=0;i<t.length;i++)this.wrapObject(t[i],e)},wrapObject:function(t,e){void 0===e&&(e=0),t.x=P(t.x,this.bounds.left-e,this.bounds.right+e),t.y=P(t.y,this.bounds.top-e,this.bounds.bottom+e)},shutdown:function(){this.tree.clear(),this.staticTree.clear(),this.bodies.clear(),this.staticBodies.clear(),this.colliders.destroy(),this.removeAllListeners()},destroy:function(){this.shutdown(),this.scene=null}});t.exports=E},function(t,e,i){var n=i(104),s=i(0),r=i(35),o=i(88),a=i(8),h=new s({Extends:o,initialize:function(t,e,i,s){i||s?a(i)?(s=i,i=null,s.createCallback=this.createCallbackHandler,s.removeCallback=this.removeCallbackHandler,s.createMultipleCallback=this.createMultipleCallbackHandler,s.classType=n):Array.isArray(i)&&a(i[0])&&(s=i,i=null,s.forEach(function(t){t.createCallback=this.createCallbackHandler,t.removeCallback=this.removeCallbackHandler,t.createMultipleCallback=this.createMultipleCallbackHandler,t.classType=n})):s={createCallback:this.createCallbackHandler,removeCallback:this.removeCallbackHandler,createMultipleCallback:this.createMultipleCallbackHandler,classType:n},this.world=t,this.physicsType=r.STATIC_BODY,o.call(this,e,i,s)},createCallbackHandler:function(t){t.body||this.world.enableBody(t,r.STATIC_BODY)},removeCallbackHandler:function(t){t.body&&this.world.disableBody(t)},createMultipleCallbackHandler:function(){this.refresh()},refresh:function(){for(var t=this.children.entries,e=0;e<t.length;e++)t[e].body.reset();return this}});t.exports=h},function(t,e,i){var n=i(104),s=i(0),r=i(35),o=i(2),a=i(88),h=i(8),l=new s({Extends:a,initialize:function(t,e,i,s){i||s?h(i)?(s=i,i=null,s.createCallback=this.createCallbackHandler,s.removeCallback=this.removeCallbackHandler):Array.isArray(i)&&h(i[0])&&(s=i,i=null,s.forEach(function(t){t.createCallback=this.createCallbackHandler,t.removeCallback=this.removeCallbackHandler})):s={createCallback:this.createCallbackHandler,removeCallback:this.removeCallbackHandler},this.world=t,s.classType=o(s,"classType",n),this.physicsType=r.DYNAMIC_BODY,this.defaults={setCollideWorldBounds:o(s,"collideWorldBounds",!1),setAccelerationX:o(s,"accelerationX",0),setAccelerationY:o(s,"accelerationY",0),setAllowDrag:o(s,"allowDrag",!0),setAllowGravity:o(s,"allowGravity",!0),setAllowRotation:o(s,"allowRotation",!0),setBounceX:o(s,"bounceX",0),setBounceY:o(s,"bounceY",0),setDragX:o(s,"dragX",0),setDragY:o(s,"dragY",0),setEnable:o(s,"enable",!0),setGravityX:o(s,"gravityX",0),setGravityY:o(s,"gravityY",0),setFrictionX:o(s,"frictionX",0),setFrictionY:o(s,"frictionY",0),setVelocityX:o(s,"velocityX",0),setVelocityY:o(s,"velocityY",0),setAngularVelocity:o(s,"angularVelocity",0),setAngularAcceleration:o(s,"angularAcceleration",0),setAngularDrag:o(s,"angularDrag",0),setMass:o(s,"mass",1),setImmovable:o(s,"immovable",!1)},a.call(this,e,i,s)},createCallbackHandler:function(t){t.body||this.world.enableBody(t,r.DYNAMIC_BODY);var e=t.body;for(var i in this.defaults)e[i](this.defaults[i])},removeCallbackHandler:function(t){t.body&&this.world.disableBody(t)},setVelocity:function(t,e,i){void 0===i&&(i=0);for(var n=this.getChildren(),s=0;s<n.length;s++)n[s].body.velocity.set(t+s*i,e+s*i);return this},setVelocityX:function(t,e){void 0===e&&(e=0);for(var i=this.getChildren(),n=0;n<i.length;n++)i[n].body.velocity.x=t+n*e;return this},setVelocityY:function(t,e){void 0===e&&(e=0);for(var i=this.getChildren(),n=0;n<i.length;n++)i[n].body.velocity.y=t+n*e;return this}});t.exports=l},function(t,e,i){t.exports={Acceleration:i(526),Angular:i(525),Bounce:i(524),Debug:i(523),Drag:i(522),Enable:i(521),Friction:i(520),Gravity:i(519),Immovable:i(518),Mass:i(517),Size:i(516),Velocity:i(515)}},function(t,e,i){var n=i(0),s=i(236),r=i(87),o=new n({Extends:r,Mixins:[s.Acceleration,s.Angular,s.Bounce,s.Debug,s.Drag,s.Enable,s.Friction,s.Gravity,s.Immovable,s.Mass,s.Size,s.Velocity],initialize:function(t,e,i,n,s){r.call(this,t,e,i,n,s),this.body=null}});t.exports=o},function(t,e,i){var n=i(237),s=i(104),r=i(0),o=i(35),a=i(235),h=i(234),l=new r({initialize:function(t){this.world=t,this.scene=t.scene,this.sys=t.scene.sys},collider:function(t,e,i,n,s){return this.world.addCollider(t,e,i,n,s)},overlap:function(t,e,i,n,s){return this.world.addOverlap(t,e,i,n,s)},existing:function(t,e){var i=e?o.STATIC_BODY:o.DYNAMIC_BODY;return this.world.enableBody(t,i),t},staticImage:function(t,e,i,s){var r=new n(this.scene,t,e,i,s);return this.sys.displayList.add(r),this.world.enableBody(r,o.STATIC_BODY),r},image:function(t,e,i,s){var r=new n(this.scene,t,e,i,s);return this.sys.displayList.add(r),this.world.enableBody(r,o.DYNAMIC_BODY),r},staticSprite:function(t,e,i,n){var r=new s(this.scene,t,e,i,n);return this.sys.displayList.add(r),this.sys.updateList.add(r),this.world.enableBody(r,o.STATIC_BODY),r},sprite:function(t,e,i,n){var r=new s(this.scene,t,e,i,n);return this.sys.displayList.add(r),this.sys.updateList.add(r),this.world.enableBody(r,o.DYNAMIC_BODY),r},staticGroup:function(t,e){return this.sys.updateList.add(new h(this.world,this.world.scene,t,e))},group:function(t,e){return this.sys.updateList.add(new a(this.world,this.world.scene,t,e))},destroy:function(){this.world=null,this.scene=null,this.sys=null}});t.exports=l},function(t,e,i){var n=i(0),s=i(138),r=i(241),o=new Int8Array([1,2,0]),a=new Float32Array([0,0,0]),h=new s(1,0,0),l=new s(0,1,0),u=new s,c=new r,d=new n({initialize:function(t,e,i,n){"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},set:function(t,e,i,n){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},scale:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},length:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},lengthSq:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},normalize:function(){var t=this.x,e=this.y,i=this.z,n=this.w,s=t*t+e*e+i*i+n*n;return s>0&&(s=1/Math.sqrt(s),this.x=t*s,this.y=e*s,this.z=i*s,this.w=n*s),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z,r=this.w;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this.w=r+e*(t.w-r),this},rotationTo:function(t,e){var i=t.x*e.x+t.y*e.y+t.z*e.z;return i<-.999999?(u.copy(h).cross(t).length()<1e-6&&u.copy(l).cross(t),u.normalize(),this.setAxisAngle(u,Math.PI)):i>.999999?(this.x=0,this.y=0,this.z=0,this.w=1,this):(u.copy(t).cross(e),this.x=u.x,this.y=u.y,this.z=u.z,this.w=1+i,this.normalize())},setAxes:function(t,e,i){var n=c.val;return n[0]=e.x,n[3]=e.y,n[6]=e.z,n[1]=i.x,n[4]=i.y,n[7]=i.z,n[2]=-t.x,n[5]=-t.y,n[8]=-t.z,this.fromMat3(c).normalize()},identity:function(){return this.x=0,this.y=0,this.z=0,this.w=1,this},setAxisAngle:function(t,e){e*=.5;var i=Math.sin(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=Math.cos(e),this},multiply:function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,o=t.y,a=t.z,h=t.w;return this.x=e*h+s*r+i*a-n*o,this.y=i*h+s*o+n*r-e*a,this.z=n*h+s*a+e*o-i*r,this.w=s*h-e*r-i*o-n*a,this},slerp:function(t,e){var i=this.x,n=this.y,s=this.z,r=this.w,o=t.x,a=t.y,h=t.z,l=t.w,u=i*o+n*a+s*h+r*l;u<0&&(u=-u,o=-o,a=-a,h=-h,l=-l);var c=1-e,d=e;if(1-u>1e-6){var f=Math.acos(u),p=Math.sin(f);c=Math.sin((1-e)*f)/p,d=Math.sin(e*f)/p}return this.x=c*i+d*o,this.y=c*n+d*a,this.z=c*s+d*h,this.w=c*r+d*l,this},invert:function(){var t=this.x,e=this.y,i=this.z,n=this.w,s=t*t+e*e+i*i+n*n,r=s?1/s:0;return this.x=-t*r,this.y=-e*r,this.z=-i*r,this.w=n*r,this},conjugate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},rotateX:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o+s*r,this.y=i*o+n*r,this.z=n*o-i*r,this.w=s*o-e*r,this},rotateY:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o-n*r,this.y=i*o+s*r,this.z=n*o+e*r,this.w=s*o-i*r,this},rotateZ:function(t){t*=.5;var e=this.x,i=this.y,n=this.z,s=this.w,r=Math.sin(t),o=Math.cos(t);return this.x=e*o+i*r,this.y=i*o-e*r,this.z=n*o+s*r,this.w=s*o-n*r,this},calculateW:function(){var t=this.x,e=this.y,i=this.z;return this.w=-Math.sqrt(1-t*t-e*e-i*i),this},fromMat3:function(t){var e,i=t.val,n=i[0]+i[4]+i[8];if(n>0)e=Math.sqrt(n+1),this.w=.5*e,e=.5/e,this.x=(i[7]-i[5])*e,this.y=(i[2]-i[6])*e,this.z=(i[3]-i[1])*e;else{var s=0;i[4]>i[0]&&(s=1),i[8]>i[3*s+s]&&(s=2);var r=o[s],h=o[r];e=Math.sqrt(i[3*s+s]-i[3*r+r]-i[3*h+h]+1),a[s]=.5*e,e=.5/e,a[r]=(i[3*r+s]+i[3*s+r])*e,a[h]=(i[3*h+s]+i[3*s+h])*e,this.x=a[0],this.y=a[1],this.z=a[2],this.w=(i[3*h+r]-i[3*r+h])*e}return this}});t.exports=d},function(t,e,i){var n=new(i(0))({initialize:function(t){this.val=new Float32Array(16),t?this.copy(t):this.identity()},clone:function(){return new n(this)},set:function(t){return this.copy(t)},copy:function(t){var e=this.val,i=t.val;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},fromArray:function(t){var e=this.val;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},zero:function(){var t=this.val;return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=0,this},xyz:function(t,e,i){this.identity();var n=this.val;return n[12]=t,n[13]=e,n[14]=i,this},scaling:function(t,e,i){this.zero();var n=this.val;return n[0]=t,n[5]=e,n[10]=i,n[15]=1,this},identity:function(){var t=this.val;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},transpose:function(){var t=this.val,e=t[1],i=t[2],n=t[3],s=t[6],r=t[7],o=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=e,t[6]=t[9],t[7]=t[13],t[8]=i,t[9]=s,t[11]=t[14],t[12]=n,t[13]=r,t[14]=o,this},invert:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15],y=e*o-i*r,m=e*a-n*r,x=e*h-s*r,w=i*a-n*o,b=i*h-s*o,T=n*h-s*a,S=l*p-u*f,_=l*g-c*f,A=l*v-d*f,C=u*g-c*p,M=u*v-d*p,P=c*v-d*g,E=y*P-m*M+x*C+w*A-b*_+T*S;return E?(E=1/E,t[0]=(o*P-a*M+h*C)*E,t[1]=(n*M-i*P-s*C)*E,t[2]=(p*T-g*b+v*w)*E,t[3]=(c*b-u*T-d*w)*E,t[4]=(a*A-r*P-h*_)*E,t[5]=(e*P-n*A+s*_)*E,t[6]=(g*x-f*T-v*m)*E,t[7]=(l*T-c*x+d*m)*E,t[8]=(r*M-o*A+h*S)*E,t[9]=(i*A-e*M-s*S)*E,t[10]=(f*b-p*x+v*y)*E,t[11]=(u*x-l*b-d*y)*E,t[12]=(o*_-r*C-a*S)*E,t[13]=(e*C-i*_+n*S)*E,t[14]=(p*m-f*w-g*y)*E,t[15]=(l*w-u*m+c*y)*E,this):null},adjoint:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15];return t[0]=o*(c*v-d*g)-u*(a*v-h*g)+p*(a*d-h*c),t[1]=-(i*(c*v-d*g)-u*(n*v-s*g)+p*(n*d-s*c)),t[2]=i*(a*v-h*g)-o*(n*v-s*g)+p*(n*h-s*a),t[3]=-(i*(a*d-h*c)-o*(n*d-s*c)+u*(n*h-s*a)),t[4]=-(r*(c*v-d*g)-l*(a*v-h*g)+f*(a*d-h*c)),t[5]=e*(c*v-d*g)-l*(n*v-s*g)+f*(n*d-s*c),t[6]=-(e*(a*v-h*g)-r*(n*v-s*g)+f*(n*h-s*a)),t[7]=e*(a*d-h*c)-r*(n*d-s*c)+l*(n*h-s*a),t[8]=r*(u*v-d*p)-l*(o*v-h*p)+f*(o*d-h*u),t[9]=-(e*(u*v-d*p)-l*(i*v-s*p)+f*(i*d-s*u)),t[10]=e*(o*v-h*p)-r*(i*v-s*p)+f*(i*h-s*o),t[11]=-(e*(o*d-h*u)-r*(i*d-s*u)+l*(i*h-s*o)),t[12]=-(r*(u*g-c*p)-l*(o*g-a*p)+f*(o*c-a*u)),t[13]=e*(u*g-c*p)-l*(i*g-n*p)+f*(i*c-n*u),t[14]=-(e*(o*g-a*p)-r*(i*g-n*p)+f*(i*a-n*o)),t[15]=e*(o*c-a*u)-r*(i*c-n*u)+l*(i*a-n*o),this},determinant:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],g=t[14],v=t[15];return(e*o-i*r)*(c*v-d*g)-(e*a-n*r)*(u*v-d*p)+(e*h-s*r)*(u*g-c*p)+(i*a-n*o)*(l*v-d*f)-(i*h-s*o)*(l*g-c*f)+(n*h-s*a)*(l*p-u*f)},multiply:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=e[6],l=e[7],u=e[8],c=e[9],d=e[10],f=e[11],p=e[12],g=e[13],v=e[14],y=e[15],m=t.val,x=m[0],w=m[1],b=m[2],T=m[3];return e[0]=x*i+w*o+b*u+T*p,e[1]=x*n+w*a+b*c+T*g,e[2]=x*s+w*h+b*d+T*v,e[3]=x*r+w*l+b*f+T*y,x=m[4],w=m[5],b=m[6],T=m[7],e[4]=x*i+w*o+b*u+T*p,e[5]=x*n+w*a+b*c+T*g,e[6]=x*s+w*h+b*d+T*v,e[7]=x*r+w*l+b*f+T*y,x=m[8],w=m[9],b=m[10],T=m[11],e[8]=x*i+w*o+b*u+T*p,e[9]=x*n+w*a+b*c+T*g,e[10]=x*s+w*h+b*d+T*v,e[11]=x*r+w*l+b*f+T*y,x=m[12],w=m[13],b=m[14],T=m[15],e[12]=x*i+w*o+b*u+T*p,e[13]=x*n+w*a+b*c+T*g,e[14]=x*s+w*h+b*d+T*v,e[15]=x*r+w*l+b*f+T*y,this},multiplyLocal:function(t){var e=[],i=this.val,n=t.val;return e[0]=i[0]*n[0]+i[1]*n[4]+i[2]*n[8]+i[3]*n[12],e[1]=i[0]*n[1]+i[1]*n[5]+i[2]*n[9]+i[3]*n[13],e[2]=i[0]*n[2]+i[1]*n[6]+i[2]*n[10]+i[3]*n[14],e[3]=i[0]*n[3]+i[1]*n[7]+i[2]*n[11]+i[3]*n[15],e[4]=i[4]*n[0]+i[5]*n[4]+i[6]*n[8]+i[7]*n[12],e[5]=i[4]*n[1]+i[5]*n[5]+i[6]*n[9]+i[7]*n[13],e[6]=i[4]*n[2]+i[5]*n[6]+i[6]*n[10]+i[7]*n[14],e[7]=i[4]*n[3]+i[5]*n[7]+i[6]*n[11]+i[7]*n[15],e[8]=i[8]*n[0]+i[9]*n[4]+i[10]*n[8]+i[11]*n[12],e[9]=i[8]*n[1]+i[9]*n[5]+i[10]*n[9]+i[11]*n[13],e[10]=i[8]*n[2]+i[9]*n[6]+i[10]*n[10]+i[11]*n[14],e[11]=i[8]*n[3]+i[9]*n[7]+i[10]*n[11]+i[11]*n[15],e[12]=i[12]*n[0]+i[13]*n[4]+i[14]*n[8]+i[15]*n[12],e[13]=i[12]*n[1]+i[13]*n[5]+i[14]*n[9]+i[15]*n[13],e[14]=i[12]*n[2]+i[13]*n[6]+i[14]*n[10]+i[15]*n[14],e[15]=i[12]*n[3]+i[13]*n[7]+i[14]*n[11]+i[15]*n[15],this.fromArray(e)},translate:function(t){var e=t.x,i=t.y,n=t.z,s=this.val;return s[12]=s[0]*e+s[4]*i+s[8]*n+s[12],s[13]=s[1]*e+s[5]*i+s[9]*n+s[13],s[14]=s[2]*e+s[6]*i+s[10]*n+s[14],s[15]=s[3]*e+s[7]*i+s[11]*n+s[15],this},scale:function(t){var e=t.x,i=t.y,n=t.z,s=this.val;return s[0]=s[0]*e,s[1]=s[1]*e,s[2]=s[2]*e,s[3]=s[3]*e,s[4]=s[4]*i,s[5]=s[5]*i,s[6]=s[6]*i,s[7]=s[7]*i,s[8]=s[8]*n,s[9]=s[9]*n,s[10]=s[10]*n,s[11]=s[11]*n,this},makeRotationAxis:function(t,e){var i=Math.cos(e),n=Math.sin(e),s=1-i,r=t.x,o=t.y,a=t.z,h=s*r,l=s*o;return this.fromArray([h*r+i,h*o-n*a,h*a+n*o,0,h*o+n*a,l*o+i,l*a-n*r,0,h*a-n*o,l*a+n*r,s*a*a+i,0,0,0,0,1]),this},rotate:function(t,e){var i=this.val,n=e.x,s=e.y,r=e.z,o=Math.sqrt(n*n+s*s+r*r);if(Math.abs(o)<1e-6)return null;n*=o=1/o,s*=o,r*=o;var a=Math.sin(t),h=Math.cos(t),l=1-h,u=i[0],c=i[1],d=i[2],f=i[3],p=i[4],g=i[5],v=i[6],y=i[7],m=i[8],x=i[9],w=i[10],b=i[11],T=n*n*l+h,S=s*n*l+r*a,_=r*n*l-s*a,A=n*s*l-r*a,C=s*s*l+h,M=r*s*l+n*a,P=n*r*l+s*a,E=s*r*l-n*a,k=r*r*l+h;return i[0]=u*T+p*S+m*_,i[1]=c*T+g*S+x*_,i[2]=d*T+v*S+w*_,i[3]=f*T+y*S+b*_,i[4]=u*A+p*C+m*M,i[5]=c*A+g*C+x*M,i[6]=d*A+v*C+w*M,i[7]=f*A+y*C+b*M,i[8]=u*P+p*E+m*k,i[9]=c*P+g*E+x*k,i[10]=d*P+v*E+w*k,i[11]=f*P+y*E+b*k,this},rotateX:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[4],r=e[5],o=e[6],a=e[7],h=e[8],l=e[9],u=e[10],c=e[11];return e[4]=s*n+h*i,e[5]=r*n+l*i,e[6]=o*n+u*i,e[7]=a*n+c*i,e[8]=h*n-s*i,e[9]=l*n-r*i,e[10]=u*n-o*i,e[11]=c*n-a*i,this},rotateY:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[8],l=e[9],u=e[10],c=e[11];return e[0]=s*n-h*i,e[1]=r*n-l*i,e[2]=o*n-u*i,e[3]=a*n-c*i,e[8]=s*i+h*n,e[9]=r*i+l*n,e[10]=o*i+u*n,e[11]=a*i+c*n,this},rotateZ:function(t){var e=this.val,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[4],l=e[5],u=e[6],c=e[7];return e[0]=s*n+h*i,e[1]=r*n+l*i,e[2]=o*n+u*i,e[3]=a*n+c*i,e[4]=h*n-s*i,e[5]=l*n-r*i,e[6]=u*n-o*i,e[7]=c*n-a*i,this},fromRotationTranslation:function(t,e){var i=this.val,n=t.x,s=t.y,r=t.z,o=t.w,a=n+n,h=s+s,l=r+r,u=n*a,c=n*h,d=n*l,f=s*h,p=s*l,g=r*l,v=o*a,y=o*h,m=o*l;return i[0]=1-(f+g),i[1]=c+m,i[2]=d-y,i[3]=0,i[4]=c-m,i[5]=1-(u+g),i[6]=p+v,i[7]=0,i[8]=d+y,i[9]=p-v,i[10]=1-(u+f),i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this},fromQuat:function(t){var e=this.val,i=t.x,n=t.y,s=t.z,r=t.w,o=i+i,a=n+n,h=s+s,l=i*o,u=i*a,c=i*h,d=n*a,f=n*h,p=s*h,g=r*o,v=r*a,y=r*h;return e[0]=1-(d+p),e[1]=u+y,e[2]=c-v,e[3]=0,e[4]=u-y,e[5]=1-(l+p),e[6]=f+g,e[7]=0,e[8]=c+v,e[9]=f-g,e[10]=1-(l+d),e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},frustum:function(t,e,i,n,s,r){var o=this.val,a=1/(e-t),h=1/(n-i),l=1/(s-r);return o[0]=2*s*a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=2*s*h,o[6]=0,o[7]=0,o[8]=(e+t)*a,o[9]=(n+i)*h,o[10]=(r+s)*l,o[11]=-1,o[12]=0,o[13]=0,o[14]=r*s*2*l,o[15]=0,this},perspective:function(t,e,i,n){var s=this.val,r=1/Math.tan(t/2),o=1/(i-n);return s[0]=r/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=r,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(n+i)*o,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*n*i*o,s[15]=0,this},perspectiveLH:function(t,e,i,n){var s=this.val;return s[0]=2*i/t,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/e,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-n/(i-n),s[11]=1,s[12]=0,s[13]=0,s[14]=i*n/(i-n),s[15]=0,this},ortho:function(t,e,i,n,s,r){var o=this.val,a=t-e,h=i-n,l=s-r;return a=0===a?a:1/a,h=0===h?h:1/h,l=0===l?l:1/l,o[0]=-2*a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*h,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*l,o[11]=0,o[12]=(t+e)*a,o[13]=(n+i)*h,o[14]=(r+s)*l,o[15]=1,this},lookAt:function(t,e,i){var n=this.val,s=t.x,r=t.y,o=t.z,a=i.x,h=i.y,l=i.z,u=e.x,c=e.y,d=e.z;if(Math.abs(s-u)<1e-6&&Math.abs(r-c)<1e-6&&Math.abs(o-d)<1e-6)return this.identity();var f=s-u,p=r-c,g=o-d,v=1/Math.sqrt(f*f+p*p+g*g),y=h*(g*=v)-l*(p*=v),m=l*(f*=v)-a*g,x=a*p-h*f;(v=Math.sqrt(y*y+m*m+x*x))?(y*=v=1/v,m*=v,x*=v):(y=0,m=0,x=0);var w=p*x-g*m,b=g*y-f*x,T=f*m-p*y;return(v=Math.sqrt(w*w+b*b+T*T))?(w*=v=1/v,b*=v,T*=v):(w=0,b=0,T=0),n[0]=y,n[1]=w,n[2]=f,n[3]=0,n[4]=m,n[5]=b,n[6]=p,n[7]=0,n[8]=x,n[9]=T,n[10]=g,n[11]=0,n[12]=-(y*s+m*r+x*o),n[13]=-(w*s+b*r+T*o),n[14]=-(f*s+p*r+g*o),n[15]=1,this},yawPitchRoll:function(t,e,i){this.zero(),s.zero(),r.zero();var n=this.val,o=s.val,a=r.val,h=Math.sin(i),l=Math.cos(i);return n[10]=1,n[15]=1,n[0]=l,n[1]=h,n[4]=-h,n[5]=l,h=Math.sin(e),l=Math.cos(e),o[0]=1,o[15]=1,o[5]=l,o[10]=l,o[9]=-h,o[6]=h,h=Math.sin(t),l=Math.cos(t),a[5]=1,a[15]=1,a[0]=l,a[2]=-h,a[8]=h,a[10]=l,this.multiplyLocal(s),this.multiplyLocal(r),this},setWorldMatrix:function(t,e,i,n,o){return this.yawPitchRoll(t.y,t.x,t.z),s.scaling(i.x,i.y,i.z),r.xyz(e.x,e.y,e.z),this.multiplyLocal(s),this.multiplyLocal(r),void 0!==n&&this.multiplyLocal(n),void 0!==o&&this.multiplyLocal(o),this}}),s=new n,r=new n;t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t){this.val=new Float32Array(9),t?this.copy(t):this.identity()},clone:function(){return new n(this)},set:function(t){return this.copy(t)},copy:function(t){var e=this.val,i=t.val;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},fromMat4:function(t){var e=t.val,i=this.val;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},fromArray:function(t){var e=this.val;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},identity:function(){var t=this.val;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},transpose:function(){var t=this.val,e=t[1],i=t[2],n=t[5];return t[1]=t[3],t[2]=t[6],t[3]=e,t[5]=t[7],t[6]=i,t[7]=n,this},invert:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8],u=l*r-o*h,c=-l*s+o*a,d=h*s-r*a,f=e*u+i*c+n*d;return f?(f=1/f,t[0]=u*f,t[1]=(-l*i+n*h)*f,t[2]=(o*i-n*r)*f,t[3]=c*f,t[4]=(l*e-n*a)*f,t[5]=(-o*e+n*s)*f,t[6]=d*f,t[7]=(-h*e+i*a)*f,t[8]=(r*e-i*s)*f,this):null},adjoint:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8];return t[0]=r*l-o*h,t[1]=n*h-i*l,t[2]=i*o-n*r,t[3]=o*a-s*l,t[4]=e*l-n*a,t[5]=n*s-e*o,t[6]=s*h-r*a,t[7]=i*a-e*h,t[8]=e*r-i*s,this},determinant:function(){var t=this.val,e=t[0],i=t[1],n=t[2],s=t[3],r=t[4],o=t[5],a=t[6],h=t[7],l=t[8];return e*(l*r-o*h)+i*(-l*s+o*a)+n*(h*s-r*a)},multiply:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=e[6],l=e[7],u=e[8],c=t.val,d=c[0],f=c[1],p=c[2],g=c[3],v=c[4],y=c[5],m=c[6],x=c[7],w=c[8];return e[0]=d*i+f*r+p*h,e[1]=d*n+f*o+p*l,e[2]=d*s+f*a+p*u,e[3]=g*i+v*r+y*h,e[4]=g*n+v*o+y*l,e[5]=g*s+v*a+y*u,e[6]=m*i+x*r+w*h,e[7]=m*n+x*o+w*l,e[8]=m*s+x*a+w*u,this},translate:function(t){var e=this.val,i=t.x,n=t.y;return e[6]=i*e[0]+n*e[3]+e[6],e[7]=i*e[1]+n*e[4]+e[7],e[8]=i*e[2]+n*e[5]+e[8],this},rotate:function(t){var e=this.val,i=e[0],n=e[1],s=e[2],r=e[3],o=e[4],a=e[5],h=Math.sin(t),l=Math.cos(t);return e[0]=l*i+h*r,e[1]=l*n+h*o,e[2]=l*s+h*a,e[3]=l*r-h*i,e[4]=l*o-h*n,e[5]=l*a-h*s,this},scale:function(t){var e=this.val,i=t.x,n=t.y;return e[0]=i*e[0],e[1]=i*e[1],e[2]=i*e[2],e[3]=n*e[3],e[4]=n*e[4],e[5]=n*e[5],this},fromQuat:function(t){var e=t.x,i=t.y,n=t.z,s=t.w,r=e+e,o=i+i,a=n+n,h=e*r,l=e*o,u=e*a,c=i*o,d=i*a,f=n*a,p=s*r,g=s*o,v=s*a,y=this.val;return y[0]=1-(c+f),y[3]=l+v,y[6]=u-g,y[1]=l-v,y[4]=1-(h+f),y[7]=d+p,y[2]=u+g,y[5]=d-p,y[8]=1-(h+c),this},normalFromMat4:function(t){var e=t.val,i=this.val,n=e[0],s=e[1],r=e[2],o=e[3],a=e[4],h=e[5],l=e[6],u=e[7],c=e[8],d=e[9],f=e[10],p=e[11],g=e[12],v=e[13],y=e[14],m=e[15],x=n*h-s*a,w=n*l-r*a,b=n*u-o*a,T=s*l-r*h,S=s*u-o*h,_=r*u-o*l,A=c*v-d*g,C=c*y-f*g,M=c*m-p*g,P=d*y-f*v,E=d*m-p*v,k=f*m-p*y,L=x*k-w*E+b*P+T*M-S*C+_*A;return L?(L=1/L,i[0]=(h*k-l*E+u*P)*L,i[1]=(l*M-a*k-u*C)*L,i[2]=(a*E-h*M+u*A)*L,i[3]=(r*E-s*k-o*P)*L,i[4]=(n*k-r*M+o*C)*L,i[5]=(s*M-n*E-o*A)*L,i[6]=(v*_-y*S+m*T)*L,i[7]=(y*b-g*_-m*w)*L,i[8]=(g*S-v*b+m*x)*L,this):null}});t.exports=n},function(t,e){t.exports=function(t,e){var i=t.x,n=t.y;return t.x=i*Math.cos(e)-n*Math.sin(e),t.y=i*Math.sin(e)+n*Math.cos(e),t}},function(t,e){t.exports=function(t,e,i,n){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.ceil(t/e),n?(i+t)/e:i+t)}},function(t,e){t.exports=function(t){if(0===t)return 1;for(var e=t;--t;)e*=t;return e}},function(t,e,i){var n=i(244);t.exports=function(t,e){return n(t)/n(e)/n(t-e)}},function(t,e){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),t<e+i}},function(t,e){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),t>e-i}},function(t,e){t.exports=function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)<i}},function(t,e){t.exports=function(t,e,i,n){var s=t-i,r=e-n;return s*s+r*r}},function(t,e){t.exports=function(t){return(t%=2*Math.PI)>=0?t:t+2*Math.PI}},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n){var s="txt";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var l={type:"text",cache:t.cacheManager.text,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,l)},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});o.register("text",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new l(this,t[n]));else this.addFile(new l(this,t,e,i));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(21),r=i(2),o=i(141),a=i(8),h=new n({Extends:s,initialize:function(t,e,i,n){if(a(e)){var o=e;e=r(o,"key"),n=r(o,"config",n)}var h={type:"audio",cache:t.cacheManager.audio,extension:i.type,key:e,url:i.url,config:n};s.call(this,t,h),this.locked="ontouchstart"in window,this.loaded=!1,this.filesLoaded=0,this.filesTotal=0},onLoad:function(){this.loaded||(this.loaded=!0,this.loader.nextFile(this,!0))},onError:function(){for(var t=0;t<this.data.length;t++){var e=this.data[t];e.oncanplaythrough=null,e.onerror=null}this.loader.nextFile(this,!1)},onProgress:function(t){var e=t.target;e.oncanplaythrough=null,e.onerror=null,this.filesLoaded++,this.percentComplete=Math.min(this.filesLoaded/this.filesTotal,1),this.loader.emit("fileprogress",this,this.percentComplete),this.filesLoaded===this.filesTotal&&this.onLoad()},load:function(){this.data=[];var t=this.config&&this.config.instances||1;this.filesTotal=t,this.filesLoaded=0,this.percentComplete=0;for(var e=0;e<t;e++){var i=new Audio;i.dataset.name=this.key+("0"+e).slice(-2),i.dataset.used="false",this.locked?i.dataset.locked="true":(i.dataset.locked="false",i.preload="auto",i.oncanplaythrough=this.onProgress.bind(this),i.onerror=this.onError.bind(this)),this.data.push(i)}for(e=0;e<this.data.length;e++)(i=this.data[e]).src=o(this,this.loader.baseURL),this.locked||i.load();this.locked&&setTimeout(this.onLoad.bind(this))}});t.exports=h},function(t,e,i){var n=i(0),s=i(26),r=i(21),o=i(7),a=i(2),h=i(252),l=i(8),u=new n({Extends:r,initialize:function(t,e,i,n,s){if(l(e)){var o=e;e=a(o,"key"),n=a(o,"xhrSettings"),s=a(o,"context",s)}var h={type:"audio",cache:t.cacheManager.audio,extension:i.type,responseType:"arraybuffer",key:e,url:i.url,xhrSettings:n,config:{context:s}};r.call(this,t,h)},onProcess:function(){this.state=s.FILE_PROCESSING;var t=this;this.config.context.decodeAudioData(this.xhrLoader.response,function(e){t.data=e,t.onProcessComplete()},function(e){console.error("Error decoding audio: "+this.key+" - ",e?e.message:null),t.onProcessError()}),this.config.context=null}});u.create=function(t,e,i,n,s){var r=t.systems.game,o=r.config.audio,c=r.device.audio;l(e)&&(i=a(e,"url",[]),n=a(e,"config",{}));var d=u.getAudioURL(r,i);return d?!c.webAudio||o&&o.disableWebAudio?new h(t,e,d,n):new u(t,e,d,s,r.sound.context):null},u.getAudioURL=function(t,e){Array.isArray(e)||(e=[e]);for(var i=0;i<e.length;i++){var n=a(e[i],"url",e[i]);if(0===n.indexOf("blob:")||0===n.indexOf("data:"))return n;var s=n.match(/\.([a-zA-Z0-9]+)($|\?)/);if(s=a(e[i],"type",s?s[1]:"").toLowerCase(),t.device.audio[s])return{url:n,type:s}}return null},o.register("audio",function(t,e,i,n){var s,r=this.systems.game,o=r.config.audio,a=r.device.audio;if(o&&o.noAudio||!a.webAudio&&!a.audioData)return this;if(Array.isArray(t))for(var h=0;h<t.length;h++)(s=u.create(this,t[h]))&&this.addFile(s);else(s=u.create(this,t,e,i,n))&&this.addFile(s);return this}),t.exports=u},function(t,e,i){var n=i(140);t.exports=function(t,e){var i=n(e,t.xhrSettings),s=new XMLHttpRequest;return s.open("GET",t.src,i.async,i.user,i.password),s.responseType=t.xhrSettings.responseType,s.timeout=i.timeout,i.header&&i.headerValue&&s.setRequestHeader(i.header,i.headerValue),i.requestedWith&&s.setRequestHeader("X-Requested-With",i.requestedWith),i.overrideMimeType&&s.overrideMimeType(i.overrideMimeType),s.onload=t.onLoad.bind(t,s),s.onerror=t.onError.bind(t),s.onprogress=t.onProgress.bind(t),s.send(),s}},function(t,e,i){var n=i(0),s=i(2),r=i(605),o=i(603),a=new n({initialize:function(t,e,i){if(void 0===i&&(i={}),e.length<2)return!1;this.manager=t,this.enabled=!0,this.keyCodes=[];for(var n=0;n<e.length;n++){var a=e[n];"string"==typeof a?this.keyCodes.push(a.toUpperCase().charCodeAt(0)):"number"==typeof a?this.keyCodes.push(a):a.hasOwnProperty("keyCode")&&this.keyCodes.push(a.keyCode)}this.current=this.keyCodes[0],this.index=0,this.size=this.keyCodes.length,this.timeLastMatched=0,this.matched=!1,this.timeMatched=0,this.resetOnWrongKey=s(i,"resetOnWrongKey",!0),this.maxKeyDelay=s(i,"maxKeyDelay",0),this.resetOnMatch=s(i,"resetOnMatch",!1),this.deleteOnMatch=s(i,"deleteOnMatch",!1);var h=this,l=function(t){!h.matched&&h.enabled&&(r(t,h)&&(h.manager.emit("keycombomatch",h,t),h.resetOnMatch?o(h):h.deleteOnMatch&&h.destroy()))};this.onKeyDown=l,this.manager.on("keydown",l)},progress:{get:function(){return this.index/this.size}},destroy:function(){this.enabled=!1,this.keyCodes=[],this.manager.off("keydown",this.onKeyDown),this.manager=null}});t.exports=a},function(t,e,i){var n=new(i(0))({initialize:function(t){this.keyCode=t,this.originalEvent=void 0,this.preventDefault=!0,this.enabled=!0,this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.location=0,this.timeDown=0,this.duration=0,this.timeUp=0,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1},reset:function(){return this.preventDefault=!0,this.enabled=!0,this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.timeDown=0,this.duration=0,this.timeUp=0,this.repeats=0,this._justDown=!1,this._justUp=!1,this._tick=-1,this}});t.exports=n},function(t,e,i){var n=i(259),s=i(258),r=i(0),o=i(11),a=i(3),h=new r({Extends:o,initialize:function(t,e){o.call(this),this.manager=t,this.pad=e,this.id=e.id,this.index=e.index;for(var i=[],r=0;r<e.buttons.length;r++)i.push(new s(this,r));this.buttons=i;var h=[];for(r=0;r<e.axes.length;r++)h.push(new n(this,r));this.axes=h,this.vibration=e.vibrationActuator;var l={value:0,pressed:!1};this._LCLeft=i[14]?i[14]:l,this._LCRight=i[15]?i[15]:l,this._LCTop=i[12]?i[12]:l,this._LCBottom=i[13]?i[13]:l,this._RCLeft=i[2]?i[2]:l,this._RCRight=i[1]?i[1]:l,this._RCTop=i[3]?i[3]:l,this._RCBottom=i[0]?i[0]:l,this._FBLeftTop=i[4]?i[4]:l,this._FBLeftBottom=i[6]?i[6]:l,this._FBRightTop=i[5]?i[5]:l,this._FBRightBottom=i[7]?i[7]:l;var u={value:0};this._HAxisLeft=h[0]?h[0]:u,this._VAxisLeft=h[1]?h[1]:u,this._HAxisRight=h[2]?h[2]:u,this._VAxisRight=h[3]?h[3]:u,this.leftStick=new a,this.rightStick=new a},getAxisTotal:function(){return this.axes.length},getAxisValue:function(t){return this.axes[t].getValue()},setAxisThreshold:function(t){for(var e=0;e<this.axes.length;e++)this.axes[e].threshold=t},getButtonTotal:function(){return this.buttons.length},getButtonValue:function(t){return this.buttons[t].value},isButtonDown:function(t){return this.buttons[t].pressed},update:function(t){var e,i=this.buttons,n=t.buttons,s=i.length;for(e=0;e<s;e++)i[e].update(n[e].value);var r=this.axes,o=t.axes;for(s=r.length,e=0;e<s;e++)r[e].update(o[e]);s>=2&&(this.leftStick.set(r[0].getValue(),r[1].getValue()),s>=4&&this.rightStick.set(r[2].getValue(),r[3].getValue()))},destroy:function(){var t;for(this.removeAllListeners(),this.manager=null,this.pad=null,t=0;t<this.buttons.length;t++)this.buttons[t].destroy();for(t=0;t<this.axes.length;t++)this.axes[t].destroy();this.buttons=[],this.axes=[]},connected:{get:function(){return this.pad.connected}},timestamp:{get:function(){return this.pad.timestamp}},left:{get:function(){return this._LCLeft.pressed}},right:{get:function(){return this._LCRight.pressed}},up:{get:function(){return this._LCTop.pressed}},down:{get:function(){return this._LCBottom.pressed}},A:{get:function(){return this._RCBottom.pressed}},Y:{get:function(){return this._RCTop.pressed}},X:{get:function(){return this._RCLeft.pressed}},B:{get:function(){return this._RCRight.pressed}},L1:{get:function(){return this._FBLeftTop.value}},L2:{get:function(){return this._FBLeftBottom.value}},R1:{get:function(){return this._FBRightTop.value}},R2:{get:function(){return this._FBRightBottom.value}}});t.exports=h},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.pad=t,this.events=t.manager,this.index=e,this.value=0,this.threshold=1,this.pressed=!1},update:function(t){this.value=t;var e=this.pad,i=this.index;t>=this.threshold?this.pressed||(this.pressed=!0,this.events.emit("down",e,this,t),this.pad.emit("down",i,t,this)):this.pressed&&(this.pressed=!1,this.events.emit("up",e,this,t),this.pad.emit("up",i,t,this))},destroy:function(){this.pad=null,this.events=null}});t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.pad=t,this.events=t.events,this.index=e,this.value=0,this.threshold=.1},update:function(t){this.value=t},getValue:function(){return Math.abs(this.value)<this.threshold?0:this.value},destroy:function(){this.pad=null,this.events=null}});t.exports=n},function(t,e){t.exports=function(t,e,i){return{gameObject:t,enabled:!0,draggable:!1,dropZone:!1,cursor:!1,target:null,camera:null,hitArea:e,hitAreaCallback:i,localX:0,localY:0,dragState:0,dragStartX:0,dragStartY:0,dragX:0,dragY:0}}},function(t,e,i){var n=i(6);function s(t,e,i,n){var s=t-i,r=e-n,o=s*s+r*r;return Math.sqrt(o)}t.exports=function(t,e){void 0===e&&(e=new n);var i=t.x1,r=t.y1,o=t.x2,a=t.y2,h=t.x3,l=t.y3,u=s(h,l,o,a),c=s(i,r,h,l),d=s(o,a,i,r),f=u+c+d;return e.x=(i*u+o*c+h*d)/f,e.y=(r*u+a*c+l*d)/f,e}},function(t,e){t.exports=function(t,e,i){return t.x1+=e,t.y1+=i,t.x2+=e,t.y2+=i,t.x3+=e,t.y3+=i,t}},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=(t.x1+t.x2+t.x3)/3,e.y=(t.y1+t.y2+t.y3)/3,e}},function(t,e){t.exports=function(t,e){return!(e.width*e.height>t.width*t.height)&&e.x>t.x&&e.x<t.right&&e.right>t.x&&e.right<t.right&&e.y>t.y&&e.y<t.bottom&&e.bottom>t.y&&e.bottom<t.bottom}},function(t,e,i){var n=i(9);n.Area=i(656),n.Ceil=i(655),n.CeilAll=i(654),n.CenterOn=i(175),n.Clone=i(653),n.Contains=i(39),n.ContainsPoint=i(652),n.ContainsRect=i(264),n.CopyFrom=i(651),n.Decompose=i(270),n.Equals=i(650),n.FitInside=i(649),n.FitOutside=i(648),n.Floor=i(647),n.FloorAll=i(646),n.FromPoints=i(173),n.GetAspectRatio=i(145),n.GetCenter=i(645),n.GetPoint=i(190),n.GetPoints=i(398),n.GetSize=i(644),n.Inflate=i(643),n.Intersection=i(642),n.MarchingAnts=i(388),n.MergePoints=i(641),n.MergeRect=i(640),n.MergeXY=i(639),n.Offset=i(638),n.OffsetPoint=i(637),n.Overlaps=i(636),n.Perimeter=i(124),n.PerimeterPoint=i(635),n.Random=i(187),n.RandomOutside=i(634),n.SameDimensions=i(633),n.Scale=i(632),n.Union=i(309),t.exports=n},function(t,e){t.exports=function(t){return t.x*t.x+t.y*t.y}},function(t,e){t.exports=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)}},function(t,e,i){var n=i(16),s=i(53),r=i(68);t.exports=function(t){var e=r(t)-n.TAU;return s(e,-Math.PI,Math.PI)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=[]),e.push({x:t.x1,y:t.y1}),e.push({x:t.x2,y:t.y2}),e.push({x:t.x3,y:t.y3}),e}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=[]),e.push({x:t.x,y:t.y}),e.push({x:t.right,y:t.y}),e.push({x:t.right,y:t.bottom}),e.push({x:t.x,y:t.bottom}),e}},function(t,e){t.exports=function(t,e){return(t.x-e.x1)*(e.y2-e.y1)==(e.x2-e.x1)*(t.y-e.y1)}},function(t,e,i){var n=i(40),s=new(i(6));t.exports=function(t,e,i){if(void 0===i&&(i=s),n(e,t.x1,t.y1))return i.x=t.x1,i.y=t.y1,!0;if(n(e,t.x2,t.y2))return i.x=t.x2,i.y=t.y2,!0;var r=t.x2-t.x1,o=t.y2-t.y1,a=e.x-t.x1,h=e.y-t.y1,l=r*r+o*o,u=r,c=o;if(l>0){var d=(a*r+h*o)/l;u*=d,c*=d}return i.x=t.x1+u,i.y=t.y1+c,u*u+c*c<=l&&u*r+c*o>=0&&n(e,i.x,i.y)}},function(t,e,i){t.exports={CircleToCircle:i(703),CircleToRectangle:i(702),GetRectangleIntersection:i(701),LineToCircle:i(272),LineToLine:i(107),LineToRectangle:i(700),PointToLine:i(271),PointToLineSegment:i(699),RectangleToRectangle:i(148),RectangleToTriangle:i(698),RectangleToValues:i(697),TriangleToCircle:i(696),TriangleToLine:i(695),TriangleToTriangle:i(694)}},function(t,e,i){t.exports={Circle:i(723),Ellipse:i(713),Intersects:i(273),Line:i(693),Point:i(675),Polygon:i(661),Rectangle:i(265),Triangle:i(631)}},function(t,e,i){var n=i(0),s=i(276),r=i(10),o=new n({initialize:function(){this.lightPool=[],this.lights=[],this.culledLights=[],this.ambientColor={r:.1,g:.1,b:.1},this.active=!1,this.maxLights=-1},enable:function(){return-1===this.maxLights&&(this.maxLights=this.scene.sys.game.renderer.config.maxLights),this.active=!0,this},disable:function(){return this.active=!1,this},cull:function(t){var e=this.lights,i=this.culledLights,n=e.length,s=t.x+t.width/2,r=t.y+t.height/2,o=(t.width+t.height)/2,a={x:0,y:0},h=t.matrix,l=this.systems.game.config.height;i.length=0;for(var u=0;u<n&&i.length<this.maxLights;u++){var c=e[u];h.transformPoint(c.x,c.y,a);var d=s-(a.x-t.scrollX*c.scrollFactorX*t.zoom),f=r-(l-(a.y-t.scrollY*c.scrollFactorY*t.zoom));Math.sqrt(d*d+f*f)<c.radius+o&&i.push(e[u])}return i},forEachLight:function(t){if(t){for(var e=this.lights,i=e.length,n=0;n<i;++n)t(e[n]);return this}},setAmbientColor:function(t){var e=r.getFloatsFromUintRGB(t);return this.ambientColor.r=e[0],this.ambientColor.g=e[1],this.ambientColor.b=e[2],this},getMaxVisibleLights:function(){return 10},getLightCount:function(){return this.lights.length},addLight:function(t,e,i,n,o){var a,h=null;return t=void 0===t?0:t,e=void 0===e?0:e,n=void 0===n?16777215:n,i=void 0===i?100:i,o=void 0===o?1:o,a=r.getFloatsFromUintRGB(n),h=null,this.lightPool.length>0?(h=this.lightPool.pop()).set(t,e,i,a[0],a[1],a[2],o):h=new s(t,e,i,a[0],a[1],a[2],o),this.lights.push(h),h},removeLight:function(t){var e=this.lights.indexOf(t);return e>=0&&(this.lightPool.push(t),this.lights.splice(e,1)),this},shutdown:function(){for(;this.lights.length>0;)this.lightPool.push(this.lights.pop());this.ambientColor={r:.1,g:.1,b:.1},this.culledLights.length=0,this.lights.length=0},destroy:function(){this.shutdown()}});t.exports=o},function(t,e,i){var n=i(0),s=i(10),r=new n({initialize:function(t,e,i,n,s,r,o){this.x=t,this.y=e,this.radius=i,this.r=n,this.g=s,this.b=r,this.intensity=o,this.scrollFactorX=1,this.scrollFactorY=1},set:function(t,e,i,n,s,r,o){return this.x=t,this.y=e,this.radius=i,this.r=n,this.g=s,this.b=r,this.intensity=o,this.scrollFactorX=1,this.scrollFactorY=1,this},setScrollFactor:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.scrollFactorX=t,this.scrollFactorY=e,this},setColor:function(t){var e=s.getFloatsFromUintRGB(t);return this.r=e[0],this.g=e[1],this.b=e[2],this},setIntensity:function(t){return this.intensity=t,this},setPosition:function(t,e){return this.x=t,this.y=e,this},setRadius:function(t){return this.radius=t,this}});t.exports=r},function(t,e,i){var n=i(65),s=i(6);t.exports=function(t,e,i,r){void 0===r&&(r=[]);var o=t.getLineA(),a=t.getLineB(),h=t.getLineC(),l=n(o),u=n(a),c=n(h),d=l+u+c;e||(e=d/i);for(var f=0;f<e;f++){var p=d*(f/e),g=0,v=new s;p<l?(g=p/l,v.x=o.x1+(o.x2-o.x1)*g,v.y=o.y1+(o.y2-o.y1)*g):p>l+u?(g=(p-=l+u)/c,v.x=h.x1+(h.x2-h.x1)*g,v.y=h.y1+(h.y2-h.y1)*g):(g=(p-=l)/u,v.x=a.x1+(a.x2-a.x1)*g,v.y=a.y1+(a.y2-a.y1)*g),r.push(v)}return r}},function(t,e,i){var n=i(6),s=i(65);t.exports=function(t,e,i){void 0===i&&(i=new n);var r=t.getLineA(),o=t.getLineB(),a=t.getLineC();if(e<=0||e>=1)return i.x=r.x1,i.y=r.y1,i;var h=s(r),l=s(o),u=s(a),c=(h+l+u)*e,d=0;return c<h?(d=c/h,i.x=r.x1+(r.x2-r.x1)*d,i.y=r.y1+(r.y2-r.y1)*d):c>h+l?(d=(c-=h+l)/u,i.x=a.x1+(a.x2-a.x1)*d,i.y=a.y1+(a.y2-a.y1)*d):(d=(c-=h)/l,i.x=o.x1+(o.x2-o.x1)*d,i.y=o.y1+(o.y2-o.y1)*d),i}},function(t,e,i){var n=i(0),s=i(27),r=i(59),o=i(772),a=new n({Extends:s,Mixins:[o],initialize:function(t,e,i,n,o,a,h,l,u,c,d){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=128),void 0===a&&(a=64),void 0===h&&(h=0),void 0===l&&(l=128),void 0===u&&(u=128),s.call(this,t,"Triangle",new r(n,o,a,h,l,u));var f=this.geom.right-this.geom.left,p=this.geom.bottom-this.geom.top;this.setPosition(e,i),this.setSize(f,p),void 0!==c&&this.setFillStyle(c,d),this.updateDisplayOrigin(),this.updateData()},setTo:function(t,e,i,n,s,r){return this.geom.setTo(t,e,i,n,s,r),this.updateData()},updateData:function(){var t=[],e=this.geom,i=this._tempLine;return e.getLineA(i),t.push(i.x1,i.y1,i.x2,i.y2),e.getLineB(i),t.push(i.x2,i.y2),e.getLineC(i),t.push(i.x2,i.y2),this.pathData=t,this}});t.exports=a},function(t,e,i){var n=i(775),s=i(0),r=i(64),o=i(27),a=new s({Extends:o,Mixins:[n],initialize:function(t,e,i,n,s,r,a,h){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=5),void 0===s&&(s=32),void 0===r&&(r=64),o.call(this,t,"Star",null),this._points=n,this._innerRadius=s,this._outerRadius=r,this.setPosition(e,i),this.setSize(2*r,2*r),void 0!==a&&this.setFillStyle(a,h),this.updateDisplayOrigin(),this.updateData()},setPoints:function(t){return this._points=t,this.updateData()},setInnerRadius:function(t){return this._innerRadius=t,this.updateData()},setOuterRadius:function(t){return this._outerRadius=t,this.updateData()},points:{get:function(){return this._points},set:function(t){this._points=t,this.updateData()}},innerRadius:{get:function(){return this._innerRadius},set:function(t){this._innerRadius=t,this.updateData()}},outerRadius:{get:function(){return this._outerRadius},set:function(t){this._outerRadius=t,this.updateData()}},updateData:function(){var t=[],e=this._points,i=this._innerRadius,n=this._outerRadius,s=Math.PI/2*3,o=Math.PI/e,a=n,h=n;t.push(a,h+-n);for(var l=0;l<e;l++)t.push(a+Math.cos(s)*n,h+Math.sin(s)*n),s+=o,t.push(a+Math.cos(s)*i,h+Math.sin(s)*i),s+=o;return t.push(a,h+-n),this.pathIndexes=r(t),this.pathData=t,this}});t.exports=a},function(t,e,i){var n=i(0),s=i(9),r=i(27),o=i(778),a=new n({Extends:r,Mixins:[o],initialize:function(t,e,i,n,o,a,h){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=128),void 0===o&&(o=128),r.call(this,t,"Rectangle",new s(0,0,n,o)),this.setPosition(e,i),this.setSize(n,o),void 0!==a&&this.setFillStyle(a,h),this.updateDisplayOrigin(),this.updateData()},updateData:function(){var t=[],e=this.geom,i=this._tempLine;return e.getLineA(i),t.push(i.x1,i.y1,i.x2,i.y2),e.getLineB(i),t.push(i.x2,i.y2),e.getLineC(i),t.push(i.x2,i.y2),e.getLineD(i),t.push(i.x2,i.y2),this.pathData=t,this}});t.exports=a},function(t,e){var i=function(t,e){return t[0]=e[0],t[1]=e[1],t};t.exports=function(t){var e,n=[],s=t.points;for(e=0;e<s.length;e++)n.push([s[e].x,s[e].y]);var r=[];for(n.length>0&&r.push(i([0,0],n[0])),e=0;e<n.length-1;e++){var o=n[e],a=n[e+1],h=o[0],l=o[1],u=a[0],c=a[1];r.push([.85*h+.15*u,.85*l+.15*c]),r.push([.15*h+.85*u,.15*l+.85*c])}return n.length>1&&r.push(i([0,0],n[n.length-1])),t.setTo(r)}},function(t,e,i){var n=i(65),s=i(54);t.exports=function(t){for(var e=t.points,i=0,r=0;r<e.length;r++){var o=e[r],a=e[(r+1)%e.length],h=new s(o.x,o.y,a.x,a.y);i+=n(h)}return i}},function(t,e,i){var n=i(65),s=i(54),r=i(283);t.exports=function(t,e,i,o){void 0===o&&(o=[]);var a=t.points,h=r(t);e||(e=h/i);for(var l=0;l<e;l++)for(var u=h*(l/e),c=0,d=0;d<a.length;d++){var f=a[d],p=a[(d+1)%a.length],g=new s(f.x,f.y,p.x,p.y),v=n(g);if(!(u<c||u>c+v)){var y=g.getPoint((u-c)/v);o.push(y);break}c+=v}return o}},function(t,e,i){var n=i(9);t.exports=function(t,e){void 0===e&&(e=new n);for(var i,s=1/0,r=1/0,o=-s,a=-r,h=0;h<t.points.length;h++)i=t.points[h],s=Math.min(s,i.x),r=Math.min(r,i.y),o=Math.max(o,i.x),a=Math.max(a,i.y);return e.x=s,e.y=r,e.width=o-s,e.height=a-r,e}},function(t,e,i){var n=i(781),s=i(0),r=i(64),o=i(285),a=i(151),h=i(27),l=i(282),u=new s({Extends:h,Mixins:[n],initialize:function(t,e,i,n,s,r){void 0===e&&(e=0),void 0===i&&(i=0),h.call(this,t,"Polygon",new a(n));var l=o(this.geom);this.setPosition(e,i),this.setSize(l.width,l.height),void 0!==s&&this.setFillStyle(s,r),this.updateDisplayOrigin(),this.updateData()},smooth:function(t){void 0===t&&(t=1);for(var e=0;e<t;e++)l(this.geom);return this.updateData()},updateData:function(){for(var t=[],e=this.geom.points,i=0;i<e.length;i++)t.push(e[i].x,e[i].y);return t.push(e[0].x,e[0].y),this.pathIndexes=r(t),this.pathData=t,this}});t.exports=u},function(t,e,i){var n=i(0),s=i(27),r=i(54),o=i(784),a=new n({Extends:s,Mixins:[o],initialize:function(t,e,i,n,o,a,h,l,u){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=0),void 0===a&&(a=128),void 0===h&&(h=0),s.call(this,t,"Line",new r(n,o,a,h));var c=this.geom.right-this.geom.left,d=this.geom.bottom-this.geom.top;this.lineWidth=1,this._startWidth=1,this._endWidth=1,this.setPosition(e,i),this.setSize(c,d),void 0!==l&&this.setStrokeStyle(1,l,u),this.updateDisplayOrigin()},setLineWidth:function(t,e){return void 0===e&&(e=t),this._startWidth=t,this._endWidth=e,this.lineWidth=t,this},setTo:function(t,e,i,n){return this.geom.setTo(t,e,i,n),this}});t.exports=a},function(t,e,i){var n=i(0),s=i(787),r=i(27),o=new n({Extends:r,Mixins:[s],initialize:function(t,e,i,n,s,o,a,h,l){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=48),void 0===s&&(s=32),void 0===o&&(o=!1),void 0===a&&(a=15658734),void 0===h&&(h=10066329),void 0===l&&(l=13421772),r.call(this,t,"IsoTriangle",null),this.projection=4,this.fillTop=a,this.fillLeft=h,this.fillRight=l,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isReversed=o,this.isFilled=!0,this.setPosition(e,i),this.setSize(n,s),this.updateDisplayOrigin()},setProjection:function(t){return this.projection=t,this},setReversed:function(t){return this.isReversed=t,this},setFaces:function(t,e,i){return void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i&&(i=!0),this.showTop=t,this.showLeft=e,this.showRight=i,this},setFillStyle:function(t,e,i){return this.fillTop=t,this.fillLeft=e,this.fillRight=i,this.isFilled=!0,this}});t.exports=o},function(t,e,i){var n=i(790),s=i(0),r=i(27),o=new s({Extends:r,Mixins:[n],initialize:function(t,e,i,n,s,o,a,h){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=48),void 0===s&&(s=32),void 0===o&&(o=15658734),void 0===a&&(a=10066329),void 0===h&&(h=13421772),r.call(this,t,"IsoBox",null),this.projection=4,this.fillTop=o,this.fillLeft=a,this.fillRight=h,this.showTop=!0,this.showLeft=!0,this.showRight=!0,this.isFilled=!0,this.setPosition(e,i),this.setSize(n,s),this.updateDisplayOrigin()},setProjection:function(t){return this.projection=t,this},setFaces:function(t,e,i){return void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i&&(i=!0),this.showTop=t,this.showLeft=e,this.showRight=i,this},setFillStyle:function(t,e,i){return this.fillTop=t,this.fillLeft=e,this.fillRight=i,this.isFilled=!0,this}});t.exports=o},function(t,e,i){var n=i(0),s=i(27),r=i(793),o=new n({Extends:s,Mixins:[r],initialize:function(t,e,i,n,r,o,a,h,l,u,c){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=128),void 0===r&&(r=128),void 0===o&&(o=32),void 0===a&&(a=32),s.call(this,t,"Grid",null),this.cellWidth=o,this.cellHeight=a,this.showCells=!0,this.outlineFillColor=0,this.outlineFillAlpha=0,this.showOutline=!0,this.showAltCells=!1,this.altFillColor,this.altFillAlpha,this.setPosition(e,i),this.setSize(n,r),void 0!==h&&this.setFillStyle(h,l),void 0!==u&&this.setOutlineStyle(u,c),this.updateDisplayOrigin()},setFillStyle:function(t,e){return void 0===e&&(e=1),void 0===t?this.showCells=!1:(this.fillColor=t,this.fillAlpha=e,this.showCells=!0),this},setAltFillStyle:function(t,e){return void 0===e&&(e=1),void 0===t?this.showAltCells=!1:(this.altFillColor=t,this.altFillAlpha=e,this.showAltCells=!0),this},setOutlineStyle:function(t,e){return void 0===e&&(e=1),void 0===t?this.showOutline=!1:(this.outlineFillColor=t,this.outlineFillAlpha=e,this.showOutline=!0),this}});t.exports=o},function(t,e,i){var n=i(0),s=i(64),r=i(796),o=i(90),a=i(27),h=new n({Extends:a,Mixins:[r],initialize:function(t,e,i,n,s,r,h){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=128),void 0===s&&(s=128),a.call(this,t,"Ellipse",new o(n/2,s/2,n,s)),this._smoothness=64,this.setPosition(e,i),this.width=n,this.height=s,void 0!==r&&this.setFillStyle(r,h),this.updateDisplayOrigin(),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(t){this._smoothness=t,this.updateData()}},setSize:function(t,e){return this.geom.setSize(t,e),this.updateData()},setSmoothness:function(t){return this._smoothness=t,this.updateData()},updateData:function(){for(var t=[],e=this.geom.getPoints(this._smoothness),i=0;i<e.length;i++)t.push(e[i].x,e[i].y);return t.push(e[0].x,e[0].y),this.pathIndexes=s(t),this.pathData=t,this}});t.exports=h},function(t,e,i){var n=i(0),s=i(799),r=i(64),o=i(9),a=i(27),h=new n({Extends:a,Mixins:[s],initialize:function(t,e,i,n,s,r){void 0===e&&(e=0),void 0===i&&(i=0),a.call(this,t,"Curve",n),this._smoothness=32,this._curveBounds=new o,this.closePath=!1,this.setPosition(e,i),void 0!==s&&this.setFillStyle(s,r),this.updateData()},smoothness:{get:function(){return this._smoothness},set:function(t){this._smoothness=t,this.updateData()}},setSmoothness:function(t){return this._smoothness=t,this.updateData()},updateData:function(){var t=this._curveBounds,e=this._smoothness;this.geom.getBounds(t,e),this.setSize(t.width,t.height),this.updateDisplayOrigin();for(var i=[],n=this.geom.getPoints(e),s=0;s<n.length;s++)i.push(n[s].x,n[s].y);return i.push(n[0].x,n[0].y),this.pathIndexes=r(i),this.pathData=i,this}});t.exports=h},function(t,e,i){var n=i(802),s=i(0),r=i(31),o=i(64),a=i(71),h=i(16),l=i(27),u=new s({Extends:l,Mixins:[n],initialize:function(t,e,i,n,s,r,o,h,u){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=128),void 0===s&&(s=0),void 0===r&&(r=360),void 0===o&&(o=!1),l.call(this,t,"Arc",new a(0,0,n)),this._startAngle=s,this._endAngle=r,this._anticlockwise=o,this._iterations=.01,this.setPosition(e,i),this.setSize(this.geom.radius,this.geom.radius),void 0!==h&&this.setFillStyle(h,u),this.updateDisplayOrigin(),this.updateData()},iterations:{get:function(){return this._iterations},set:function(t){this._iterations=t,this.updateData()}},radius:{get:function(){return this.geom.radius},set:function(t){this.geom.radius=t,this.updateData()}},startAngle:{get:function(){return this._startAngle},set:function(t){this._startAngle=t,this.updateData()}},endAngle:{get:function(){return this._endAngle},set:function(t){this._endAngle=t,this.updateData()}},anticlockwise:{get:function(){return this._anticlockwise},set:function(t){this._anticlockwise=t,this.updateData()}},setRadius:function(t){return this.radius=t,this},setIterations:function(t){return void 0===t&&(t=.01),this.iterations=t,this},setStartAngle:function(t,e){return this._startAngle=t,void 0!==e&&(this._anticlockwise=e),this.updateData()},setEndAngle:function(t,e){return this._endAngle=t,void 0!==e&&(this._anticlockwise=e),this.updateData()},updateData:function(){var t=this._iterations,e=t,i=this.geom.radius,n=r(this._startAngle),s=r(this._endAngle),a=i/2,l=i/2;s-=n,this._anticlockwise?s<-h.PI2?s=-h.PI2:s>0&&(s=-h.PI2+s%h.PI2):s>h.PI2?s=h.PI2:s<0&&(s=h.PI2+s%h.PI2);for(var u,c=[a+Math.cos(n)*i,l+Math.sin(n)*i];e<1;)u=s*e+n,c.push(a+Math.cos(u)*i,l+Math.sin(u)*i),e+=t;return u=s+n,c.push(a+Math.cos(u)*i,l+Math.sin(u)*i),c.push(a+Math.cos(n)*i,l+Math.sin(n)*i),this.pathIndexes=o(c),this.pathData=c,this}});t.exports=u},function(t,e){t.exports=function(t){var e=Math.log(t)/.6931471805599453;return 1<<Math.ceil(e)}},function(t,e){t.exports=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}},function(t,e,i){var n=i(0),s=i(31),r=i(84),o=i(4),a=i(61),h=i(83),l=i(3),u=new n({Extends:a,initialize:function(t,e,i,n,s,r){a.call(this,t,i,n,s,r),this.path=e,this.rotateToPath=!1,this.pathRotationVerticalAdjust=!1,this.pathRotationOffset=0,this.pathOffset=new l(i,n),this.pathVector=new l,this.pathTween,this.pathConfig=null,this._prevDirection=h.PLAYING_FORWARD},setPath:function(t,e){void 0===e&&(e=this.pathConfig);var i=this.pathTween;return i&&i.isPlaying()&&i.stop(),this.path=t,e&&this.startFollow(e),this},setRotateToPath:function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=!1),this.rotateToPath=t,this.pathRotationOffset=e,this.pathRotationVerticalAdjust=i,this},isFollowing:function(){var t=this.pathTween;return t&&t.isPlaying()},startFollow:function(t,e){void 0===t&&(t={}),void 0===e&&(e=0);var i=this.pathTween;i&&i.isPlaying()&&i.stop(),"number"==typeof t&&(t={duration:t}),t.from=0,t.to=1;var n=r(t,"positionOnPath",!1);if(this.rotateToPath=r(t,"rotateToPath",!1),this.pathRotationOffset=o(t,"rotationOffset",0),this.pathRotationVerticalAdjust=r(t,"verticalAdjust",!1),this.pathTween=this.scene.sys.tweens.addCounter(t),this.path.getStartPoint(this.pathOffset),n&&(this.x=this.pathOffset.x,this.y=this.pathOffset.y),this.pathOffset.x=this.x-this.pathOffset.x,this.pathOffset.y=this.y-this.pathOffset.y,this._prevDirection=h.PLAYING_FORWARD,this.rotateToPath){var a=this.path.getPoint(.1);this.rotation=Math.atan2(a.y-this.y,a.x-this.x)+s(this.pathRotationOffset)}return this.pathConfig=t,this},pauseFollow:function(){var t=this.pathTween;return t&&t.isPlaying()&&t.pause(),this},resumeFollow:function(){var t=this.pathTween;return t&&t.isPaused()&&t.resume(),this},stopFollow:function(){var t=this.pathTween;return t&&t.isPlaying()&&t.stop(),this},preUpdate:function(t,e){this.anims.update(t,e);var i=this.pathTween;if(i){var n=i.data[0];if(n.state!==h.PLAYING_FORWARD&&n.state!==h.PLAYING_BACKWARD)return;var r=this.pathVector;this.path.getPoint(i.getValue(),r),r.add(this.pathOffset);var o=this.x,a=this.y;this.setPosition(r.x,r.y);var l=this.x-o,u=this.y-a;if(0===l&&0===u)return;if(n.state!==this._prevDirection)return void(this._prevDirection=n.state);this.rotateToPath&&(this.rotation=Math.atan2(u,l)+s(this.pathRotationOffset),this.pathRotationVerticalAdjust&&(this.flipY=0!==this.rotation&&n.state===h.PLAYING_BACKWARD))}}});t.exports=u},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t){this.source=t,this._tempVec=new s},getPoint:function(t){var e=this._tempVec;this.source.getRandomPoint(e),t.x=e.x,t.y=e.y}});t.exports=r},function(t,e){t.exports=function(t,e){for(var i=0;i<e.length;i++)if(t.hasOwnProperty(e[i]))return!0;return!1}},function(t,e){t.exports=function(t,e){return Math.random()*(e-t)+t}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s){void 0===n&&(n=!1),void 0===s&&(s=!0),this.source=t,this.points=[],this.quantity=e,this.stepRate=i,this.yoyo=n,this.counter=-1,this.seamless=s,this._length=0,this._direction=0,this.updateSource()},updateSource:function(){if(this.points=this.source.getPoints(this.quantity,this.stepRate),this.seamless){var t=this.points[0],e=this.points[this.points.length-1];t.x===e.x&&t.y===e.y&&this.points.pop()}var i=this._length;return this._length=this.points.length,this._length<i&&this.counter>this._length&&(this.counter=this._length-1),this},changeSource:function(t){return this.source=t,this.updateSource()},getPoint:function(t){0===this._direction?(this.counter++,this.counter>=this._length&&(this.yoyo?(this._direction=1,this.counter=this._length-1):this.counter=0)):(this.counter--,-1===this.counter&&(this.yoyo?(this._direction=0,this.counter=0):this.counter=this._length-1));var e=this.points[this.counter];e&&(t.x=e.x,t.y=e.y)}});t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.source=t,this.killOnEnter=e},willKill:function(t){var e=this.source.contains(t.x,t.y);return e&&this.killOnEnter||!e&&!this.killOnEnter}});t.exports=n},function(t,e,i){var n=i(66),s=i(0),r=i(14),o=i(301),a=i(300),h=i(822),l=i(2),u=i(162),c=i(298),d=i(85),f=i(303),p=i(297),g=i(9),v=i(110),y=i(3),m=i(53),x=new s({Mixins:[r.BlendMode,r.Mask,r.ScrollFactor,r.Visible],initialize:function(t,e){this.manager=t,this.texture=t.texture,this.frames=[t.defaultFrame],this.defaultFrame=t.defaultFrame,this.configFastMap=["active","blendMode","collideBottom","collideLeft","collideRight","collideTop","deathCallback","deathCallbackScope","emitCallback","emitCallbackScope","follow","frequency","gravityX","gravityY","maxParticles","name","on","particleBringToTop","particleClass","radial","timeScale","trackVisible","visible"],this.configOpMap=["accelerationX","accelerationY","angle","alpha","bounce","delay","lifespan","maxVelocityX","maxVelocityY","moveToX","moveToY","quantity","rotate","scaleX","scaleY","speedX","speedY","tint","x","y"],this.name="",this.particleClass=f,this.x=new h(e,"x",0),this.y=new h(e,"y",0),this.radial=!0,this.gravityX=0,this.gravityY=0,this.acceleration=!1,this.accelerationX=new h(e,"accelerationX",0,!0),this.accelerationY=new h(e,"accelerationY",0,!0),this.maxVelocityX=new h(e,"maxVelocityX",1e4,!0),this.maxVelocityY=new h(e,"maxVelocityY",1e4,!0),this.speedX=new h(e,"speedX",0,!0),this.speedY=new h(e,"speedY",0,!0),this.moveTo=!1,this.moveToX=new h(e,"moveToX",0,!0),this.moveToY=new h(e,"moveToY",0,!0),this.bounce=new h(e,"bounce",0,!0),this.scaleX=new h(e,"scaleX",1),this.scaleY=new h(e,"scaleY",1),this.tint=new h(e,"tint",4294967295),this.alpha=new h(e,"alpha",1),this.lifespan=new h(e,"lifespan",1e3),this.angle=new h(e,"angle",{min:0,max:360}),this.rotate=new h(e,"rotate",0),this.emitCallback=null,this.emitCallbackScope=null,this.deathCallback=null,this.deathCallbackScope=null,this.maxParticles=0,this.quantity=new h(e,"quantity",1,!0),this.delay=new h(e,"delay",0,!0),this.frequency=0,this.on=!0,this.particleBringToTop=!0,this.timeScale=1,this.emitZone=null,this.deathZone=null,this.bounds=null,this.collideLeft=!0,this.collideRight=!0,this.collideTop=!0,this.collideBottom=!0,this.active=!0,this.visible=!0,this.blendMode=n.NORMAL,this.follow=null,this.followOffset=new y,this.trackVisible=!1,this.currentFrame=0,this.randomFrame=!0,this.frameQuantity=1,this.dead=[],this.alive=[],this._counter=0,this._frameCounter=0,e&&this.fromJSON(e)},fromJSON:function(t){if(!t)return this;var e=0,i="";for(e=0;e<this.configFastMap.length;e++)i=this.configFastMap[e],d(t,i)&&(this[i]=l(t,i));for(e=0;e<this.configOpMap.length;e++)i=this.configOpMap[e],d(t,i)&&this[i].loadConfig(t);if(this.acceleration=0!==this.accelerationX.propertyValue||0!==this.accelerationY.propertyValue,this.moveTo=0!==this.moveToX.propertyValue||0!==this.moveToY.propertyValue,d(t,"speed")&&(this.speedX.loadConfig(t,"speed"),this.speedY=null),(c(t,["speedX","speedY"])||this.moveTo)&&(this.radial=!1),d(t,"scale")&&(this.scaleX.loadConfig(t,"scale"),this.scaleY=null),d(t,"callbackScope")){var n=l(t,"callbackScope",null);this.emitCallbackScope=n,this.deathCallbackScope=n}return d(t,"emitZone")&&this.setEmitZone(t.emitZone),d(t,"deathZone")&&this.setDeathZone(t.deathZone),d(t,"bounds")&&this.setBounds(t.bounds),d(t,"followOffset")&&this.followOffset.setFromObject(l(t,"followOffset",0)),d(t,"frame")&&this.setFrame(t.frame),this},toJSON:function(t){void 0===t&&(t={});var e=0,i="";for(e=0;e<this.configFastMap.length;e++)t[i=this.configFastMap[e]]=this[i];for(e=0;e<this.configOpMap.length;e++)this[i=this.configOpMap[e]]&&(t[i]=this[i].toJSON());return this.speedY||(delete t.speedX,t.speed=this.speedX.toJSON()),this.scaleY||(delete t.scaleX,t.scale=this.scaleX.toJSON()),t},startFollow:function(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=!1),this.follow=t,this.followOffset.set(e,i),this.trackVisible=n,this},stopFollow:function(){return this.follow=null,this.followOffset.set(0,0),this.trackVisible=!1,this},getFrame:function(){if(1===this.frames.length)return this.defaultFrame;if(this.randomFrame)return u(this.frames);var t=this.frames[this.currentFrame];return this._frameCounter++,this._frameCounter===this.frameQuantity&&(this._frameCounter=0,this.currentFrame=m(this.currentFrame+1,0,this._frameLength)),t},setFrame:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=1),this.randomFrame=e,this.frameQuantity=i,this.currentFrame=0,this._frameCounter=0;var n=typeof t;if(Array.isArray(t)||"string"===n||"number"===n)this.manager.setEmitterFrames(t,this);else if("object"===n){var s=t;(t=l(s,"frames",null))&&this.manager.setEmitterFrames(t,this);var r=l(s,"cycle",!1);this.randomFrame=!r,this.frameQuantity=l(s,"quantity",i)}return this._frameLength=this.frames.length,1===this._frameLength&&(this.frameQuantity=1,this.randomFrame=!1),this},setRadial:function(t){return void 0===t&&(t=!0),this.radial=t,this},setPosition:function(t,e){return this.x.onChange(t),this.y.onChange(e),this},setBounds:function(t,e,i,n){if("object"==typeof t){var s=t;t=s.x,e=s.y,i=d(s,"w")?s.w:s.width,n=d(s,"h")?s.h:s.height}return this.bounds?this.bounds.setTo(t,e,i,n):this.bounds=new g(t,e,i,n),this},setSpeedX:function(t){return this.speedX.onChange(t),this.radial=!1,this},setSpeedY:function(t){return this.speedY&&(this.speedY.onChange(t),this.radial=!1),this},setSpeed:function(t){return this.speedX.onChange(t),this.speedY=null,this.radial=!0,this},setScaleX:function(t){return this.scaleX.onChange(t),this},setScaleY:function(t){return this.scaleY.onChange(t),this},setScale:function(t){return this.scaleX.onChange(t),this.scaleY=null,this},setGravityX:function(t){return this.gravityX=t,this},setGravityY:function(t){return this.gravityY=t,this},setGravity:function(t,e){return this.gravityX=t,this.gravityY=e,this},setAlpha:function(t){return this.alpha.onChange(t),this},setEmitterAngle:function(t){return this.angle.onChange(t),this},setAngle:function(t){return this.angle.onChange(t),this},setLifespan:function(t){return this.lifespan.onChange(t),this},setQuantity:function(t){return this.quantity.onChange(t),this},setFrequency:function(t,e){return this.frequency=t,this._counter=0,e&&this.quantity.onChange(e),this},setEmitZone:function(t){if(void 0===t)this.emitZone=null;else{var e=l(t,"type","random"),i=l(t,"source",null);switch(e){case"random":this.emitZone=new p(i);break;case"edge":var n=l(t,"quantity",1),s=l(t,"stepRate",0),r=l(t,"yoyo",!1),o=l(t,"seamless",!0);this.emitZone=new a(i,n,s,r,o)}}return this},setDeathZone:function(t){if(void 0===t)this.deathZone=null;else{var e=l(t,"type","onEnter"),i=l(t,"source",null);if(i&&"function"==typeof i.contains){var n="onEnter"===e;this.deathZone=new o(i,n)}}return this},reserve:function(t){for(var e=this.dead,i=0;i<t;i++)e.push(new this.particleClass(this));return this},getAliveParticleCount:function(){return this.alive.length},getDeadParticleCount:function(){return this.dead.length},getParticleCount:function(){return this.getAliveParticleCount()+this.getDeadParticleCount()},atLimit:function(){return this.maxParticles>0&&this.getParticleCount()===this.maxParticles},onParticleEmit:function(t,e){return void 0===t?(this.emitCallback=null,this.emitCallbackScope=null):"function"==typeof t&&(this.emitCallback=t,e&&(this.emitCallbackScope=e)),this},onParticleDeath:function(t,e){return void 0===t?(this.deathCallback=null,this.deathCallbackScope=null):"function"==typeof t&&(this.deathCallback=t,e&&(this.deathCallbackScope=e)),this},killAll:function(){for(var t=this.dead,e=this.alive;e.length>0;)t.push(e.pop());return this},forEachAlive:function(t,e){for(var i=this.alive,n=i.length,s=0;s<n;++s)t.call(e,i[s],this);return this},forEachDead:function(t,e){for(var i=this.dead,n=i.length,s=0;s<n;++s)t.call(e,i[s],this);return this},start:function(){return this.on=!0,this._counter=0,this},stop:function(){return this.on=!1,this},pause:function(){return this.active=!1,this},resume:function(){return this.active=!0,this},depthSort:function(){return v.inplace(this.alive,this.depthSortCallback),this},flow:function(t,e){return void 0===e&&(e=1),this.frequency=t,this.quantity.onChange(e),this.start()},explode:function(t,e,i){return this.frequency=-1,this.emitParticle(t,e,i)},emitParticleAt:function(t,e,i){return this.emitParticle(i,t,e)},emitParticle:function(t,e,i){if(!this.atLimit()){void 0===t&&(t=this.quantity.onEmit());for(var n=this.dead,s=0;s<t;s++){var r;if((r=n.length>0?n.pop():new this.particleClass(this)).fire(e,i),this.particleBringToTop?this.alive.push(r):this.alive.unshift(r),this.emitCallback&&this.emitCallback.call(this.emitCallbackScope,r,this),this.atLimit())break}return r}},preUpdate:function(t,e){var i=(e*=this.timeScale)/1e3;this.trackVisible&&(this.visible=this.follow.visible);for(var n=this.manager.getProcessors(),s=this.alive,r=s.length,o=0;o<r;o++){var a=s[o];if(a.update(e,i,n)){var h=s[r-1];s[r-1]=a,s[o]=h,o-=1,r-=1}}var l=s.length-r;if(l>0){var u=s.splice(s.length-l,l),c=this.deathCallback,d=this.deathCallbackScope;if(c)for(var f=0;f<u.length;f++)c.call(d,u[f]);this.dead.concat(u),v.inplace(s,this.indexSortCallback)}this.on&&(0===this.frequency?this.emitParticle():this.frequency>0&&(this._counter-=e,this._counter<=0&&(this.emitParticle(),this._counter=this.frequency-Math.abs(this._counter))))},depthSortCallback:function(t,e){return t.y-e.y},indexSortCallback:function(t,e){return t.index-e.index}});t.exports=x},function(t,e,i){var n=i(0),s=i(31),r=i(52),o=new n({initialize:function(t){this.emitter=t,this.frame=null,this.index=0,this.x=0,this.y=0,this.velocityX=0,this.velocityY=0,this.accelerationX=0,this.accelerationY=0,this.maxVelocityX=1e4,this.maxVelocityY=1e4,this.bounce=0,this.scaleX=1,this.scaleY=1,this.alpha=1,this.angle=0,this.rotation=0,this.tint=16777215,this.life=1e3,this.lifeCurrent=1e3,this.delayCurrent=0,this.lifeT=0,this.data={tint:{min:16777215,max:16777215,current:16777215},alpha:{min:1,max:1},rotate:{min:0,max:0},scaleX:{min:1,max:1},scaleY:{min:1,max:1}}},isAlive:function(){return this.lifeCurrent>0},fire:function(t,e){var i=this.emitter;this.frame=i.getFrame(),i.emitZone&&i.emitZone.getPoint(this),void 0===t?(i.follow&&(this.x+=i.follow.x+i.followOffset.x),this.x+=i.x.onEmit(this,"x")):this.x+=t,void 0===e?(i.follow&&(this.y+=i.follow.y+i.followOffset.y),this.y+=i.y.onEmit(this,"y")):this.y+=e,this.life=i.lifespan.onEmit(this,"lifespan"),this.lifeCurrent=this.life,this.lifeT=0;var n=i.speedX.onEmit(this,"speedX"),o=i.speedY?i.speedY.onEmit(this,"speedY"):n;if(i.radial){var a=s(i.angle.onEmit(this,"angle"));this.velocityX=Math.cos(a)*Math.abs(n),this.velocityY=Math.sin(a)*Math.abs(o)}else if(i.moveTo){var h=i.moveToX.onEmit(this,"moveToX"),l=i.moveToY?i.moveToY.onEmit(this,"moveToY"):h,u=Math.atan2(l-this.y,h-this.x),c=r(this.x,this.y,h,l)/(this.life/1e3);this.velocityX=Math.cos(u)*c,this.velocityY=Math.sin(u)*c}else this.velocityX=n,this.velocityY=o;i.acceleration&&(this.accelerationX=i.accelerationX.onEmit(this,"accelerationX"),this.accelerationY=i.accelerationY.onEmit(this,"accelerationY")),this.maxVelocityX=i.maxVelocityX.onEmit(this,"maxVelocityX"),this.maxVelocityY=i.maxVelocityY.onEmit(this,"maxVelocityY"),this.delayCurrent=i.delay.onEmit(this,"delay"),this.scaleX=i.scaleX.onEmit(this,"scaleX"),this.scaleY=i.scaleY?i.scaleY.onEmit(this,"scaleY"):this.scaleX,this.angle=i.rotate.onEmit(this,"rotate"),this.rotation=s(this.angle),this.bounce=i.bounce.onEmit(this,"bounce"),this.alpha=i.alpha.onEmit(this,"alpha"),this.tint=i.tint.onEmit(this,"tint"),this.index=i.alive.length},computeVelocity:function(t,e,i,n){var s=this.velocityX,r=this.velocityY,o=this.accelerationX,a=this.accelerationY,h=this.maxVelocityX,l=this.maxVelocityY;s+=t.gravityX*i,r+=t.gravityY*i,o&&(s+=o*i),a&&(r+=a*i),s>h?s=h:s<-h&&(s=-h),r>l?r=l:r<-l&&(r=-l),this.velocityX=s,this.velocityY=r;for(var u=0;u<n.length;u++)n[u].update(this,e,i)},checkBounds:function(t){var e=t.bounds,i=-this.bounce;this.x<e.x&&t.collideLeft?(this.x=e.x,this.velocityX*=i):this.x>e.right&&t.collideRight&&(this.x=e.right,this.velocityX*=i),this.y<e.y&&t.collideTop?(this.y=e.y,this.velocityY*=i):this.y>e.bottom&&t.collideBottom&&(this.y=e.bottom,this.velocityY*=i)},update:function(t,e,i){if(this.delayCurrent>0)return this.delayCurrent-=t,!1;var n=this.emitter,r=1-this.lifeCurrent/this.life;return this.lifeT=r,this.computeVelocity(n,t,e,i),this.x+=this.velocityX*e,this.y+=this.velocityY*e,n.bounds&&this.checkBounds(n),n.deathZone&&n.deathZone.willKill(this)?(this.lifeCurrent=0,!0):(this.scaleX=n.scaleX.onUpdate(this,"scaleX",r,this.scaleX),n.scaleY?this.scaleY=n.scaleY.onUpdate(this,"scaleY",r,this.scaleY):this.scaleY=this.scaleX,this.angle=n.rotate.onUpdate(this,"rotate",r,this.angle),this.rotation=s(this.angle),this.alpha=n.alpha.onUpdate(this,"alpha",r,this.alpha),this.tint=n.tint.onUpdate(this,"tint",r,this.tint),this.lifeCurrent-=t,this.lifeCurrent<=0)}});t.exports=o},function(t,e,i){var n=i(0),s=i(2),r=new n({initialize:function(t,e,i,n,r){if("object"==typeof t){var o=t;t=s(o,"x",0),e=s(o,"y",0),i=s(o,"power",0),n=s(o,"epsilon",100),r=s(o,"gravity",50)}else void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=100),void 0===r&&(r=50);this.x=t,this.y=e,this.active=!0,this._gravity=r,this._power=0,this._epsilon=0,this.power=i,this.epsilon=n},update:function(t,e){var i=this.x-t.x,n=this.y-t.y,s=i*i+n*n;if(0!==s){var r=Math.sqrt(s);s<this._epsilon&&(s=this._epsilon);var o=this._power*e/(s*r)*100;t.velocityX+=i*o,t.velocityY+=n*o}},epsilon:{get:function(){return Math.sqrt(this._epsilon)},set:function(t){this._epsilon=t*t}},power:{get:function(){return this._power/this._gravity},set:function(t){this._power=t*this._gravity}},gravity:{get:function(){return this._gravity},set:function(t){var e=this.power;this._gravity=t,this.power=e}}});t.exports=r},function(t,e,i){var n=i(157),s=i(22);t.exports=function(t,e,i,r,o,a,h){var l=e.commandBuffer,u=l.length,c=a||t.currentContext;if(0!==u&&s(t,c,e,r,o)){var d=1,f=1,p=0,g=0,v=1,y=0,m=0,x=0;c.save(),c.beginPath();for(var w=0;w<u;++w)switch(l[w]){case n.ARC:c.arc(l[w+1],l[w+2],l[w+3],l[w+4],l[w+5],l[w+6]),w+=7;break;case n.LINE_STYLE:v=l[w+1],p=l[w+2],d=l[w+3],y=(16711680&p)>>>16,m=(65280&p)>>>8,x=255&p,c.strokeStyle="rgba("+y+","+m+","+x+","+d+")",c.lineWidth=v,w+=3;break;case n.FILL_STYLE:g=l[w+1],f=l[w+2],y=(16711680&g)>>>16,m=(65280&g)>>>8,x=255&g,c.fillStyle="rgba("+y+","+m+","+x+","+f+")",w+=2;break;case n.BEGIN_PATH:c.beginPath();break;case n.CLOSE_PATH:c.closePath();break;case n.FILL_PATH:h||c.fill();break;case n.STROKE_PATH:h||c.stroke();break;case n.FILL_RECT:h?c.rect(l[w+1],l[w+2],l[w+3],l[w+4]):c.fillRect(l[w+1],l[w+2],l[w+3],l[w+4]),w+=4;break;case n.FILL_TRIANGLE:c.beginPath(),c.moveTo(l[w+1],l[w+2]),c.lineTo(l[w+3],l[w+4]),c.lineTo(l[w+5],l[w+6]),c.closePath(),h||c.fill(),w+=6;break;case n.STROKE_TRIANGLE:c.beginPath(),c.moveTo(l[w+1],l[w+2]),c.lineTo(l[w+3],l[w+4]),c.lineTo(l[w+5],l[w+6]),c.closePath(),h||c.stroke(),w+=6;break;case n.LINE_TO:c.lineTo(l[w+1],l[w+2]),w+=2;break;case n.MOVE_TO:c.moveTo(l[w+1],l[w+2]),w+=2;break;case n.LINE_FX_TO:c.lineTo(l[w+1],l[w+2]),w+=5;break;case n.MOVE_FX_TO:c.moveTo(l[w+1],l[w+2]),w+=5;break;case n.SAVE:c.save();break;case n.RESTORE:c.restore();break;case n.TRANSLATE:c.translate(l[w+1],l[w+2]),w+=2;break;case n.SCALE:c.scale(l[w+1],l[w+2]),w+=2;break;case n.ROTATE:c.rotate(l[w+1]),w+=1;break;case n.GRADIENT_FILL_STYLE:w+=5;break;case n.GRADIENT_LINE_STYLE:w+=6;break;case n.SET_TEXTURE:w+=2}c.restore()}}},function(t,e){t.exports=function(t){var e=t.width/2,i=t.height/2,n=Math.pow(e-i,2)/Math.pow(e+i,2);return Math.PI*(e+i)*(1+3*n/(10+Math.sqrt(4-3*n)))}},function(t,e,i){var n=i(306),s=i(156),r=i(93),o=i(16);t.exports=function(t,e,i,a){void 0===a&&(a=[]),e||(e=n(t)/i);for(var h=0;h<e;h++){var l=r(h/e,0,o.PI2);a.push(s(t,l))}return a}},function(t,e,i){var n=i(156),s=i(93),r=i(16),o=i(6);t.exports=function(t,e,i){void 0===i&&(i=new o);var a=s(e,0,r.PI2);return n(t,a,i)}},function(t,e,i){var n=i(9);t.exports=function(t,e,i){void 0===i&&(i=new n);var s=Math.min(t.x,e.x),r=Math.min(t.y,e.y),o=Math.max(t.right,e.right)-s,a=Math.max(t.bottom,e.bottom)-r;return i.setTo(s,r,o,a)}},function(t,e){function i(t,e){return parseInt(t.getAttribute(e),10)}t.exports=function(t,e,n,s){void 0===e&&(e=0),void 0===n&&(n=0);var r={},o=t.getElementsByTagName("info")[0],a=t.getElementsByTagName("common")[0];r.font=o.getAttribute("face"),r.size=i(o,"size"),r.lineHeight=i(a,"lineHeight")+n,r.chars={};var h=t.getElementsByTagName("char"),l=void 0!==s&&s.trimmed;if(l)var u=s.height,c=s.width;for(var d=0;d<h.length;d++){var f=h[d],p=i(f,"id"),g=i(f,"x"),v=i(f,"y"),y=i(f,"width"),m=i(f,"height");l&&(g<c&&(c=g),v<u&&(u=v)),r.chars[p]={x:g,y:v,width:y,height:m,centerX:Math.floor(y/2),centerY:Math.floor(m/2),xOffset:i(f,"xoffset"),yOffset:i(f,"yoffset"),xAdvance:i(f,"xadvance")+e,data:{},kerning:{}}}if(l&&0!==u&&0!==c)for(var x in r.chars){var w=r.chars[x];w.x-=s.x,w.y-=s.y}var b=t.getElementsByTagName("kerning");for(d=0;d<b.length;d++){var T=b[d],S=i(T,"first"),_=i(T,"second"),A=i(T,"amount");r.chars[_].kerning[S]=A}return r}},function(t,e,i){var n=i(12);t.exports=function(t,e){var i=n(e,"anims",null);if(null===i)return t;if("string"==typeof i)t.anims.play(i);else if("object"==typeof i){var s=t.anims,r=n(i,"key",void 0),o=n(i,"startFrame",void 0),a=n(i,"delay",0),h=n(i,"repeat",0),l=n(i,"repeatDelay",0),u=n(i,"yoyo",!1),c=n(i,"play",!1),d=n(i,"delayedPlay",0);s.setDelay(a),s.setRepeat(h),s.setRepeatDelay(l),s.setYoyo(u),c?s.play(r,o):d>0?s.delayedPlay(d,r,o):s.load(r)}return t}},function(t,e,i){var n=i(4),s=i(122),r=function(t,e,i){for(var n=[],s=0;s<t.length;s++)for(var r=0;r<e.length;r++)for(var o=0;o<i;o++)n.push({a:t[s],b:e[r]});return n};t.exports=function(t,e,i){var o=n(i,"max",0),a=n(i,"qty",1),h=n(i,"random",!1),l=n(i,"randomB",!1),u=n(i,"repeat",0),c=n(i,"yoyo",!1),d=[];if(l&&s(e),-1===u)if(0===o)u=0;else{var f=t.length*e.length*a;c&&(f*=2),u=Math.ceil(o/f)}for(var p=0;p<=u;p++){var g=r(t,e,a);h&&s(g),d=d.concat(g),c&&(g.reverse(),d=d.concat(g))}return o&&d.splice(o),d}},function(t,e){var i=function(t,e,r,o,a){for(r=r||0,o=o||t.length-1,a=a||s;o>r;){if(o-r>600){var h=o-r+1,l=e-r+1,u=Math.log(h),c=.5*Math.exp(2*u/3),d=.5*Math.sqrt(u*c*(h-c)/h)*(l-h/2<0?-1:1),f=Math.max(r,Math.floor(e-l*c/h+d)),p=Math.min(o,Math.floor(e+(h-l)*c/h+d));i(t,e,f,p,a)}var g=t[e],v=r,y=o;for(n(t,r,e),a(t[o],g)>0&&n(t,r,o);v<y;){for(n(t,v,y),v++,y--;a(t[v],g)<0;)v++;for(;a(t[y],g)>0;)y--}0===a(t[r],g)?n(t,r,y):n(t,++y,o),y<=e&&(r=y+1),e<=y&&(o=y-1)}};function n(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function s(t,e){return t<e?-1:t>e?1:0}t.exports=i},function(t,e){t.exports=function(t){return t>0?Math.ceil(t):Math.floor(t)}},function(t,e){t.exports=function(t){for(var e=t.length,i=t[0].length,n=new Array(i),s=0;s<i;s++){n[s]=new Array(e);for(var r=e-1;r>-1;r--)n[s][r]=t[r][s]}return n}},function(t,e,i){t.exports={AtlasXML:i(886),Canvas:i(885),Image:i(884),JSONArray:i(883),JSONHash:i(882),SpriteSheet:i(881),SpriteSheetFromAtlas:i(880),UnityYAML:i(879)}},function(t,e,i){var n=i(24),s=i(0),r=i(117),o=i(94),a=new s({initialize:function(t,e,i,n){var s=t.manager.game;this.renderer=s.renderer,this.texture=t,this.source=e,this.image=e,this.compressionAlgorithm=null,this.resolution=1,this.width=i||e.naturalWidth||e.width||0,this.height=n||e.naturalHeight||e.height||0,this.scaleMode=o.DEFAULT,this.isCanvas=e instanceof HTMLCanvasElement,this.isRenderTexture="RenderTexture"===e.type,this.isPowerOf2=r(this.width,this.height),this.glTexture=null,this.init(s)},init:function(t){this.renderer&&(this.renderer.gl?this.isCanvas?this.glTexture=this.renderer.canvasToTexture(this.image):this.isRenderTexture?(this.image=this.source.canvas,this.glTexture=this.renderer.createTextureFromSource(null,this.width,this.height,this.scaleMode)):this.glTexture=this.renderer.createTextureFromSource(this.image,this.width,this.height,this.scaleMode):this.isRenderTexture&&(this.image=this.source.canvas)),t.config.antialias||this.setFilter(1)},setFilter:function(t){this.renderer.gl&&this.renderer.setTextureFilter(this.glTexture,t)},update:function(){this.renderer.gl&&this.isCanvas&&(this.glTexture=this.renderer.canvasToTexture(this.image,this.glTexture))},destroy:function(){this.glTexture&&this.renderer.deleteTexture(this.glTexture),this.isCanvas&&n.remove(this.image),this.renderer=null,this.texture=null,this.source=null,this.image=null,this.glTexture=null}});t.exports=a},function(t,e,i){var n=i(24),s=i(887),r=i(0),o=i(37),a=i(26),h=i(11),l=i(357),u=i(4),c=i(316),d=i(165),f=new r({Extends:h,initialize:function(t){h.call(this),this.game=t,this.name="TextureManager",this.list={},this._tempCanvas=n.create2D(this,1,1),this._tempContext=this._tempCanvas.getContext("2d"),this._pending=0,t.events.once("boot",this.boot,this)},boot:function(){this._pending=2,this.on("onload",this.updatePending,this),this.on("onerror",this.updatePending,this),this.addBase64("__DEFAULT",this.game.config.defaultImage),this.addBase64("__MISSING",this.game.config.missingImage),this.game.events.once("destroy",this.destroy,this)},updatePending:function(){this._pending--,0===this._pending&&(this.off("onload"),this.off("onerror"),this.game.events.emit("texturesready"))},checkKey:function(t){return!this.exists(t)||(console.error("Texture key already in use: "+t),!1)},remove:function(t){if("string"==typeof t){if(!this.exists(t))return console.warn("No texture found matching key: "+t),this;t=this.get(t)}return this.list.hasOwnProperty(t.key)&&(delete this.list[t.key],t.destroy(),this.emit("removetexture",t.key)),this},addBase64:function(t,e){if(this.checkKey(t)){var i=this,n=new Image;n.onerror=function(){i.emit("onerror",t)},n.onload=function(){var e=i.create(t,n);c.Image(e,0),i.emit("addtexture",t,e),i.emit("onload",t,e)},n.src=e}return this},getBase64:function(t,e,i,s){void 0===i&&(i="image/png"),void 0===s&&(s=.92);var r="",o=this.getFrame(t,e);if(o){var a=o.canvasData,h=n.create2D(this,a.width,a.height);h.getContext("2d").drawImage(o.source.image,a.x,a.y,a.width,a.height,0,0,a.width,a.height),r=h.toDataURL(i,s),n.remove(h)}return r},addImage:function(t,e,i){var n=null;return this.checkKey(t)&&(n=this.create(t,e),c.Image(n,0),i&&n.setDataSource(i),this.emit("addtexture",t,n)),n},addRenderTexture:function(t,e){var i=null;return this.checkKey(t)&&((i=this.create(t,e)).add("__BASE",0,0,0,e.width,e.height),this.emit("addtexture",t,i)),i},generate:function(t,e){if(this.checkKey(t)){var i=n.create(this,1,1);return e.canvas=i,l(e),this.addCanvas(t,i)}return null},createCanvas:function(t,e,i){if(void 0===e&&(e=256),void 0===i&&(i=256),this.checkKey(t)){var s=n.create(this,e,i,a.CANVAS,!0);return this.addCanvas(t,s)}return null},addCanvas:function(t,e,i){void 0===i&&(i=!1);var n=null;return i?n=new s(this,t,e,e.width,e.height):this.checkKey(t)&&(n=new s(this,t,e,e.width,e.height),this.list[t]=n,this.emit("addtexture",t,n)),n},addAtlas:function(t,e,i,n){return Array.isArray(i.textures)||Array.isArray(i.frames)?this.addAtlasJSONArray(t,e,i,n):this.addAtlasJSONHash(t,e,i,n)},addAtlasJSONArray:function(t,e,i,n){var s=null;if(this.checkKey(t)){if(s=this.create(t,e),Array.isArray(i))for(var r=1===i.length,o=0;o<s.source.length;o++){var a=r?i[0]:i[o];c.JSONArray(s,o,a)}else c.JSONArray(s,0,i);n&&s.setDataSource(n),this.emit("addtexture",t,s)}return s},addAtlasJSONHash:function(t,e,i,n){var s=null;if(this.checkKey(t)){if(s=this.create(t,e),Array.isArray(i))for(var r=0;r<i.length;r++)c.JSONHash(s,r,i[r]);else c.JSONHash(s,0,i);n&&s.setDataSource(n),this.emit("addtexture",t,s)}return s},addAtlasXML:function(t,e,i,n){var s=null;return this.checkKey(t)&&(s=this.create(t,e),c.AtlasXML(s,0,i),n&&s.setDataSource(n),this.emit("addtexture",t,s)),s},addUnityAtlas:function(t,e,i,n){var s=null;return this.checkKey(t)&&(s=this.create(t,e),c.UnityYAML(s,0,i),n&&s.setDataSource(n),this.emit("addtexture",t,s)),s},addSpriteSheet:function(t,e,i){var n=null;if(this.checkKey(t)){var s=(n=this.create(t,e)).source[0].width,r=n.source[0].height;c.SpriteSheet(n,0,0,0,s,r,i),this.emit("addtexture",t,n)}return n},addSpriteSheetFromAtlas:function(t,e){if(!this.checkKey(t))return null;var i=u(e,"atlas",null),n=u(e,"frame",null);if(i&&n){var s=this.get(i).get(n);if(s){var r=this.create(t,s.source.image);return s.trimmed?c.SpriteSheetFromAtlas(r,s,e):c.SpriteSheet(r,0,s.cutX,s.cutY,s.cutWidth,s.cutHeight,e),this.emit("addtexture",t,r),r}}},create:function(t,e,i,n){var s=null;return this.checkKey(t)&&(s=new d(this,t,e,i,n),this.list[t]=s),s},exists:function(t){return this.list.hasOwnProperty(t)},get:function(t){return void 0===t&&(t="__DEFAULT"),this.list[t]?this.list[t]:this.list.__MISSING},cloneFrame:function(t,e){if(this.list[t])return this.list[t].get(e).clone()},getFrame:function(t,e){if(this.list[t])return this.list[t].get(e)},getTextureKeys:function(){var t=[];for(var e in this.list)"__DEFAULT"!==e&&"__MISSING"!==e&&t.push(e);return t},getPixel:function(t,e,i,n){var s=this.getFrame(i,n);if(s){t-=s.x,e-=s.y;var r=s.data.cut;if(t+=r.x,e+=r.y,t>=r.x&&t<r.r&&e>=r.y&&e<r.b){var a=this._tempContext;a.clearRect(0,0,1,1),a.drawImage(s.source.image,t,e,1,1,0,0,1,1);var h=a.getImageData(0,0,1,1);return new o(h.data[0],h.data[1],h.data[2],h.data[3])}}return null},getPixelAlpha:function(t,e,i,n){var s=this.getFrame(i,n);if(s){t-=s.x,e-=s.y;var r=s.data.cut;if(t+=r.x,e+=r.y,t>=r.x&&t<r.r&&e>=r.y&&e<r.b){var o=this._tempContext;return o.clearRect(0,0,1,1),o.drawImage(s.source.image,t,e,1,1,0,0,1,1),o.getImageData(0,0,1,1).data[3]}}return null},setTexture:function(t,e,i){return this.list[e]&&(t.texture=this.list[e],t.frame=t.texture.get(i)),t},renameTexture:function(t,e){var i=this.get(t);return!(!i||t===e)&&(i.key=e,this.list[e]=i,delete this.list[t],!0)},each:function(t,e){for(var i=[null],n=1;n<arguments.length;n++)i.push(arguments[n]);for(var s in this.list)i[0]=this.list[s],t.apply(e,i)},destroy:function(){for(var t in this.list)this.list[t].destroy();this.list={},this.game=null,n.remove(this._tempCanvas)}});t.exports=f},function(t,e,i){var n=i(114),s=new(i(0))({Extends:n,initialize:function(t,e,i){void 0===i&&(i={}),this.audioBuffer=t.game.cache.audio.get(e),this.audioBuffer?(this.source=null,this.loopSource=null,this.muteNode=t.context.createGain(),this.volumeNode=t.context.createGain(),this.playTime=0,this.startTime=0,this.loopTime=0,this.rateUpdates=[],this.hasEnded=!1,this.hasLooped=!1,this.muteNode.connect(this.volumeNode),this.volumeNode.connect(t.destination),this.duration=this.audioBuffer.duration,this.totalDuration=this.audioBuffer.duration,n.call(this,t,e,i)):console.warn("Audio cache entry missing: "+e)},play:function(t,e){return!!n.prototype.play.call(this,t,e)&&(this.stopAndRemoveBufferSource(),this.createAndStartBufferSource(),this.emit("play",this),!0)},pause:function(){return!(this.manager.context.currentTime<this.startTime)&&(!!n.prototype.pause.call(this)&&(this.currentConfig.seek=this.getCurrentTime(),this.stopAndRemoveBufferSource(),this.emit("pause",this),!0))},resume:function(){return!(this.manager.context.currentTime<this.startTime)&&(!!n.prototype.resume.call(this)&&(this.createAndStartBufferSource(),this.emit("resume",this),!0))},stop:function(){return!!n.prototype.stop.call(this)&&(this.stopAndRemoveBufferSource(),this.emit("stop",this),!0)},createAndStartBufferSource:function(){var t=this.currentConfig.seek,e=this.currentConfig.delay,i=this.manager.context.currentTime+e,n=(this.currentMarker?this.currentMarker.start:0)+t,s=this.duration-t;this.playTime=i-t,this.startTime=i,this.source=this.createBufferSource(),this.applyConfig(),this.source.start(Math.max(0,i),Math.max(0,n),Math.max(0,s)),this.resetConfig()},createAndStartLoopBufferSource:function(){var t=this.getLoopTime(),e=this.currentMarker?this.currentMarker.start:0,i=this.duration;this.loopTime=t,this.loopSource=this.createBufferSource(),this.loopSource.playbackRate.setValueAtTime(this.totalRate,0),this.loopSource.start(Math.max(0,t),Math.max(0,e),Math.max(0,i))},createBufferSource:function(){var t=this,e=this.manager.context.createBufferSource();return e.buffer=this.audioBuffer,e.connect(this.muteNode),e.onended=function(e){e.target===t.source&&(t.currentConfig.loop?t.hasLooped=!0:t.hasEnded=!0)},e},stopAndRemoveBufferSource:function(){this.source&&(this.source.stop(),this.source.disconnect(),this.source=null),this.playTime=0,this.startTime=0,this.stopAndRemoveLoopBufferSource()},stopAndRemoveLoopBufferSource:function(){this.loopSource&&(this.loopSource.stop(),this.loopSource.disconnect(),this.loopSource=null),this.loopTime=0},applyConfig:function(){this.rateUpdates.length=0,this.rateUpdates.push({time:0,rate:1}),n.prototype.applyConfig.call(this)},update:function(t,e){this.hasEnded?(this.hasEnded=!1,n.prototype.stop.call(this),this.stopAndRemoveBufferSource(),this.emit("ended",this)):this.hasLooped&&(this.hasLooped=!1,this.source=this.loopSource,this.loopSource=null,this.playTime=this.startTime=this.loopTime,this.rateUpdates.length=0,this.rateUpdates.push({time:0,rate:this.totalRate}),this.createAndStartLoopBufferSource(),this.emit("looped",this))},destroy:function(){n.prototype.destroy.call(this),this.audioBuffer=null,this.stopAndRemoveBufferSource(),this.muteNode.disconnect(),this.muteNode=null,this.volumeNode.disconnect(),this.volumeNode=null,this.rateUpdates.length=0,this.rateUpdates=null},calculateRate:function(){n.prototype.calculateRate.call(this);var t=this.manager.context.currentTime;this.source&&"number"==typeof this.totalRate&&this.source.playbackRate.setValueAtTime(this.totalRate,t),this.isPlaying&&(this.rateUpdates.push({time:Math.max(this.startTime,t)-this.playTime,rate:this.totalRate}),this.loopSource&&(this.stopAndRemoveLoopBufferSource(),this.createAndStartLoopBufferSource()))},getCurrentTime:function(){for(var t=0,e=0;e<this.rateUpdates.length;e++){t+=((e<this.rateUpdates.length-1?this.rateUpdates[e+1].time:this.manager.context.currentTime-this.playTime)-this.rateUpdates[e].time)*this.rateUpdates[e].rate}return t},getLoopTime:function(){for(var t=0,e=0;e<this.rateUpdates.length-1;e++)t+=(this.rateUpdates[e+1].time-this.rateUpdates[e].time)*this.rateUpdates[e].rate;var i=this.rateUpdates[this.rateUpdates.length-1];return this.playTime+i.time+(this.duration-t)/i.rate},rate:{get:function(){return this.currentConfig.rate},set:function(t){this.currentConfig.rate=t,this.calculateRate(),this.emit("rate",this,t)}},setRate:function(t){return this.rate=t,this},detune:{get:function(){return this.currentConfig.detune},set:function(t){this.currentConfig.detune=t,this.calculateRate(),this.emit("detune",this,t)}},setDetune:function(t){return this.detune=t,this},mute:{get:function(){return 0===this.muteNode.gain.value},set:function(t){this.currentConfig.mute=t,this.muteNode.gain.setValueAtTime(t?0:1,0),this.emit("mute",this,t)}},setMute:function(t){return this.mute=t,this},volume:{get:function(){return this.volumeNode.gain.value},set:function(t){this.currentConfig.volume=t,this.volumeNode.gain.setValueAtTime(t,0),this.emit("volume",this,t)}},setVolume:function(t){return this.volume=t,this},seek:{get:function(){return this.isPlaying?this.manager.context.currentTime<this.startTime?this.startTime-this.playTime:this.getCurrentTime():this.isPaused?this.currentConfig.seek:0},set:function(t){this.manager.context.currentTime<this.startTime||(this.isPlaying||this.isPaused)&&(t=Math.min(Math.max(0,t),this.duration),this.currentConfig.seek=t,this.isPlaying&&(this.stopAndRemoveBufferSource(),this.createAndStartBufferSource()),this.emit("seek",this,t))}},setSeek:function(t){return this.seek=t,this},loop:{get:function(){return this.currentConfig.loop},set:function(t){this.currentConfig.loop=t,this.isPlaying&&(this.stopAndRemoveLoopBufferSource(),t&&this.createAndStartLoopBufferSource()),this.emit("loop",this,t)}},setLoop:function(t){return this.loop=t,this}});t.exports=s},function(t,e,i){var n=i(115),s=i(0),r=i(319),o=new s({Extends:n,initialize:function(t){this.context=this.createAudioContext(t),this.masterMuteNode=this.context.createGain(),this.masterVolumeNode=this.context.createGain(),this.masterMuteNode.connect(this.masterVolumeNode),this.masterVolumeNode.connect(this.context.destination),this.destination=this.masterMuteNode,this.locked="suspended"===this.context.state&&("ontouchstart"in window||"onclick"in window),n.call(this,t),this.locked&&this.unlock()},createAudioContext:function(t){var e=t.config.audio;return e&&e.context?(e.context.resume(),e.context):new AudioContext},add:function(t,e){var i=new r(this,t,e);return this.sounds.push(i),i},unlock:function(){var t=this,e=function(){t.context.resume().then(function(){document.body.removeEventListener("touchstart",e),document.body.removeEventListener("touchend",e),document.body.removeEventListener("click",e),t.unlocked=!0})};document.body&&(document.body.addEventListener("touchstart",e,!1),document.body.addEventListener("touchend",e,!1),document.body.addEventListener("click",e,!1))},onBlur:function(){this.context.suspend()},onFocus:function(){this.context.resume()},destroy:function(){if(this.destination=null,this.masterVolumeNode.disconnect(),this.masterVolumeNode=null,this.masterMuteNode.disconnect(),this.masterMuteNode=null,this.game.config.audio&&this.game.config.audio.context)this.context.suspend();else{var t=this;this.context.close().then(function(){t.context=null})}n.prototype.destroy.call(this)},setMute:function(t){return this.mute=t,this},mute:{get:function(){return 0===this.masterMuteNode.gain.value},set:function(t){this.masterMuteNode.gain.setValueAtTime(t?0:1,0),this.emit("mute",this,t)}},setVolume:function(t){return this.volume=t,this},volume:{get:function(){return this.masterVolumeNode.gain.value},set:function(t){this.masterVolumeNode.gain.setValueAtTime(t,0),this.emit("volume",this,t)}}});t.exports=o},function(t,e,i){var n=i(114),s=i(0),r=i(11),o=i(20),a=new s({Extends:r,initialize:function(t,e,i){void 0===i&&(i={}),r.call(this),this.manager=t,this.key=e,this.isPlaying=!1,this.isPaused=!1,this.totalRate=1,this.duration=0,this.totalDuration=0,this.config=o({mute:!1,volume:1,rate:1,detune:0,seek:0,loop:!1,delay:0},i),this.currentConfig=this.config,this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.seek=0,this.loop=!1,this.markers={},this.currentMarker=null,this.pendingRemove=!1},addMarker:function(t){return!1},updateMarker:function(t){return!1},removeMarker:function(t){return null},play:function(t,e){return!1},pause:function(){return!1},resume:function(){return!1},stop:function(){return!1},destroy:function(){this.manager.remove(this),n.prototype.destroy.call(this)}});t.exports=a},function(t,e,i){var n=i(115),s=i(0),r=i(11),o=i(321),a=i(1),h=new s({Extends:r,initialize:function(t){r.call(this),this.game=t,this.sounds=[],this.mute=!1,this.volume=1,this.rate=1,this.detune=0,this.pauseOnBlur=!0,this.locked=!1},add:function(t,e){var i=new o(this,t,e);return this.sounds.push(i),i},addAudioSprite:function(t,e){var i=this.add(t,e);return i.spritemap={},i},play:function(t,e){return!1},playAudioSprite:function(t,e,i){return!1},remove:function(t){return n.prototype.remove.call(this,t)},removeByKey:function(t){return n.prototype.removeByKey.call(this,t)},pauseAll:a,resumeAll:a,stopAll:a,update:a,setRate:a,setDetune:a,setMute:a,setVolume:a,forEachActiveSound:function(t,e){n.prototype.forEachActiveSound.call(this,t,e)},destroy:function(){n.prototype.destroy.call(this)}});t.exports=h},function(t,e,i){var n=i(114),s=new(i(0))({Extends:n,initialize:function(t,e,i){void 0===i&&(i={}),this.tags=t.game.cache.audio.get(e),this.tags?(this.audio=null,this.startTime=0,this.previousTime=0,this.duration=this.tags[0].duration,this.totalDuration=this.tags[0].duration,n.call(this,t,e,i)):console.warn("Audio cache entry missing: "+e)},play:function(t,e){return!this.manager.isLocked(this,"play",[t,e])&&(!!n.prototype.play.call(this,t,e)&&(!!this.pickAndPlayAudioTag()&&(this.emit("play",this),!0)))},pause:function(){return!this.manager.isLocked(this,"pause")&&(!(this.startTime>0)&&(!!n.prototype.pause.call(this)&&(this.currentConfig.seek=this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0),this.stopAndReleaseAudioTag(),this.emit("pause",this),!0)))},resume:function(){return!this.manager.isLocked(this,"resume")&&(!(this.startTime>0)&&(!!n.prototype.resume.call(this)&&(!!this.pickAndPlayAudioTag()&&(this.emit("resume",this),!0))))},stop:function(){return!this.manager.isLocked(this,"stop")&&(!!n.prototype.stop.call(this)&&(this.stopAndReleaseAudioTag(),this.emit("stop",this),!0))},pickAndPlayAudioTag:function(){if(!this.pickAudioTag())return this.reset(),!1;var t=this.currentConfig.seek,e=this.currentConfig.delay,i=(this.currentMarker?this.currentMarker.start:0)+t;return this.previousTime=i,this.audio.currentTime=i,this.applyConfig(),0===e?(this.startTime=0,this.audio.paused&&this.playCatchPromise()):(this.startTime=window.performance.now()+1e3*e,this.audio.paused||this.audio.pause()),this.resetConfig(),!0},pickAudioTag:function(){if(this.audio)return!0;for(var t=0;t<this.tags.length;t++){var e=this.tags[t];if("false"===e.dataset.used)return e.dataset.used="true",this.audio=e,!0}if(!this.manager.override)return!1;var i=[];this.manager.forEachActiveSound(function(t){t.key===this.key&&t.audio&&i.push(t)},this),i.sort(function(t,e){return t.loop===e.loop?e.seek/e.duration-t.seek/t.duration:t.loop?1:-1});var n=i[0];return this.audio=n.audio,n.reset(),n.audio=null,n.startTime=0,n.previousTime=0,!0},playCatchPromise:function(){var t=this.audio.play();t&&t.catch(function(t){console.warn(t)})},stopAndReleaseAudioTag:function(){this.audio.pause(),this.audio.dataset.used="false",this.audio=null,this.startTime=0,this.previousTime=0},reset:function(){n.prototype.stop.call(this)},onBlur:function(){this.isPlaying=!1,this.isPaused=!0,this.currentConfig.seek=this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0),this.currentConfig.delay=Math.max(0,(this.startTime-window.performance.now())/1e3),this.stopAndReleaseAudioTag()},onFocus:function(){this.isPlaying=!0,this.isPaused=!1,this.pickAndPlayAudioTag()},update:function(t,e){if(this.isPlaying)if(this.startTime>0)this.startTime<t-this.manager.audioPlayDelay&&(this.audio.currentTime+=Math.max(0,t-this.startTime)/1e3,this.startTime=0,this.previousTime=this.audio.currentTime,this.playCatchPromise());else{var i=this.currentMarker?this.currentMarker.start:0,n=i+this.duration,s=this.audio.currentTime;if(this.currentConfig.loop)s>=n-this.manager.loopEndOffset?(this.audio.currentTime=i+Math.max(0,s-n),s=this.audio.currentTime):s<i&&(this.audio.currentTime+=i,s=this.audio.currentTime),s<this.previousTime&&this.emit("looped",this);else if(s>=n)return this.reset(),this.stopAndReleaseAudioTag(),void this.emit("ended",this);this.previousTime=s}},destroy:function(){n.prototype.destroy.call(this),this.tags=null,this.audio&&this.stopAndReleaseAudioTag()},updateMute:function(){this.audio&&(this.audio.muted=this.currentConfig.mute||this.manager.mute)},updateVolume:function(){this.audio&&(this.audio.volume=this.currentConfig.volume*this.manager.volume)},calculateRate:function(){n.prototype.calculateRate.call(this),this.audio&&(this.audio.playbackRate=this.totalRate)},mute:{get:function(){return this.currentConfig.mute},set:function(t){this.currentConfig.mute=t,this.manager.isLocked(this,"mute",t)||this.emit("mute",this,t)}},setMute:function(t){return this.mute=t,this},volume:{get:function(){return this.currentConfig.volume},set:function(t){this.currentConfig.volume=t,this.manager.isLocked(this,"volume",t)||this.emit("volume",this,t)}},setVolume:function(t){return this.volume=t,this},rate:{get:function(){return this.currentConfig.rate},set:function(t){this.currentConfig.rate=t,this.manager.isLocked(this,"rate",t)||(this.calculateRate(),this.emit("rate",this,t))}},setRate:function(t){return this.rate=t,this},detune:{get:function(){return this.currentConfig.detune},set:function(t){this.currentConfig.detune=t,this.manager.isLocked(this,"detune",t)||(this.calculateRate(),this.emit("detune",this,t))}},setDetune:function(t){return this.detune=t,this},seek:{get:function(){return this.isPlaying?this.audio.currentTime-(this.currentMarker?this.currentMarker.start:0):this.isPaused?this.currentConfig.seek:0},set:function(t){this.manager.isLocked(this,"seek",t)||this.startTime>0||(this.isPlaying||this.isPaused)&&(t=Math.min(Math.max(0,t),this.duration),this.isPlaying?(this.previousTime=t,this.audio.currentTime=t):this.isPaused&&(this.currentConfig.seek=t),this.emit("seek",this,t))}},setSeek:function(t){return this.seek=t,this},loop:{get:function(){return this.currentConfig.loop},set:function(t){this.currentConfig.loop=t,this.manager.isLocked(this,"loop",t)||(this.audio&&(this.audio.loop=t),this.emit("loop",this,t))}},setLoop:function(t){return this.loop=t,this}});t.exports=s},function(t,e,i){var n=i(115),s=i(0),r=i(323),o=new s({Extends:n,initialize:function(t){this.override=!0,this.audioPlayDelay=.1,this.loopEndOffset=.05,this.onBlurPausedSounds=[],this.locked="ontouchstart"in window,this.lockedActionsQueue=this.locked?[]:null,this._mute=!1,this._volume=1,n.call(this,t)},add:function(t,e){var i=new r(this,t,e);return this.sounds.push(i),i},unlock:function(){this.locked=!1;var t=this;if(this.game.cache.audio.entries.each(function(e,i){for(var n=0;n<i.length;n++)if("true"===i[n].dataset.locked)return t.locked=!0,!1;return!0}),this.locked){var e=!1,i=function(){e=!0},n=function(){if(e)e=!1;else{document.body.removeEventListener("touchmove",i),document.body.removeEventListener("touchend",n);var s=[];if(t.game.cache.audio.entries.each(function(t,e){for(var i=0;i<e.length;i++){var n=e[i];"true"===n.dataset.locked&&s.push(n)}return!0}),0!==s.length){var r=s[s.length-1];r.oncanplaythrough=function(){r.oncanplaythrough=null,s.forEach(function(t){t.dataset.locked="false"}),t.unlocked=!0},s.forEach(function(t){t.load()})}}};this.once("unlocked",function(){for(this.forEachActiveSound(function(t){null===t.currentMarker&&0===t.duration&&(t.duration=t.tags[0].duration),t.totalDuration=t.tags[0].duration});this.lockedActionsQueue.length;){var t=this.lockedActionsQueue.shift();t.sound[t.prop].apply?t.sound[t.prop].apply(t.sound,t.value||[]):t.sound[t.prop]=t.value}},this),document.body.addEventListener("touchmove",i,!1),document.body.addEventListener("touchend",n,!1)}},onBlur:function(){this.forEachActiveSound(function(t){t.isPlaying&&(this.onBlurPausedSounds.push(t),t.onBlur())})},onFocus:function(){this.onBlurPausedSounds.forEach(function(t){t.onFocus()}),this.onBlurPausedSounds.length=0},destroy:function(){n.prototype.destroy.call(this),this.onBlurPausedSounds.length=0,this.onBlurPausedSounds=null},isLocked:function(t,e,i){return"true"===t.tags[0].dataset.locked&&(this.lockedActionsQueue.push({sound:t,prop:e,value:i}),!0)},setMute:function(t){return this.mute=t,this},mute:{get:function(){return this._mute},set:function(t){this._mute=t,this.forEachActiveSound(function(t){t.updateMute()}),this.emit("mute",this,t)}},setVolume:function(t){return this.volume=t,this},volume:{get:function(){return this._volume},set:function(t){this._volume=t,this.forEachActiveSound(function(t){t.updateVolume()}),this.emit("volume",this,t)}}});t.exports=o},function(t,e,i){var n=i(324),s=i(322),r=i(320),o={create:function(t){var e=t.config.audio,i=t.device.audio;return e&&e.noAudio||!i.webAudio&&!i.audioData?new s(t):!i.webAudio||e&&e.disableWebAudio?new n(t):new r(t)}};t.exports=o},function(t,e,i){var n=i(116),s=i(4),r=i(96),o=i(888),a={create:function(t){return"string"==typeof t?t={key:t}:void 0===t&&(t={}),{status:n.PENDING,key:s(t,"key",""),active:s(t,"active",!1),visible:s(t,"visible",!0),isBooted:!1,isTransition:!1,transitionFrom:null,transitionDuration:0,transitionAllowInput:!0,data:{},pack:s(t,"pack",!1),cameras:s(t,"cameras",null),map:s(t,"map",r(o,s(t,"mapAdd",{}))),physics:s(t,"physics",{}),loader:s(t,"loader",{}),plugins:s(t,"plugins",!1),input:s(t,"input",{})}}};t.exports=a},function(t,e){t.exports=function(t){return t&&t[0].toUpperCase()+t.slice(1)}},function(t,e,i){var n=i(0),s=i(166),r=new n({initialize:function(t){this.sys=new s(this,t),this.game,this.anims,this.cache,this.registry,this.sound,this.textures,this.events,this.cameras,this.add,this.make,this.scene,this.children,this.lights,this.data,this.input,this.load,this.time,this.tweens,this.physics,this.impact,this.matter},update:function(){}});t.exports=r},function(t,e,i){var n=i(0),s=i(116),r=i(4),o=i(1),a=i(328),h=i(166),l=new n({initialize:function(t,e){if(this.game=t,this.keys={},this.scenes=[],this._pending=[],this._start=[],this._queue=[],this._data={},this.isProcessing=!1,this.isBooted=!1,this.customViewports=0,e){Array.isArray(e)||(e=[e]);for(var i=0;i<e.length;i++)this._pending.push({key:"default",scene:e[i],autoStart:0===i,data:{}})}t.events.once("ready",this.bootQueue,this)},bootQueue:function(){if(!this.isBooted){var t,e,i,n;for(t=0;t<this._pending.length;t++){var s;i=(e=this._pending[t]).key,(n=e.scene)instanceof a?s=this.createSceneFromInstance(i,n):"object"==typeof n?s=this.createSceneFromObject(i,n):"function"==typeof n&&(s=this.createSceneFromFunction(i,n)),i=s.sys.settings.key,this.keys[i]=s,this.scenes.push(s),this._data[i]&&(s.sys.settings.data=this._data[i].data,this._data[i].autoStart&&(e.autoStart=!0)),(e.autoStart||s.sys.settings.active)&&this._start.push(i)}for(this._pending.length=0,this._data={},this.isBooted=!0,t=0;t<this._start.length;t++)e=this._start[t],this.start(e);this._start.length=0}},processQueue:function(){var t=this._pending.length,e=this._queue.length;if(0!==t||0!==e){var i,n;if(t){for(i=0;i<t;i++)n=this._pending[i],this.add(n.key,n.scene,n.autoStart,n.data);for(i=0;i<this._start.length;i++)n=this._start[i],this.start(n);return this._start.length=0,void(this._pending.length=0)}for(i=0;i<this._queue.length;i++)this[(n=this._queue[i]).op](n.keyA,n.keyB);this._queue.length=0}},add:function(t,e,i,n){return void 0===i&&(i=!1),void 0===n&&(n={}),this.isProcessing||!this.isBooted?(this._pending.push({key:t,scene:e,autoStart:i,data:n}),this.isBooted||(this._data[t]={data:n}),null):(t=this.getKey(t,e),e instanceof a?s=this.createSceneFromInstance(t,e):"object"==typeof e?(e.key=t,s=this.createSceneFromObject(t,e)):"function"==typeof e&&(s=this.createSceneFromFunction(t,e)),s.sys.settings.data=n,t=s.sys.settings.key,this.keys[t]=s,this.scenes.push(s),(i||s.sys.settings.active)&&(this._pending.length?this._start.push(t):this.start(t)),s);var s},remove:function(t){if(this.isProcessing)this._queue.push({op:"remove",keyA:t,keyB:null});else{var e=this.getScene(t);if(!e||e.sys.isTransitioning())return this;var i=this.scenes.indexOf(e),n=e.sys.settings.key;i>-1&&(delete this.keys[n],this.scenes.splice(i,1),this._start.indexOf(n)>-1&&(i=this._start.indexOf(n),this._start.splice(i,1)),e.sys.destroy())}return this},bootScene:function(t){var e,i=t.sys,n=i.settings;t.init&&(t.init.call(t,n.data),n.status=s.INIT,n.isTransition&&i.events.emit("transitioninit",n.transitionFrom,n.transitionDuration)),i.load&&(e=i.load).reset(),e&&t.preload?(t.preload.call(t),0===e.list.size?this.create(t):(n.status=s.LOADING,e.once("complete",this.loadComplete,this),e.start())):this.create(t)},loadComplete:function(t){var e=t.scene;this.game.sound.onBlurPausedSounds&&this.game.sound.unlock(),this.create(e)},payloadComplete:function(t){this.bootScene(t.scene)},update:function(t,e){this.processQueue(),this.isProcessing=!0;for(var i=this.scenes.length-1;i>=0;i--){var n=this.scenes[i].sys;n.settings.status>s.START&&n.settings.status<=s.RUNNING&&n.step(t,e)}},resize:function(t,e){for(var i=0;i<this.scenes.length;i++){this.scenes[i].sys.resize(t,e)}},render:function(t){for(var e=0;e<this.scenes.length;e++){var i=this.scenes[e].sys;i.settings.visible&&i.settings.status>=s.LOADING&&i.settings.status<s.SLEEPING&&i.render(t)}this.isProcessing=!1},create:function(t){var e=t.sys,i=e.settings;t.create&&(i.status=s.CREATING,t.create.call(t,i.data),i.isTransition&&e.events.emit("transitionstart",i.transitionFrom,i.transitionDuration)),t.update&&(e.sceneUpdate=t.update),i.status=s.RUNNING},createSceneFromFunction:function(t,e){var i=new e;if(i instanceof a){var n=i.sys.settings.key;if(""!==n&&(t=n),this.keys.hasOwnProperty(t))throw new Error("Cannot add a Scene with duplicate key: "+t);return this.createSceneFromInstance(t,i)}return i.sys=new h(i),i.sys.settings.key=t,i.sys.init(this.game),i},createSceneFromInstance:function(t,e){var i=e.sys.settings.key;return""!==i?t=i:e.sys.settings.key=t,e.sys.init(this.game),e},createSceneFromObject:function(t,e){var i=new a(e),n=i.sys.settings.key;""!==n?t=n:i.sys.settings.key=t,i.sys.init(this.game);for(var s=["init","preload","create","update","render"],o=0;o<s.length;o++){var h=r(e,s[o],null);h&&(i[s[o]]=h)}if(e.hasOwnProperty("extend"))for(var l in e.extend){var u=e.extend[l];"data"===l&&i.hasOwnProperty("data")&&"object"==typeof u?i.data.merge(u):"sys"!==l&&(i[l]=u)}return i},getKey:function(t,e){if(t||(t="default"),"function"==typeof e)return t;if(e instanceof a?t=e.sys.settings.key:"object"==typeof e&&e.hasOwnProperty("key")&&(t=e.key),this.keys.hasOwnProperty(t))throw new Error("Cannot add a Scene with duplicate key: "+t);return t},getScene:function(t){if("string"==typeof t){if(this.keys[t])return this.keys[t]}else for(var e=0;e<this.scenes.length;e++)if(t===this.scenes[e])return t;return null},isActive:function(t){var e=this.getScene(t);return e?e.sys.isActive():null},isVisible:function(t){var e=this.getScene(t);return e?e.sys.isVisible():null},isSleeping:function(t){var e=this.getScene(t);return e?e.sys.isSleeping():null},pause:function(t,e){var i=this.getScene(t);return i&&i.sys.pause(e),this},resume:function(t,e){var i=this.getScene(t);return i&&i.sys.resume(e),this},sleep:function(t,e){var i=this.getScene(t);return i&&!i.sys.isTransitioning()&&i.sys.sleep(e),this},wake:function(t,e){var i=this.getScene(t);return i&&i.sys.wake(e),this},run:function(t,e){var i=this.getScene(t);if(!i){for(var n=0;n<this._pending.length;n++)if(this._pending[n].key===t){this.queueOp("start",t,e);break}return this}i.sys.isSleeping()?i.sys.wake(e):i.sys.isBooted&&!i.sys.isActive()?i.sys.resume(e):this.start(t,e)},start:function(t,e){if(!this.isBooted)return this._data[t]={autoStart:!0,data:e},this;var i=this.getScene(t);if(i){var n;if(i.sys.isActive()||i.sys.isPaused())i.sys.shutdown(),i.sys.start(e);else if(i.sys.start(e),i.sys.load&&(n=i.sys.load),n&&i.sys.settings.hasOwnProperty("pack")&&(n.reset(),n.addPack({payload:i.sys.settings.pack})))return i.sys.settings.status=s.LOADING,n.once("complete",this.payloadComplete,this),n.start(),this;this.bootScene(i)}return this},stop:function(t){var e=this.getScene(t);return e&&!e.sys.isTransitioning()&&e.sys.shutdown(),this},switch:function(t,e){var i=this.getScene(t),n=this.getScene(e);return i&&n&&i!==n&&(this.sleep(t),this.isSleeping(e)?this.wake(e):this.start(e)),this},getAt:function(t){return this.scenes[t]},getIndex:function(t){var e=this.getScene(t);return this.scenes.indexOf(e)},bringToTop:function(t){if(this.isProcessing)this._queue.push({op:"bringToTop",keyA:t,keyB:null});else{var e=this.getIndex(t);if(-1!==e&&e<this.scenes.length){var i=this.getScene(t);this.scenes.splice(e,1),this.scenes.push(i)}}return this},sendToBack:function(t){if(this.isProcessing)this._queue.push({op:"sendToBack",keyA:t,keyB:null});else{var e=this.getIndex(t);if(-1!==e&&e>0){var i=this.getScene(t);this.scenes.splice(e,1),this.scenes.unshift(i)}}return this},moveDown:function(t){if(this.isProcessing)this._queue.push({op:"moveDown",keyA:t,keyB:null});else{var e=this.getIndex(t);if(e>0){var i=e-1,n=this.getScene(t),s=this.getAt(i);this.scenes[e]=s,this.scenes[i]=n}}return this},moveUp:function(t){if(this.isProcessing)this._queue.push({op:"moveUp",keyA:t,keyB:null});else{var e=this.getIndex(t);if(e<this.scenes.length-1){var i=e+1,n=this.getScene(t),s=this.getAt(i);this.scenes[e]=s,this.scenes[i]=n}}return this},moveAbove:function(t,e){if(t===e)return this;if(this.isProcessing)this._queue.push({op:"moveAbove",keyA:t,keyB:e});else{var i=this.getIndex(t),n=this.getIndex(e);if(-1!==i&&-1!==n){var s=this.getAt(n);this.scenes.splice(n,1),this.scenes.splice(i+1,0,s)}}return this},moveBelow:function(t,e){if(t===e)return this;if(this.isProcessing)this._queue.push({op:"moveBelow",keyA:t,keyB:e});else{var i=this.getIndex(t),n=this.getIndex(e);if(-1!==i&&-1!==n){var s=this.getAt(n);this.scenes.splice(n,1),0===i?this.scenes.unshift(s):this.scenes.splice(i,0,s)}}return this},queueOp:function(t,e,i){return this._queue.push({op:t,keyA:e,keyB:i}),this},swapPosition:function(t,e){if(t===e)return this;if(this.isProcessing)this._queue.push({op:"swapPosition",keyA:t,keyB:e});else{var i=this.getIndex(t),n=this.getIndex(e);if(i!==n&&-1!==i&&-1!==n){var s=this.getAt(i);this.scenes[i]=this.scenes[n],this.scenes[n]=s}}return this},dump:function(){for(var t=[],e=["pending","init","start","loading","creating","running","paused","sleeping","shutdown","destroyed"],i=0;i<this.scenes.length;i++){var n=this.scenes[i].sys,r=!n.settings.visible||n.settings.status!==s.RUNNING&&n.settings.status!==s.PAUSED?"[-] ":"[*] ";r+=n.settings.key+" ("+e[n.settings.status]+")",t.push(r)}console.log(t.join("\n"))},destroy:function(){for(var t=0;t<this.scenes.length;t++){this.scenes[t].sys.destroy()}this.update=o,this.scenes=[],this._pending=[],this._start=[],this._queue=[],this.game=null}});t.exports=l},function(t,e,i){var n=i(91);t.exports=function(t,e,i,s){var r;if(void 0===s&&(s=t),!Array.isArray(e))return-1!==(r=t.indexOf(e))?(n(t,r),i&&i.call(s,e),e):null;for(var o=e.length-1;o>=0;){var a=e[o];-1!==(r=t.indexOf(a))?(n(t,r),i&&i.call(s,a)):e.pop(),o--}return e}},function(t,e,i){var n=i(0),s=i(11),r=i(7),o=i(13),a=i(5),h=i(2),l=i(15),u=i(330),c=new n({Extends:s,initialize:function(t){s.call(this),this.game=t,this.plugins=[],this.scenePlugins=[],this._pendingGlobal=[],this._pendingScene=[],t.isBooted?this.boot():t.events.once("boot",this.boot,this)},boot:function(){var t,e,i,n,s,r,o,a=this.game.config,l=a.installGlobalPlugins;for(l=l.concat(this._pendingGlobal),t=0;t<l.length;t++)e=l[t],i=h(e,"key",null),n=h(e,"plugin",null),s=h(e,"start",!1),r=h(e,"mapping",null),o=h(e,"data",null),i&&n&&this.install(i,n,s,r,o);for(l=(l=a.installScenePlugins).concat(this._pendingScene),t=0;t<l.length;t++)e=l[t],i=h(e,"key",null),n=h(e,"plugin",null),r=h(e,"mapping",null),i&&n&&this.installScenePlugin(i,n,r);this._pendingGlobal=[],this._pendingScene=[],this.game.events.once("destroy",this.destroy,this)},addToScene:function(t,e,i){var n,s,r,o=this.game,a=t.scene,h=t.settings.map,u=t.settings.isBooted;for(n=0;n<e.length;n++)o[s=e[n]]?(t[s]=o[s],h.hasOwnProperty(s)&&(a[h[s]]=t[s])):"game"===s&&h.hasOwnProperty(s)&&(a[h[s]]=o);for(var c=0;c<i.length;c++)for(r=i[c],n=0;n<r.length;n++)if(s=r[n],l.hasCore(s)){var d=l.getCore(s),f=new d.plugin(a,this);t[d.mapping]=f,d.custom?a[d.mapping]=f:h.hasOwnProperty(d.mapping)&&(a[h[d.mapping]]=f),u&&f.boot()}for(r=this.plugins,n=0;n<r.length;n++){var p=r[n];p.mapping&&(a[p.mapping]=p.plugin)}},getDefaultScenePlugins:function(){var t=this.game.config.defaultPlugins;return t=t.concat(this.scenePlugins)},installScenePlugin:function(t,e,i,n){if("function"==typeof e){if(l.hasCore(t))console.warn("Scene Plugin key in use: "+t);else if(l.register(t,e,i,!0),this.scenePlugins.push(t),n){var s=new e(n,this);n.sys[t]=s,i&&""!==i&&(n[i]=s),s.boot()}}else console.warn("Invalid Scene Plugin: "+t)},install:function(t,e,i,n,s){if(void 0===i&&(i=!1),void 0===n&&(n=null),void 0===s&&(s=null),"function"==typeof e)if(l.hasCustom(t))console.warn("Plugin key in use: "+t);else if(null!==n&&(i=!0),this.game.isBooted){if(l.registerCustom(t,e,n,s),i)return this.start(t)}else this._pendingGlobal.push({key:t,plugin:e,start:i,mapping:n,data:s});else console.warn("Invalid Plugin: "+t)},getIndex:function(t){for(var e=this.plugins,i=0;i<e.length;i++){if(e[i].key===t)return i}return-1},getEntry:function(t){var e=this.getIndex(t);if(-1!==e)return this.plugins[e]},isActive:function(t){var e=this.getEntry(t);return e&&e.active},start:function(t,e){void 0===e&&(e=t);var i=this.getEntry(e);return i&&!i.active?(i.active=!0,i.plugin.start()):i||(i=this.createEntry(t,e)),i?i.plugin:null},createEntry:function(t,e){var i=l.getCustom(t);if(i){var n=new i.plugin(this);i={key:e,plugin:n,active:!0,mapping:i.mapping,data:i.data},this.plugins.push(i),n.init(i.data),n.start()}return i},stop:function(t){var e=this.getEntry(t);return e&&e.active&&(e.active=!1,e.plugin.stop()),this},get:function(t,e){void 0===e&&(e=!0);var i=this.getEntry(t);if(i)return i.plugin;var n=this.getClass(t);return n&&e?(i=this.createEntry(t,t))?i.plugin:null:n||null},getClass:function(t){return l.getCustomClass(t)},removeGlobalPlugin:function(t){var e=this.getEntry(t);e&&u(this.plugins,e),l.removeCustom(t)},removeScenePlugin:function(t){u(this.scenePlugins,t),l.remove(t)},registerGameObject:function(t,e,i){return e&&a.register(t,e),i&&o.register(t,i),this},registerFileType:function(t,e,i){r.register(t,e),i&&i.sys.load&&(i.sys.load[t]=e)},destroy:function(){for(var t=0;t<this.plugins.length;t++)this.plugins[t].plugin.destroy();l.destroyCustomPlugins(),this.game.noReturn&&l.destroyCorePlugins(),this.game=null,this.plugins=[],this.scenePlugins=[]}});t.exports=c},function(t,e,i){var n=i(3);t.exports=function(t,e,i,s,r,o,a,h){void 0===h&&(h=new n);var l=Math.sin(r),u=Math.cos(r),c=u*o,d=l*o,f=-l*a,p=u*a,g=1/(c*p+f*-d);return h.x=p*g*t+-f*g*e+(s*f-i*p)*g,h.y=c*g*e+-d*g*t+(-s*c+i*d)*g,h}},function(t,e,i){var n=i(0),s=i(1),r=new n({initialize:function(t){this.manager=t,this.capture=!0,this.enabled=!1,this.target,this.onTouchStart=s,this.onTouchMove=s,this.onTouchEnd=s,this.onTouchCancel=s,t.events.once("boot",this.boot,this)},boot:function(){var t=this.manager.config;this.enabled=t.inputTouch,this.target=t.inputTouchEventTarget,this.capture=t.inputTouchCapture,this.target||(this.target=this.manager.game.canvas),this.enabled&&this.target&&this.startListeners()},startListeners:function(){var t=this;this.onTouchStart=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueTouchStart(e),t.capture&&e.preventDefault())},this.onTouchMove=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueTouchMove(e),t.capture&&e.preventDefault())},this.onTouchEnd=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueTouchEnd(e),t.capture&&e.preventDefault())},this.onTouchCancel=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueTouchCancel(e),t.capture&&e.preventDefault())};var e=this.target;if(e){var i={passive:!0},n={passive:!1};this.capture?(e.addEventListener("touchstart",this.onTouchStart,n),e.addEventListener("touchmove",this.onTouchMove,n),e.addEventListener("touchend",this.onTouchEnd,n),e.addEventListener("touchcancel",this.onTouchCancel,n)):(e.addEventListener("touchstart",this.onTouchStart,i),e.addEventListener("touchmove",this.onTouchMove,i),e.addEventListener("touchend",this.onTouchEnd,i)),this.enabled=!0}},stopListeners:function(){var t=this.target;t.removeEventListener("touchstart",this.onTouchStart),t.removeEventListener("touchmove",this.onTouchMove),t.removeEventListener("touchend",this.onTouchEnd),t.removeEventListener("touchcancel",this.onTouchCancel)},destroy:function(){this.stopListeners(),this.target=null,this.enabled=!1,this.manager=null}});t.exports=r},function(t,e,i){var n=i(181);t.exports=function(t,e,i){return e+(i-e)*n(t,0,1)}},function(t,e,i){var n=i(0),s=i(52),r=i(334),o=i(3),a=new n({initialize:function(t,e){this.manager=t,this.id=e,this.event,this.camera=null,this.buttons=0,this.position=new o,this.prevPosition=new o,this.worldX=0,this.worldY=0,this.downX=0,this.downY=0,this.downTime=0,this.upX=0,this.upY=0,this.upTime=0,this.primaryDown=!1,this.dragState=0,this.isDown=!1,this.dirty=!1,this.justDown=!1,this.justUp=!1,this.justMoved=!1,this.wasTouch=!1,this.wasCanceled=!1,this.movementX=0,this.movementY=0,this.identifier=0,this.pointerId=null,this.active=0===e},positionToCamera:function(t,e){return t.getWorldPoint(this.x,this.y,e)},reset:function(){this.dirty=!1,this.justDown=!1,this.justUp=!1,this.justMoved=!1,this.movementX=0,this.movementY=0},up:function(t,e){t.buttons&&(this.buttons=t.buttons),this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),0===t.button&&(this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=e),this.justUp=!0,this.isDown=!1,this.dirty=!0,this.wasTouch=!1},down:function(t,e){t.buttons&&(this.buttons=t.buttons),this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),0===t.button&&(this.primaryDown=!0,this.downX=this.x,this.downY=this.y,this.downTime=e),this.justDown=!0,this.isDown=!0,this.dirty=!0,this.wasTouch=!1},move:function(t){t.buttons&&(this.buttons=t.buttons),this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),this.manager.mouse.locked&&(this.movementX+=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.movementY+=t.movementY||t.mozMovementY||t.webkitMovementY||0),this.justMoved=!0,this.dirty=!0,this.wasTouch=!1},touchstart:function(t,e){t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.active=!0,this.buttons=1,this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),this.primaryDown=!0,this.downX=this.x,this.downY=this.y,this.downTime=e,this.justDown=!0,this.isDown=!0,this.dirty=!0,this.wasTouch=!0,this.wasCanceled=!1},touchmove:function(t){this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),this.justMoved=!0,this.dirty=!0,this.wasTouch=!0},touchend:function(t,e){this.buttons=0,this.event=t,this.manager.transformPointer(this,t.pageX,t.pageY),this.primaryDown=!1,this.upX=this.x,this.upY=this.y,this.upTime=e,this.justUp=!0,this.isDown=!1,this.dirty=!0,this.wasTouch=!0,this.wasCanceled=!1,this.active=!1},touchcancel:function(t){this.buttons=0,this.event=t,this.primaryDown=!1,this.justUp=!1,this.isDown=!1,this.dirty=!0,this.wasTouch=!0,this.wasCanceled=!0,this.active=!1},noButtonDown:function(){return 0===this.buttons},leftButtonDown:function(){return 1&this.buttons},rightButtonDown:function(){return 2&this.buttons},middleButtonDown:function(){return 4&this.buttons},backButtonDown:function(){return 8&this.buttons},forwardButtonDown:function(){return 16&this.buttons},getDistance:function(){return s(this.downX,this.downY,this.x,this.y)},getInterpolatedPosition:function(t,e){void 0===t&&(t=10),void 0===e&&(e=[]);for(var i=this.prevPosition.x,n=this.prevPosition.y,s=this.position.x,o=this.position.y,a=0;a<t;a++){var h=1/t*a;e[a]={x:r(h,i,s),y:r(h,n,o)}}return e},destroy:function(){this.camera=null,this.manager=null,this.position=null},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}}});t.exports=a},function(t,e,i){var n=i(0),s=i(168),r=new n({initialize:function(t){this.manager=t,this.capture=!0,this.enabled=!1,this.target,this.locked=!1,t.events.once("boot",this.boot,this)},boot:function(){var t=this.manager.config;this.enabled=t.inputMouse,this.target=t.inputMouseEventTarget,this.capture=t.inputMouseCapture,this.target||(this.target=this.manager.game.canvas),t.disableContextMenu&&this.disableContextMenu(),this.enabled&&this.startListeners()},disableContextMenu:function(){return document.body.addEventListener("contextmenu",function(t){return t.preventDefault(),!1}),this},requestPointerLock:function(){if(s.pointerLock){var t=this.target;t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock,t.requestPointerLock()}},releasePointerLock:function(){s.pointerLock&&(document.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock,document.exitPointerLock())},startListeners:function(){var t=this,e=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueMouseMove(e),t.capture&&e.preventDefault())},i=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueMouseDown(e),t.capture&&e.preventDefault())},n=function(e){!e.defaultPrevented&&t.enabled&&t.manager&&(t.manager.queueMouseUp(e),t.capture&&e.preventDefault())};this.onMouseMove=e,this.onMouseDown=i,this.onMouseUp=n;var r=this.target,o={passive:!0},a={passive:!1};if(r.addEventListener("mousemove",e,this.capture?a:o),r.addEventListener("mousedown",i,this.capture?a:o),r.addEventListener("mouseup",n,this.capture?a:o),s.pointerLock){var h=function(e){var i=t.target;t.locked=document.pointerLockElement===i||document.mozPointerLockElement===i||document.webkitPointerLockElement===i,t.manager.queue.push(e)};this.pointerLockChange=h,document.addEventListener("pointerlockchange",h,!0),document.addEventListener("mozpointerlockchange",h,!0),document.addEventListener("webkitpointerlockchange",h,!0)}},stopListeners:function(){var t=this.target;t.removeEventListener("mousemove",this.onMouseMove),t.removeEventListener("mousedown",this.onMouseDown),t.removeEventListener("mouseup",this.onMouseUp),s.pointerLock&&(document.removeEventListener("pointerlockchange",this.pointerLockChange,!0),document.removeEventListener("mozpointerlockchange",this.pointerLockChange,!0),document.removeEventListener("webkitpointerlockchange",this.pointerLockChange,!0))},destroy:function(){this.stopListeners(),this.target=null,this.manager=null}});t.exports=r},function(t,e){t.exports={MOUSE_DOWN:0,MOUSE_MOVE:1,MOUSE_UP:2,TOUCH_START:3,TOUCH_MOVE:4,TOUCH_END:5,TOUCH_CANCEL:7,POINTER_LOCK_CHANGE:6}},function(t,e,i){var n=i(0),s=i(337),r=i(11),o=i(336),a=i(335),h=i(9),l=i(333),u=i(38),c=i(332),d=new n({initialize:function(t,e){this.game=t,this.canvas,this.config=e,this.enabled=!0,this.events=new r,this.queue=[],this.domCallbacks={up:[],down:[],move:[],upOnce:[],downOnce:[],moveOnce:[]},this._hasUpCallback=!1,this._hasDownCallback=!1,this._hasMoveCallback=!1,this._customCursor="",this._setCursor=0,this.defaultCursor="",this.mouse=e.inputMouse?new o(this):null,this.touch=e.inputTouch?new l(this):null,this.pointers=[],this.pointersTotal=e.inputActivePointers,e.inputTouch&&1===this.pointersTotal&&(this.pointersTotal=2);for(var i=0;i<=this.pointersTotal;i++)this.pointers.push(new a(this,i));this.mousePointer=e.inputMouse?this.pointers[0]:null,this.activePointer=this.pointers[0],this.dirty=!1,this.scale={x:1,y:1},this.globalTopOnly=!0,this.ignoreEvents=!1,this.bounds=new h,this._tempPoint={x:0,y:0},this._tempHitTest=[],this._tempMatrix=new u,this._tempMatrix2=new u,t.events.once("boot",this.boot,this)},boot:function(){this.canvas=this.game.canvas,this.updateBounds(),this.events.emit("boot"),this.game.events.on("prestep",this.update,this),this.game.events.on("poststep",this.postUpdate,this),this.game.events.once("destroy",this.destroy,this)},updateBounds:function(){var t=this.bounds,e=this.canvas.getBoundingClientRect();t.x=e.left+window.pageXOffset-document.documentElement.clientLeft,t.y=e.top+window.pageYOffset-document.documentElement.clientTop,t.width=e.width,t.height=e.height},resize:function(){this.updateBounds();var t=this.game.config.width,e=this.game.config.height,i=this.bounds.width,n=this.bounds.height;this.scale.x=t/i,this.scale.y=e/n},update:function(t){var e;this._setCursor=0,this.events.emit("update"),this.ignoreEvents=!1,this.dirty=!1;var i=this.queue.length,n=this.pointers;for(e=0;e<this.pointersTotal;e++)n[e].reset();if(this.enabled&&0!==i){this.dirty=!0,this.updateBounds(),this.scale.x=this.game.config.width/this.bounds.width,this.scale.y=this.game.config.height/this.bounds.height;var r=this.queue.splice(0,i),o=this.mousePointer;for(e=0;e<i;e+=2){var a=r[e],h=r[e+1];switch(a){case s.MOUSE_DOWN:o.down(h,t);break;case s.MOUSE_MOVE:o.move(h,t);break;case s.MOUSE_UP:o.up(h,t);break;case s.TOUCH_START:this.startPointer(h,t);break;case s.TOUCH_MOVE:this.updatePointer(h,t);break;case s.TOUCH_END:this.stopPointer(h,t);break;case s.TOUCH_CANCEL:this.cancelPointer(h,t);break;case s.POINTER_LOCK_CHANGE:this.events.emit("pointerlockchange",h,this.mouse.locked)}}}},postUpdate:function(){1===this._setCursor?this.canvas.style.cursor=this._customCursor:2===this._setCursor&&(this.canvas.style.cursor=this.defaultCursor)},setDefaultCursor:function(t){this.defaultCursor=t,this.canvas.style.cursor!==t&&(this.canvas.style.cursor=t)},setCursor:function(t){t.cursor&&(this._setCursor=1,this._customCursor=t.cursor)},resetCursor:function(t){t.cursor&&(this._setCursor=2)},startPointer:function(t,e){for(var i=this.pointers,n=0;n<t.changedTouches.length;n++)for(var s=t.changedTouches[n],r=1;r<this.pointersTotal;r++){var o=i[r];if(!o.active){o.touchstart(s,e),this.activePointer=o;break}}},updatePointer:function(t,e){for(var i=this.pointers,n=0;n<t.changedTouches.length;n++)for(var s=t.changedTouches[n],r=1;r<this.pointersTotal;r++){var o=i[r];if(o.active&&o.identifier===s.identifier){o.touchmove(s,e),this.activePointer=o;break}}},stopPointer:function(t,e){for(var i=this.pointers,n=0;n<t.changedTouches.length;n++)for(var s=t.changedTouches[n],r=1;r<this.pointersTotal;r++){var o=i[r];if(o.active&&o.identifier===s.identifier){o.touchend(s,e);break}}},cancelPointer:function(t,e){for(var i=this.pointers,n=0;n<t.changedTouches.length;n++)for(var s=t.changedTouches[n],r=1;r<this.pointersTotal;r++){var o=i[r];if(o.active&&o.identifier===s.identifier){o.touchend(s,e);break}}},addPointer:function(t){void 0===t&&(t=1);var e=[];this.pointersTotal+t>10&&(t=10-this.pointersTotal);for(var i=0;i<t;i++){var n=this.pointers.length,s=new a(this,n);this.pointers.push(s),this.pointersTotal++,e.push(s)}return e},processDomCallbacks:function(t,e,i){var n=0;for(n=0;n<t.length;n++)t[n](i);for(n=0;n<e.length;n++)e[n](i);return t=[],e.length>0},queueTouchStart:function(t){if(this.queue.push(s.TOUCH_START,t),this._hasDownCallback){var e=this.domCallbacks;this._hasDownCallback=this.processDomCallbacks(e.downOnce,e.down,t)}},queueTouchMove:function(t){if(this.queue.push(s.TOUCH_MOVE,t),this._hasMoveCallback){var e=this.domCallbacks;this._hasMoveCallback=this.processDomCallbacks(e.moveOnce,e.move,t)}},queueTouchEnd:function(t){if(this.queue.push(s.TOUCH_END,t),this._hasUpCallback){var e=this.domCallbacks;this._hasUpCallback=this.processDomCallbacks(e.upOnce,e.up,t)}},queueTouchCancel:function(t){this.queue.push(s.TOUCH_CANCEL,t)},queueMouseDown:function(t){if(this.queue.push(s.MOUSE_DOWN,t),this._hasDownCallback){var e=this.domCallbacks;this._hasDownCallback=this.processDomCallbacks(e.downOnce,e.down,t)}},queueMouseMove:function(t){if(this.queue.push(s.MOUSE_MOVE,t),this._hasMoveCallback){var e=this.domCallbacks;this._hasMoveCallback=this.processDomCallbacks(e.moveOnce,e.move,t)}},queueMouseUp:function(t){if(this.queue.push(s.MOUSE_UP,t),this._hasUpCallback){var e=this.domCallbacks;this._hasUpCallback=this.processDomCallbacks(e.upOnce,e.up,t)}},addUpCallback:function(t,e){return void 0===e&&(e=!0),e?this.domCallbacks.upOnce.push(t):this.domCallbacks.up.push(t),this._hasUpCallback=!0,this},addDownCallback:function(t,e){return void 0===e&&(e=!0),e?this.domCallbacks.downOnce.push(t):this.domCallbacks.down.push(t),this._hasDownCallback=!0,this},addMoveCallback:function(t,e){return void 0===e&&(e=!1),e?this.domCallbacks.moveOnce.push(t):this.domCallbacks.move.push(t),this._hasMoveCallback=!0,this},inputCandidate:function(t,e){var i=t.input;if(!i||!i.enabled||!t.willRender(e))return!1;var n=!0,s=t.parentContainer;if(s)do{if(!s.willRender(e)){n=!1;break}s=s.parentContainer}while(s);return n},hitTest:function(t,e,i,n){void 0===n&&(n=this._tempHitTest);var s=this._tempPoint,r=i.scrollX,o=i.scrollY;n.length=0;var a=t.x,h=t.y;1!==i.resolution&&(a+=i._x,h+=i._y),i.getWorldPoint(a,h,s),t.worldX=s.x,t.worldY=s.y;for(var l={x:0,y:0},u=this._tempMatrix,d=this._tempMatrix2,f=0;f<e.length;f++){var p=e[f];if(this.inputCandidate(p,i)){var g=s.x+r*p.scrollFactorX-r,v=s.y+o*p.scrollFactorY-o;p.parentContainer?(p.getWorldTransformMatrix(u,d),u.applyInverse(g,v,l)):c(g,v,p.x,p.y,p.rotation,p.scaleX,p.scaleY,l),this.pointWithinHitArea(p,l.x,l.y)&&n.push(p)}}return n},pointWithinHitArea:function(t,e,i){e+=t.displayOriginX,i+=t.displayOriginY;var n=t.input;return!(!n||!n.hitAreaCallback(n.hitArea,e,i,t))&&(n.localX=e,n.localY=i,!0)},pointWithinInteractiveObject:function(t,e,i){return!!t.hitArea&&(e+=t.gameObject.displayOriginX,i+=t.gameObject.displayOriginY,t.localX=e,t.localY=i,t.hitAreaCallback(t.hitArea,e,i,t))},transformPointer:function(t,e,i){t.prevPosition.x=t.x,t.prevPosition.y=t.y,t.x=(e-this.bounds.left)*this.scale.x,t.y=(i-this.bounds.top)*this.scale.y},transformX:function(t){return(t-this.bounds.left)*this.scale.x},transformY:function(t){return(t-this.bounds.top)*this.scale.y},getOffsetX:function(){return this.bounds.left},getOffsetY:function(){return this.bounds.top},getScaleX:function(){return this.game.config.width/this.bounds.width},getScaleY:function(){return this.game.config.height/this.bounds.height},destroy:function(){this.events.removeAllListeners(),this.mouse&&this.mouse.destroy(),this.touch&&this.touch.destroy();for(var t=0;t<this.pointers.length;t++)this.pointers[t].destroy();this.domCallbacks={},this.pointers=[],this.queue=[],this._tempHitTest=[],this._tempMatrix.destroy(),this.canvas=null,this.game=null}});t.exports=d},function(t,e,i){var n,s,r,o=i(24),a={supportInverseAlpha:!1,supportNewBlendModes:!1};t.exports=(void 0!==document&&(a.supportNewBlendModes=(n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",s="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",(r=new Image).onload=function(){var t=new Image;t.onload=function(){var e=o.create(t,6,1).getContext("2d");if(e.globalCompositeOperation="multiply",e.drawImage(r,0,0),e.drawImage(t,2,0),!e.getImageData(2,0,1,1))return!1;var i=e.getImageData(2,0,1,1).data;o.remove(t),a.supportNewBlendModes=255===i[0]&&0===i[1]&&0===i[2]},t.src=n+"/wCKxvRF"+s},r.src=n+"AP804Oa6"+s,!1),a.supportInverseAlpha=function(){var t=o.create(this,2,1).getContext("2d");t.fillStyle="rgba(10, 20, 30, 0.5)",t.fillRect(0,0,1,1);var e=t.getImageData(0,0,1,1);if(null===e)return!1;t.putImageData(e,1,0);var i=t.getImageData(1,0,1,1);return i.data[0]===e.data[0]&&i.data[1]===e.data[1]&&i.data[2]===e.data[2]&&i.data[3]===e.data[3]}()),a)},function(t,e,i){t.exports={os:i(92),browser:i(118),features:i(168),input:i(902),audio:i(901),video:i(900),fullscreen:i(899),canvasFeatures:i(339)}},function(t,e,i){var n=i(0),s=i(1),r=new n({initialize:function(){this.isRunning=!1,this.callback=s,this.tick=0,this.isSetTimeOut=!1,this.timeOutID=null,this.lastTime=0;var t=this;this.step=function e(i){t.lastTime=t.tick,t.tick=i,t.timeOutID=window.requestAnimationFrame(e),t.callback(i)},this.stepTimeout=function e(){var i=Date.now(),n=Math.max(16+t.lastTime-i,0);t.lastTime=t.tick,t.tick=i,t.timeOutID=window.setTimeout(e,n),t.callback(i)}},start:function(t,e){this.isRunning||(this.callback=t,this.isSetTimeOut=e,this.isRunning=!0,this.timeOutID=e?window.setTimeout(this.stepTimeout,0):window.requestAnimationFrame(this.step))},stop:function(){this.isRunning=!1,this.isSetTimeOut?clearTimeout(this.timeOutID):window.cancelAnimationFrame(this.timeOutID)},destroy:function(){this.stop(),this.callback=s}});t.exports=r},function(t,e){t.exports=function(t){t.parentNode&&t.parentNode.removeChild(t)}},function(t,e){t.exports=function(t){var e="";try{window.DOMParser?e=(new DOMParser).parseFromString(t,"text/xml"):(e=new ActiveXObject("Microsoft.XMLDOM")).loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null}},function(t,e,i){var n=i(92);t.exports=function(t){if("complete"!==document.readyState&&"interactive"!==document.readyState){var e=function(){document.removeEventListener("deviceready",e,!0),document.removeEventListener("DOMContentLoaded",e,!0),window.removeEventListener("load",e,!0),t()};document.body?n.cordova&&!n.cocoonJS?document.addEventListener("deviceready",e,!1):(document.addEventListener("DOMContentLoaded",e,!0),window.addEventListener("load",e,!0)):window.setTimeout(e,20)}else t()}},function(t,e){t.exports=function(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}},function(t,e){t.exports=function(t){var e=t.toString(16);return 1===e.length?"0"+e:e}},function(t,e,i){var n=i(37);n.ColorToRGBA=i(915),n.ComponentToHex=i(346),n.GetColor=i(177),n.GetColor32=i(376),n.HexStringToColor=i(377),n.HSLToColor=i(914),n.HSVColorWheel=i(913),n.HSVToRGB=i(176),n.HueToComponent=i(345),n.IntegerToColor=i(374),n.IntegerToRGB=i(373),n.Interpolate=i(912),n.ObjectToColor=i(372),n.RandomRGB=i(911),n.RGBStringToColor=i(371),n.RGBToHSV=i(375),n.RGBToString=i(910),n.ValueToColor=i(178),t.exports=n},function(t,e){t.exports={setCrisp:function(t){return["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"].forEach(function(e){t.style["image-rendering"]=e}),t.style.msInterpolationMode="nearest-neighbor",t},setBicubic:function(t){return t.style["image-rendering"]="auto",t.style.msInterpolationMode="bicubic",t}}},function(t,e,i){var n=i(171),s=i(0),r=i(70),o=i(3),a=new s({Extends:r,initialize:function(t){void 0===t&&(t=[]),r.call(this,"SplineCurve"),this.points=[],this.addPoints(t)},addPoints:function(t){for(var e=0;e<t.length;e++){var i=new o;"number"==typeof t[e]?(i.x=t[e],i.y=t[e+1],e++):Array.isArray(t[e])?(i.x=t[e][0],i.y=t[e][1]):(i.x=t[e].x,i.y=t[e].y),this.points.push(i)}return this},addPoint:function(t,e){var i=new o(t,e);return this.points.push(i),i},getStartPoint:function(t){return void 0===t&&(t=new o),t.copy(this.points[0])},getResolution:function(t){return t*this.points.length},getPoint:function(t,e){void 0===e&&(e=new o);var i=this.points,s=(i.length-1)*t,r=Math.floor(s),a=s-r,h=i[0===r?r:r-1],l=i[r],u=i[r>i.length-2?i.length-1:r+1],c=i[r>i.length-3?i.length-1:r+2];return e.set(n(a,h.x,l.x,u.x,c.x),n(a,h.y,l.y,u.y,c.y))},toJSON:function(){for(var t=[],e=0;e<this.points.length;e++)t.push(this.points[e].x),t.push(this.points[e].y);return{type:this.type,points:t}}});a.fromJSON=function(t){return new a(t.points)},t.exports=a},function(t,e){t.exports=function(t,e,i,n){return function(t,e){var i=1-t;return i*i*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,i)+function(t,e){return t*t*e}(t,n)}},function(t,e,i){var n=i(0),s=i(70),r=i(350),o=i(3),a=new n({Extends:s,initialize:function(t,e,i){s.call(this,"QuadraticBezier"),Array.isArray(t)&&(i=new o(t[4],t[5]),e=new o(t[2],t[3]),t=new o(t[0],t[1])),this.p0=t,this.p1=e,this.p2=i},getStartPoint:function(t){return void 0===t&&(t=new o),t.copy(this.p0)},getResolution:function(t){return t},getPoint:function(t,e){void 0===e&&(e=new o);var i=this.p0,n=this.p1,s=this.p2;return e.set(r(t,i.x,n.x,s.x),r(t,i.y,n.y,s.y))},draw:function(t,e){void 0===e&&(e=32);var i=this.getPoints(e);t.beginPath(),t.moveTo(this.p0.x,this.p0.y);for(var n=1;n<i.length;n++)t.lineTo(i[n].x,i[n].y);return t.strokePath(),t},toJSON:function(){return{type:this.type,points:[this.p0.x,this.p0.y,this.p1.x,this.p1.y,this.p2.x,this.p2.y]}}});a.fromJSON=function(t){var e=t.points,i=new o(e[0],e[1]),n=new o(e[2],e[3]),s=new o(e[4],e[5]);return new a(i,n,s)},t.exports=a},function(t,e,i){var n=i(0),s=i(70),r=i(173),o=i(9),a=i(3),h=new a,l=new n({Extends:s,initialize:function(t,e){s.call(this,"LineCurve"),Array.isArray(t)&&(e=new a(t[2],t[3]),t=new a(t[0],t[1])),this.p0=t,this.p1=e},getBounds:function(t){return void 0===t&&(t=new o),r([this.p0,this.p1],t)},getStartPoint:function(t){return void 0===t&&(t=new a),t.copy(this.p0)},getResolution:function(t){return void 0===t&&(t=1),t},getPoint:function(t,e){return void 0===e&&(e=new a),1===t?e.copy(this.p1):(e.copy(this.p1).subtract(this.p0).scale(t).add(this.p0),e)},getPointAt:function(t,e){return this.getPoint(t,e)},getTangent:function(){return h.copy(this.p1).subtract(this.p0).normalize()},draw:function(t){return t.lineBetween(this.p0.x,this.p0.y,this.p1.x,this.p1.y),t},toJSON:function(){return{type:this.type,points:[this.p0.x,this.p0.y,this.p1.x,this.p1.y]}}});l.fromJSON=function(t){var e=t.points,i=new a(e[0],e[1]),n=new a(e[2],e[3]);return new l(i,n)},t.exports=l},function(t,e,i){var n=i(0),s=i(70),r=i(31),o=i(4),a=i(172),h=i(3),l=new n({Extends:s,initialize:function(t,e,i,n,a,l,u,c){if("object"==typeof t){var d=t;t=o(d,"x",0),e=o(d,"y",0),i=o(d,"xRadius",0),n=o(d,"yRadius",i),a=o(d,"startAngle",0),l=o(d,"endAngle",360),u=o(d,"clockwise",!1),c=o(d,"rotation",0)}else void 0===n&&(n=i),void 0===a&&(a=0),void 0===l&&(l=360),void 0===u&&(u=!1),void 0===c&&(c=0);s.call(this,"EllipseCurve"),this.p0=new h(t,e),this._xRadius=i,this._yRadius=n,this._startAngle=r(a),this._endAngle=r(l),this._clockwise=u,this._rotation=r(c)},getStartPoint:function(t){return void 0===t&&(t=new h),this.getPoint(0,t)},getResolution:function(t){return 2*t},getPoint:function(t,e){void 0===e&&(e=new h);for(var i=2*Math.PI,n=this._endAngle-this._startAngle,s=Math.abs(n)<Number.EPSILON;n<0;)n+=i;for(;n>i;)n-=i;n<Number.EPSILON&&(n=s?0:i),this._clockwise&&!s&&(n===i?n=-i:n-=i);var r=this._startAngle+t*n,o=this.p0.x+this._xRadius*Math.cos(r),a=this.p0.y+this._yRadius*Math.sin(r);if(0!==this._rotation){var l=Math.cos(this._rotation),u=Math.sin(this._rotation),c=o-this.p0.x,d=a-this.p0.y;o=c*l-d*u+this.p0.x,a=c*u+d*l+this.p0.y}return e.set(o,a)},setXRadius:function(t){return this.xRadius=t,this},setYRadius:function(t){return this.yRadius=t,this},setWidth:function(t){return this.xRadius=2*t,this},setHeight:function(t){return this.yRadius=2*t,this},setStartAngle:function(t){return this.startAngle=t,this},setEndAngle:function(t){return this.endAngle=t,this},setClockwise:function(t){return this.clockwise=t,this},setRotation:function(t){return this.rotation=t,this},x:{get:function(){return this.p0.x},set:function(t){this.p0.x=t}},y:{get:function(){return this.p0.y},set:function(t){this.p0.y=t}},xRadius:{get:function(){return this._xRadius},set:function(t){this._xRadius=t}},yRadius:{get:function(){return this._yRadius},set:function(t){this._yRadius=t}},startAngle:{get:function(){return a(this._startAngle)},set:function(t){this._startAngle=r(t)}},endAngle:{get:function(){return a(this._endAngle)},set:function(t){this._endAngle=r(t)}},clockwise:{get:function(){return this._clockwise},set:function(t){this._clockwise=t}},angle:{get:function(){return a(this._rotation)},set:function(t){this._rotation=r(t)}},rotation:{get:function(){return this._rotation},set:function(t){this._rotation=t}},toJSON:function(){return{type:this.type,x:this.p0.x,y:this.p0.y,xRadius:this._xRadius,yRadius:this._yRadius,startAngle:a(this._startAngle),endAngle:a(this._endAngle),clockwise:this._clockwise,rotation:a(this._rotation)}}});l.fromJSON=function(t){return new l(t)},t.exports=l},function(t,e){t.exports=function(t,e,i,n,s){return function(t,e){var i=1-t;return i*i*i*e}(t,e)+function(t,e){var i=1-t;return 3*i*i*t*e}(t,i)+function(t,e){return 3*(1-t)*t*t*e}(t,n)+function(t,e){return t*t*t*e}(t,s)}},function(t,e,i){var n=i(0),s=i(354),r=i(70),o=i(3),a=new n({Extends:r,initialize:function(t,e,i,n){r.call(this,"CubicBezierCurve"),Array.isArray(t)&&(n=new o(t[6],t[7]),i=new o(t[4],t[5]),e=new o(t[2],t[3]),t=new o(t[0],t[1])),this.p0=t,this.p1=e,this.p2=i,this.p3=n},getStartPoint:function(t){return void 0===t&&(t=new o),t.copy(this.p0)},getResolution:function(t){return t},getPoint:function(t,e){void 0===e&&(e=new o);var i=this.p0,n=this.p1,r=this.p2,a=this.p3;return e.set(s(t,i.x,n.x,r.x,a.x),s(t,i.y,n.y,r.y,a.y))},draw:function(t,e){void 0===e&&(e=32);var i=this.getPoints(e);t.beginPath(),t.moveTo(this.p0.x,this.p0.y);for(var n=1;n<i.length;n++)t.lineTo(i[n].x,i[n].y);return t.strokePath(),t},toJSON:function(){return{type:this.type,points:[this.p0.x,this.p0.y,this.p1.x,this.p1.y,this.p2.x,this.p2.y,this.p3.x,this.p3.y]}}});a.fromJSON=function(t){var e=t.points,i=new o(e[0],e[1]),n=new o(e[2],e[3]),s=new o(e[4],e[5]),r=new o(e[6],e[7]);return new a(i,n,s,r)},t.exports=a},function(t,e){t.exports={0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"}},function(t,e,i){var n=i(356),s=i(24),r=i(4);t.exports=function(t){var e=r(t,"data",[]),i=r(t,"canvas",null),o=r(t,"palette",n),a=r(t,"pixelWidth",1),h=r(t,"pixelHeight",a),l=r(t,"resizeCanvas",!0),u=r(t,"clearCanvas",!0),c=r(t,"preRender",null),d=r(t,"postRender",null),f=Math.floor(Math.abs(e[0].length*a)),p=Math.floor(Math.abs(e.length*h));i||(i=s.create2D(this,f,p),l=!1,u=!1),l&&(i.width=f,i.height=p);var g=i.getContext("2d");u&&g.clearRect(0,0,f,p),c&&c(i,g);for(var v=0;v<e.length;v++)for(var y=e[v],m=0;m<y.length;m++){var x=y[m];"."!==x&&" "!==x&&(g.fillStyle=o[x],g.fillRect(m*a,v*h,a,h))}return d&&d(i,g),i}},function(t,e,i){t.exports=i(952)},function(t,e,i){t.exports={In:i(955),Out:i(954),InOut:i(953)}},function(t,e,i){t.exports={In:i(958),Out:i(957),InOut:i(956)}},function(t,e,i){t.exports={In:i(961),Out:i(960),InOut:i(959)}},function(t,e,i){t.exports={In:i(964),Out:i(963),InOut:i(962)}},function(t,e,i){t.exports=i(965)},function(t,e,i){t.exports={In:i(968),Out:i(967),InOut:i(966)}},function(t,e,i){t.exports={In:i(971),Out:i(970),InOut:i(969)}},function(t,e,i){t.exports={In:i(974),Out:i(973),InOut:i(972)}},function(t,e,i){t.exports={In:i(977),Out:i(976),InOut:i(975)}},function(t,e,i){t.exports={In:i(980),Out:i(979),InOut:i(978)}},function(t,e,i){t.exports={In:i(983),Out:i(982),InOut:i(981)}},function(t,e,i){t.exports={Fade:i(986),Flash:i(985),Pan:i(984),Shake:i(951),Zoom:i(950)}},function(t,e,i){var n=i(37);t.exports=function(t){var e=new n,i=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t.toLowerCase());if(i){var s=parseInt(i[1],10),r=parseInt(i[2],10),o=parseInt(i[3],10),a=void 0!==i[4]?parseFloat(i[4]):1;e.setTo(s,r,o,255*a)}return e}},function(t,e,i){var n=i(37);t.exports=function(t){return new n(t.r,t.g,t.b,t.a)}},function(t,e){t.exports=function(t){return t>16777215?{a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{a:255,r:t>>16&255,g:t>>8&255,b:255&t}}},function(t,e,i){var n=i(37),s=i(373);t.exports=function(t){var e=s(t);return new n(e.r,e.g,e.b,e.a)}},function(t,e){t.exports=function(t,e,i,n){void 0===n&&(n={h:0,s:0,v:0}),t/=255,e/=255,i/=255;var s=Math.min(t,e,i),r=Math.max(t,e,i),o=r-s,a=0,h=0===r?0:o/r,l=r;return r!==s&&(r===t?a=(e-i)/o+(e<i?6:0):r===e?a=(i-t)/o+2:r===i&&(a=(t-e)/o+4),a/=6),n.hasOwnProperty("_h")?(n._h=a,n._s=h,n._v=l):(n.h=a,n.s=h,n.v=l),n}},function(t,e){t.exports=function(t,e,i,n){return n<<24|t<<16|e<<8|i}},function(t,e,i){var n=i(37);t.exports=function(t){var e=new n;t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var i=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(i){var s=parseInt(i[1],16),r=parseInt(i[2],16),o=parseInt(i[3],16);e.setTo(s,r,o)}return e}},function(t,e,i){var n=i(121),s=i(24),r=i(175),o=i(23),a=i(0),h=i(14),l=i(370),u=i(119),c=i(9),d=i(3),f=new a({Extends:n,Mixins:[h.Flip,h.Tint],initialize:function(t,e,i,s){n.call(this,t,e,i,s),this.inputEnabled=!0,this.fadeEffect=new l.Fade(this),this.flashEffect=new l.Flash(this),this.shakeEffect=new l.Shake(this),this.panEffect=new l.Pan(this),this.zoomEffect=new l.Zoom(this),this.lerp=new d(1,1),this.followOffset=new d,this.deadzone=null,this._follow=null,this.renderToTexture=!1,this.canvas=null,this.context=null,this.glTexture=null,this.framebuffer=null,this.pipeline=null},setRenderToTexture:function(t){var e=this.scene.sys.game.renderer;return e.gl?(this.glTexture=e.createTextureFromSource(null,this.width,this.height,0),this.framebuffer=e.createFramebuffer(this.width,this.height,this.glTexture,!1)):(this.canvas=s.create2D(this,this.width,this.height),this.context=this.canvas.getContext("2d")),this.renderToTexture=!0,t&&this.setPipeline(t),this},setPipeline:function(t){if("string"==typeof t){var e=this.scene.sys.game.renderer;e.gl&&e.hasPipeline(t)&&(this.pipeline=e.getPipeline(t))}else this.pipeline=t;return this},clearRenderToTexture:function(){var t=this.scene.sys.game.renderer;return t.gl?(this.framebuffer&&t.deleteFramebuffer(this.framebuffer),this.glTexture&&t.deleteTexture(this.glTexture),this.framebuffer=null,this.glTexture=null,this.pipeline=null):(s.remove(this),this.canvas=null,this.context=null),this.renderToTexture=!1,this},setDeadzone:function(t,e){if(void 0===t)this.deadzone=null;else{if(this.deadzone?(this.deadzone.width=t,this.deadzone.height=e):this.deadzone=new c(0,0,t,e),this._follow){var i=this.width/2,n=this.height/2,s=this._follow.x-this.followOffset.x,o=this._follow.y-this.followOffset.y;this.midPoint.set(s,o),this.scrollX=s-i,this.scrollY=o-n}r(this.deadzone,this.midPoint.x,this.midPoint.y)}return this},fadeIn:function(t,e,i,n,s,r){return this.fadeEffect.start(!1,t,e,i,n,!0,s,r)},fadeOut:function(t,e,i,n,s,r){return this.fadeEffect.start(!0,t,e,i,n,!0,s,r)},fadeFrom:function(t,e,i,n,s,r,o){return this.fadeEffect.start(!1,t,e,i,n,s,r,o)},fade:function(t,e,i,n,s,r,o){return this.fadeEffect.start(!0,t,e,i,n,s,r,o)},flash:function(t,e,i,n,s,r,o){return this.flashEffect.start(t,e,i,n,s,r,o)},shake:function(t,e,i,n,s){return this.shakeEffect.start(t,e,i,n,s)},pan:function(t,e,i,n,s,r,o){return this.panEffect.start(t,e,i,n,s,r,o)},zoomTo:function(t,e,i,n,s,r){return this.zoomEffect.start(t,e,i,n,s,r)},preRender:function(t,e){var i=this.width,n=this.height,s=.5*i,o=.5*n,a=this.zoom*t,h=this.matrix,l=i*this.originX,c=n*this.originY,d=this._follow,f=this.deadzone,p=this.scrollX,g=this.scrollY;if(f&&r(f,this.midPoint.x,this.midPoint.y),d){var v=d.x-this.followOffset.x,y=d.y-this.followOffset.y;f?(v<f.x?p=u(p,p-(f.x-v),this.lerp.x):v>f.right&&(p=u(p,p+(v-f.right),this.lerp.x)),y<f.y?g=u(g,g-(f.y-y),this.lerp.y):y>f.bottom&&(g=u(g,g+(y-f.bottom),this.lerp.y))):(p=u(p,v-l,this.lerp.x),g=u(g,y-c,this.lerp.y))}this.useBounds&&(p=this.clampX(p),g=this.clampY(g)),this.roundPixels&&(l=Math.round(l),c=Math.round(c)),this.scrollX=p,this.scrollY=g;var m=p+s,x=g+o;this.midPoint.set(m,x);var w=i/a,b=n/a;this.worldView.setTo(m-w/2,x-b/2,w,b),h.loadIdentity(),h.scale(e,e),h.translate(this.x+l,this.y+c),h.rotate(this.rotation),h.scale(a,a),h.translate(-l,-c),this.shakeEffect.preRender()},setLerp:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.lerp.set(t,e),this},setFollowOffset:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.followOffset.set(t,e),this},startFollow:function(t,e,i,n,s,r){void 0===e&&(e=!1),void 0===i&&(i=1),void 0===n&&(n=i),void 0===s&&(s=0),void 0===r&&(r=s),this._follow=t,this.roundPixels=e,i=o(i,0,1),n=o(n,0,1),this.lerp.set(i,n),this.followOffset.set(s,r);var a=this.width/2,h=this.height/2,l=t.x-s,u=t.y-r;return this.midPoint.set(l,u),this.scrollX=l-a,this.scrollY=u-h,this},stopFollow:function(){return this._follow=null,this},resetFX:function(){return this.panEffect.reset(),this.shakeEffect.reset(),this.flashEffect.reset(),this.fadeEffect.reset(),this},update:function(t,e){this.visible&&(this.panEffect.update(t,e),this.zoomEffect.update(t,e),this.shakeEffect.update(t,e),this.flashEffect.update(t,e),this.fadeEffect.update(t,e))},destroy:function(){this.clearRenderToTexture(),this.resetFX(),n.prototype.destroy.call(this),this._follow=null,this.deadzone=null}});t.exports=f},function(t,e,i){var n=i(380),s=new(i(0))({initialize:function(t){this.game=t,this.binary=new n,this.bitmapFont=new n,this.json=new n,this.physics=new n,this.shader=new n,this.audio=new n,this.text=new n,this.html=new n,this.obj=new n,this.tilemap=new n,this.xml=new n,this.custom={},this.game.events.once("destroy",this.destroy,this)},addCustom:function(t){return this.custom.hasOwnProperty(t)||(this.custom[t]=new n),this.custom[t]},destroy:function(){for(var t=["binary","bitmapFont","json","physics","shader","audio","text","html","obj","tilemap","xml"],e=0;e<t.length;e++)this[t[e]].destroy(),this[t[e]]=null;for(var i in this.custom)this.custom[i].destroy();this.custom=null,this.game=null}});t.exports=s},function(t,e,i){var n=i(0),s=i(180),r=i(11),o=new n({initialize:function(){this.entries=new s,this.events=new r},add:function(t,e){return this.entries.set(t,e),this.events.emit("add",this,t,e),this},has:function(t){return this.entries.has(t)},exists:function(t){return this.entries.has(t)},get:function(t){return this.entries.get(t)},remove:function(t){var e=this.get(t);return e&&(this.entries.delete(t),this.events.emit("remove",this,t,e.data)),this},destroy:function(){this.entries.clear(),this.events.removeAllListeners(),this.entries=null,this.events=null}});t.exports=o},function(t,e,i){var n=i(384),s=i(0),r=i(180),o=i(11),a=i(4),h=i(179),l=new s({Extends:o,initialize:function(t){o.call(this),this.game=t,this.textureManager=null,this.globalTimeScale=1,this.anims=new r,this.paused=!1,this.name="AnimationManager",t.events.once("boot",this.boot,this)},boot:function(){this.textureManager=this.game.textures,this.game.events.once("destroy",this.destroy,this)},add:function(t,e){if(!this.anims.has(t))return e.key=t,this.anims.set(t,e),this.emit("add",t,e),this;console.warn("Animation with key",t,"already exists")},create:function(t){var e=t.key;if(e&&!this.anims.has(e)){var i=new n(this,e,t);return this.anims.set(e,i),this.emit("add",e,i),i}console.warn("Invalid Animation Key, or Key already in use: "+e)},fromJSON:function(t,e){void 0===e&&(e=!1),e&&this.anims.clear(),"string"==typeof t&&(t=JSON.parse(t));var i=[];if(t.hasOwnProperty("anims")&&Array.isArray(t.anims)){for(var n=0;n<t.anims.length;n++)i.push(this.create(t.anims[n]));t.hasOwnProperty("globalTimeScale")&&(this.globalTimeScale=t.globalTimeScale)}else t.hasOwnProperty("key")&&"frame"===t.type&&i.push(this.create(t));return i},generateFrameNames:function(t,e){var i=a(e,"prefix",""),n=a(e,"start",0),s=a(e,"end",0),r=a(e,"suffix",""),o=a(e,"zeroPad",0),l=a(e,"outputArray",[]),u=a(e,"frames",!1),c=this.textureManager.get(t);if(!c)return l;var d,f,p=n<s?1:-1;if(s+=p,e)if(Array.isArray(u))for(d=0;d<u.length;d++)f=i+h(u[d],o,"0",1)+r,c.has(f)&&l.push({key:t,frame:f});else for(d=n;d!==s;d+=p)f=i+h(d,o,"0",1)+r,c.has(f)&&l.push({key:t,frame:f});else for(u=c.getFrameNames(),d=0;d<u.length;d++)l.push({key:t,frame:u[d]});return l},generateFrameNumbers:function(t,e){var i,n=a(e,"start",0),s=a(e,"end",-1),r=a(e,"first",!1),o=a(e,"outputArray",[]),h=a(e,"frames",!1),l=this.textureManager.get(t);if(!l)return o;if(r&&l.has(r)&&o.push({key:t,frame:r}),Array.isArray(h))for(i=0;i<h.length;i++)l.has(h[i])&&o.push({key:t,frame:h[i]});else for(-1===s&&(s=l.frameTotal),i=n;i<=s;i++)l.has(i)&&o.push({key:t,frame:i});return o},get:function(t){return this.anims.get(t)},load:function(t,e,i){var n=this.get(e);return n&&n.load(t,i),t},pauseAll:function(){return this.paused||(this.paused=!0,this.emit("pauseall")),this},play:function(t,e){if(Array.isArray(e)||(e=[e]),this.get(t)){for(var i=0;i<e.length;i++)e[i].anims.play(t);return this}},remove:function(t){var e=this.get(t);return e&&(this.emit("remove",t,e),this.anims.delete(t)),e},resumeAll:function(){return this.paused&&(this.paused=!1,this.emit("resumeall")),this},staggerPlay:function(t,e,i){if(void 0===i&&(i=0),Array.isArray(e)||(e=[e]),this.get(t)){for(var n=0;n<e.length;n++)e[n].anims.delayedPlay(i*n,t);return this}},toJSON:function(t){if(void 0!==t&&""!==t)return this.anims.get(t).toJSON();var e={anims:[],globalTimeScale:this.globalTimeScale};return this.anims.each(function(t,i){e.anims.push(i.toJSON())}),e},destroy:function(){this.anims.clear(),this.textureManager=null,this.game=null}});t.exports=l},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n){this.textureKey=t,this.textureFrame=e,this.index=i,this.frame=n,this.isFirst=!1,this.isLast=!1,this.prevFrame=null,this.nextFrame=null,this.duration=0,this.progress=0},toJSON:function(){return{key:this.textureKey,frame:this.textureFrame,duration:this.duration}},destroy:function(){this.frame=void 0}});t.exports=n},function(t,e){t.exports=function(t,e,i){if(!e.length)return NaN;if(1===e.length)return e[0];var n,s,r=1;if(i){if(t<e[0][i])return e[0];for(;e[r][i]<t;)r++}else for(;e[r]<t;)r++;return r>e.length&&(r=e.length),i?(n=e[r-1][i],(s=e[r][i])-t<=t-n?e[r]:e[r-1]):(n=e[r-1],(s=e[r])-t<=t-n?s:n)}},function(t,e,i){var n=i(23),s=i(0),r=i(383),o=i(382),a=i(4),h=new s({initialize:function(t,e,i){this.manager=t,this.key=e,this.type="frame",this.frames=this.getFrames(t.textureManager,a(i,"frames",[]),a(i,"defaultTextureKey",null)),this.frameRate=a(i,"frameRate",null),this.duration=a(i,"duration",null),null===this.duration&&null===this.frameRate?(this.frameRate=24,this.duration=this.frameRate/this.frames.length*1e3):this.duration&&null===this.frameRate?this.frameRate=this.frames.length/(this.duration/1e3):this.duration=this.frames.length/this.frameRate*1e3,this.msPerFrame=1e3/this.frameRate,this.skipMissedFrames=a(i,"skipMissedFrames",!0),this.delay=a(i,"delay",0),this.repeat=a(i,"repeat",0),this.repeatDelay=a(i,"repeatDelay",0),this.yoyo=a(i,"yoyo",!1),this.showOnStart=a(i,"showOnStart",!1),this.hideOnComplete=a(i,"hideOnComplete",!1),this.paused=!1,this.manager.on("pauseall",this.pause,this),this.manager.on("resumeall",this.resume,this)},addFrame:function(t){return this.addFrameAt(this.frames.length,t)},addFrameAt:function(t,e){var i=this.getFrames(this.manager.textureManager,e);if(i.length>0){if(0===t)this.frames=i.concat(this.frames);else if(t===this.frames.length)this.frames=this.frames.concat(i);else{var n=this.frames.slice(0,t),s=this.frames.slice(t);this.frames=n.concat(i,s)}this.updateFrameSequence()}return this},checkFrame:function(t){return t>=0&&t<this.frames.length},completeAnimation:function(t){this.hideOnComplete&&(t.parent.visible=!1),t.stop()},getFirstTick:function(t,e){void 0===e&&(e=!0),t.accumulator=0,t.nextTick=t.msPerFrame+t.currentFrame.duration,e&&(t.nextTick+=t._delay)},getFrameAt:function(t){return this.frames[t]},getFrames:function(t,e,i){var n,s,r,h,l=[],u=1;if("string"==typeof e){h=e;var c=t.get(h).getFrameNames();e=[],c.forEach(function(t,i){e.push({key:h,frame:i})})}if(!Array.isArray(e)||0===e.length)return l;for(r=0;r<e.length;r++){var d=e[r],f=a(d,"key",i);if(f){var p=a(d,"frame",0),g=t.getFrame(f,p);(s=new o(f,p,u,g)).duration=a(d,"duration",0),s.isFirst=!n,n&&(n.nextFrame=s,s.prevFrame=n),l.push(s),n=s,u++}}if(l.length>0){s.isLast=!0,s.nextFrame=l[0],l[0].prevFrame=s;var v=1/(l.length-1);for(r=0;r<l.length;r++)l[r].progress=r*v}return l},getNextTick:function(t){t.accumulator-=t.nextTick,t.nextTick=t.msPerFrame+t.currentFrame.duration},load:function(t,e){e>=this.frames.length&&(e=0),t.currentAnim!==this&&(t.currentAnim=this,t.frameRate=this.frameRate,t.duration=this.duration,t.msPerFrame=this.msPerFrame,t.skipMissedFrames=this.skipMissedFrames,t._delay=this.delay,t._repeat=this.repeat,t._repeatDelay=this.repeatDelay,t._yoyo=this.yoyo);var i=this.frames[e];0!==e||t.forward||(i=this.getLastFrame()),t.updateFrame(i)},getFrameByProgress:function(t){return t=n(t,0,1),r(t,this.frames,"progress")},nextFrame:function(t){var e=t.currentFrame;e.isLast?t._yoyo?this.handleYoyoFrame(t,!1):t.repeatCounter>0?t._reverse&&t.forward?t.forward=!1:this.repeatAnimation(t):this.completeAnimation(t):this.updateAndGetNextTick(t,e.nextFrame)},handleYoyoFrame:function(t,e){if(e||(e=!1),t._reverse===!e&&t.repeatCounter>0)return t.forward=e,void this.repeatAnimation(t);if(t._reverse===e||0!==t.repeatCounter){t.forward=e;var i=e?t.currentFrame.nextFrame:t.currentFrame.prevFrame;this.updateAndGetNextTick(t,i)}else this.completeAnimation(t)},getLastFrame:function(){return this.frames[this.frames.length-1]},previousFrame:function(t){var e=t.currentFrame;e.isFirst?t._yoyo?this.handleYoyoFrame(t,!0):t.repeatCounter>0?t._reverse&&!t.forward?(t.currentFrame=this.getLastFrame(),this.repeatAnimation(t)):(t.forward=!0,this.repeatAnimation(t)):this.completeAnimation(t):this.updateAndGetNextTick(t,e.prevFrame)},updateAndGetNextTick:function(t,e){t.updateFrame(e),this.getNextTick(t)},removeFrame:function(t){var e=this.frames.indexOf(t);return-1!==e&&this.removeFrameAt(e),this},removeFrameAt:function(t){return this.frames.splice(t,1),this.updateFrameSequence(),this},repeatAnimation:function(t){if(2===t._pendingStop)return this.completeAnimation(t);t._repeatDelay>0&&!1===t.pendingRepeat?(t.pendingRepeat=!0,t.accumulator-=t.nextTick,t.nextTick+=t._repeatDelay):(t.repeatCounter--,t.updateFrame(t.currentFrame[t.forward?"nextFrame":"prevFrame"]),t.isPlaying&&(this.getNextTick(t),t.pendingRepeat=!1,t.parent.emit("animationrepeat",this,t.currentFrame,t.repeatCounter,t.parent)))},setFrame:function(t){t.forward?this.nextFrame(t):this.previousFrame(t)},toJSON:function(){var t={key:this.key,type:this.type,frames:[],frameRate:this.frameRate,duration:this.duration,skipMissedFrames:this.skipMissedFrames,delay:this.delay,repeat:this.repeat,repeatDelay:this.repeatDelay,yoyo:this.yoyo,showOnStart:this.showOnStart,hideOnComplete:this.hideOnComplete};return this.frames.forEach(function(e){t.frames.push(e.toJSON())}),t},updateFrameSequence:function(){for(var t=this.frames.length,e=1/(t-1),i=0;i<t;i++){var n=this.frames[i];n.index=i+1,n.isFirst=!1,n.isLast=!1,n.progress=i*e,0===i?(n.isFirst=!0,n.isLast=1===t,n.prevFrame=this.frames[t-1],n.nextFrame=this.frames[i+1]):i===t-1?(n.isLast=!0,n.prevFrame=this.frames[t-2],n.nextFrame=this.frames[0]):t>1&&(n.prevFrame=this.frames[i-1],n.nextFrame=this.frames[i+1])}return this},pause:function(){return this.paused=!0,this},resume:function(){return this.paused=!1,this},destroy:function(){this.manager.off("pauseall",this.pause,this),this.manager.off("resumeall",this.resume,this),this.manager.remove(this.key);for(var t=0;t<this.frames.length;t++)this.frames[t].destroy();this.frames=[],this.manager=null}});t.exports=h},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=1),void 0===i&&(i=[]);var n=Math.round(t.x1),s=Math.round(t.y1),r=Math.round(t.x2),o=Math.round(t.y2),a=Math.abs(r-n),h=Math.abs(o-s),l=n<r?1:-1,u=s<o?1:-1,c=a-h;i.push({x:n,y:s});for(var d=1;n!==r||s!==o;){var f=c<<1;f>-h&&(c-=h,n+=l),f<a&&(c+=a,s+=u),d%e==0&&i.push({x:n,y:s}),d++}return i}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1);for(var i=null,n=0;n<e;n++)i=t.pop(),t.unshift(i);return i}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1);for(var i=null,n=0;n<e;n++)i=t.shift(),t.push(i);return i}},function(t,e,i){var n=i(124),s=i(6);t.exports=function(t,e,i,r){if(void 0===r&&(r=[]),!e&&!i)return r;e?i=Math.round(n(t)/e):e=n(t)/i;for(var o=t.x,a=t.y,h=0,l=0;l<i;l++)switch(r.push(new s(o,a)),h){case 0:(o+=e)>=t.right&&(h=1,a+=o-t.right,o=t.right);break;case 1:(a+=e)>=t.bottom&&(h=2,o-=a-t.bottom,a=t.bottom);break;case 2:(o-=e)<=t.left&&(h=3,a-=t.left-o,o=t.left);break;case 3:(a-=e)<=t.top&&(h=0,a=t.top)}return r}},function(t,e){var i={_visible:!0,visible:{get:function(){return this._visible},set:function(t){t?(this._visible=!0,this.renderFlags|=1):(this._visible=!1,this.renderFlags&=-2)}},setVisible:function(t){return this.visible=t,this}};t.exports=i},function(t,e,i){var n=i(16),s=i(38),r=i(199),o=i(198),a={_scaleX:1,_scaleY:1,_rotation:0,x:0,y:0,z:0,w:0,scaleX:{get:function(){return this._scaleX},set:function(t){this._scaleX=t,0===this._scaleX?this.renderFlags&=-5:this.renderFlags|=4}},scaleY:{get:function(){return this._scaleY},set:function(t){this._scaleY=t,0===this._scaleY?this.renderFlags&=-5:this.renderFlags|=4}},angle:{get:function(){return o(this._rotation*n.RAD_TO_DEG)},set:function(t){this.rotation=o(t)*n.DEG_TO_RAD}},rotation:{get:function(){return this._rotation},set:function(t){this._rotation=r(t)}},setPosition:function(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=t),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.z=i,this.w=n,this},setRandomPosition:function(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.game.config.width),void 0===n&&(n=this.scene.sys.game.config.height),this.x=t+Math.random()*i,this.y=e+Math.random()*n,this},setRotation:function(t){return void 0===t&&(t=0),this.rotation=t,this},setAngle:function(t){return void 0===t&&(t=0),this.angle=t,this},setScale:function(t,e){return void 0===t&&(t=1),void 0===e&&(e=t),this.scaleX=t,this.scaleY=e,this},setX:function(t){return void 0===t&&(t=0),this.x=t,this},setY:function(t){return void 0===t&&(t=0),this.y=t,this},setZ:function(t){return void 0===t&&(t=0),this.z=t,this},setW:function(t){return void 0===t&&(t=0),this.w=t,this},getLocalTransformMatrix:function(t){return void 0===t&&(t=new s),t.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY)},getWorldTransformMatrix:function(t,e){void 0===t&&(t=new s),void 0===e&&(e=new s);var i=this.parentContainer;if(!i)return this.getLocalTransformMatrix(t);for(t.applyITRS(this.x,this.y,this._rotation,this._scaleX,this._scaleY);i;)e.applyITRS(i.x,i.y,i._rotation,i._scaleX,i._scaleY),e.multiply(t,t),i=i.parentContainer;return t}};t.exports=a},function(t,e){t.exports=function(t){var e={name:t.name,type:t.type,x:t.x,y:t.y,depth:t.depth,scale:{x:t.scaleX,y:t.scaleY},origin:{x:t.originX,y:t.originY},flipX:t.flipX,flipY:t.flipY,rotation:t.rotation,alpha:t.alpha,visible:t.visible,scaleMode:t.scaleMode,blendMode:t.blendMode,textureKey:"",frameKey:"",data:{}};return t.texture&&(e.textureKey=t.texture.key,e.frameKey=t.frame.name),e}},function(t,e){var i={scrollFactorX:1,scrollFactorY:1,setScrollFactor:function(t,e){return void 0===e&&(e=t),this.scrollFactorX=t,this.scrollFactorY=e,this}};t.exports=i},function(t,e,i){var n=new(i(0))({initialize:function(t,e){this.geometryMask=e},setShape:function(t){this.geometryMask=t},preRenderWebGL:function(t,e,i){var n=t.gl,s=this.geometryMask;t.flush(),n.enable(n.STENCIL_TEST),n.clear(n.STENCIL_BUFFER_BIT),n.colorMask(!1,!1,!1,!1),n.stencilFunc(n.NOTEQUAL,1,1),n.stencilOp(n.REPLACE,n.REPLACE,n.REPLACE),s.renderWebGL(t,s,0,i),t.flush(),n.colorMask(!0,!0,!0,!0),n.stencilFunc(n.EQUAL,1,1),n.stencilOp(n.KEEP,n.KEEP,n.KEEP)},postRenderWebGL:function(t){var e=t.gl;t.flush(),e.disable(e.STENCIL_TEST)},preRenderCanvas:function(t,e,i){var n=this.geometryMask;t.currentContext.save(),n.renderCanvas(t,n,0,i,null,null,!0),t.currentContext.clip()},postRenderCanvas:function(t){t.currentContext.restore()},destroy:function(){this.geometryMask=null}});t.exports=n},function(t,e,i){var n=new(i(0))({initialize:function(t,e){var i=t.sys.game.renderer;if(this.renderer=i,this.bitmapMask=e,this.maskTexture=null,this.mainTexture=null,this.dirty=!0,this.mainFramebuffer=null,this.maskFramebuffer=null,this.invertAlpha=!1,i&&i.gl){var n=i.width,s=i.height,r=0==(n&n-1)&&0==(s&s-1),o=i.gl,a=r?o.REPEAT:o.CLAMP_TO_EDGE,h=o.LINEAR;this.mainTexture=i.createTexture2D(0,h,h,a,a,o.RGBA,null,n,s),this.maskTexture=i.createTexture2D(0,h,h,a,a,o.RGBA,null,n,s),this.mainFramebuffer=i.createFramebuffer(n,s,this.mainTexture,!1),this.maskFramebuffer=i.createFramebuffer(n,s,this.maskTexture,!1),i.onContextRestored(function(t){var e=t.width,i=t.height,n=0==(e&e-1)&&0==(i&i-1),s=t.gl,r=n?s.REPEAT:s.CLAMP_TO_EDGE,o=s.LINEAR;this.mainTexture=t.createTexture2D(0,o,o,r,r,s.RGBA,null,e,i),this.maskTexture=t.createTexture2D(0,o,o,r,r,s.RGBA,null,e,i),this.mainFramebuffer=t.createFramebuffer(e,i,this.mainTexture,!1),this.maskFramebuffer=t.createFramebuffer(e,i,this.maskTexture,!1)},this)}},setBitmap:function(t){this.bitmapMask=t},preRenderWebGL:function(t,e,i){t.pipelines.BitmapMaskPipeline.beginMask(this,e,i)},postRenderWebGL:function(t){t.pipelines.BitmapMaskPipeline.endMask(this)},preRenderCanvas:function(){},postRenderCanvas:function(){},destroy:function(){this.bitmapMask=null;var t=this.renderer;t&&t.gl&&(t.deleteTexture(this.mainTexture),t.deleteTexture(this.maskTexture),t.deleteFramebuffer(this.mainFramebuffer),t.deleteFramebuffer(this.maskFramebuffer)),this.mainTexture=null,this.maskTexture=null,this.mainFramebuffer=null,this.maskFramebuffer=null,this.renderer=null}});t.exports=n},function(t,e,i){var n=i(394),s=i(393),r={mask:null,setMask:function(t){return this.mask=t,this},clearMask:function(t){return void 0===t&&(t=!1),t&&this.mask&&this.mask.destroy(),this.mask=null,this},createBitmapMask:function(t){return void 0===t&&this.texture&&(t=this),new n(this.scene,t)},createGeometryMask:function(t){return void 0===t&&"Graphics"===this.type&&(t=this),new s(this.scene,t)}};t.exports=r},function(t,e){t.exports=function(t,e,i,n){var s=Math.cos(n),r=Math.sin(n),o=t.x-e,a=t.y-i;return t.x=o*s-a*r+e,t.y=o*r+a*s+i,t}},function(t,e,i){var n=i(6);t.exports=function(t,e,i){return void 0===i&&(i=new n),i.x=t.x1+(t.x2-t.x1)*e,i.y=t.y1+(t.y2-t.y1)*e,i}},function(t,e,i){var n=i(190),s=i(124);t.exports=function(t,e,i,r){void 0===r&&(r=[]),e||(e=s(t)/i);for(var o=0;o<e;o++){var a=o/e;r.push(n(t,a))}return r}},function(t,e){var i={_depth:0,depth:{get:function(){return this._depth},set:function(t){this.scene.sys.queueDepthSort(),this._depth=t}},setDepth:function(t){return void 0===t&&(t=0),this.depth=t,this}};t.exports=i},function(t,e,i){var n=i(66),s={_blendMode:n.NORMAL,blendMode:{get:function(){return this._blendMode},set:function(t){"string"==typeof t&&(t=n[t]),(t|=0)>=-1&&(this._blendMode=t)}},setBlendMode:function(t){return this.blendMode=t,this}};t.exports=s},function(t,e,i){var n=i(23),s={_alpha:1,_alphaTL:1,_alphaTR:1,_alphaBL:1,_alphaBR:1,clearAlpha:function(){return this.setAlpha(1)},setAlpha:function(t,e,i,s){return void 0===t&&(t=1),void 0===e?this.alpha=t:(this._alphaTL=n(t,0,1),this._alphaTR=n(e,0,1),this._alphaBL=n(i,0,1),this._alphaBR=n(s,0,1)),this},alpha:{get:function(){return this._alpha},set:function(t){var e=n(t,0,1);this._alpha=e,this._alphaTL=e,this._alphaTR=e,this._alphaBL=e,this._alphaBR=e,0===e?this.renderFlags&=-3:this.renderFlags|=2}},alphaTopLeft:{get:function(){return this._alphaTL},set:function(t){var e=n(t,0,1);this._alphaTL=e,0!==e&&(this.renderFlags|=2)}},alphaTopRight:{get:function(){return this._alphaTR},set:function(t){var e=n(t,0,1);this._alphaTR=e,0!==e&&(this.renderFlags|=2)}},alphaBottomLeft:{get:function(){return this._alphaBL},set:function(t){var e=n(t,0,1);this._alphaBL=e,0!==e&&(this.renderFlags|=2)}},alphaBottomRight:{get:function(){return this._alphaBR},set:function(t){var e=n(t,0,1);this._alphaBR=e,0!==e&&(this.renderFlags|=2)}}};t.exports=s},function(t,e){t.exports=function(t){return Math.PI*t.radius*2}},function(t,e,i){var n=i(402),s=i(192),r=i(93),o=i(16);t.exports=function(t,e,i,a){void 0===a&&(a=[]),e||(e=n(t)/i);for(var h=0;h<e;h++){var l=r(h/e,0,o.PI2);a.push(s(t,l))}return a}},function(t,e,i){var n=new(i(0))({initialize:function(t){void 0===t&&(t=[(Date.now()*Math.random()).toString()]),this.c=1,this.s0=0,this.s1=0,this.s2=0,this.n=0,this.signs=[-1,1],t&&this.init(t)},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},hash:function(t){var e,i=this.n;t=t.toString();for(var n=0;n<t.length;n++)e=.02519603282416938*(i+=t.charCodeAt(n)),e-=i=e>>>0,i=(e*=i)>>>0,i+=4294967296*(e-=i);return this.n=i,2.3283064365386963e-10*(i>>>0)},init:function(t){"string"==typeof t?this.state(t):this.sow(t)},sow:function(t){if(this.n=4022871197,this.s0=this.hash(" "),this.s1=this.hash(" "),this.s2=this.hash(" "),this.c=1,t)for(var e=0;e<t.length&&null!=t[e];e++){var i=t[e];this.s0-=this.hash(i),this.s0+=~~(this.s0<0),this.s1-=this.hash(i),this.s1+=~~(this.s1<0),this.s2-=this.hash(i),this.s2+=~~(this.s2<0)}},integer:function(){return 4294967296*this.rnd()},frac:function(){return this.rnd()+1.1102230246251565e-16*(2097152*this.rnd()|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 Math.floor(this.realInRange(0,e-t+1)+t)},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(this.signs)},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)},rotation:function(){return this.realInRange(-3.1415926,3.1415926)},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(",")},shuffle:function(t){for(var e=t.length-1,i=e;i>0;i--){var n=Math.floor(this.frac()*(e+1)),s=t[n];t[n]=t[i],t[i]=s}return t}});t.exports=n},function(t,e,i){var n=i(192),s=i(93),r=i(16),o=i(6);t.exports=function(t,e,i){void 0===i&&(i=new o);var a=s(e,0,r.PI2);return n(t,a,i)}},function(t,e,i){var n=i(44),s=i(42),r=i(43),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)+i),o(t,s(e)-a),t}},function(t,e,i){var n=i(46),s=i(42),r=i(45),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)-i),o(t,s(e)-a),t}},function(t,e,i){var n=i(75),s=i(42),r=i(74),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)+i),o(t,s(e)-a),t}},function(t,e,i){var n=i(72),s=i(44),r=i(73),o=i(43);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(72),s=i(46),r=i(73),o=i(45);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(74),s=i(73);t.exports=function(t,e,i){return n(t,e),s(t,i)}},function(t,e,i){var n=i(411),s=i(75),r=i(72);t.exports=function(t,e,i,o){return void 0===i&&(i=0),void 0===o&&(o=0),n(t,s(e)+i,r(e)+o),t}},function(t,e,i){var n=i(48),s=i(44),r=i(47),o=i(43);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(46),r=i(47),o=i(45);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(75),r=i(47),o=i(74);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(193),s=[];s[n.BOTTOM_CENTER]=i(415),s[n.BOTTOM_LEFT]=i(414),s[n.BOTTOM_RIGHT]=i(413),s[n.CENTER]=i(412),s[n.LEFT_CENTER]=i(410),s[n.RIGHT_CENTER]=i(409),s[n.TOP_CENTER]=i(408),s[n.TOP_LEFT]=i(407),s[n.TOP_RIGHT]=i(406);t.exports=function(t,e,i,n,r){return s[i](t,e,n,r)}},function(t,e,i){t.exports={Angle:i(1050),Call:i(1049),GetFirst:i(1048),GetLast:i(1047),GridAlign:i(1046),IncAlpha:i(1035),IncX:i(1034),IncXY:i(1033),IncY:i(1032),PlaceOnCircle:i(1031),PlaceOnEllipse:i(1030),PlaceOnLine:i(1029),PlaceOnRectangle:i(1028),PlaceOnTriangle:i(1027),PlayAnimation:i(1026),PropertyValueInc:i(32),PropertyValueSet:i(25),RandomCircle:i(1025),RandomEllipse:i(1024),RandomLine:i(1023),RandomRectangle:i(1022),RandomTriangle:i(1021),Rotate:i(1020),RotateAround:i(1019),RotateAroundDistance:i(1018),ScaleX:i(1017),ScaleXY:i(1016),ScaleY:i(1015),SetAlpha:i(1014),SetBlendMode:i(1013),SetDepth:i(1012),SetHitArea:i(1011),SetOrigin:i(1010),SetRotation:i(1009),SetScale:i(1008),SetScaleX:i(1007),SetScaleY:i(1006),SetTint:i(1005),SetVisible:i(1004),SetX:i(1003),SetXY:i(1002),SetY:i(1001),ShiftPosition:i(1e3),Shuffle:i(999),SmootherStep:i(998),SmoothStep:i(997),Spread:i(996),ToggleVisible:i(995),WrapInRectangle:i(994)}},function(t,e){var i={};t.exports=i,i.create=function(t,e){var n=t.bodyA,s=t.bodyB,r={id:i.id(n,s),bodyA:n,bodyB:s,activeContacts:[],separation:0,isActive:!0,confirmedActive:!0,isSensor:n.isSensor||s.isSensor,timeCreated:e,timeUpdated:e,collision:null,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return i.update(r,t,e),r},i.update=function(t,e,n){if(t.collision=e,e.collided){var s=e.supports,r=t.activeContacts,o=e.parentA,a=e.parentB;t.inverseMass=o.inverseMass+a.inverseMass,t.friction=Math.min(o.friction,a.friction),t.frictionStatic=Math.max(o.frictionStatic,a.frictionStatic),t.restitution=Math.max(o.restitution,a.restitution),t.slop=Math.max(o.slop,a.slop);for(var h=0;h<s.length;h++)r[h]=s[h].contact;var l=s.length;l<r.length&&(r.length=l),t.separation=e.depth,i.setActive(t,!0,n)}else!0===t.isActive&&i.setActive(t,!1,n)},i.setActive=function(t,e,i){e?(t.isActive=!0,t.timeUpdated=i):(t.isActive=!1,t.activeContacts.length=0)},i.id=function(t,e){return t.id<e.id?"A"+t.id+"B"+e.id:"A"+e.id+"B"+t.id}},function(t,e,i){t.exports={Bounce:i(1103),Collision:i(1102),Force:i(1101),Friction:i(1100),Gravity:i(1099),Mass:i(1098),Static:i(1097),Sensor:i(1096),SetBody:i(1095),Sleep:i(1093),Transform:i(1092),Velocity:i(1091)}},function(t,e,i){var n=i(0),s=i(895),r=i(196),o=10,a=new n({Extends:r,initialize:function(t){o=t.maxLights,t.fragShader=s.replace("%LIGHT_COUNT%",o.toString()),r.call(this,t),this.defaultNormalMap},boot:function(){this.defaultNormalMap=this.game.textures.getFrame("__DEFAULT")},onBind:function(t){r.prototype.onBind.call(this);var e=this.renderer,i=this.program;return this.mvpUpdate(),e.setInt1(i,"uNormSampler",1),e.setFloat2(i,"uResolution",this.width,this.height),t&&this.setNormalMap(t),this},onRender:function(t,e){this.active=!1;var i=t.sys.lights;if(!i||i.lights.length<=0||!i.active)return this;var n=i.cull(e),s=Math.min(n.length,o);if(0===s)return this;this.active=!0;var r,a=this.renderer,h=this.program,l=e.matrix,u={x:0,y:0},c=a.height;for(r=0;r<o;++r)a.setFloat1(h,"uLights["+r+"].radius",0);for(a.setFloat4(h,"uCamera",e.x,e.y,e.rotation,e.zoom),a.setFloat3(h,"uAmbientLightColor",i.ambientColor.r,i.ambientColor.g,i.ambientColor.b),r=0;r<s;++r){var d=n[r],f="uLights["+r+"].";l.transformPoint(d.x,d.y,u),a.setFloat2(h,f+"position",u.x-e.scrollX*d.scrollFactorX*e.zoom,c-(u.y-e.scrollY*d.scrollFactorY*e.zoom)),a.setFloat3(h,f+"color",d.r,d.g,d.b),a.setFloat1(h,f+"intensity",d.intensity),a.setFloat1(h,f+"radius",d.radius)}return this},batchTexture:function(t,e,i,n,s,r,o,a,h,l,u,c,d,f,p,g,v,y,m,x,w,b,T,S,_,A,C,M,P,E){var k;if(this.active)if(this.renderer.setPipeline(this),t.displayTexture?k=t.displayTexture.dataSource[t.displayFrame.sourceIndex]:t.texture?k=t.texture.dataSource[t.frame.sourceIndex]:t.tileset&&(k=t.tileset.image.dataSource[0]),k){this.setTexture2D(k.glTexture,1);var L=this._tempMatrix1,F=this._tempMatrix2,R=this._tempMatrix3,O=y/i+C,D=m/n+M,B=(y+x)/i+C,I=(m+w)/n+M,Y=o,X=a,z=-g,N=-v;if(t.isCropped){var U=t._crop;Y=U.width,X=U.height,o=U.width,a=U.height;var V=y=U.x,G=m=U.y;c&&(V=x-U.x-U.width),d&&!e.isRenderTexture&&(G=w-U.y-U.height),O=V/i+C,D=G/n+M,B=(V+U.width)/i+C,I=(G+U.height)/n+M,z=-g+y,N=-v+m}d^=e.isRenderTexture?1:0,c&&(Y*=-1,z+=o),d&&(X*=-1,N+=a);var W=z+Y,H=N+X;F.applyITRS(s,r,u,h,l),L.copyFrom(P.matrix),E?(L.multiplyWithOffset(E,-P.scrollX*f,-P.scrollY*p),F.e=s,F.f=r,L.multiply(F,R)):(F.e-=P.scrollX*f,F.f-=P.scrollY*p,L.multiply(F,R));var j=R.getX(z,N),q=R.getY(z,N),K=R.getX(z,H),J=R.getY(z,H),Z=R.getX(W,H),Q=R.getY(W,H),$=R.getX(W,N),tt=R.getY(W,N);P.roundPixels&&(j|=0,q|=0,K|=0,J|=0,Z|=0,Q|=0,$|=0,tt|=0),this.setTexture2D(e,0),this.batchQuad(j,q,K,J,Z,Q,$,tt,O,D,B,I,b,T,S,_,A)}else console.warn("Normal map missing or invalid")},setNormalMap:function(t){var e;this.active&&t&&(t.texture&&(e=t.texture.dataSource[t.frame.sourceIndex]),e||(e=this.defaultNormalMap),this.setTexture2D(e.glTexture,1),this.renderer.setPipeline(t.defaultPipeline))},batchSprite:function(t,e,i){if(this.active){var n=t.texture.dataSource[t.frame.sourceIndex];n&&(this.renderer.setPipeline(this),this.setTexture2D(n.glTexture,1),r.prototype.batchSprite.call(this,t,e,i))}}});a.LIGHT_COUNT=o,t.exports=a},function(t,e,i){var n=i(0),s=i(897),r=i(896),o=i(197),a=new n({Extends:o,initialize:function(t){o.call(this,{game:t.game,renderer:t.renderer,gl:t.renderer.gl,topology:t.topology?t.topology:t.renderer.gl.TRIANGLES,vertShader:t.vertShader?t.vertShader:r,fragShader:t.fragShader?t.fragShader:s,vertexCapacity:t.vertexCapacity?t.vertexCapacity:3,vertexSize:t.vertexSize?t.vertexSize:2*Float32Array.BYTES_PER_ELEMENT,vertices:new Float32Array([-1,1,-1,-7,7,1]).buffer,attributes:[{name:"inPosition",size:2,type:t.renderer.gl.FLOAT,normalized:!1,offset:0}]}),this.vertexViewF32=new Float32Array(this.vertexData),this.maxQuads=1,this.resolutionDirty=!0},onBind:function(){o.prototype.onBind.call(this);var t=this.renderer,e=this.program;return this.resolutionDirty&&(t.setFloat2(e,"uResolution",this.width,this.height),t.setInt1(e,"uMainSampler",0),t.setInt1(e,"uMaskSampler",1),this.resolutionDirty=!1),this},resize:function(t,e,i){return o.prototype.resize.call(this,t,e,i),this.resolutionDirty=!0,this},beginMask:function(t,e,i){var n=this.renderer,s=this.gl,r=t.bitmapMask;r&&s&&(n.flush(),n.setFramebuffer(t.maskFramebuffer),s.clearColor(0,0,0,0),s.clear(s.COLOR_BUFFER_BIT),r.renderWebGL(n,r,0,i),n.flush(),n.setFramebuffer(t.mainFramebuffer),s.clearColor(0,0,0,0),s.clear(s.COLOR_BUFFER_BIT))},endMask:function(t){var e=this.renderer,i=this.gl;t.bitmapMask&&i&&(e.setFramebuffer(null),e.setPipeline(this),e.setTexture2D(t.maskTexture,1),e.setTexture2D(t.mainTexture,0),e.setInt1(this.program,"uInvertMaskAlpha",t.invertAlpha),i.drawArrays(this.topology,0,3))}});t.exports=a},function(t,e){t.exports=function(t,e,i){e||(e="image/png"),i||(i=.92);var n=t.getContext("experimental-webgl"),s=new Uint8Array(n.drawingBufferWidth*n.drawingBufferHeight*4);n.readPixels(0,0,n.drawingBufferWidth,n.drawingBufferHeight,n.RGBA,n.UNSIGNED_BYTE,s);var r,o=document.createElement("canvas"),a=o.getContext("2d");o.width=n.drawingBufferWidth,o.height=n.drawingBufferHeight;for(var h=(r=a.getImageData(0,0,o.width,o.height)).data,l=0;l<o.height;l+=1)for(var u=0;u<o.width;u+=1){var c=4*((o.height-l)*o.width+u),d=4*(l*o.width+u);h[d+0]=s[c+0],h[d+1]=s[c+1],h[d+2]=s[c+2],h[d+3]=s[c+3]}a.putImageData(r,0,0);var f=o.toDataURL(e,i),p=new Image;return p.src=f,p}},function(t,e,i){var n=i(121),s=i(0),r=i(26),o=i(117),a=i(91),h=i(38),l=i(10),u=i(422),c=i(421),d=i(420),f=i(196),p=new s({initialize:function(t){var e=this,i=t.config,s={alpha:i.transparent,depth:!1,antialias:i.antialias,premultipliedAlpha:i.premultipliedAlpha,stencil:!0,preserveDrawingBuffer:i.preserveDrawingBuffer,failIfMajorPerformanceCaveat:i.failIfMajorPerformanceCaveat,powerPreference:i.powerPreference};this.config={clearBeforeRender:i.clearBeforeRender,antialias:i.antialias,backgroundColor:i.backgroundColor,contextCreation:s,resolution:i.resolution,autoResize:i.autoResize,roundPixels:i.roundPixels,maxTextures:i.maxTextures,maxTextureSize:i.maxTextureSize,batchSize:i.batchSize,maxLights:i.maxLights},this.game=t,this.type=r.WEBGL,this.width=t.config.width,this.height=t.config.height,this.canvas=t.canvas,this.lostContextCallbacks=[],this.restoredContextCallbacks=[],this.blendModes=[],this.nativeTextures=[],this.contextLost=!1,this.pipelines=null,this.snapshotState={callback:null,type:null,encoder:null},this.currentActiveTextureUnit=0,this.currentTextures=new Array(16),this.currentFramebuffer=null,this.currentPipeline=null,this.currentProgram=null,this.currentVertexBuffer=null,this.currentIndexBuffer=null,this.currentBlendMode=1/0,this.currentScissorEnabled=!1,this.currentScissor=null,this.scissorStack=[],this.canvas.addEventListener("webglcontextlost",function(t){e.contextLost=!0,t.preventDefault();for(var i=0;i<e.lostContextCallbacks.length;++i){var n=e.lostContextCallbacks[i];n[0].call(n[1],e)}},!1),this.canvas.addEventListener("webglcontextrestored",function(){e.contextLost=!1,e.init(e.config);for(var t=0;t<e.restoredContextCallbacks.length;++t){var i=e.restoredContextCallbacks[t];i[0].call(i[1],e)}},!1),this.gl=null,this.supportedExtensions=null,this.extensions={},this.glFormats=[],this.compression={ETC1:!1,PVRTC:!1,S3TC:!1},this.drawingBufferHeight=0,this.blankTexture=null,this.defaultCamera=new n(0,0,0,0),this._tempMatrix1=new h,this._tempMatrix2=new h,this._tempMatrix3=new h,this._tempMatrix4=new h,this.init(this.config)},init:function(t){var e,i=this.canvas,n=t.backgroundColor;if(!(e=this.game.config.context?this.game.config.context:i.getContext("webgl",t.contextCreation)||i.getContext("experimental-webgl",t.contextCreation))||e.isContextLost())throw this.contextLost=!0,new Error("WebGL unsupported");this.gl=e,this.game.context=e;for(var s=0;s<=16;s++)this.blendModes.push({func:[e.ONE,e.ONE_MINUS_SRC_ALPHA],equation:e.FUNC_ADD});this.blendModes[1].func=[e.ONE,e.DST_ALPHA],this.blendModes[2].func=[e.DST_COLOR,e.ONE_MINUS_SRC_ALPHA],this.blendModes[3].func=[e.ONE,e.ONE_MINUS_SRC_COLOR],this.glFormats[0]=e.BYTE,this.glFormats[1]=e.SHORT,this.glFormats[2]=e.UNSIGNED_BYTE,this.glFormats[3]=e.UNSIGNED_SHORT,this.glFormats[4]=e.FLOAT;var o=e.getSupportedExtensions();t.maxTextures||(t.maxTextures=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)),t.maxTextureSize||(t.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE));var a="WEBGL_compressed_texture_",h="WEBKIT_"+a;this.compression.ETC1=e.getExtension(a+"etc1")||e.getExtension(h+"etc1"),this.compression.PVRTC=e.getExtension(a+"pvrtc")||e.getExtension(h+"pvrtc"),this.compression.S3TC=e.getExtension(a+"s3tc")||e.getExtension(h+"s3tc"),this.supportedExtensions=o,e.disable(e.DEPTH_TEST),e.disable(e.CULL_FACE),e.enable(e.BLEND),e.clearColor(n.redGL,n.greenGL,n.blueGL,1);for(var l=0;l<this.currentTextures.length;++l)this.currentTextures[l]=null;return this.pipelines={},this.addPipeline("TextureTintPipeline",new f({game:this.game,renderer:this})),this.addPipeline("BitmapMaskPipeline",new c({game:this.game,renderer:this})),this.addPipeline("Light2D",new d({game:this.game,renderer:this,maxLights:t.maxLights})),this.setBlendMode(r.BlendModes.NORMAL),this.resize(this.width,this.height),this.game.events.once("texturesready",this.boot,this),this},boot:function(){for(var t in this.pipelines)this.pipelines[t].boot();var e=this.game.textures.getFrame("__DEFAULT");this.pipelines.TextureTintPipeline.currentFrame=e,this.blankTexture=e},resize:function(t,e){var i=this.gl,n=this.pipelines,s=this.config.resolution;for(var r in this.width=Math.floor(t*s),this.height=Math.floor(e*s),this.canvas.width=this.width,this.canvas.height=this.height,this.config.autoResize&&(this.canvas.style.width=this.width/s+"px",this.canvas.style.height=this.height/s+"px"),i.viewport(0,0,this.width,this.height),n)n[r].resize(t,e,s);return this.drawingBufferHeight=i.drawingBufferHeight,this.defaultCamera.setSize(t,e),i.scissor(0,this.drawingBufferHeight-this.height,this.width,this.height),this},onContextRestored:function(t,e){return this.restoredContextCallbacks.push([t,e]),this},onContextLost:function(t,e){return this.lostContextCallbacks.push([t,e]),this},hasExtension:function(t){return!!this.supportedExtensions&&this.supportedExtensions.indexOf(t)},getExtension:function(t){return this.hasExtension(t)?(t in this.extensions||(this.extensions[t]=this.gl.getExtension(t)),this.extensions[t]):null},flush:function(){this.currentPipeline&&this.currentPipeline.flush()},hasPipeline:function(t){return t in this.pipelines},getPipeline:function(t){return this.hasPipeline(t)?this.pipelines[t]:null},removePipeline:function(t){return delete this.pipelines[t],this},addPipeline:function(t,e){return this.hasPipeline(t)?console.warn("Pipeline exists: "+t):this.pipelines[t]=e,e.name=t,this.pipelines[t].resize(this.width,this.height,this.config.resolution),e},pushScissor:function(t,e,i,n){var s=[t,e,i,n];return this.scissorStack.push(s),this.setScissor(t,e,i,n),this.currentScissor=s,s},setScissor:function(t,e,i,n){var s=this.gl,r=this.currentScissor,o=r[0],a=r[1],h=r[2],l=r[3];o===t&&a===e&&h===i&&l===n||(this.flush(),i>0&&n>0&&s.scissor(t,this.drawingBufferHeight-e-n,i,n))},popScissor:function(){var t=this.scissorStack;t.pop();var e=t[t.length-1];e&&this.setScissor(e[0],e[1],e[2],e[3]),this.currentScissor=e},setPipeline:function(t,e){return this.currentPipeline===t&&this.currentPipeline.vertexBuffer===this.currentVertexBuffer&&this.currentPipeline.program===this.currentProgram||(this.flush(),this.currentPipeline=t,this.currentPipeline.bind()),this.currentPipeline.onBind(e),this.currentPipeline},setBlendMode:function(t){var e=this.gl,i=this.blendModes[t];return t!==r.BlendModes.SKIP_CHECK&&this.currentBlendMode!==t&&(this.flush(),e.enable(e.BLEND),e.blendEquation(i.equation),i.func.length>2?e.blendFuncSeparate(i.func[0],i.func[1],i.func[2],i.func[3]):e.blendFunc(i.func[0],i.func[1]),this.currentBlendMode=t,!0)},addBlendMode:function(t,e){return this.blendModes.push({func:t,equation:e})-1},updateBlendMode:function(t,e,i){return this.blendModes[t]&&(this.blendModes[t].func=e,i&&(this.blendModes[t].equation=i)),this},removeBlendMode:function(t){return t>16&&this.blendModes[t]&&this.blendModes.splice(t,1),this},setBlankTexture:function(t){void 0===t&&(t=!1),!t&&0===this.currentActiveTextureUnit&&this.currentTextures[0]||this.setTexture2D(this.blankTexture.glTexture,0)},setTexture2D:function(t,e){var i=this.gl;return t!==this.currentTextures[e]&&(this.flush(),this.currentActiveTextureUnit!==e&&(i.activeTexture(i.TEXTURE0+e),this.currentActiveTextureUnit=e),i.bindTexture(i.TEXTURE_2D,t),this.currentTextures[e]=t),this},setFramebuffer:function(t){var e=this.gl,i=this.width,n=this.height;return t!==this.currentFramebuffer&&(t&&t.renderTexture?(i=t.renderTexture.width,n=t.renderTexture.height):this.flush(),e.bindFramebuffer(e.FRAMEBUFFER,t),e.viewport(0,0,i,n),this.currentFramebuffer=t),this},setProgram:function(t){var e=this.gl;return t!==this.currentProgram&&(this.flush(),e.useProgram(t),this.currentProgram=t),this},setVertexBuffer:function(t){var e=this.gl;return t!==this.currentVertexBuffer&&(this.flush(),e.bindBuffer(e.ARRAY_BUFFER,t),this.currentVertexBuffer=t),this},setIndexBuffer:function(t){var e=this.gl;return t!==this.currentIndexBuffer&&(this.flush(),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.currentIndexBuffer=t),this},createTextureFromSource:function(t,e,i,n){var s=this.gl,a=s.NEAREST,h=s.CLAMP_TO_EDGE;return e=t?t.width:e,i=t?t.height:i,o(e,i)&&(h=s.REPEAT),n===r.ScaleModes.LINEAR&&this.config.antialias&&(a=s.LINEAR),t||"number"!=typeof e||"number"!=typeof i?this.createTexture2D(0,a,a,h,h,s.RGBA,t):this.createTexture2D(0,a,a,h,h,s.RGBA,null,e,i)},createTexture2D:function(t,e,i,n,s,r,o,a,h,l){l=void 0===l||null===l||l;var u=this.gl,c=u.createTexture();return this.setTexture2D(c,0),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,e),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MAG_FILTER,i),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,s),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,n),u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL,l),null===o||void 0===o?u.texImage2D(u.TEXTURE_2D,t,r,a,h,0,r,u.UNSIGNED_BYTE,null):(u.texImage2D(u.TEXTURE_2D,t,r,r,u.UNSIGNED_BYTE,o),a=o.width,h=o.height),this.setTexture2D(null,0),c.isAlphaPremultiplied=l,c.isRenderTexture=!1,c.width=a,c.height=h,this.nativeTextures.push(c),c},createFramebuffer:function(t,e,i,n){var s,r=this.gl,o=r.createFramebuffer();if(this.setFramebuffer(o),n){var a=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,a),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t,e),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,a)}if(i.isRenderTexture=!0,i.isAlphaPremultiplied=!1,r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,i,0),(s=r.checkFramebufferStatus(r.FRAMEBUFFER))!==r.FRAMEBUFFER_COMPLETE){throw new Error("Framebuffer incomplete. Framebuffer status: "+{36054:"Incomplete Attachment",36055:"Missing Attachment",36057:"Incomplete Dimensions",36061:"Framebuffer Unsupported"}[s])}return o.renderTexture=i,this.setFramebuffer(null),o},createProgram:function(t,e){var i=this.gl,n=i.createProgram(),s=i.createShader(i.VERTEX_SHADER),r=i.createShader(i.FRAGMENT_SHADER);if(i.shaderSource(s,t),i.shaderSource(r,e),i.compileShader(s),i.compileShader(r),!i.getShaderParameter(s,i.COMPILE_STATUS))throw new Error("Failed to compile Vertex Shader:\n"+i.getShaderInfoLog(s));if(!i.getShaderParameter(r,i.COMPILE_STATUS))throw new Error("Failed to compile Fragment Shader:\n"+i.getShaderInfoLog(r));if(i.attachShader(n,s),i.attachShader(n,r),i.linkProgram(n),!i.getProgramParameter(n,i.LINK_STATUS))throw new Error("Failed to link program:\n"+i.getProgramInfoLog(n));return n},createVertexBuffer:function(t,e){var i=this.gl,n=i.createBuffer();return this.setVertexBuffer(n),i.bufferData(i.ARRAY_BUFFER,t,e),this.setVertexBuffer(null),n},createIndexBuffer:function(t,e){var i=this.gl,n=i.createBuffer();return this.setIndexBuffer(n),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t,e),this.setIndexBuffer(null),n},deleteTexture:function(t){var e=this.nativeTextures.indexOf(t);return-1!==e&&a(this.nativeTextures,e),this.gl.deleteTexture(t),this.currentTextures[0]===t&&this.setBlankTexture(!0),this},deleteFramebuffer:function(t){return this.gl.deleteFramebuffer(t),this},deleteProgram:function(t){return this.gl.deleteProgram(t),this},deleteBuffer:function(t){return this.gl.deleteBuffer(t),this},preRenderCamera:function(t){var e=t._cx,i=t._cy,n=t._cw,s=t._ch,r=this.pipelines.TextureTintPipeline,o=t.backgroundColor;if(t.renderToTexture){this.flush(),this.pushScissor(e,i,n,-s),this.setFramebuffer(t.framebuffer);var a=this.gl;a.clearColor(0,0,0,0),a.clear(a.COLOR_BUFFER_BIT),r.projOrtho(e,n+e,i,s+i,-1e3,1e3),o.alphaGL>0&&r.drawFillRect(e,i,n+e,s+i,l.getTintFromFloats(o.redGL,o.greenGL,o.blueGL,1),o.alphaGL),t.emit("prerender",t)}else this.pushScissor(e,i,n,s),o.alphaGL>0&&r.drawFillRect(e,i,n,s,l.getTintFromFloats(o.redGL,o.greenGL,o.blueGL,1),o.alphaGL)},postRenderCamera:function(t){var e=this.pipelines.TextureTintPipeline;if(t.flashEffect.postRenderWebGL(e,l.getTintFromFloats),t.fadeEffect.postRenderWebGL(e,l.getTintFromFloats),t.dirty=!1,this.popScissor(),t.renderToTexture){e.flush(),this.setFramebuffer(null),t.emit("postrender",t),e.projOrtho(0,e.width,e.height,0,-1e3,1e3);var i=l.getTintAppendFloatAlpha;(t.pipeline?t.pipeline:e).batchTexture(t,t.glTexture,t.width,t.height,t.x,t.y,t.width,t.height,t.zoom,t.zoom,t.rotation,t.flipX,!t.flipY,1,1,0,0,0,0,t.width,t.height,i(t._tintTL,t._alphaTL),i(t._tintTR,t._alphaTR),i(t._tintBL,t._alphaBL),i(t._tintBR,t._alphaBR),t._isTinted&&t.tintFill,0,0,this.defaultCamera,null),this.setBlankTexture(!0)}},preRender:function(){if(!this.contextLost){var t=this.gl,e=this.config.backgroundColor,i=this.pipelines;for(var n in this.config.clearBeforeRender&&(t.clearColor(e.redGL,e.greenGL,e.blueGL,e.alphaGL),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT|t.STENCIL_BUFFER_BIT)),t.enable(t.SCISSOR_TEST),i)i[n].onPreRender();this.currentScissor=[0,0,this.width,this.height],this.scissorStack=[this.currentScissor],this.game.scene.customViewports&&t.scissor(0,this.drawingBufferHeight-this.height,this.width,this.height),this.setPipeline(this.pipelines.TextureTintPipeline)}},render:function(t,e,i,n){if(!this.contextLost){var s=e.list,o=s.length,a=this.pipelines;for(var h in a)a[h].onRender(t,n);this.preRenderCamera(n);for(var l=0;l<o;l++){var u=s[l];if(u.willRender(n)){u.blendMode!==this.currentBlendMode&&this.setBlendMode(u.blendMode);var c=u.mask;c?(c.preRenderWebGL(this,u,n),u.renderWebGL(this,u,i,n),c.postRenderWebGL(this,u)):u.renderWebGL(this,u,i,n)}}this.setBlendMode(r.BlendModes.NORMAL),this.postRenderCamera(n)}},postRender:function(){if(!this.contextLost){this.flush(),this.snapshotState.callback&&(this.snapshotState.callback(u(this.canvas,this.snapshotState.type,this.snapshotState.encoder)),this.snapshotState.callback=null);var t=this.pipelines;for(var e in t)t[e].onPostRender()}},snapshot:function(t,e,i){return this.snapshotState.callback=t,this.snapshotState.type=e,this.snapshotState.encoder=i,this},canvasToTexture:function(t,e,i){void 0===i&&(i=!1);var n=this.gl;if(e)this.setTexture2D(e,0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t),e.width=t.width,e.height=t.height,this.setTexture2D(null,0);else{var s=n.CLAMP_TO_EDGE;!i&&o(t.width,t.height)&&(s=n.REPEAT),e=this.createTexture2D(0,n.NEAREST,n.NEAREST,s,s,n.RGBA,t,t.width,t.height,!0)}return e},setTextureFilter:function(t,e){var i=this.gl,n=[i.LINEAR,i.NEAREST][e];return this.setTexture2D(t,0),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,n),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,n),this.setTexture2D(null,0),this},setFloat1:function(t,e,i){return this.setProgram(t),this.gl.uniform1f(this.gl.getUniformLocation(t,e),i),this},setFloat2:function(t,e,i,n){return this.setProgram(t),this.gl.uniform2f(this.gl.getUniformLocation(t,e),i,n),this},setFloat3:function(t,e,i,n,s){return this.setProgram(t),this.gl.uniform3f(this.gl.getUniformLocation(t,e),i,n,s),this},setFloat4:function(t,e,i,n,s,r){return this.setProgram(t),this.gl.uniform4f(this.gl.getUniformLocation(t,e),i,n,s,r),this},setFloat1v:function(t,e,i){return this.setProgram(t),this.gl.uniform1fv(this.gl.getUniformLocation(t,e),i),this},setFloat2v:function(t,e,i){return this.setProgram(t),this.gl.uniform2fv(this.gl.getUniformLocation(t,e),i),this},setFloat3v:function(t,e,i){return this.setProgram(t),this.gl.uniform3fv(this.gl.getUniformLocation(t,e),i),this},setFloat4v:function(t,e,i){return this.setProgram(t),this.gl.uniform4fv(this.gl.getUniformLocation(t,e),i),this},setInt1:function(t,e,i){return this.setProgram(t),this.gl.uniform1i(this.gl.getUniformLocation(t,e),i),this},setInt2:function(t,e,i,n){return this.setProgram(t),this.gl.uniform2i(this.gl.getUniformLocation(t,e),i,n),this},setInt3:function(t,e,i,n,s){return this.setProgram(t),this.gl.uniform3i(this.gl.getUniformLocation(t,e),i,n,s),this},setInt4:function(t,e,i,n,s,r){return this.setProgram(t),this.gl.uniform4i(this.gl.getUniformLocation(t,e),i,n,s,r),this},setMatrix2:function(t,e,i,n){return this.setProgram(t),this.gl.uniformMatrix2fv(this.gl.getUniformLocation(t,e),i,n),this},setMatrix3:function(t,e,i,n){return this.setProgram(t),this.gl.uniformMatrix3fv(this.gl.getUniformLocation(t,e),i,n),this},setMatrix4:function(t,e,i,n){return this.setProgram(t),this.gl.uniformMatrix4fv(this.gl.getUniformLocation(t,e),i,n),this},getMaxTextures:function(){return this.config.maxTextures},getMaxTextureSize:function(){return this.config.maxTextureSize},destroy:function(){for(var t in this.pipelines)this.pipelines[t].destroy(),delete this.pipelines[t];for(var e=0;e<this.nativeTextures.length;++e)this.deleteTexture(this.nativeTextures[e]),delete this.nativeTextures[e];delete this.gl,delete this.game,this.contextLost=!0,this.extensions={},this.nativeTextures.length=0}});t.exports=p},function(t,e,i){var n=i(66),s=i(339);t.exports=function(){var t=[],e=s.supportNewBlendModes,i="source-over";return t[n.NORMAL]=i,t[n.ADD]="lighter",t[n.MULTIPLY]=e?"multiply":i,t[n.SCREEN]=e?"screen":i,t[n.OVERLAY]=e?"overlay":i,t[n.DARKEN]=e?"darken":i,t[n.LIGHTEN]=e?"lighten":i,t[n.COLOR_DODGE]=e?"color-dodge":i,t[n.COLOR_BURN]=e?"color-burn":i,t[n.HARD_LIGHT]=e?"hard-light":i,t[n.SOFT_LIGHT]=e?"soft-light":i,t[n.DIFFERENCE]=e?"difference":i,t[n.EXCLUSION]=e?"exclusion":i,t[n.HUE]=e?"hue":i,t[n.SATURATION]=e?"saturation":i,t[n.COLOR]=e?"color":i,t[n.LUMINOSITY]=e?"luminosity":i,t}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e="image/png"),void 0===i&&(i=.92);var n=t.toDataURL(e,i),s=new Image;return s.src=n,s}},function(t,e,i){var n=i(425),s=i(0),r=i(26),o=i(424),a=i(94),h=i(120),l=i(38),u=new s({initialize:function(t){this.game=t,this.type=r.CANVAS,this.drawCount=0,this.width=t.config.width,this.height=t.config.height,this.config={clearBeforeRender:t.config.clearBeforeRender,backgroundColor:t.config.backgroundColor,resolution:t.config.resolution,autoResize:t.config.autoResize,antialias:t.config.antialias,roundPixels:t.config.roundPixels},this.scaleMode=t.config.antialias?a.LINEAR:a.NEAREST,this.gameCanvas=t.canvas,this.gameContext=this.game.config.context?this.game.config.context:this.gameCanvas.getContext("2d"),this.currentContext=this.gameContext,this.blendModes=o(),this.currentScaleMode=0,this.snapshotCallback=null,this.snapshotType=null,this.snapshotEncoder=null,this._tempMatrix1=new l,this._tempMatrix2=new l,this._tempMatrix3=new l,this._tempMatrix4=new l,this.init()},init:function(){this.resize(this.width,this.height)},resize:function(t,e){var i=this.config.resolution;this.width=t*i,this.height=e*i,this.gameCanvas.width=this.width,this.gameCanvas.height=this.height,this.config.autoResize&&(this.gameCanvas.style.width=this.width/i+"px",this.gameCanvas.style.height=this.height/i+"px"),this.scaleMode===a.NEAREST&&h.disable(this.gameContext)},onContextLost:function(){},onContextRestored:function(){},resetTransform:function(){this.currentContext.setTransform(1,0,0,1,0,0)},setBlendMode:function(t){return this.currentContext.globalCompositeOperation=t,this},setContext:function(t){return this.currentContext=t||this.gameContext,this},setAlpha:function(t){return this.currentContext.globalAlpha=t,this},preRender:function(){var t=this.gameContext,e=this.config,i=this.width,n=this.height;e.clearBeforeRender&&t.clearRect(0,0,i,n),e.transparent||(t.fillStyle=e.backgroundColor.rgba,t.fillRect(0,0,i,n)),this.drawCount=0},render:function(t,e,i,n){var s=e.list,r=s.length,o=n._cx,a=n._cy,h=n._cw,l=n._ch,u=n.renderToTexture?n.context:t.sys.context,c=0!==o||0!==a||h!==u.canvas.width||l!==u.canvas.height;this.currentContext=u,n.transparent||(u.fillStyle=n.backgroundColor.rgba,u.fillRect(o,a,h,l)),u.globalAlpha=n.alpha,u.globalCompositeOperation="source-over",this.drawCount+=s.length,c&&(u.save(),u.beginPath(),u.rect(o,a,h,l),u.clip()),n.renderToTexture&&n.emit("prerender",n),n.matrix.copyToContext(u);for(var d=0;d<r;d++){var f=s[d];f.willRender(n)&&(f.mask&&f.mask.preRenderCanvas(this,f,n),f.renderCanvas(this,f,i,n),f.mask&&f.mask.postRenderCanvas(this,f,n))}u.setTransform(1,0,0,1,0,0),u.globalCompositeOperation="source-over",u.globalAlpha=1,n.flashEffect.postRenderCanvas(u),n.fadeEffect.postRenderCanvas(u),n.dirty=!1,c&&u.restore(),n.renderToTexture&&(n.emit("postrender",n),t.sys.context.drawImage(n.canvas,o,a))},postRender:function(){var t=this.gameContext;t.globalAlpha=1,t.globalCompositeOperation="source-over",this.snapshotCallback&&(this.snapshotCallback(n(this.gameCanvas,this.snapshotType,this.snapshotEncoder)),this.snapshotCallback=null)},snapshot:function(t,e,i){this.snapshotCallback=t,this.snapshotType=e,this.snapshotEncoder=i},batchSprite:function(t,e,i,n){var s=i.alpha*t.alpha;if(0!==s){var r=this.currentContext,o=this._tempMatrix1,a=this._tempMatrix2,h=this._tempMatrix3,l=e.canvasData,u=l.x,c=l.y,d=e.cutWidth,f=e.cutHeight,p=e.source.resolution,g=-t.displayOriginX+e.x,v=-t.displayOriginY+e.y,y=t.flipX?-1:1,m=t.flipY?-1:1;if(t.isCropped){var x=t._crop;x.flipX===t.flipX&&x.flipY===t.flipY||e.updateCropUVs(x,t.flipX,t.flipY),d=x.cw,f=x.ch,u=x.cx,c=x.cy,g=-t.displayOriginX+x.x,v=-t.displayOriginY+x.y,-1===y&&(g>=0?g=-(g+d):g<0&&(g=Math.abs(g)-d)),-1===m&&(v>=0?v=-(v+f):v<0&&(v=Math.abs(v)-f))}a.applyITRS(t.x,t.y,t.rotation,t.scaleX,t.scaleY),o.copyFrom(i.matrix),n?(o.multiplyWithOffset(n,-i.scrollX*t.scrollFactorX,-i.scrollY*t.scrollFactorY),a.e=t.x,a.f=t.y,o.multiply(a,h)):(a.e-=i.scrollX*t.scrollFactorX,a.f-=i.scrollY*t.scrollFactorY,o.multiply(a,h)),r.save(),h.setToContext(r),r.scale(y,m),r.globalCompositeOperation=this.blendModes[t.blendMode],r.globalAlpha=s,r.drawImage(e.source.image,u,c,d,f,g,v,d/p,f/p),r.restore()}},destroy:function(){this.gameCanvas=null,this.gameContext=null,this.game=null}});t.exports=u},function(t,e,i){var n=new(i(0))({initialize:function(t){this.parent=t,this.animationManager=t.scene.sys.anims,this.animationManager.once("remove",this.remove,this),this.isPlaying=!1,this.currentAnim=null,this.currentFrame=null,this._timeScale=1,this.frameRate=0,this.duration=0,this.msPerFrame=0,this.skipMissedFrames=!0,this._delay=0,this._repeat=0,this._repeatDelay=0,this._yoyo=!1,this.forward=!0,this._reverse=!1,this.accumulator=0,this.nextTick=0,this.repeatCounter=0,this.pendingRepeat=!1,this._paused=!1,this._wasPlaying=!1,this._pendingStop=0,this._pendingStopValue},setDelay:function(t){return void 0===t&&(t=0),this._delay=t,this.parent},getDelay:function(){return this._delay},delayedPlay:function(t,e,i){return this.play(e,!0,i),this.nextTick+=t,this.parent},getCurrentKey:function(){if(this.currentAnim)return this.currentAnim.key},load:function(t,e){return void 0===e&&(e=0),this.isPlaying&&this.stop(),this.animationManager.load(this,t,e),this.parent},pause:function(t){return this._paused||(this._paused=!0,this._wasPlaying=this.isPlaying,this.isPlaying=!1),void 0!==t&&this.updateFrame(t),this.parent},resume:function(t){return this._paused&&(this._paused=!1,this.isPlaying=this._wasPlaying),void 0!==t&&this.updateFrame(t),this.parent},isPaused:{get:function(){return this._paused}},play:function(t,e,i){return void 0===e&&(e=!1),void 0===i&&(i=0),e&&this.isPlaying&&this.currentAnim.key===t?this.parent:(this.forward=!0,this._reverse=!1,this._startAnimation(t,i))},playReverse:function(t,e,i){return void 0===e&&(e=!1),void 0===i&&(i=0),e&&this.isPlaying&&this.currentAnim.key===t?this.parent:(this.forward=!1,this._reverse=!0,this._startAnimation(t,i))},_startAnimation:function(t,e){this.load(t,e);var i=this.currentAnim,n=this.parent;return this.repeatCounter=-1===this._repeat?Number.MAX_VALUE:this._repeat,i.getFirstTick(this),this.isPlaying=!0,this.pendingRepeat=!1,i.showOnStart&&(n.visible=!0),n.emit("animationstart",this.currentAnim,this.currentFrame,n),n},reverse:function(t){return this.isPlaying&&this.currentAnim.key===t?(this._reverse=!this._reverse,this.forward=!this.forward,this.parent):this.parent},getProgress:function(){var t=this.currentFrame.progress;return this.forward||(t=1-t),t},setProgress:function(t){return this.forward||(t=1-t),this.setCurrentFrame(this.currentAnim.getFrameByProgress(t)),this.parent},remove:function(t,e){void 0===e&&(e=this.currentAnim),this.isPlaying&&e.key===this.currentAnim.key&&(this.stop(),this.setCurrentFrame(this.currentAnim.frames[0]))},getRepeat:function(){return this._repeat},setRepeat:function(t){return this._repeat=t,this.repeatCounter=0,this.parent},getRepeatDelay:function(){return this._repeatDelay},setRepeatDelay:function(t){return this._repeatDelay=t,this.parent},restart:function(t){void 0===t&&(t=!1),this.currentAnim.getFirstTick(this,t),this.forward=!0,this.isPlaying=!0,this.pendingRepeat=!1,this._paused=!1,this.updateFrame(this.currentAnim.frames[0]);var e=this.parent;return e.emit("animationrestart",this.currentAnim,this.currentFrame,e),this.parent},stop:function(){this._pendingStop=0,this.isPlaying=!1;var t=this.parent;return t.emit("animationcomplete",this.currentAnim,this.currentFrame,t),t},stopAfterDelay:function(t){return this._pendingStop=1,this._pendingStopValue=t,this.parent},stopOnRepeat:function(){return this._pendingStop=2,this.parent},stopOnFrame:function(t){return this._pendingStop=3,this._pendingStopValue=t,this.parent},setTimeScale:function(t){return void 0===t&&(t=1),this._timeScale=t,this.parent},getTimeScale:function(){return this._timeScale},getTotalFrames:function(){return this.currentAnim.frames.length},update:function(t,e){if(this.currentAnim&&this.isPlaying&&!this.currentAnim.paused){if(this.accumulator+=e*this._timeScale,1===this._pendingStop&&(this._pendingStopValue-=e,this._pendingStopValue<=0))return this.currentAnim.completeAnimation(this);this.accumulator>=this.nextTick&&this.currentAnim.setFrame(this)}},setCurrentFrame:function(t){var e=this.parent;return this.currentFrame=t,e.texture=t.frame.texture,e.frame=t.frame,e.isCropped&&e.frame.updateCropUVs(e._crop,e.flipX,e.flipY),e.setSizeToFrame(),t.frame.customPivot?e.setOrigin(t.frame.pivotX,t.frame.pivotY):e.updateDisplayOrigin(),e},updateFrame:function(t){var e=this.setCurrentFrame(t);if(this.isPlaying){t.setAlpha&&(e.alpha=t.alpha);var i=this.currentAnim;e.emit("animationupdate",i,t,e),3===this._pendingStop&&this._pendingStopValue===t&&this.currentAnim.completeAnimation(this)}},setYoyo:function(t){return void 0===t&&(t=!1),this._yoyo=t,this.parent},getYoyo:function(){return this._yoyo},destroy:function(){this.animationManager.off("remove",this.remove,this),this.animationManager=null,this.parent=null,this.currentAnim=null,this.currentFrame=null}});t.exports=n},function(t,e){t.exports=function(t){return t.split("").reverse().join("")}},function(t,e){t.exports=function(t,e){return t.replace(/%([0-9]+)/g,function(t,i){return e[Number(i)-1]})}},function(t,e,i){t.exports={Format:i(429),Pad:i(179),Reverse:i(428),UppercaseFirst:i(327),UUID:i(295)}},function(t,e,i){var n=i(63);t.exports=function(t,e){var i=n(t);for(var s in e)i.hasOwnProperty(s)&&(i[s]=e[s]);return i}},function(t,e){t.exports=function(t,e){for(var i=0;i<e.length;i++)if(!t.hasOwnProperty(e[i]))return!1;return!0}},function(t,e,i){var n=i(4),s=i(23);t.exports=function(t,e,i,r,o){void 0===o&&(o=i);var a=n(t,e,o);return s(a,i,r)}},function(t,e,i){t.exports={Clone:i(63),Extend:i(20),GetAdvancedValue:i(12),GetFastValue:i(2),GetMinMaxValue:i(433),GetValue:i(4),HasAll:i(432),HasAny:i(298),HasValue:i(85),IsPlainObject:i(8),Merge:i(96),MergeRight:i(431)}},function(t,e,i){t.exports={Array:i(164),Objects:i(434),String:i(430)}},function(t,e,i){var n=i(0),s=i(203),r=i(15),o=i(202),a=i(83),h=i(97),l=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.timeScale=1,this._add=[],this._pending=[],this._active=[],this._destroy=[],this._toProcess=0,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},start:function(){var t=this.systems.events;t.on("preupdate",this.preUpdate,this),t.on("update",this.update,this),t.once("shutdown",this.shutdown,this),this.timeScale=1},createTimeline:function(t){return o(this,t)},timeline:function(t){var e=o(this,t);return e.paused||(this._add.push(e),this._toProcess++),e},create:function(t){return h(this,t)},add:function(t){var e=h(this,t);return this._add.push(e),this._toProcess++,e},existing:function(t){return this._add.push(t),this._toProcess++,this},addCounter:function(t){var e=s(this,t);return this._add.push(e),this._toProcess++,e},preUpdate:function(){if(0!==this._toProcess){var t,e,i=this._destroy,n=this._active,s=this._pending;for(t=0;t<i.length;t++){e=i[t];var r=n.indexOf(e);-1===r?(r=s.indexOf(e))>-1&&(e.state=a.REMOVED,s.splice(r,1)):(e.state=a.REMOVED,n.splice(r,1))}for(i.length=0,i=this._add,t=0;t<i.length;t++)(e=i[t]).state===a.PENDING_ADD&&(e.init()?(e.play(),this._active.push(e)):this._pending.push(e));i.length=0,this._toProcess=0}},update:function(t,e){var i,n=this._active;e*=this.timeScale;for(var s=0;s<n.length;s++)(i=n[s]).update(t,e)&&(this._destroy.push(i),this._toProcess++)},makeActive:function(t){if(-1===this._add.indexOf(t)&&-1===this._active.indexOf(t)){var e=this._pending.indexOf(t);return-1!==e&&this._pending.splice(e,1),this._add.push(t),t.state=a.PENDING_ADD,this._toProcess++,this}},each:function(t,e){for(var i=[null],n=1;n<arguments.length;n++)i.push(arguments[n]);for(var s in this.list)i[0]=this.list[s],t.apply(e,i)},getAllTweens:function(){for(var t=this._active,e=[],i=0;i<t.length;i++)e.push(t[i]);return e},getGlobalTimeScale:function(){return this.timeScale},getTweensOf:function(t){var e,i,n=this._active,s=[];if(Array.isArray(t))for(i=0;i<n.length;i++){e=n[i];for(var r=0;r<t.length;r++)e.hasTarget(t[r])&&s.push(e)}else for(i=0;i<n.length;i++)(e=n[i]).hasTarget(t)&&s.push(e);return s},isTweening:function(t){for(var e,i=this._active,n=0;n<i.length;n++)if((e=i[n]).hasTarget(t)&&e.isPlaying())return!0;return!1},killAll:function(){for(var t=this.getAllTweens(),e=0;e<t.length;e++)t[e].stop();return this},killTweensOf:function(t){for(var e=this.getTweensOf(t),i=0;i<e.length;i++)e[i].stop();return this},pauseAll:function(){for(var t=this._active,e=0;e<t.length;e++)t[e].pause();return this},resumeAll:function(){for(var t=this._active,e=0;e<t.length;e++)t[e].resume();return this},setGlobalTimeScale:function(t){return this.timeScale=t,this},shutdown:function(){this.killAll(),this._add=[],this._pending=[],this._active=[],this._destroy=[],this._toProcess=0;var t=this.systems.events;t.off("preupdate",this.preUpdate,this),t.off("update",this.update,this),t.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});r.register("TweenManager",l,"tweens"),t.exports=l},function(t,e){t.exports=["callbackScope","completeDelay","delay","duration","ease","easeParams","flipX","flipY","hold","loop","loopDelay","offset","onComplete","onCompleteParams","onCompleteScope","onLoop","onLoopParams","onLoopScope","onRepeat","onRepeatParams","onRepeatScope","onStart","onStartParams","onStartScope","onUpdate","onUpdateParams","onUpdateScope","onYoyo","onYoyoParams","onYoyoScope","paused","props","repeat","repeatDelay","targets","useFrames","yoyo"]},function(t,e,i){t.exports={GetBoolean:i(84),GetEaseFunction:i(86),GetNewValue:i(98),GetProps:i(205),GetTargets:i(131),GetTweens:i(204),GetValueOp:i(130),NumberTweenBuilder:i(203),TimelineBuilder:i(202),TweenBuilder:i(97)}},function(t,e,i){var n=i(83),s=i(20),r={Builders:i(438),TweenManager:i(436),Tween:i(128),TweenData:i(127),Timeline:i(201)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(0),s=i(15),r=i(206),o=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.now=Date.now(),this.timeScale=1,this.paused=!1,this._active=[],this._pendingInsertion=[],this._pendingRemoval=[],t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},start:function(){var t=this.systems.events;t.on("preupdate",this.preUpdate,this),t.on("update",this.update,this),t.once("shutdown",this.shutdown,this)},addEvent:function(t){var e=new r(t);return this._pendingInsertion.push(e),e},delayedCall:function(t,e,i,n){return this.addEvent({delay:t,callback:e,args:i,callbackScope:n})},clearPendingEvents:function(){return this._pendingInsertion=[],this},removeAllEvents:function(){return this._pendingRemoval=this._pendingRemoval.concat(this._active),this},preUpdate:function(){var t=this._pendingRemoval.length,e=this._pendingInsertion.length;if(0!==t||0!==e){var i,n;for(i=0;i<t;i++){n=this._pendingRemoval[i];var s=this._active.indexOf(n);s>-1&&this._active.splice(s,1),n.destroy()}for(i=0;i<e;i++)n=this._pendingInsertion[i],this._active.push(n);this._pendingRemoval.length=0,this._pendingInsertion.length=0}},update:function(t,e){if(this.now=t,!this.paused){e*=this.timeScale;for(var i=0;i<this._active.length;i++){var n=this._active[i];if(!n.paused&&(n.elapsed+=e*n.timeScale,n.elapsed>=n.delay)){var s=n.elapsed-n.delay;n.elapsed=n.delay,!n.hasDispatched&&n.callback&&(n.hasDispatched=!0,n.callback.apply(n.callbackScope,n.args)),n.repeatCount>0?(n.repeatCount--,n.elapsed=s,n.hasDispatched=!1):this._pendingRemoval.push(n)}}}},shutdown:function(){var t;for(t=0;t<this._pendingInsertion.length;t++)this._pendingInsertion[t].destroy();for(t=0;t<this._active.length;t++)this._active[t].destroy();for(t=0;t<this._pendingRemoval.length;t++)this._pendingRemoval[t].destroy();this._active.length=0,this._pendingRemoval.length=0,this._pendingInsertion.length=0;var e=this.systems.events;e.off("preupdate",this.preUpdate,this),e.off("update",this.update,this),e.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});s.register("Clock",o,"time"),t.exports=o},function(t,e,i){t.exports={Clock:i(440),TimerEvent:i(206)}},function(t,e,i){var n=i(5),s=i(132);n.register("tilemap",function(t,e,i,n,r,o,a){return null===t&&(t=void 0),null===e&&(e=void 0),null===i&&(i=void 0),null===n&&(n=void 0),null===r&&(r=void 0),s(this.scene,t,e,i,n,r,o,a)})},function(t,e,i){var n=i(13),s=i(132);n.register("tilemap",function(t){var e=void 0!==t?t:{};return s(this.scene,e.key,e.tileWidth,e.tileHeight,e.width,e.height,e.data,e.insertNull)})},function(t,e){t.exports=function(t,e,i,n,s){e.cull(n);var r=e.culledTiles,o=r.length;if(0!==o){var a=t._tempMatrix1,h=t._tempMatrix2,l=t._tempMatrix3;h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(n.matrix);var u=t.currentContext,c=e.gidMap;u.save(),s?(a.multiplyWithOffset(s,-n.scrollX*e.scrollFactorX,-n.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y,a.multiply(h,l),l.copyToContext(u)):(h.e-=n.scrollX*e.scrollFactorX,h.f-=n.scrollY*e.scrollFactorY,h.copyToContext(u));var d=n.alpha*e.alpha;u.globalAlpha=n.alpha*e.alpha;for(var f=0;f<o;f++){var p=r[f],g=c[p.index];if(g){var v=g.image.getSourceImage(),y=g.getTileTextureCoordinates(p.index);if(y){var m=p.width/2,x=p.height/2;u.save(),u.translate(p.pixelX+m,p.pixelY+x),0!==p.rotation&&u.rotate(p.rotation),(p.flipX||p.flipY)&&u.scale(p.flipX?-1:1,p.flipY?-1:1),u.globalAlpha=d*p.alpha,u.drawImage(v,y.x,y.y,p.width,p.height,-m,-x,p.width,p.height),u.restore()}}}u.restore()}}},function(t,e){t.exports=function(t,e,i,n){var s=e.tileset,r=e.pipeline,o=r.vertexBuffer;t.setPipeline(r),r.modelIdentity(),r.modelTranslate(e.x-n.scrollX*e.scrollFactorX,e.y-n.scrollY*e.scrollFactorY,0),r.modelScale(e.scaleX,e.scaleY,1),r.viewLoad2D(n.matrix.matrix);for(var a=0;a<s.length;a++)e.upload(n,a),e.vertexCount[a]>0&&(t.currentPipeline&&t.currentPipeline.vertexCount>0&&t.flush(),r.vertexBuffer=e.vertexBuffer[a],t.setPipeline(r),t.setTexture2D(s[a].glTexture,0),t.gl.drawArrays(r.topology,0,e.vertexCount[a]));r.vertexBuffer=o,r.viewIdentity(),r.modelIdentity()}},function(t,e,i){var n=i(1),s=i(1);n=i(445),s=i(444),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i,n,s){e.cull(n);var r=e.culledTiles,o=r.length;if(0!==o){var a=t._tempMatrix1,h=t._tempMatrix2,l=t._tempMatrix3;h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(n.matrix);var u=t.currentContext,c=e.gidMap;u.save(),s?(a.multiplyWithOffset(s,-n.scrollX*e.scrollFactorX,-n.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y,a.multiply(h,l),l.copyToContext(u)):(h.e-=n.scrollX*e.scrollFactorX,h.f-=n.scrollY*e.scrollFactorY,h.copyToContext(u));for(var d=n.alpha*e.alpha,f=0;f<o;f++){var p=r[f],g=c[p.index];if(g){var v=g.image.getSourceImage(),y=g.getTileTextureCoordinates(p.index);if(y){var m=p.width/2,x=p.height/2;u.save(),u.translate(p.pixelX+m,p.pixelY+x),0!==p.rotation&&u.rotate(p.rotation),(p.flipX||p.flipY)&&u.scale(p.flipX?-1:1,p.flipY?-1:1),u.globalAlpha=d*p.alpha,u.drawImage(v,y.x,y.y,p.width,p.height,-m,-x,p.width,p.height),u.restore()}}}u.restore()}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s){e.cull(s);var r=e.culledTiles,o=r.length,a=s.alpha*e.alpha;if(!(0===o||a<=0))for(var h=e.gidMap,l=e.pipeline,u=n.getTintAppendFloatAlpha,c=e.scrollFactorX,d=e.scrollFactorY,f=e.x,p=e.y,g=e.scaleX,v=e.scaleY,y=e.tileset,m=0;m<y.length;m++)for(var x=y[m],w=x.glTexture,b=0;b<o;b++){var T=r[b],S=h[T.index];if(S===x){var _=S.getTileTextureCoordinates(T.index);if(null!==_){var A=T.width,C=T.height,M=_.x,P=_.y,E=.5*T.width,k=.5*T.height,L=u(T.tint,a*T.alpha);l.batchTexture(e,w,w.width,w.height,(E+f+T.pixelX)*g,(k+p+T.pixelY)*v,T.width,T.height,g,v,T.rotation,T.flipX,T.flipY,c,d,E,k,M,P,A,C,L,L,L,L,!1,0,0,s,null,!0)}}}}},function(t,e,i){var n=i(1),s=i(1);n=i(448),s=i(447),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(99);t.exports=function(t){for(var e=[],i=[],s=0;s<t.layer.length;s++){var r=t.layer[s],o=r.tilesetName;""!==o&&-1===i.indexOf(o)&&(i.push(o),e.push(new n(o,0,r.tilesize,r.tilesize,0,0)))}return e}},function(t,e,i){var n=i(78),s=i(55);t.exports=function(t,e){for(var i=[],r=0;r<t.layer.length;r++){for(var o=t.layer[r],a=new n({name:o.name,width:o.width,height:o.height,tileWidth:o.tilesize,tileHeight:o.tilesize,visible:1===o.visible}),h=[],l=[],u=0;u<o.data.length;u++){for(var c=0;c<o.data[u].length;c++){var d,f=o.data[u][c]-1;d=f>-1?new s(a,f,c,u,o.tilesize,o.tilesize):e?null:new s(a,-1,c,u,o.tilesize,o.tilesize),h.push(d)}l.push(h),h=[]}a.data=l,i.push(a)}return i}},function(t,e,i){var n=i(20);t.exports=function(t){for(var e,i,s,r,o,a=0;a<t.layers.length;a++){e=t.layers[a],r=null;for(var h=0;h<e.data.length;h++){o=e.data[h];for(var l=0;l<o.length;l++)null===(i=o[l])||i.index<0||(s=t.tiles[i.index][2],r=t.tilesets[s],i.width=r.tileWidth,i.height=r.tileHeight,r.tileProperties&&r.tileProperties[i.index-r.firstgid]&&(i.properties=n(i.properties,r.tileProperties[i.index-r.firstgid])))}}}},function(t,e){t.exports=function(t){for(var e=[],i=0;i<t.tilesets.length;i++)for(var n=t.tilesets[i],s=n.tileMargin,r=n.tileMargin,o=0,a=0,h=0,l=n.firstgid;l<n.firstgid+n.total&&(e[l]=[s,r,i],s+=n.tileWidth+n.tileSpacing,++o!==n.total)&&(++a!==n.columns||(s=n.tileMargin,r+=n.tileHeight+n.tileSpacing,a=0,++h!==n.rows));l++);return e}},function(t,e,i){var n=i(2),s=i(212),r=i(211);t.exports=function(t){for(var e=[],i=0;i<t.layers.length;i++)if("objectgroup"===t.layers[i].type){for(var o=t.layers[i],a=n(o,"offsetx",0),h=n(o,"offsety",0),l=[],u=0;u<o.objects.length;u++){var c=s(o.objects[u],a,h);l.push(c)}var d=new r(o);d.objects=l,e.push(d)}return e}},function(t,e,i){var n=i(85);t.exports=function(t,e){for(var i={},s=0;s<e.length;s++){var r=e[s];n(t,r)&&(i[r]=t[r])}return i}},function(t,e,i){var n=i(99),s=i(213),r=i(212);t.exports=function(t){for(var e,i=[],o=[],a=null,h=0;h<t.tilesets.length;h++){var l=t.tilesets[h];if(l.source)console.warn("Phaser can't load external tilesets. Use the Embed Tileset button and then export the map again.");else if(l.image){var u=new n(l.name,l.firstgid,l.tilewidth,l.tileheight,l.margin,l.spacing);if(t.version>1){if(Array.isArray(l.tiles)){for(var c={},d={},f=0;f<l.tiles.length;f++){var p=l.tiles[f];if(p.properties){var g={};p.properties.forEach(function(t){g[t.name]=t.value}),d[p.id]=g}if(p.objectgroup&&(c[p.id]={objectgroup:p.objectgroup},p.objectgroup.objects)){var v=p.objectgroup.objects.map(function(t){return r(t)});c[p.id].objectgroup.objects=v}}u.tileData=c,u.tileProperties=d}}else if(l.tileproperties&&(u.tileProperties=l.tileproperties),l.tiles)for(e in u.tileData=l.tiles,u.tileData){var y=u.tileData[e].objectgroup;if(y&&y.objects){var m=y.objects.map(function(t){return r(t)});u.tileData[e].objectgroup.objects=m}}u.updateTileData(l.imagewidth,l.imageheight),i.push(u)}else{var x=new s(l.name,l.firstgid,l.tilewidth,l.tileheight,l.margin,l.spacing,l.properties);for(e in l.tiles){var w=l.tiles[e].image,b=l.firstgid+parseInt(e,10);x.addImage(b,w)}o.push(x)}a&&(a.lastgid=l.firstgid-1),a=l}return{tilesets:i,imageCollections:o}}},function(t,e,i){var n=i(2);t.exports=function(t){for(var e=[],i=0;i<t.layers.length;i++)if("imagelayer"===t.layers[i].type){var s=t.layers[i];e.push({name:s.name,image:s.image,x:n(s,"offsetx",0)+s.x,y:n(s,"offsety",0)+s.y,alpha:s.opacity,visible:s.visible,properties:n(s,"properties",{})})}return e}},function(t,e){t.exports=function(t){for(var e=window.atob(t),i=e.length,n=new Array(i/4),s=0;s<i;s+=4)n[s/4]=(e.charCodeAt(s)|e.charCodeAt(s+1)<<8|e.charCodeAt(s+2)<<16|e.charCodeAt(s+3)<<24)>>>0;return n}},function(t,e,i){var n=i(458),s=i(2),r=i(78),o=i(214),a=i(55);t.exports=function(t,e){for(var i=[],h=0;h<t.layers.length;h++)if("tilelayer"===t.layers[h].type){var l=t.layers[h];if(l.compression)console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+l.name+"'");else{l.encoding&&"base64"===l.encoding&&(l.data=n(l.data),delete l.encoding);for(var u=new r({name:l.name,x:s(l,"offsetx",0)+l.x,y:s(l,"offsety",0)+l.y,width:l.width,height:l.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,alpha:l.opacity,visible:l.visible,properties:s(l,"properties",{})}),c=0,d=[],f=[],p=0,g=l.data.length;p<g;p++){var v=o(l.data[p]);if(v.gid>0){var y=new a(u,v.gid,c,f.length,t.tilewidth,t.tileheight);y.rotation=v.rotation,y.flipX=v.flipped,d.push(y)}else{var m=e?null:new a(u,-1,c,f.length,t.tilewidth,t.tileheight);d.push(m)}++c===l.width&&(f.push(d),c=0,d=[])}u.data=f,i.push(u)}}return i}},function(t,e,i){t.exports={Parse:i(217),Parse2DArray:i(133),ParseCSV:i(216),Impact:i(210),Tiled:i(215)}},function(t,e,i){var n=i(50),s=i(49),r=i(3);t.exports=function(t,e,i,o,a,h){return void 0===o&&(o=new r(0,0)),o.x=n(t,i,a,h),o.y=s(e,i,a,h),o}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o){if(void 0!==r){var a,h=n(t,e,i,s,null,o),l=0;for(a=0;a<r.length;a++)l+=r[a].weight;if(!(l<=0))for(a=0;a<h.length;a++){for(var u=Math.random()*l,c=0,d=-1,f=0;f<r.length;f++)if(u<=(c+=r[f].weight)){var p=r[f].index;d=Array.isArray(p)?p[Math.floor(Math.random()*p.length)]:p;break}h[a].index=d}}}},function(t,e,i){var n=i(101),s=i(100),r=i(3);t.exports=function(t,e,i,o,a){return void 0===i&&(i=new r(0,0)),i.x=n(t,o,a),i.y=s(e,o,a),i}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a){for(var h=n(i,s,r,o,null,a),l=0;l<h.length;l++)h[l]&&(h[l].index===t?h[l].index=e:h[l].index===e&&(h[l].index=t))}},function(t,e,i){var n=i(17),s=i(122);t.exports=function(t,e,i,r,o){var a=n(t,e,i,r,null,o),h=a.map(function(t){return t.index});s(h);for(var l=0;l<a.length;l++)a[l].index=h[l]}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a){for(var h=n(t,e,i,s,null,a),l=0;l<h.length;l++)h[l].setCollisionCallback(r,o)}},function(t,e){t.exports=function(t,e,i,n){if("number"==typeof t)n.callbacks[t]=null!==e?{callback:e,callbackContext:i}:void 0;else for(var s=0,r=t.length;s<r;s++)n.callbacks[t[s]]=null!==e?{callback:e,callbackContext:i}:void 0}},function(t,e,i){var n=i(56),s=i(34);t.exports=function(t,e,i){void 0===t&&(t=!0),void 0===e&&(e=!0);for(var r=0;r<i.height;r++)for(var o=0;o<i.width;o++){var a=i.data[r][o];if(a){var h=a.getCollisionGroup();h&&h.objects&&h.objects.length>0&&n(a,t)}}e&&s(0,0,i.width,i.height,i)}},function(t,e,i){var n=i(56),s=i(34),r=i(85);t.exports=function(t,e,i,o){void 0===e&&(e=!0),void 0===i&&(i=!0);for(var a=0;a<o.height;a++)for(var h=0;h<o.width;h++){var l=o.data[a][h];if(l)for(var u in t)if(r(l.properties,u)){var c=t[u];Array.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++)l.properties[u]===c[d]&&n(l,e)}}i&&s(0,0,o.width,o.height,o)}},function(t,e,i){var n=i(56),s=i(34),r=i(134);t.exports=function(t,e,i,o){void 0===e&&(e=!0),void 0===i&&(i=!0),Array.isArray(t)||(t=[t]);for(var a=0;a<o.height;a++)for(var h=0;h<o.width;h++){var l=o.data[a][h];l&&-1===t.indexOf(l.index)&&(n(l,e),r(l.index,e,o))}i&&s(0,0,o.width,o.height,o)}},function(t,e,i){var n=i(56),s=i(34),r=i(134);t.exports=function(t,e,i,o,a){if(void 0===i&&(i=!0),void 0===o&&(o=!0),!(t>e)){for(var h=t;h<=e;h++)r(h,i,a);for(var l=0;l<a.height;l++)for(var u=0;u<a.width;u++){var c=a.data[l][u];c&&c.index>=t&&c.index<=e&&n(c,i)}o&&s(0,0,a.width,a.height,a)}}},function(t,e,i){var n=i(56),s=i(34),r=i(134);t.exports=function(t,e,i,o){void 0===e&&(e=!0),void 0===i&&(i=!0),Array.isArray(t)||(t=[t]);for(var a=0;a<t.length;a++)r(t[a],e,o);for(var h=0;h<o.height;h++)for(var l=0;l<o.width;l++){var u=o.data[h][l];u&&-1!==t.indexOf(u.index)&&n(u,e)}i&&s(0,0,o.width,o.height,o)}},function(t,e,i){var n=i(17),s=i(347),r=new s(105,210,231,150),o=new s(243,134,48,200),a=new s(40,39,37,150);t.exports=function(t,e,i){void 0===e&&(e={});var s=void 0!==e.tileColor?e.tileColor:r,h=void 0!==e.collidingTileColor?e.collidingTileColor:o,l=void 0!==e.faceColor?e.faceColor:a,u=n(0,0,i.width,i.height,null,i);t.translate(i.tilemapLayer.x,i.tilemapLayer.y),t.scale(i.tilemapLayer.scaleX,i.tilemapLayer.scaleY);for(var c=0;c<u.length;c++){var d=u[c],f=d.width,p=d.height,g=d.pixelX,v=d.pixelY,y=d.collides?h:s;null!==y&&(t.fillStyle(y.color,y.alpha/255),t.fillRect(g,v,f,p)),g+=1,v+=1,f-=2,p-=2,null!==l&&(t.lineStyle(1,l.color,l.alpha/255),d.faceTop&&t.lineBetween(g,v,g+f,v),d.faceRight&&t.lineBetween(g+f,v,g+f,v+p),d.faceBottom&&t.lineBetween(g,v+p,g+f,v+p),d.faceLeft&&t.lineBetween(g,v,g,v+p))}}},function(t,e,i){var n=i(218),s=i(50),r=i(49);t.exports=function(t,e,i,o,a,h){var l=s(t,!0,a,h),u=r(e,!0,a,h);return n(l,u,i,o,h)}},function(t,e,i){var n=i(17),s=i(162);t.exports=function(t,e,i,r,o,a){var h,l=n(t,e,i,r,null,a);if(void 0===o)for(o=[],h=0;h<l.length;h++)-1===o.indexOf(l[h].index)&&o.push(l[h].index);for(h=0;h<l.length;h++)l[h].index=s(o)}},function(t,e,i){var n=i(34),s=i(135);t.exports=function(t,e,i,r,o){if(!Array.isArray(t))return null;void 0===r&&(r=!0),Array.isArray(t[0])||(t=[t]);for(var a=t.length,h=t[0].length,l=0;l<a;l++)for(var u=0;u<h;u++){var c=t[l][u];s(c,e+u,i+l,!1,o)}r&&n(e-1,i-1,h+2,a+2,o)}},function(t,e,i){var n=i(135),s=i(50),r=i(49);t.exports=function(t,e,i,o,a,h){var l=s(e,!0,a,h),u=r(i,!0,a,h);return n(t,l,u,o,h)}},function(t,e,i){var n=i(219),s=i(50),r=i(49);t.exports=function(t,e,i,o){var a=s(t,!0,i,o),h=r(e,!0,i,o);return n(a,h,o)}},function(t,e,i){var n=i(17),s=i(50),r=i(49);t.exports=function(t,e,i,o,a,h,l){var u=s(t,!0,h,l),c=r(e,!0,h,l),d=Math.ceil(s(t+i,!1,h,l)),f=Math.ceil(r(e+o,!1,h,l));return n(u,c,d-u,f-c,a,l)}},function(t,e,i){var n=i(274),s=i(17),r=i(273),o=i(1),a=i(101),h=i(100),l=i(50),u=i(49),c=function(t,e){return r.RectangleToTriangle(e,t)};t.exports=function(t,e,i,d){if(void 0===t)return[];var f=o;t instanceof n.Circle?f=r.CircleToRectangle:t instanceof n.Rectangle?f=r.RectangleToRectangle:t instanceof n.Triangle?f=c:t instanceof n.Line&&(f=r.LineToRectangle);var p=l(t.left,!0,i,d),g=u(t.top,!0,i,d),v=Math.ceil(l(t.right,!1,i,d)),y=Math.ceil(u(t.bottom,!1,i,d)),m=Math.max(v-p,1),x=Math.max(y-g,1),w=s(p,g,m,x,e,d),b=d.tileWidth,T=d.tileHeight;d.tilemapLayer&&(b*=d.tilemapLayer.scaleX,T*=d.tilemapLayer.scaleY);for(var S=[],_=new n.Rectangle(0,0,b,T),A=0;A<w.length;A++){var C=w[A];_.x=a(C.x,i,d),_.y=h(C.y,i,d),f(t,_)&&S.push(C)}return S}},function(t,e,i){var n=i(102),s=i(50),r=i(49);t.exports=function(t,e,i,o,a){var h=s(t,!0,o,a),l=r(e,!0,o,a);return n(h,l,i,a)}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a,h){n(i,s,r,o,a,h).forEach(t,e)}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a,h){return n(i,s,r,o,a,h).find(t,e)||null}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=!1);var s,r,o,a=0;if(i){for(r=n.height-1;r>=0;r--)for(s=n.width-1;s>=0;s--)if((o=n.data[r][s])&&o.index===t){if(a===e)return o;a+=1}}else for(r=0;r<n.height;r++)for(s=0;s<n.width;s++)if((o=n.data[r][s])&&o.index===t){if(a===e)return o;a+=1}return null}},function(t,e,i){var n=i(17);t.exports=function(t,e,i,s,r,o,a,h){return n(i,s,r,o,a,h).filter(t,e)}},function(t,e,i){var n=i(17),s=i(34),r=i(56);t.exports=function(t,e,i,o,a,h,l){for(var u=-1!==l.collideIndexes.indexOf(t),c=n(e,i,o,a,null,l),d=0;d<c.length;d++)c[d].index=t,r(c[d],u);h&&s(e-1,i-1,o+2,a+2,l)}},function(t,e,i){var n=i(142),s=i(243);t.exports=function(t,e,i,r){void 0===i&&(i=[]),void 0===r&&(r=0),i.length=0;var o,a,h,l=t.tilemapLayer.tilemap,u=t.tilemapLayer,c=t.data,d=t.width,f=t.height,p=Math.floor(l.tileWidth*u.scaleX),g=Math.floor(l.tileHeight*u.scaleY),v=0,y=d,m=0,x=f;if(!u.skipCull&&1===u.scrollFactorX&&1===u.scrollFactorY){var w=n(e.worldView.x-u.x,p,0,!0)-u.cullPaddingX,b=s(e.worldView.right-u.x,p,0,!0)+u.cullPaddingX,T=n(e.worldView.y-u.y,g,0,!0)-u.cullPaddingY,S=s(e.worldView.bottom-u.y,g,0,!0)+u.cullPaddingY;v=Math.max(0,w),y=Math.min(d,b),m=Math.max(0,T),x=Math.min(f,S)}if(0===r)for(a=m;a<x;a++)for(o=v;o<y;o++)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);else if(1===r)for(a=m;a<x;a++)for(o=y;o>=v;o--)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);else if(2===r)for(a=x;a>=m;a--)for(o=v;o<y;o++)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);else if(3===r)for(a=x;a>=m;a--)for(o=y;o>=v;o--)(h=c[a][o])&&-1!==h.index&&h.visible&&0!==h.alpha&&i.push(h);return u.tilesDrawn=i.length,u.tilesTotal=d*f,i}},function(t,e,i){var n=i(101),s=i(100),r=i(17),o=i(220);t.exports=function(t,e,i,a,h,l){void 0===i&&(i={}),Array.isArray(t)||(t=[t]);var u=l.tilemapLayer;void 0===a&&(a=u.scene),void 0===h&&(h=a.cameras.main);var c,d=r(0,0,l.width,l.height,null,l),f=[];for(c=0;c<d.length;c++){var p=d[c];if(-1!==t.indexOf(p.index)){i.x=n(p.x,h,l),i.y=s(p.y,h,l);var g=a.make.sprite(i);f.push(g)}}if("number"==typeof e)for(c=0;c<t.length;c++)o(t[c],e,0,0,l.width,l.height,l);else if(Array.isArray(e))for(c=0;c<t.length;c++)o(t[c],e[c],0,0,l.width,l.height,l);return f}},function(t,e,i){var n=i(17),s=i(34);t.exports=function(t,e,i,r,o,a,h,l){t<0&&(t=0),e<0&&(e=0),void 0===h&&(h=!0);for(var u=n(t,e,i,r,null,l),c=o-t,d=a-e,f=0;f<u.length;f++){var p=u[f].x+c,g=u[f].y+d;p>=0&&p<l.width&&g>=0&&g<l.height&&l.data[g][p]&&l.data[g][p].copy(u[f])}h&&s(o-1,a-1,i+2,r+2,l)}},function(t,e,i){t.exports={Components:i(103),Parsers:i(460),Formats:i(29),ImageCollection:i(213),ParseToTilemap:i(132),Tile:i(55),Tilemap:i(209),TilemapCreator:i(443),TilemapFactory:i(442),Tileset:i(99),LayerData:i(78),MapData:i(77),ObjectLayer:i(211),DynamicTilemapLayer:i(208),StaticTilemapLayer:i(207)}},function(t,e){t.exports={LINEAR:0,NEAREST:1}},function(t,e,i){var n=i(20),s=i(491),r={FilterMode:s,Frame:i(113),Parsers:i(316),Texture:i(165),TextureManager:i(318),TextureSource:i(317)};r=n(!1,r,s),t.exports=r},function(t,e,i){t.exports={List:i(112),Map:i(180),ProcessQueue:i(228),RTree:i(227),Set:i(95)}},function(t,e,i){t.exports={SoundManagerCreator:i(325),BaseSound:i(114),BaseSoundManager:i(115),WebAudioSound:i(319),WebAudioSoundManager:i(320),HTML5AudioSound:i(323),HTML5AudioSoundManager:i(324),NoAudioSound:i(321),NoAudioSoundManager:i(322)}},function(t,e,i){var n=i(23),s=i(0),r=i(2),o=i(15),a=new s({initialize:function(t){this.scene=t,this.systems=t.sys,this.settings=t.sys.settings,this.key=t.sys.settings.key,this.manager=t.sys.game.scene,this.transitionProgress=0,this._elapsed=0,this._target=null,this._duration=0,this._onUpdate,this._onUpdateScope,this._willSleep=!1,this._willRemove=!1,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.pluginStart,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},pluginStart:function(){this._target=null,this.systems.events.once("shutdown",this.shutdown,this)},start:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("stop",this.key),this.manager.queueOp("start",t,e),this},restart:function(t){var e=this.key;return this.manager.queueOp("stop",e),this.manager.queueOp("start",e,t),this},transition:function(t){void 0===t&&(t={});var e=r(t,"target",!1),i=this.manager.getScene(e);if(!e||!this.checkValidTransition(i))return!1;var n=r(t,"duration",1e3);this._elapsed=0,this._target=i,this._duration=n,this._willSleep=r(t,"sleep",!1),this._willRemove=r(t,"remove",!1);var s=r(t,"onUpdate",null);s&&(this._onUpdate=s,this._onUpdateScope=r(t,"onUpdateScope",this.scene));var o=r(t,"allowInput",!1);this.settings.transitionAllowInput=o;var a=i.sys.settings;return a.isTransition=!0,a.transitionFrom=this.scene,a.transitionDuration=n,a.transitionAllowInput=o,r(t,"moveAbove",!1)?this.manager.moveAbove(this.key,e):r(t,"moveBelow",!1)&&this.manager.moveBelow(this.key,e),i.sys.isSleeping()?i.sys.wake():this.manager.start(e,r(t,"data")),this.systems.events.emit("transitionout",i,n),this.systems.events.on("update",this.step,this),!0},checkValidTransition:function(t){return!(!t||t.sys.isActive()||t.sys.isTransitioning()||t===this.scene||this.systems.isTransitioning())},step:function(t,e){this._elapsed+=e,this.transitionProgress=n(this._elapsed/this._duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.transitionProgress),this._elapsed>=this._duration&&this.transitionComplete()},transitionComplete:function(){var t=this._target.sys,e=this._target.sys.settings;this.systems.events.off("update",this.step,this),t.events.emit("transitioncomplete",this.scene),e.isTransition=!1,e.transitionFrom=null,this._duration=0,this._target=null,this._onUpdate=null,this._onUpdateScope=null,this._willRemove?this.manager.remove(this.key):this._willSleep?this.systems.sleep():this.manager.stop(this.key)},add:function(t,e,i){return this.manager.add(t,e,i),this},launch:function(t,e){return t&&t!==this.key&&this.manager.queueOp("start",t,e),this},run:function(t,e){return t&&t!==this.key&&this.manager.queueOp("run",t,e),this},pause:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("pause",t,e),this},resume:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("resume",t,e),this},sleep:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("sleep",t,e),this},wake:function(t,e){return void 0===t&&(t=this.key),this.manager.queueOp("wake",t,e),this},switch:function(t){return t!==this.key&&this.manager.queueOp("switch",this.key,t),this},stop:function(t){return void 0===t&&(t=this.key),this.manager.queueOp("stop",t),this},setActive:function(t,e,i){void 0===e&&(e=this.key);var n=this.manager.getScene(e);return n&&n.sys.setActive(t,i),this},setVisible:function(t,e){void 0===e&&(e=this.key);var i=this.manager.getScene(e);return i&&i.sys.setVisible(t),this},isSleeping:function(t){return void 0===t&&(t=this.key),this.manager.isSleeping(t)},isActive:function(t){return void 0===t&&(t=this.key),this.manager.isActive(t)},isVisible:function(t){return void 0===t&&(t=this.key),this.manager.isVisible(t)},swapPosition:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.swapPosition(t,e),this},moveAbove:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.moveAbove(t,e),this},moveBelow:function(t,e){return void 0===e&&(e=this.key),t!==e&&this.manager.moveBelow(t,e),this},remove:function(t){return void 0===t&&(t=this.key),this.manager.remove(t),this},moveUp:function(t){return void 0===t&&(t=this.key),this.manager.moveUp(t),this},moveDown:function(t){return void 0===t&&(t=this.key),this.manager.moveDown(t),this},bringToTop:function(t){return void 0===t&&(t=this.key),this.manager.bringToTop(t),this},sendToBack:function(t){return void 0===t&&(t=this.key),this.manager.sendToBack(t),this},get:function(t){return this.manager.getScene(t)},getIndex:function(t){return void 0===t&&(t=this.key),this.manager.getIndex(t)},shutdown:function(){var t=this.systems.events;t.off("shutdown",this.shutdown,this),t.off("postupdate",this.step,this),t.off("transitionout")},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null,this.settings=null,this.manager=null}});o.register("ScenePlugin",a,"scenePlugin"),t.exports=a},function(t,e,i){var n=i(116),s=i(20),r={SceneManager:i(329),ScenePlugin:i(495),Settings:i(326),Systems:i(166)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(221),s=new(i(0))({Extends:n,initialize:function(t,e){n.call(this,e),this.scene=t,this.systems=t.sys,t.sys.events.once("boot",this.boot,this)},boot:function(){}});t.exports=s},function(t,e,i){t.exports={BasePlugin:i(221),DefaultPlugins:i(167),PluginCache:i(15),PluginManager:i(331),ScenePlugin:i(497)}},function(t,e,i){var n={};t.exports=n;var s=i(137),r=(i(194),i(33));n.create=function(t){var e=s.create(),i={label:"World",gravity:{x:0,y:1,scale:.001},bounds:{min:{x:-1/0,y:-1/0},max:{x:1/0,y:1/0}}};return r.extend(e,i,t)}},function(t,e,i){var n={};t.exports=n;var s=i(33);n._registry={},n.register=function(t){if(n.isPlugin(t)||s.warn("Plugin.register:",n.toString(t),"does not implement all required fields."),t.name in n._registry){var e=n._registry[t.name],i=n.versionParse(t.version).number,r=n.versionParse(e.version).number;i>r?(s.warn("Plugin.register:",n.toString(e),"was upgraded to",n.toString(t)),n._registry[t.name]=t):i<r?s.warn("Plugin.register:",n.toString(e),"can not be downgraded to",n.toString(t)):t!==e&&s.warn("Plugin.register:",n.toString(t),"is already registered to different plugin object")}else n._registry[t.name]=t;return t},n.resolve=function(t){return n._registry[n.dependencyParse(t).name]},n.toString=function(t){return"string"==typeof t?t:(t.name||"anonymous")+"@"+(t.version||t.range||"0.0.0")},n.isPlugin=function(t){return t&&t.name&&t.version&&t.install},n.isUsed=function(t,e){return t.used.indexOf(e)>-1},n.isFor=function(t,e){var i=t.for&&n.dependencyParse(t.for);return!t.for||e.name===i.name&&n.versionSatisfies(e.version,i.range)},n.use=function(t,e){if(t.uses=(t.uses||[]).concat(e||[]),0!==t.uses.length){for(var i=n.dependencies(t),r=s.topologicalSort(i),o=[],a=0;a<r.length;a+=1)if(r[a]!==t.name){var h=n.resolve(r[a]);h?n.isUsed(t,h.name)||(n.isFor(h,t)||(s.warn("Plugin.use:",n.toString(h),"is for",h.for,"but installed on",n.toString(t)+"."),h._warned=!0),h.install?h.install(t):(s.warn("Plugin.use:",n.toString(h),"does not specify an install function."),h._warned=!0),h._warned?(o.push("🔶 "+n.toString(h)),delete h._warned):o.push("✅ "+n.toString(h)),t.used.push(h.name)):o.push("❌ "+r[a])}o.length>0&&!h.silent&&s.info(o.join("  "))}else s.warn("Plugin.use:",n.toString(t),"does not specify any dependencies to install.")},n.dependencies=function(t,e){var i=n.dependencyParse(t),r=i.name;if(!(r in(e=e||{}))){t=n.resolve(t)||t,e[r]=s.map(t.uses||[],function(e){n.isPlugin(e)&&n.register(e);var r=n.dependencyParse(e),o=n.resolve(e);return o&&!n.versionSatisfies(o.version,r.range)?(s.warn("Plugin.dependencies:",n.toString(o),"does not satisfy",n.toString(r),"used by",n.toString(i)+"."),o._warned=!0,t._warned=!0):o||(s.warn("Plugin.dependencies:",n.toString(e),"used by",n.toString(i),"could not be resolved."),t._warned=!0),r.name});for(var o=0;o<e[r].length;o+=1)n.dependencies(e[r][o],e);return e}},n.dependencyParse=function(t){return s.isString(t)?(/^[\w-]+(@(\*|[\^~]?\d+\.\d+\.\d+(-[0-9A-Za-z-]+)?))?$/.test(t)||s.warn("Plugin.dependencyParse:",t,"is not a valid dependency string."),{name:t.split("@")[0],range:t.split("@")[1]||"*"}):{name:t.name,range:t.range||t.version}},n.versionParse=function(t){/^\*|[\^~]?\d+\.\d+\.\d+(-[0-9A-Za-z-]+)?$/.test(t)||s.warn("Plugin.versionParse:",t,"is not a valid version or range.");var e=t.split("-");t=e[0];var i=isNaN(Number(t[0])),n=i?t.substr(1):t,r=s.map(n.split("."),function(t){return Number(t)});return{isRange:i,version:n,range:t,operator:i?t[0]:"",parts:r,prerelease:e[1],number:1e8*r[0]+1e4*r[1]+r[2]}},n.versionSatisfies=function(t,e){e=e||"*";var i=n.versionParse(e),s=i.parts,r=n.versionParse(t),o=r.parts;if(i.isRange){if("*"===i.operator||"*"===t)return!0;if("~"===i.operator)return o[0]===s[0]&&o[1]===s[1]&&o[2]>=s[2];if("^"===i.operator)return s[0]>0?o[0]===s[0]&&r.number>=i.number:s[1]>0?o[1]===s[1]&&o[2]>=s[2]:o[2]===s[2]}return t===e||"*"===t}},function(t,e,i){var n=i(1065);n.Body=i(67),n.Composite=i(137),n.World=i(499),n.Detector=i(503),n.Grid=i(1064),n.Pairs=i(1063),n.Pair=i(418),n.Query=i(1089),n.Resolver=i(1062),n.SAT=i(502),n.Constraint=i(194),n.Common=i(33),n.Engine=i(1061),n.Events=i(195),n.Sleeping=i(222),n.Plugin=i(500),n.Bodies=i(126),n.Composites=i(1068),n.Axes=i(505),n.Bounds=i(80),n.Svg=i(1087),n.Vector=i(81),n.Vertices=i(76),n.World.add=n.Composite.add,n.World.remove=n.Composite.remove,n.World.addComposite=n.Composite.addComposite,n.World.addBody=n.Composite.addBody,n.World.addConstraint=n.Composite.addConstraint,n.World.clear=n.Composite.clear,t.exports=n},function(t,e,i){var n={};t.exports=n;var s=i(76),r=i(81);n.collides=function(t,e,i){var o,a,h,l,u=!1;if(i){var c=t.parent,d=e.parent,f=c.speed*c.speed+c.angularSpeed*c.angularSpeed+d.speed*d.speed+d.angularSpeed*d.angularSpeed;u=i&&i.collided&&f<.2,l=i}else l={collided:!1,bodyA:t,bodyB:e};if(i&&u){var p=l.axisBody,g=p===t?e:t,v=[p.axes[i.axisNumber]];if(h=n._overlapAxes(p.vertices,g.vertices,v),l.reused=!0,h.overlap<=0)return l.collided=!1,l}else{if((o=n._overlapAxes(t.vertices,e.vertices,t.axes)).overlap<=0)return l.collided=!1,l;if((a=n._overlapAxes(e.vertices,t.vertices,e.axes)).overlap<=0)return l.collided=!1,l;o.overlap<a.overlap?(h=o,l.axisBody=t):(h=a,l.axisBody=e),l.axisNumber=h.axisNumber}l.bodyA=t.id<e.id?t:e,l.bodyB=t.id<e.id?e:t,l.collided=!0,l.depth=h.overlap,l.parentA=l.bodyA.parent,l.parentB=l.bodyB.parent,t=l.bodyA,e=l.bodyB,r.dot(h.axis,r.sub(e.position,t.position))<0?l.normal={x:h.axis.x,y:h.axis.y}:l.normal={x:-h.axis.x,y:-h.axis.y},l.tangent=r.perp(l.normal),l.penetration=l.penetration||{},l.penetration.x=l.normal.x*l.depth,l.penetration.y=l.normal.y*l.depth;var y=n._findSupports(t,e,l.normal),m=[];if(s.contains(t.vertices,y[0])&&m.push(y[0]),s.contains(t.vertices,y[1])&&m.push(y[1]),m.length<2){var x=n._findSupports(e,t,r.neg(l.normal));s.contains(e.vertices,x[0])&&m.push(x[0]),m.length<2&&s.contains(e.vertices,x[1])&&m.push(x[1])}return m.length<1&&(m=[y[0]]),l.supports=m,l},n._overlapAxes=function(t,e,i){for(var s,o,a=r._temp[0],h=r._temp[1],l={overlap:Number.MAX_VALUE},u=0;u<i.length;u++){if(o=i[u],n._projectToAxis(a,t,o),n._projectToAxis(h,e,o),(s=Math.min(a.max-h.min,h.max-a.min))<=0)return l.overlap=s,l;s<l.overlap&&(l.overlap=s,l.axis=o,l.axisNumber=u)}return l},n._projectToAxis=function(t,e,i){for(var n=r.dot(e[0],i),s=n,o=1;o<e.length;o+=1){var a=r.dot(e[o],i);a>s?s=a:a<n&&(n=a)}t.min=n,t.max=s},n._findSupports=function(t,e,i){for(var n,s,o,a,h=Number.MAX_VALUE,l=r._temp[0],u=e.vertices,c=t.position,d=0;d<u.length;d++)s=u[d],l.x=s.x-c.x,l.y=s.y-c.y,(n=-r.dot(i,l))<h&&(h=n,o=s);return s=u[o.index-1>=0?o.index-1:u.length-1],l.x=s.x-c.x,l.y=s.y-c.y,h=-r.dot(i,l),a=s,s=u[(o.index+1)%u.length],l.x=s.x-c.x,l.y=s.y-c.y,(n=-r.dot(i,l))<h&&(a=s),[o,a]}},function(t,e,i){var n={};t.exports=n;var s=i(502),r=i(418),o=i(80);n.collisions=function(t,e){for(var i=[],a=e.pairs.table,h=e.metrics,l=0;l<t.length;l++){var u=t[l][0],c=t[l][1];if((!u.isStatic&&!u.isSleeping||!c.isStatic&&!c.isSleeping)&&n.canCollide(u.collisionFilter,c.collisionFilter)&&(h.midphaseTests+=1,o.overlaps(u.bounds,c.bounds)))for(var d=u.parts.length>1?1:0;d<u.parts.length;d++)for(var f=u.parts[d],p=c.parts.length>1?1:0;p<c.parts.length;p++){var g=c.parts[p];if(f===u&&g===c||o.overlaps(f.bounds,g.bounds)){var v,y=a[r.id(f,g)];v=y&&y.isActive?y.collision:null;var m=s.collides(f,g,v);h.narrowphaseTests+=1,m.reused&&(h.narrowReuseCount+=1),m.collided&&(i.push(m),h.narrowDetections+=1)}}}return i},n.canCollide=function(t,e){return t.group===e.group&&0!==t.group?t.group>0:0!=(t.mask&e.category)&&0!=(e.mask&t.category)}},function(t,e,i){var n=i(126),s=i(67),r=i(0),o=i(419),a=i(2),h=i(85),l=i(76),u=new r({Mixins:[o.Bounce,o.Collision,o.Friction,o.Gravity,o.Mass,o.Sensor,o.Sleep,o.Static],initialize:function(t,e,i){this.tile=e,this.world=t,e.physics.matterBody&&e.physics.matterBody.destroy(),e.physics.matterBody=this;var n=a(i,"body",null),s=a(i,"addToWorld",!0);if(n)this.setBody(n,s);else{var r=e.getCollisionGroup();a(r,"objects",[]).length>0?this.setFromTileCollision(i):this.setFromTileRectangle(i)}},setFromTileRectangle:function(t){void 0===t&&(t={}),h(t,"isStatic")||(t.isStatic=!0),h(t,"addToWorld")||(t.addToWorld=!0);var e=this.tile.getBounds(),i=e.x+e.width/2,s=e.y+e.height/2,r=n.rectangle(i,s,e.width,e.height,t);return this.setBody(r,t.addToWorld),this},setFromTileCollision:function(t){void 0===t&&(t={}),h(t,"isStatic")||(t.isStatic=!0),h(t,"addToWorld")||(t.addToWorld=!0);for(var e=this.tile.tilemapLayer.scaleX,i=this.tile.tilemapLayer.scaleY,r=this.tile.getLeft(),o=this.tile.getTop(),u=this.tile.getCollisionGroup(),c=a(u,"objects",[]),d=[],f=0;f<c.length;f++){var p=c[f],g=r+p.x*e,v=o+p.y*i,y=p.width*e,m=p.height*i,x=null;if(p.rectangle)x=n.rectangle(g+y/2,v+m/2,y,m,t);else if(p.ellipse)x=n.circle(g+y/2,v+m/2,y/2,t);else if(p.polygon||p.polyline){var w=(p.polygon?p.polygon:p.polyline).map(function(t){return{x:t.x*e,y:t.y*i}}),b=l.create(w);if(l.isConvex(w)){var T=l.centre(b);g+=T.x,v+=T.y}x=n.fromVertices(g,v,b,t)}x&&d.push(x)}return 1===d.length?this.setBody(d[0],t.addToWorld):d.length>1&&(t.parts=d,this.setBody(s.create(t),t.addToWorld)),this},setBody:function(t,e){return void 0===e&&(e=!0),this.body&&this.removeBody(),this.body=t,this.body.gameObject=this,e&&this.world.add(this.body),this},removeBody:function(){return this.body&&(this.world.remove(this.body),this.body.gameObject=void 0,this.body=void 0),this},destroy:function(){this.removeBody(),this.tile.physics.matterBody=void 0}});t.exports=u},function(t,e,i){var n={};t.exports=n;var s=i(81),r=i(33);n.fromVertices=function(t){for(var e={},i=0;i<t.length;i++){var n=(i+1)%t.length,o=s.normalise({x:t[n].y-t[i].y,y:t[i].x-t[n].x}),a=0===o.y?1/0:o.x/o.y;e[a=a.toFixed(3).toString()]=o}return r.values(e)},n.rotate=function(t,e){if(0!==e)for(var i=Math.cos(e),n=Math.sin(e),s=0;s<t.length;s++){var r,o=t[s];r=o.x*i-o.y*n,o.y=o.x*n+o.y*i,o.x=r}}},function(t,e,i){t.exports={Acceleration:i(1121),BodyScale:i(1120),BodyType:i(1119),Bounce:i(1118),CheckAgainst:i(1117),Collides:i(1116),Debug:i(1115),Friction:i(1114),Gravity:i(1113),Offset:i(1112),SetGameObject:i(1111),Velocity:i(1110)}},function(t,e,i){var n=i(229);t.exports=function(t,e,i,s){var r=n(t,e,i,s);if(i||0===r||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==r||t.embedded&&e.embedded;var o=t.velocity.y,a=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=r,e.velocity.y=o-a*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=r,t.velocity.y=a-o*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{r*=.5,t.y-=r,e.y+=r;var h=Math.sqrt(a*a*e.mass/t.mass)*(a>0?1:-1),l=Math.sqrt(o*o*t.mass/e.mass)*(o>0?1:-1),u=.5*(h+l);h-=u,l-=u,t.velocity.y=u+h*t.bounce.y,e.velocity.y=u+l*e.bounce.y}return!0}},function(t,e,i){var n=i(230);t.exports=function(t,e,i,s){var r=n(t,e,i,s);if(i||0===r||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==r||t.embedded&&e.embedded;var o=t.velocity.x,a=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=r,e.velocity.x=o-a*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=r,t.velocity.x=a-o*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{r*=.5,t.x-=r,e.x+=r;var h=Math.sqrt(a*a*e.mass/t.mass)*(a>0?1:-1),l=Math.sqrt(o*o*t.mass/e.mass)*(o>0?1:-1),u=.5*(h+l);h-=u,l-=u,t.velocity.x=u+h*t.bounce.x,e.velocity.x=u+l*e.bounce.x}return!0}},function(t,e){t.exports=function(t,e){e<0?(t.blocked.none=!1,t.blocked.up=!0):e>0&&(t.blocked.none=!1,t.blocked.down=!0),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},function(t,e,i){var n=i(509);t.exports=function(t,e,i,s,r){var o=0;return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y<s&&(o=t.y-s)<-r&&(o=0):t.deltaY()>0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom>i&&(o=t.bottom-i)>r&&(o=0),0!==o&&(t.customSeparateY?t.overlapY=o:n(t,o)),o}},function(t,e){t.exports=function(t,e){e<0?(t.blocked.none=!1,t.blocked.left=!0):e>0&&(t.blocked.none=!1,t.blocked.right=!0),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x}},function(t,e,i){var n=i(511);t.exports=function(t,e,i,s,r){var o=0;return t.deltaX()<0&&!t.blocked.left&&e.collideRight&&t.checkCollision.left?e.faceRight&&t.x<s&&(o=t.x-s)<-r&&(o=0):t.deltaX()>0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right>i&&(o=t.right-i)>r&&(o=0),0!==o&&(t.customSeparateX?t.overlapX=o:n(t,o)),o}},function(t,e,i){var n=i(512),s=i(510),r=i(226);t.exports=function(t,e,i,o,a,h){var l=o.left,u=o.top,c=o.right,d=o.bottom,f=i.faceLeft||i.faceRight,p=i.faceTop||i.faceBottom;if(!f&&!p)return!1;var g=0,v=0,y=0,m=1;if(e.deltaAbsX()>e.deltaAbsY()?y=-1:e.deltaAbsX()<e.deltaAbsY()&&(m=-1),0!==e.deltaX()&&0!==e.deltaY()&&f&&p&&(y=Math.min(Math.abs(e.position.x-c),Math.abs(e.right-l)),m=Math.min(Math.abs(e.position.y-d),Math.abs(e.bottom-u))),y<m){if(f&&0!==(g=n(e,i,l,c,h))&&!r(o,e))return!0;p&&(v=s(e,i,u,d,h))}else{if(p&&0!==(v=s(e,i,u,d,h))&&!r(o,e))return!0;f&&(g=n(e,i,l,c,h))}return 0!==g||0!==v}},function(t,e){t.exports=function(t,e){return t.collisionCallback?!t.collisionCallback.call(t.collisionCallbackContext,e,t):!t.layer.callbacks[t.index]||!t.layer.callbacks[t.index].callback.call(t.layer.callbacks[t.index].callbackContext,e,t)}},function(t,e){t.exports={setVelocity:function(t,e){return this.body.setVelocity(t,e),this},setVelocityX:function(t){return this.body.setVelocityX(t),this},setVelocityY:function(t){return this.body.setVelocityY(t),this},setMaxVelocity:function(t,e){return this.body.maxVelocity.set(t,e),this}}},function(t,e){t.exports={setOffset:function(t,e){return this.body.setOffset(t,e),this},setSize:function(t,e,i){return this.body.setSize(t,e,i),this},setCircle:function(t,e,i){return this.body.setCircle(t,e,i),this}}},function(t,e){t.exports={setMass:function(t){return this.body.mass=t,this}}},function(t,e){var i={setImmovable:function(t){return void 0===t&&(t=!0),this.body.immovable=t,this}};t.exports=i},function(t,e){t.exports={setGravity:function(t,e){return this.body.gravity.set(t,e),this},setGravityX:function(t){return this.body.gravity.x=t,this},setGravityY:function(t){return this.body.gravity.y=t,this}}},function(t,e){t.exports={setFriction:function(t,e){return this.body.friction.set(t,e),this},setFrictionX:function(t){return this.body.friction.x=t,this},setFrictionY:function(t){return this.body.friction.y=t,this}}},function(t,e){var i={enableBody:function(t,e,i,n,s){return t&&this.body.reset(e,i),n&&(this.body.gameObject.active=!0),s&&(this.body.gameObject.visible=!0),this.body.enable=!0,this},disableBody:function(t,e){return void 0===t&&(t=!1),void 0===e&&(e=!1),this.body.stop(),this.body.enable=!1,t&&(this.body.gameObject.active=!1),e&&(this.body.gameObject.visible=!1),this},refreshBody:function(){return this.body.updateFromGameObject(),this}};t.exports=i},function(t,e){t.exports={setDrag:function(t,e){return this.body.drag.set(t,e),this},setDragX:function(t){return this.body.drag.x=t,this},setDragY:function(t){return this.body.drag.y=t,this},setDamping:function(t){return this.body.useDamping=t,this}}},function(t,e){t.exports={setDebug:function(t,e,i){return this.debugShowBody=t,this.debugShowVelocity=e,this.debugBodyColor=i,this},setDebugBodyColor:function(t){return this.body.debugBodyColor=t,this},debugShowBody:{get:function(){return this.body.debugShowBody},set:function(t){this.body.debugShowBody=t}},debugShowVelocity:{get:function(){return this.body.debugShowVelocity},set:function(t){this.body.debugShowVelocity=t}},debugBodyColor:{get:function(){return this.body.debugBodyColor},set:function(t){this.body.debugBodyColor=t}}}},function(t,e){t.exports={setBounce:function(t,e){return this.body.bounce.set(t,e),this},setBounceX:function(t){return this.body.bounce.x=t,this},setBounceY:function(t){return this.body.bounce.y=t,this},setCollideWorldBounds:function(t){return this.body.collideWorldBounds=t,this}}},function(t,e){t.exports={setAngularVelocity:function(t){return this.body.angularVelocity=t,this},setAngularAcceleration:function(t){return this.body.angularAcceleration=t,this},setAngularDrag:function(t){return this.body.angularDrag=t,this}}},function(t,e){t.exports={setAcceleration:function(t,e){return this.body.acceleration.set(t,e),this},setAccelerationX:function(t){return this.body.acceleration.x=t,this},setAccelerationY:function(t){return this.body.acceleration.y=t,this}}},function(t,e,i){var n=i(0),s=i(31),r=i(52),o=i(249),a=i(238),h=i(2),l=i(96),u=i(15),c=i(3),d=i(233),f=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.config=this.getConfig(),this.world,this.add,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.world=new d(this.scene,this.config),this.add=new a(this.world),this.systems.events.once("destroy",this.destroy,this)},start:function(){this.world||(this.world=new d(this.scene,this.config),this.add=new a(this.world));var t=this.systems.events;t.on("update",this.world.update,this.world),t.on("postupdate",this.world.postUpdate,this.world),t.once("shutdown",this.shutdown,this)},getConfig:function(){var t=this.systems.game.config.physics,e=this.systems.settings.physics;return l(h(e,"arcade",{}),h(t,"arcade",{}))},overlap:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.world.collideObjects(t,e,i,n,s,!0)},collide:function(t,e,i,n,s){return void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=i),this.world.collideObjects(t,e,i,n,s,!1)},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},accelerateTo:function(t,e,i,n,s,r){void 0===n&&(n=60);var o=Math.atan2(i-t.y,e-t.x);return t.body.acceleration.setToPolar(o,n),void 0!==s&&void 0!==r&&t.body.maxVelocity.set(s,r),o},accelerateToObject:function(t,e,i,n,s){return this.accelerateTo(t,e.x,e.y,i,n,s)},closest:function(t){for(var e=this.world.tree.all(),i=Number.MAX_VALUE,n=null,s=t.x,r=t.y,a=e.length-1;a>=0;a--){var h=e[a],l=o(s,r,h.x,h.y);l<i&&(n=h,i=l)}return n},furthest:function(t){for(var e=this.world.tree.all(),i=-1,n=null,s=t.x,r=t.y,a=e.length-1;a>=0;a--){var h=e[a],l=o(s,r,h.x,h.y);l>i&&(n=h,i=l)}return n},moveTo:function(t,e,i,n,s){void 0===n&&(n=60),void 0===s&&(s=0);var o=Math.atan2(i-t.y,e-t.x);return s>0&&(n=r(t.x,t.y,e,i)/(s/1e3)),t.body.velocity.setToPolar(o,n),o},moveToObject:function(t,e,i,n){return this.moveTo(t,e.x,e.y,i,n)},velocityFromAngle:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new c),i.setToPolar(s(t),e)},velocityFromRotation:function(t,e,i){return void 0===e&&(e=60),void 0===i&&(i=new c),i.setToPolar(t,e)},shutdown:function(){if(this.world){var t=this.systems.events;t.off("update",this.world.update,this.world),t.off("postupdate",this.world.postUpdate,this.world),t.off("shutdown",this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null}},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});u.register("ArcadePhysics",f,"arcadePhysics"),t.exports=f},function(t,e,i){var n=i(35),s=i(20),r={ArcadePhysics:i(527),Body:i(232),Collider:i(231),Factory:i(238),Group:i(235),Image:i(237),Sprite:i(104),StaticBody:i(225),StaticGroup:i(234),World:i(233)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(138),s=i(240),r=i(239),o=new s,a=new r,h=new n;t.exports=function(t,e,i){return a.setAxisAngle(e,i),o.fromRotationTranslation(a,h.set(0,0,0)),t.transformMat4(o)}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n){this.x=0,this.y=0,this.z=0,this.w=0,"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0)},clone:function(){return new n(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z||0,this.w=t.w||0,this},equals:function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},set:function(t,e,i,n){return"object"==typeof t?(this.x=t.x||0,this.y=t.y||0,this.z=t.z||0,this.w=t.w||0):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},add:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z||0,this.w+=t.w||0,this},subtract:function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z||0,this.w-=t.w||0,this},scale:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},length:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},lengthSq:function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},normalize:function(){var t=this.x,e=this.y,i=this.z,n=this.w,s=t*t+e*e+i*i+n*n;return s>0&&(s=1/Math.sqrt(s),this.x=t*s,this.y=e*s,this.z=i*s,this.w=n*s),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lerp:function(t,e){void 0===e&&(e=0);var i=this.x,n=this.y,s=this.z,r=this.w;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=s+e*(t.z-s),this.w=r+e*(t.w-r),this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z||1,this.w*=t.w||1,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z||1,this.w/=t.w||1,this},distance:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0,s=t.w-this.w||0;return Math.sqrt(e*e+i*i+n*n+s*s)},distanceSq:function(t){var e=t.x-this.x,i=t.y-this.y,n=t.z-this.z||0,s=t.w-this.w||0;return e*e+i*i+n*n+s*s},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},transformMat4:function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.val;return this.x=r[0]*e+r[4]*i+r[8]*n+r[12]*s,this.y=r[1]*e+r[5]*i+r[9]*n+r[13]*s,this.z=r[2]*e+r[6]*i+r[10]*n+r[14]*s,this.w=r[3]*e+r[7]*i+r[11]*n+r[15]*s,this},transformQuat:function(t){var e=this.x,i=this.y,n=this.z,s=t.x,r=t.y,o=t.z,a=t.w,h=a*e+r*n-o*i,l=a*i+o*e-s*n,u=a*n+s*i-r*e,c=-s*e-r*i-o*n;return this.x=h*a+c*-s+l*-o-u*-r,this.y=l*a+c*-r+u*-s-h*-o,this.z=u*a+c*-o+h*-r-l*-s,this},reset:function(){return this.x=0,this.y=0,this.z=0,this.w=0,this}});n.prototype.sub=n.prototype.subtract,n.prototype.mul=n.prototype.multiply,n.prototype.div=n.prototype.divide,n.prototype.dist=n.prototype.distance,n.prototype.distSq=n.prototype.distanceSq,n.prototype.len=n.prototype.length,n.prototype.lenSq=n.prototype.lengthSq,t.exports=n},function(t,e){t.exports=function(t,e,i){return Math.abs(t-e)<=i}},function(t,e){t.exports=function(t,e,i,n){void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=1),n*=Math.PI/t;for(var s=[],r=[],o=0;o<t;o++)e+=(i-=e*n)*n,s[o]=i,r[o]=e;return{sin:r,cos:s,length:t}}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var n=Math.pow(i,-e);return Math.round(t*n)/n}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1),t.x=(2*Math.random()-1)*e,t.y=(2*Math.random()-1)*e,t.z=(2*Math.random()-1)*e,t.w=(2*Math.random()-1)*e,t}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1);var i=2*Math.random()*Math.PI,n=2*Math.random()-1,s=Math.sqrt(1-n*n)*e;return t.x=Math.cos(i)*s,t.y=Math.sin(i)*s,t.z=n*e,t}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1);var i=2*Math.random()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t}},function(t,e){t.exports=function(t,e,i,n){void 0===i&&(i=e+1);var s=(t-e)/(i-e);return s>1?void 0!==n?(s=(n-t)/(n-i))<0&&(s=0):s=1:s<0&&(s=0),s}},function(t,e){t.exports=function(t,e,i){return Math.max(t-e,i)}},function(t,e){t.exports=function(t,e,i){return Math.min(t+e,i)}},function(t,e){t.exports=function(t){return t===parseFloat(t)?!(t%2):void 0}},function(t,e){t.exports=function(t){return t==parseFloat(t)?!(t%2):void 0}},function(t,e){t.exports=function(t,e){return t/e/1e3}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var n=Math.pow(i,-e);return Math.floor(t*n)/n}},function(t,e){t.exports=function(t,e){return Math.abs(t-e)}},function(t,e){t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var n=Math.pow(i,-e);return Math.ceil(t*n)/n}},function(t,e){t.exports=function(t){for(var e=0,i=0;i<t.length;i++)e+=+t[i];return e/t.length}},function(t,e){t.exports=function(t,e,i,n){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.round(t/e),n?(i+t)/e:i+t)}},function(t,e,i){t.exports={Ceil:i(243),Floor:i(142),To:i(547)}},function(t,e){t.exports=function(t){return t>0&&0==(t&t-1)}},function(t,e,i){t.exports={GetNext:i(294),IsSize:i(117),IsValue:i(549)}},function(t,e,i){var n=i(182);t.exports=function(t,e,i){return e+(i-e)*n(t,0,1)}},function(t,e,i){var n=i(119);t.exports=function(t,e){var i=t.length-1,s=i*e,r=Math.floor(s);return e<0?n(t[0],t[1],s):e>1?n(t[i],t[i-1],i-s):n(t[r],t[r+1>i?i:r+1],s-r)}},function(t,e,i){var n=i(171);t.exports=function(t,e){var i=t.length-1,s=i*e,r=Math.floor(s);return t[0]===t[i]?(e<0&&(r=Math.floor(s=i*(1+e))),n(s-r,t[(r-1+i)%i],t[r],t[(r+1)%i],t[(r+2)%i])):e<0?t[0]-(n(-s,t[0],t[0],t[1],t[1])-t[0]):e>1?t[i]-(n(s-i,t[i],t[i],t[i-1],t[i-1])-t[i]):n(s-r,t[r?r-1:0],t[r],t[i<r+1?i:r+1],t[i<r+2?i:r+2])}},function(t,e,i){var n=i(245);t.exports=function(t,e){for(var i=0,s=t.length-1,r=0;r<=s;r++)i+=Math.pow(1-e,s-r)*Math.pow(e,r)*t[r]*n(s,r);return i}},function(t,e,i){t.exports={Bezier:i(554),CatmullRom:i(553),CubicBezier:i(354),Linear:i(552),QuadraticBezier:i(350),SmoothStep:i(334),SmootherStep:i(551)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)}},function(t,e,i){t.exports={Ceil:i(557),Equal:i(248),Floor:i(556),GreaterThan:i(247),LessThan:i(246)}},function(t,e,i){t.exports={Back:i(369),Bounce:i(368),Circular:i(367),Cubic:i(366),Elastic:i(365),Expo:i(364),Linear:i(363),Quadratic:i(362),Quartic:i(361),Quintic:i(360),Sine:i(359),Stepped:i(358)}},function(t,e){t.exports=function(t,e,i,n,s){return void 0===s&&(s=2),Math.sqrt(Math.pow(i-t,s)+Math.pow(n-e,s))}},function(t,e,i){t.exports={Between:i(52),Power:i(560),Squared:i(249)}},function(t,e){t.exports=function(t,e){var i=e-t;return 0===i?0:i-360*Math.floor((i- -180)/360)}},function(t,e,i){var n=i(16);t.exports=function(t,e,i){return void 0===i&&(i=.05),t===e?t:(Math.abs(e-t)<=i||Math.abs(e-t)>=n.PI2-i?t=e:(Math.abs(e-t)>Math.PI&&(e<t?e+=n.PI2:e-=n.PI2),e>t?t+=i:e<t&&(t-=i)),t)}},function(t,e,i){var n=i(250);t.exports=function(t){return n(t+Math.PI)}},function(t,e){t.exports=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)}},function(t,e){t.exports=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}},function(t,e){t.exports=function(t,e,i,n){return Math.atan2(i-t,n-e)}},function(t,e){t.exports=function(t,e,i,n){return Math.atan2(n-e,i-t)}},function(t,e,i){t.exports={Between:i(568),BetweenY:i(567),BetweenPoints:i(566),BetweenPointsY:i(565),Reverse:i(564),RotateTo:i(563),ShortestBetween:i(562),Normalize:i(250),Wrap:i(199),WrapDegrees:i(198)}},function(t,e,i){var n=i(16),s=i(20),r={Angle:i(569),Distance:i(561),Easing:i(559),Fuzzy:i(558),Interpolation:i(555),Pow2:i(550),Snap:i(548),RandomDataGenerator:i(404),Average:i(546),Bernstein:i(245),Between:i(170),CatmullRom:i(171),CeilTo:i(545),Clamp:i(23),DegToRad:i(31),Difference:i(544),Factorial:i(244),FloatBetween:i(299),FloorTo:i(543),FromPercent:i(93),GetSpeed:i(542),IsEven:i(541),IsEvenStrict:i(540),Linear:i(119),MaxAdd:i(539),MinSub:i(538),Percent:i(537),RadToDeg:i(172),RandomXY:i(536),RandomXYZ:i(535),RandomXYZW:i(534),Rotate:i(242),RotateAround:i(396),RotateAroundDistance:i(183),RoundAwayFromZero:i(314),RoundTo:i(533),SinCosTableGenerator:i(532),SmootherStep:i(182),SmoothStep:i(181),TransformXY:i(332),Within:i(531),Wrap:i(53),Vector2:i(3),Vector3:i(138),Vector4:i(530),Matrix3:i(241),Matrix4:i(240),Quaternion:i(239),RotateVec3:i(529)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(0),s=i(18),r=i(95),o=i(11),a=i(7),h=i(2),l=i(15),u=i(105),c=new n({Extends:o,initialize:function(t){o.call(this);var e=t.sys.game.config,i=t.sys.settings.loader;this.scene=t,this.systems=t.sys,this.cacheManager=t.sys.cache,this.textureManager=t.sys.textures,a.install(this),this.prefix="",this.path="",this.baseURL="",this.setBaseURL(h(i,"baseURL",e.loaderBaseURL)),this.setPath(h(i,"path",e.loaderPath)),this.setPrefix(h(i,"prefix",e.loaderPrefix)),this.maxParallelDownloads=h(i,"maxParallelDownloads",e.loaderMaxParallelDownloads),this.xhr=u(h(i,"responseType",e.loaderResponseType),h(i,"async",e.loaderAsync),h(i,"user",e.loaderUser),h(i,"password",e.loaderPassword),h(i,"timeout",e.loaderTimeout)),this.crossOrigin=h(i,"crossOrigin",e.loaderCrossOrigin),this.totalToLoad=0,this.progress=0,this.list=new r,this.inflight=new r,this.queue=new r,this._deleteQueue=new r,this.totalFailed=0,this.totalComplete=0,this.state=s.LOADER_IDLE,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.pluginStart,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},pluginStart:function(){this.systems.events.once("shutdown",this.shutdown,this)},setBaseURL:function(t){return void 0===t&&(t=""),""!==t&&"/"!==t.substr(-1)&&(t=t.concat("/")),this.baseURL=t,this},setPath:function(t){return void 0===t&&(t=""),""!==t&&"/"!==t.substr(-1)&&(t=t.concat("/")),this.path=t,this},setPrefix:function(t){return void 0===t&&(t=""),this.prefix=t,this},setCORS:function(t){return this.crossOrigin=t,this},addFile:function(t){Array.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e];this.keyExists(i)||(this.list.set(i),this.emit("addfile",i.key,i.type,this,i),this.isLoading()&&(this.totalToLoad++,this.updateProgress()))}},keyExists:function(t){var e=t.hasCacheConflict();return e||this.list.iterate(function(i){if(i.type===t.type&&i.key===t.key)return e=!0,!1}),!e&&this.isLoading()&&(this.inflight.iterate(function(i){if(i.type===t.type&&i.key===t.key)return e=!0,!1}),this.queue.iterate(function(i){if(i.type===t.type&&i.key===t.key)return e=!0,!1})),e},addPack:function(t,e){e&&t.hasOwnProperty(e)&&(t={packKey:t[e]});var i=0,n=this.baseURL,s=this.path,r=this.prefix;for(var o in t){var a=t[o],l=h(a,"baseURL",n),u=h(a,"path",s),c=h(a,"prefix",r),d=h(a,"files",null),f=h(a,"defaultType","void");if(Array.isArray(d)){this.setBaseURL(l),this.setPath(u),this.setPrefix(c);for(var p=0;p<d.length;p++){var g=d[p],v=g.hasOwnProperty("type")?g.type:f;this[v]&&(this[v](g),i++)}}}return this.setBaseURL(n),this.setPath(s),this.setPrefix(r),i>0},isLoading:function(){return this.state===s.LOADER_LOADING||this.state===s.LOADER_PROCESSING},isReady:function(){return this.state===s.LOADER_IDLE||this.state===s.LOADER_COMPLETE},start:function(){this.isReady()&&(this.progress=0,this.totalFailed=0,this.totalComplete=0,this.totalToLoad=this.list.size,this.emit("start",this),0===this.list.size?this.loadComplete():(this.state=s.LOADER_LOADING,this.inflight.clear(),this.queue.clear(),this.updateProgress(),this.checkLoadQueue(),this.systems.events.on("update",this.update,this)))},updateProgress:function(){this.progress=1-(this.list.size+this.inflight.size)/this.totalToLoad,this.emit("progress",this.progress)},update:function(){this.state===s.LOADER_LOADING&&this.list.size>0&&this.inflight.size<this.maxParallelDownloads&&this.checkLoadQueue()},checkLoadQueue:function(){this.list.each(function(t){if((t.state===s.FILE_POPULATED||t.state===s.FILE_PENDING&&this.inflight.size<this.maxParallelDownloads)&&(this.inflight.set(t),this.list.delete(t),t.crossOrigin||(t.crossOrigin=this.crossOrigin),t.load()),this.inflight.size===this.maxParallelDownloads)return!1},this)},nextFile:function(t,e){this.inflight&&(this.inflight.delete(t),this.updateProgress(),e?(this.totalComplete++,this.queue.set(t),this.emit("load",t),t.onProcess()):(this.totalFailed++,this._deleteQueue.set(t),this.emit("loaderror",t),this.fileProcessComplete(t)))},fileProcessComplete:function(t){this.scene&&this.systems&&this.systems.game&&!this.systems.game.pendingDestroy&&(t.state===s.FILE_ERRORED?t.multiFile&&t.multiFile.onFileFailed(t):t.state===s.FILE_COMPLETE&&(t.multiFile?t.multiFile.isReadyToProcess()&&t.multiFile.addToCache():t.addToCache()),this.queue.delete(t),0===this.list.size&&0===this.inflight.size&&0===this.queue.size&&this.loadComplete())},loadComplete:function(){this.emit("loadcomplete",this),this.list.clear(),this.inflight.clear(),this.queue.clear(),this.progress=1,this.state=s.LOADER_COMPLETE,this.systems.events.off("update",this.update,this),this._deleteQueue.iterateLocal("destroy"),this._deleteQueue.clear(),this.emit("complete",this,this.totalComplete,this.totalFailed)},flagForRemoval:function(t){this._deleteQueue.set(t)},saveJSON:function(t,e){return this.save(JSON.stringify(t),e)},save:function(t,e,i){void 0===e&&(e="file.json"),void 0===i&&(i="application/json");var n=new Blob([t],{type:i}),s=URL.createObjectURL(n),r=document.createElement("a");return r.download=e,r.textContent="Download "+e,r.href=s,r.click(),this},reset:function(){this.list.clear(),this.inflight.clear(),this.queue.clear();var t=this.systems.game.config,e=this.systems.settings.loader;this.setBaseURL(h(e,"baseURL",t.loaderBaseURL)),this.setPath(h(e,"path",t.loaderPath)),this.setPrefix(h(e,"prefix",t.loaderPrefix)),this.state=s.LOADER_IDLE},shutdown:function(){this.reset(),this.state=s.LOADER_SHUTDOWN,this.systems.events.off("update",this.update,this),this.systems.events.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.state=s.LOADER_DESTROYED,this.systems.events.off("update",this.update,this),this.systems.events.off("start",this.pluginStart,this),this.list=null,this.inflight=null,this.queue=null,this.scene=null,this.systems=null,this.textureManager=null,this.cacheManager=null}});l.register("Loader",c,"load"),t.exports=c},function(t,e,i){var n=i(0),s=i(7),r=i(2),o=i(58),a=i(8),h=i(57),l=i(251),u=new n({Extends:h,initialize:function(t,e,i,n,s,u){var c,d;if(a(e)){var f=e;c=new o(t,{key:e,url:r(f,"textureURL"),extension:r(f,"textureExtension","png"),normalMap:r(f,"normalMap"),xhrSettings:r(f,"textureXhrSettings")}),d=new l(t,{key:e,url:r(f,"atlasURL"),extension:r(f,"atlasExtension","txt"),xhrSettings:r(f,"atlasXhrSettings")})}else c=new o(t,e,i,s),d=new l(t,e,n,u);c.linkFile?h.call(this,t,"unityatlas",e,[c,d,c.linkFile]):h.call(this,t,"unityatlas",e,[c,d])},addToCache:function(){if(0===this.failed&&!this.complete){var t=this.files[0],e=this.files[1],i=this.files[2]?this.files[2].data:null;this.loader.textureManager.addUnityAtlas(t.key,t.data,e.data,i),e.addToCache(),this.complete=!0}}});s.register("unityAtlas",function(t,e,i,n,s){var r;if(Array.isArray(t))for(var o=0;o<t.length;o++)r=new u(this,t[o]),this.addFile(r.files);else r=new u(this,t,e,i,n,s),this.addFile(r.files);return this}),t.exports=u},function(t,e,i){var n=i(0),s=i(7),r=i(51),o=i(29),a=new n({Extends:r,initialize:function(t,e,i,n){r.call(this,t,e,i,n),this.type="tilemapJSON",this.cache=t.cacheManager.tilemap},addToCache:function(){var t={format:o.TILED_JSON,data:this.data};this.cache.add(this.key,t),this.pendingDestroy(t)}});s.register("tilemapTiledJSON",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new a(this,t[n]));else this.addFile(new a(this,t,e,i));return this}),t.exports=a},function(t,e,i){var n=i(0),s=i(7),r=i(51),o=i(29),a=new n({Extends:r,initialize:function(t,e,i,n){r.call(this,t,e,i,n),this.type="tilemapJSON",this.cache=t.cacheManager.tilemap},addToCache:function(){var t={format:o.WELTMEISTER,data:this.data};this.cache.add(this.key,t),this.pendingDestroy(t)}});s.register("tilemapImpact",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new a(this,t[n]));else this.addFile(new a(this,t,e,i));return this}),t.exports=a},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=i(29),u=new n({Extends:r,initialize:function(t,e,i,n){var s="csv";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var u={type:"tilemapCSV",cache:t.cacheManager.tilemap,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,u),this.tilemapFormat=l.CSV},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()},addToCache:function(){var t={format:this.tilemapFormat,data:this.data};this.cache.add(this.key,t),this.pendingDestroy(t)}});o.register("tilemapCSV",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new u(this,t[n]));else this.addFile(new u(this,t,e,i));return this}),t.exports=u},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n,s){var o="svg";if(h(e)){var l=e;e=a(l,"key"),i=a(l,"url"),n=a(l,"svgConfig",{}),s=a(l,"xhrSettings"),o=a(l,"extension",o)}var u={type:"svg",cache:t.textureManager,extension:o,responseType:"text",key:e,url:i,xhrSettings:s,config:{width:a(n,"width"),height:a(n,"height"),scale:a(n,"scale")}};r.call(this,t,u)},onProcess:function(){this.state=s.FILE_PROCESSING;var t=this.xhrLoader.responseText,e=[t],i=this.config.width,n=this.config.height,o=this.config.scale;t:if(i&&n||o){var a=(new DOMParser).parseFromString(t,"text/xml").getElementsByTagName("svg")[0],h=a.hasAttribute("viewBox"),l=parseFloat(a.getAttribute("width")),u=parseFloat(a.getAttribute("height"));if(!h&&l&&u)a.setAttribute("viewBox","0  0 "+l+" "+u);else if(h&&!l&&!u){var c=a.getAttribute("viewBox").split(/\s+|,/);l=c[2],u=c[3]}if(o){if(!l||!u)break t;i=l*o,n=u*o}a.setAttribute("width",i.toString()+"px"),a.setAttribute("height",n.toString()+"px"),e=[(new XMLSerializer).serializeToString(a)]}try{var d=new window.Blob(e,{type:"image/svg+xml;charset=utf-8"})}catch(t){return void this.onProcessError()}this.data=new Image,this.data.crossOrigin=this.crossOrigin;var f=this,p=!1;this.data.onload=function(){p||r.revokeObjectURL(f.data),f.onProcessComplete()},this.data.onerror=function(){p?f.onProcessError():(p=!0,r.revokeObjectURL(f.data),f.data.src="data:image/svg+xml,"+encodeURIComponent(e.join("")))},r.createObjectURL(this.data,d,"image/svg+xml")},addToCache:function(){var t=this.cache.addImage(this.key,this.data);this.pendingDestroy(t)}});o.register("svg",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new l(this,t[s]));else this.addFile(new l(this,t,e,i,n));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(7),r=i(58),o=new n({Extends:r,initialize:function(t,e,i,n,s){r.call(this,t,e,i,s,n),this.type="spritesheet"},addToCache:function(){var t=this.cache.addSpriteSheet(this.key,this.data,this.config);this.pendingDestroy(t)}});s.register("spritesheet",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new o(this,t[s]));else this.addFile(new o(this,t,e,i,n));return this}),t.exports=o},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n){var s="js";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var l={type:"script",cache:!1,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,l)},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),this.onProcessComplete()}});o.register("script",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new l(this,t[n]));else this.addFile(new l(this,t,e,i));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n,o,l){var u="js";if(h(e)){var c=e;e=a(c,"key"),i=a(c,"url"),l=a(c,"xhrSettings"),u=a(c,"extension",u),n=a(c,"systemKey"),o=a(c,"sceneKey")}var d={type:"scenePlugin",cache:!1,extension:u,responseType:"text",key:e,url:i,xhrSettings:l,config:{systemKey:n,sceneKey:o}};r.call(this,t,d),"function"==typeof i&&(this.data=i,this.state=s.FILE_POPULATED)},onProcess:function(){var t=this.loader.systems.plugins,e=this.config,i=this.key,n=a(e,"systemKey",i),r=a(e,"sceneKey",i);this.state===s.FILE_POPULATED?t.installScenePlugin(n,this.data,r,this.loader.scene):(this.state=s.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),t.installScenePlugin(n,window[this.key],r,this.loader.scene)),this.onProcessComplete()}});o.register("scenePlugin",function(t,e,i,n,s){if(Array.isArray(t))for(var r=0;r<t.length;r++)this.addFile(new l(this,t[r]));else this.addFile(new l(this,t,e,i,n,s));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n,o,l){var u="js";if(h(e)){var c=e;e=a(c,"key"),i=a(c,"url"),l=a(c,"xhrSettings"),u=a(c,"extension",u),n=a(c,"start"),o=a(c,"mapping")}var d={type:"plugin",cache:!1,extension:u,responseType:"text",key:e,url:i,xhrSettings:l,config:{start:n,mapping:o}};r.call(this,t,d),"function"==typeof i&&(this.data=i,this.state=s.FILE_POPULATED)},onProcess:function(){var t=this.loader.systems.plugins,e=this.config,i=a(e,"start",!1),n=a(e,"mapping",null);this.state===s.FILE_POPULATED?t.install(this.key,this.data,i,n):(this.state=s.FILE_PROCESSING,this.data=document.createElement("script"),this.data.language="javascript",this.data.type="text/javascript",this.data.defer=!1,this.data.text=this.xhrLoader.responseText,document.head.appendChild(this.data),t.install(this.key,window[this.key],i,n)),this.onProcessComplete()}});o.register("plugin",function(t,e,i,n,s){if(Array.isArray(t))for(var r=0;r<t.length;r++)this.addFile(new l(this,t[r]));else this.addFile(new l(this,t,e,i,n,s));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(18),r=i(7),o=i(51),a=new n({Extends:o,initialize:function(t,e,i,n,s){o.call(this,t,e,i,n,s),this.type="packfile"},onProcess:function(){this.state!==s.FILE_POPULATED&&(this.state=s.FILE_PROCESSING,this.data=JSON.parse(this.xhrLoader.responseText)),this.loader.addPack(this.data,this.config),this.onProcessComplete()}});r.register("pack",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new a(this,t[s]));else this.addFile(new a(this,t,e,n,i));return this}),t.exports=a},function(t,e,i){var n=i(0),s=i(7),r=i(2),o=i(58),a=i(8),h=i(51),l=i(57),u=new n({Extends:l,initialize:function(t,e,i,n,s,o,u){if(a(e)){var c=e;e=r(c,"key"),i=r(c,"url"),o=r(c,"xhrSettings"),n=r(c,"path"),s=r(c,"baseURL"),u=r(c,"textureXhrSettings")}var d=new h(t,e,i,o);l.call(this,t,"multiatlas",e,[d]),this.config.path=n,this.config.baseURL=s,this.config.textureXhrSettings=u},onFileComplete:function(t){if(-1!==this.files.indexOf(t)&&(this.pending--,"json"===t.type&&t.data.hasOwnProperty("textures"))){var e=t.data.textures,i=this.config,n=this.loader,s=n.baseURL,a=n.path,h=n.prefix,l=r(i,"baseURL",s),u=r(i,"path",a),c=r(i,"prefix",h),d=r(i,"textureXhrSettings");n.setBaseURL(l),n.setPath(u),n.setPrefix(c);for(var f=0;f<e.length;f++){var p=e[f].image,g="_MA_"+p,v=new o(n,g,p,d);if(this.addToMultiFile(v),n.addFile(v),e[f].normalMap){var y=new o(n,g,e[f].normalMap,d);y.type="normalMap",v.setLink(y),this.addToMultiFile(y),n.addFile(y)}}n.setBaseURL(s),n.setPath(a),n.setPrefix(h)}},addToCache:function(){if(this.isReadyToProcess()){var t=this.files[0];t.addToCache();for(var e=[],i=[],n=[],s=1;s<this.files.length;s++){var r=this.files[s];if("normalMap"!==r.type)for(var o=r.key.substr(4),a=r.data,h=0;h<t.data.textures.length;h++){var l=t.data.textures[h];if(l.image===o){i.push(a),e.push(l),r.linkFile&&n.push(r.linkFile.data);break}}}for(0===n.length&&(n=void 0),this.loader.textureManager.addAtlasJSONArray(this.key,i,e,n),this.complete=!0,s=0;s<this.files.length;s++)this.files[s].pendingDestroy()}}});s.register("multiatlas",function(t,e,i,n,s){var r;if(Array.isArray(t))for(var o=0;o<t.length;o++)r=new u(this,t[o]),this.addFile(r.files);else r=new u(this,t,e,i,n,s),this.addFile(r.files);return this}),t.exports=u},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n,s,o){void 0===n&&(n=512),void 0===s&&(s=512);var l="html";if(h(e)){var u=e;e=a(u,"key"),i=a(u,"url"),o=a(u,"xhrSettings"),l=a(u,"extension",l),n=a(u,"width",n),s=a(u,"height",s)}var c={type:"html",cache:t.textureManager,extension:l,responseType:"text",key:e,url:i,xhrSettings:o,config:{width:n,height:s}};r.call(this,t,c)},onProcess:function(){this.state=s.FILE_PROCESSING;var t=this.config.width,e=this.config.height,i=[];i.push('<svg width="'+t+'px" height="'+e+'px" viewBox="0 0 '+t+" "+e+'" xmlns="http://www.w3.org/2000/svg">'),i.push('<foreignObject width="100%" height="100%">'),i.push('<body xmlns="http://www.w3.org/1999/xhtml">'),i.push(this.xhrLoader.responseText),i.push("</body>"),i.push("</foreignObject>"),i.push("</svg>");var n=[i.join("\n")],o=this;try{var a=new window.Blob(n,{type:"image/svg+xml;charset=utf-8"})}catch(t){return o.state=s.FILE_ERRORED,void o.onProcessComplete()}this.data=new Image,this.data.crossOrigin=this.crossOrigin,this.data.onload=function(){r.revokeObjectURL(o.data),o.onProcessComplete()},this.data.onerror=function(){r.revokeObjectURL(o.data),o.onProcessError()},r.createObjectURL(this.data,a,"image/svg+xml")},addToCache:function(){var t=this.cache.addImage(this.key,this.data);this.pendingDestroy(t)}});o.register("htmlTexture",function(t,e,i,n,s){if(Array.isArray(t))for(var r=0;r<t.length;r++)this.addFile(new l(this,t[r]));else this.addFile(new l(this,t,e,i,n,s));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n){var s="html";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var l={type:"text",cache:t.cacheManager.html,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,l)},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});o.register("html",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new l(this,t[n]));else this.addFile(new l(this,t,e,i));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n){var s="glsl";if(h(e)){var o=e;e=a(o,"key"),i=a(o,"url"),n=a(o,"xhrSettings"),s=a(o,"extension",s)}var l={type:"glsl",cache:t.cacheManager.shader,extension:s,responseType:"text",key:e,url:i,xhrSettings:n};r.call(this,t,l)},onProcess:function(){this.state=s.FILE_PROCESSING,this.data=this.xhrLoader.responseText,this.onProcessComplete()}});o.register("glsl",function(t,e,i){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.addFile(new l(this,t[n]));else this.addFile(new l(this,t,e,i));return this}),t.exports=l},function(t,e,i){var n=i(0),s=i(7),r=i(2),o=i(58),a=i(8),h=i(57),l=i(310),u=i(139),c=new n({Extends:h,initialize:function(t,e,i,n,s,l){var c,d;if(a(e)){var f=e;e=r(f,"key"),c=new o(t,{key:e,url:r(f,"textureURL"),extension:r(f,"textureExtension","png"),normalMap:r(f,"normalMap"),xhrSettings:r(f,"textureXhrSettings")}),d=new u(t,{key:e,url:r(f,"fontDataURL"),extension:r(f,"fontDataExtension","xml"),xhrSettings:r(f,"fontDataXhrSettings")})}else c=new o(t,e,i,s),d=new u(t,e,n,l);c.linkFile?h.call(this,t,"bitmapfont",e,[c,d,c.linkFile]):h.call(this,t,"bitmapfont",e,[c,d])},addToCache:function(){if(this.isReadyToProcess()){var t=this.files[0],e=this.files[1];t.addToCache(),e.addToCache(),this.loader.cacheManager.bitmapFont.add(t.key,{data:l(e.data),texture:t.key,frame:null}),this.complete=!0}}});s.register("bitmapFont",function(t,e,i,n,s){var r;if(Array.isArray(t))for(var o=0;o<t.length;o++)r=new c(this,t[o]),this.addFile(r.files);else r=new c(this,t,e,i,n,s),this.addFile(r.files);return this}),t.exports=c},function(t,e,i){var n=i(0),s=i(18),r=i(21),o=i(7),a=i(2),h=i(8),l=new n({Extends:r,initialize:function(t,e,i,n,s){var o="bin";if(h(e)){var l=e;e=a(l,"key"),i=a(l,"url"),n=a(l,"xhrSettings"),o=a(l,"extension",o),s=a(l,"dataType",s)}var u={type:"binary",cache:t.cacheManager.binary,extension:o,responseType:"arraybuffer",key:e,url:i,xhrSettings:n,config:{dataType:s}};r.call(this,t,u)},onProcess:function(){this.state=s.FILE_PROCESSING;var t=this.config.dataType;this.data=t?new t(this.xhrLoader.response):this.xhrLoader.response,this.onProcessComplete()}});o.register("binary",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new l(this,t[s]));else this.addFile(new l(this,t,e,n,i));return this}),t.exports=l},function(t,e,i){var n=i(253),s=i(0),r=i(7),o=i(2),a=i(8),h=i(51),l=i(57),u=new s({Extends:l,initialize:function(t,e,i,s,r,u,c){if(a(e)){var d=e;e=o(d,"key"),i=o(d,"jsonURL"),s=o(d,"audioURL"),r=o(d,"audioConfig"),u=o(d,"audioXhrSettings"),c=o(d,"jsonXhrSettings")}var f;if(s){var p=n.create(t,e,s,r,u);p&&(f=new h(t,e,i,c),l.call(this,t,"audiosprite",e,[p,f]),this.config.resourceLoad=!1)}else f=new h(t,e,i,c),l.call(this,t,"audiosprite",e,[f]),this.config.resourceLoad=!0,this.config.audioConfig=r,this.config.audioXhrSettings=u},onFileComplete:function(t){if(-1!==this.files.indexOf(t)&&(this.pending--,this.config.resourceLoad&&"json"===t.type&&t.data.hasOwnProperty("resources"))){var e=t.data.resources,i=o(this.config,"audioConfig"),s=o(this.config,"audioXhrSettings"),r=n.create(this.loader,t.key,e,i,s);r&&(this.addToMultiFile(r),this.loader.addFile(r))}},addToCache:function(){if(this.isReadyToProcess()){var t=this.files[0],e=this.files[1];t.addToCache(),e.addToCache(),this.complete=!0}}});r.register("audioSprite",function(t,e,i,n,s,r){var o,a=this.systems.game,h=a.config.audio,l=a.device.audio;if(h&&h.noAudio||!l.webAudio&&!l.audioData)return this;if(Array.isArray(t))for(var c=0;c<t.length;c++)(o=new u(this,t[c])).files&&this.addFile(o.files);else(o=new u(this,t,e,i,n,s,r)).files&&this.addFile(o.files);return this})},function(t,e,i){var n=i(0),s=i(7),r=i(2),o=i(58),a=i(8),h=i(57),l=i(139),u=new n({Extends:h,initialize:function(t,e,i,n,s,u){var c,d;if(a(e)){var f=e;e=r(f,"key"),c=new o(t,{key:e,url:r(f,"textureURL"),extension:r(f,"textureExtension","png"),normalMap:r(f,"normalMap"),xhrSettings:r(f,"textureXhrSettings")}),d=new l(t,{key:e,url:r(f,"atlasURL"),extension:r(f,"atlasExtension","xml"),xhrSettings:r(f,"atlasXhrSettings")})}else c=new o(t,e,i,s),d=new l(t,e,n,u);c.linkFile?h.call(this,t,"atlasxml",e,[c,d,c.linkFile]):h.call(this,t,"atlasxml",e,[c,d])},addToCache:function(){if(this.isReadyToProcess()){var t=this.files[0],e=this.files[1],i=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlasXML(t.key,t.data,e.data,i),e.addToCache(),this.complete=!0}}});s.register("atlasXML",function(t,e,i,n,s){var r;if(Array.isArray(t))for(var o=0;o<t.length;o++)r=new u(this,t[o]),this.addFile(r.files);else r=new u(this,t,e,i,n,s),this.addFile(r.files);return this}),t.exports=u},function(t,e,i){var n=i(0),s=i(7),r=i(2),o=i(58),a=i(8),h=i(51),l=i(57),u=new n({Extends:l,initialize:function(t,e,i,n,s,u){var c,d;if(a(e)){var f=e;e=r(f,"key"),c=new o(t,{key:e,url:r(f,"textureURL"),extension:r(f,"textureExtension","png"),normalMap:r(f,"normalMap"),xhrSettings:r(f,"textureXhrSettings")}),d=new h(t,{key:e,url:r(f,"atlasURL"),extension:r(f,"atlasExtension","json"),xhrSettings:r(f,"atlasXhrSettings")})}else c=new o(t,e,i,s),d=new h(t,e,n,u);c.linkFile?l.call(this,t,"atlasjson",e,[c,d,c.linkFile]):l.call(this,t,"atlasjson",e,[c,d])},addToCache:function(){if(this.isReadyToProcess()){var t=this.files[0],e=this.files[1],i=this.files[2]?this.files[2].data:null;this.loader.textureManager.addAtlas(t.key,t.data,e.data,i),e.addToCache(),this.complete=!0}}});s.register("atlas",function(t,e,i,n,s){var r;if(Array.isArray(t))for(var o=0;o<t.length;o++)r=new u(this,t[o]),this.addFile(r.files);else r=new u(this,t,e,i,n,s),this.addFile(r.files);return this}),t.exports=u},function(t,e,i){var n=i(0),s=i(7),r=i(51),o=new n({Extends:r,initialize:function(t,e,i,n,s){r.call(this,t,e,i,n,s),this.type="animationJSON"},onProcess:function(){this.loader.once("loadcomplete",this.onLoadComplete,this),r.prototype.onProcess.call(this)},onLoadComplete:function(){this.loader.systems.anims.fromJSON(this.data),this.pendingDestroy()}});s.register("animation",function(t,e,i,n){if(Array.isArray(t))for(var s=0;s<t.length;s++)this.addFile(new o(this,t[s]));else this.addFile(new o(this,t,e,n,i));return this}),t.exports=o},function(t,e,i){t.exports={AnimationJSONFile:i(591),AtlasJSONFile:i(590),AtlasXMLFile:i(589),AudioFile:i(253),AudioSpriteFile:i(588),BinaryFile:i(587),BitmapFontFile:i(586),GLSLFile:i(585),HTML5AudioFile:i(252),HTMLFile:i(584),HTMLTextureFile:i(583),ImageFile:i(58),JSONFile:i(51),MultiAtlasFile:i(582),PackFile:i(581),PluginFile:i(580),ScenePluginFile:i(579),ScriptFile:i(578),SpriteSheetFile:i(577),SVGFile:i(576),TextFile:i(251),TilemapCSVFile:i(575),TilemapImpactFile:i(574),TilemapJSONFile:i(573),UnityAtlasFile:i(572),XMLFile:i(139)}},function(t,e,i){var n=i(18),s=i(20),r={FileTypes:i(592),File:i(21),FileTypesManager:i(7),GetURL:i(141),LoaderPlugin:i(571),MergeXHRSettings:i(140),MultiFile:i(57),XHRLoader:i(254),XHRSettings:i(105)};r=s(!1,r,n),t.exports=r},function(t,e,i){t.exports={TouchManager:i(333)}},function(t,e,i){t.exports={MouseManager:i(336)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=50),t.isUp&&t.duration<e}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=50),t.isDown&&t.duration<e}},function(t,e){t.exports=function(t){return!!t._justUp&&(t._justUp=!1,!0)}},function(t,e){t.exports=function(t){return!!t._justDown&&(t._justDown=!1,!0)}},function(t,e){t.exports=function(t,e){if(t.originalEvent=e,t.preventDefault&&e.preventDefault(),t.enabled)return t.isDown=!1,t.isUp=!0,t.timeUp=e.timeStamp,t.duration=t.timeUp-t.timeDown,t.repeats=0,t._justDown=!1,t._justUp=!0,t._tick=-1,t}},function(t,e){t.exports=function(t,e){if(t.originalEvent=e,t.preventDefault&&e.preventDefault(),t.enabled)return t.altKey=e.altKey,t.ctrlKey=e.ctrlKey,t.shiftKey=e.shiftKey,t.location=e.location,!1===t.isDown&&(t.isDown=!0,t.isUp=!1,t.timeDown=e.timeStamp,t.duration=0,t._justDown=!0,t._justUp=!1),t.repeats++,t}},function(t,e,i){var n=i(143),s={};for(var r in n)s[n[r]]=r;t.exports=s},function(t,e){t.exports=function(t){return t.current=t.keyCodes[0],t.index=0,t.timeLastMatched=0,t.matched=!1,t.timeMatched=0,t}},function(t,e){t.exports=function(t,e){return e.timeLastMatched=t.timeStamp,e.index++,e.index===e.size||(e.current=e.keyCodes[e.index],!1)}},function(t,e,i){var n=i(604);t.exports=function(t,e){if(e.matched)return!0;var i=!1,s=!1;if(t.keyCode===e.current)if(e.index>0&&e.maxKeyDelay>0){var r=e.timeLastMatched+e.maxKeyDelay;t.timeStamp<=r&&(s=!0,i=n(t,e))}else s=!0,i=n(t,e);return!s&&e.resetOnWrongKey&&(e.index=0,e.current=e.keyCodes[0]),i&&(e.timeLastMatched=t.timeStamp,e.matched=!0,e.timeMatched=t.timeStamp),i}},function(t,e,i){var n=i(0),s=i(11),r=i(4),o=i(106),a=i(256),h=i(143),l=i(255),u=i(602),c=i(601),d=i(600),f=i(142),p=new n({Extends:s,initialize:function(t){s.call(this),this.scene=t.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=t,this.enabled=!0,this.target,this.keys=[],this.combos=[],this.queue=[],this.onKeyHandler,this.time=0,t.pluginEvents.once("boot",this.boot,this),t.pluginEvents.on("start",this.start,this)},boot:function(){var t=this.settings.input,e=this.scene.sys.game.config;this.enabled=r(t,"keyboard",e.inputKeyboard),this.target=r(t,"keyboard.target",e.inputKeyboardEventTarget),this.sceneInputPlugin.pluginEvents.once("destroy",this.destroy,this)},start:function(){this.enabled&&this.startListeners(),this.sceneInputPlugin.pluginEvents.once("shutdown",this.shutdown,this)},isActive:function(){return this.enabled&&this.scene.sys.isActive()},startListeners:function(){var t=this,e=function(e){if(!e.defaultPrevented&&t.isActive()){t.queue.push(e);var i=t.keys[e.keyCode];i&&i.preventDefault&&e.preventDefault()}};this.onKeyHandler=e,this.target.addEventListener("keydown",e,!1),this.target.addEventListener("keyup",e,!1),this.sceneInputPlugin.pluginEvents.on("update",this.update,this)},stopListeners:function(){this.target.removeEventListener("keydown",this.onKeyHandler),this.target.removeEventListener("keyup",this.onKeyHandler),this.sceneInputPlugin.pluginEvents.off("update",this.update)},createCursorKeys:function(){return this.addKeys({up:h.UP,down:h.DOWN,left:h.LEFT,right:h.RIGHT,space:h.SPACE,shift:h.SHIFT})},addKeys:function(t){var e={};if("string"==typeof t){t=t.split(",");for(var i=0;i<t.length;i++){var n=t[i].trim();n&&(e[n]=this.addKey(n))}}else for(var s in t)e[s]=this.addKey(t[s]);return e},addKey:function(t){var e=this.keys;if(t instanceof a){var i=e.indexOf(t);return i>-1?e[i]=t:e[t.keyCode]=t,t}return"string"==typeof t&&(t=h[t.toUpperCase()]),e[t]||(e[t]=new a(t)),e[t]},removeKey:function(t){var e=this.keys;if(t instanceof a){var i=e.indexOf(t);i>-1&&(this.keys[i]=void 0)}else"string"==typeof t&&(t=h[t.toUpperCase()]);e[t]&&(e[t]=void 0)},createCombo:function(t,e){return new l(this,t,e)},checkDown:function(t,e){if(this.enabled&&t.isDown){var i=f(this.time-t.timeDown,e);if(i>t._tick)return t._tick=i,!0}return!1},update:function(t){this.time=t;var e=this.queue.length;if(this.enabled&&0!==e)for(var i=this.queue.splice(0,e),n=this.keys,s=0;s<e;s++){var r=i[s],o=r.keyCode;"keydown"===r.type?(!u[o]||void 0!==n[o]&&!1!==n[o].isDown||(this.emit(r.type,r),this.emit("keydown_"+u[o],r)),n[o]&&c(n[o],r)):(this.emit(r.type,r),this.emit("keyup_"+u[o],r),n[o]&&d(n[o],r))}},resetKeys:function(){for(var t=this.keys,e=0;e<t.length;e++)t[e]&&t[e].reset();return this},shutdown:function(){this.resetKeys(),this.stopListeners(),this.removeAllListeners(),this.queue=[]},destroy:function(){this.shutdown(),this.keys=[],this.combos=[],this.queue=[],this.scene=null,this.settings=null,this.sceneInputPlugin=null,this.target=null}});o.register("KeyboardPlugin",p,"keyboard","keyboard","inputKeyboard"),t.exports=p},function(t,e,i){t.exports={KeyboardPlugin:i(606),Key:i(256),KeyCodes:i(143),KeyCombo:i(255),JustDown:i(599),JustUp:i(598),DownDuration:i(597),UpDuration:i(596)}},function(t,e){t.exports=function(t,e){return function(i,n,s,r){var o=t.getPixelAlpha(n,s,r.texture.key,r.frame.name);return o&&o>=e}}},function(t,e,i){var n=i(71),s=i(40),r=i(0),o=i(260),a=i(608),h=i(52),l=i(90),u=i(89),c=i(11),d=i(2),f=i(106),p=i(8),g=i(15),v=i(9),y=i(39),m=i(59),x=i(69),w=new r({Extends:c,initialize:function(t){c.call(this),this.scene=t,this.systems=t.sys,this.settings=t.sys.settings,this.manager=t.sys.game.input,this.pluginEvents=new c,this.enabled=!0,this.displayList,this.cameras,f.install(this),this.mouse=this.manager.mouse,this.topOnly=!0,this.pollRate=-1,this._pollTimer=0;var e={cancelled:!1};this._eventContainer={stopPropagation:function(){e.cancelled=!0}},this._eventData=e,this.dragDistanceThreshold=0,this.dragTimeThreshold=0,this._temp=[],this._tempZones=[],this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],this._draggable=[],this._drag={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._over={0:[],1:[],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[]},this._validTypes=["onDown","onUp","onOver","onOut","onMove","onDragStart","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop"],t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.cameras=this.systems.cameras,this.displayList=this.systems.displayList,this.systems.events.once("destroy",this.destroy,this),this.pluginEvents.emit("boot")},start:function(){var t=this.systems.events;t.on("transitionstart",this.transitionIn,this),t.on("transitionout",this.transitionOut,this),t.on("transitioncomplete",this.transitionComplete,this),t.on("preupdate",this.preUpdate,this),t.on("update",this.update,this),t.once("shutdown",this.shutdown,this),this.enabled=!0,this.pluginEvents.emit("start")},preUpdate:function(){this.pluginEvents.emit("preUpdate");var t=this._pendingRemoval,e=this._pendingInsertion,i=t.length,n=e.length;if(0!==i||0!==n){for(var s=this._list,r=0;r<i;r++){var o=t[r],a=s.indexOf(o);a>-1&&(s.splice(a,1),this.clear(o))}t.length=0,this._pendingRemoval.length=0,this._list=s.concat(e.splice(0))}},isActive:function(){return this.enabled&&this.scene.sys.isActive()},update:function(t,e){if(this.isActive()){this.pluginEvents.emit("update",t,e);var i=this.manager;if(!i.globalTopOnly||!i.ignoreEvents){var n=i.dirty||0===this.pollRate;if(this.pollRate>-1&&(this._pollTimer-=e,this._pollTimer<0&&(n=!0,this._pollTimer=this.pollRate)),n)for(var s=this.manager.pointers,r=0;r<this.manager.pointersTotal;r++){var o=s[r];this._tempZones=[],this._temp=this.hitTestPointer(o),this.sortGameObjects(this._temp),this.sortGameObjects(this._tempZones),this.topOnly&&(this._temp.length&&this._temp.splice(1),this._tempZones.length&&this._tempZones.splice(1));var a=this.processDragEvents(o,t);o.wasTouch||(a+=this.processOverOutEvents(o)),o.justDown&&(a+=this.processDownEvents(o)),o.justUp&&(a+=this.processUpEvents(o)),o.justMoved&&(a+=this.processMoveEvents(o)),a>0&&i.globalTopOnly&&(i.ignoreEvents=!0)}}}},clear:function(t){var e=t.input;if(e){this.queueForRemoval(t),e.gameObject=void 0,e.target=void 0,e.hitArea=void 0,e.hitAreaCallback=void 0,e.callbackContext=void 0,this.manager.resetCursor(e),t.input=null;var i=this._draggable.indexOf(t);return i>-1&&this._draggable.splice(i,1),(i=this._drag[0].indexOf(t))>-1&&this._drag[0].splice(i,1),(i=this._over[0].indexOf(t))>-1&&this._over[0].splice(i,1),t}},disable:function(t){t.input.enabled=!1},enable:function(t,e,i,n){return void 0===n&&(n=!1),t.input?t.input.enabled=!0:this.setHitArea(t,e,i),t.input&&n&&!t.input.dropZone&&(t.input.dropZone=n),this},hitTestPointer:function(t){for(var e=this.cameras.getCamerasBelowPointer(t),i=0;i<e.length;i++){for(var n=e[i],s=this.manager.hitTest(t,this._list,n),r=0;r<s.length;r++){var o=s[r];o.input.dropZone&&this._tempZones.push(o)}if(s.length>0)return t.camera=n,s}return t.camera=e[0],[]},processDownEvents:function(t){var e=0,i=this._temp,n=this._eventData,s=this._eventContainer;n.cancelled=!1;for(var r=!1,o=0;o<i.length;o++){var a=i[o];if(a.input){if(e++,a.emit("pointerdown",t,a.input.localX,a.input.localY,s),n.cancelled){r=!0;break}if(this.emit("gameobjectdown",t,a,s),n.cancelled){r=!0;break}}}return r||this.emit("pointerdown",t,i),e},processDragEvents:function(t,e){if(0===this._draggable.length)return 0;var i,n,s,r,o=this._temp;if(0===t.dragState&&t.primaryDown&&t.justDown&&o.length>0?t.dragState=1:t.dragState>0&&!t.primaryDown&&t.justUp&&(t.dragState=5),1===t.dragState){var a=[];for(i=0;i<o.length;i++)(n=o[i]).input.draggable&&0===n.input.dragState&&a.push(n);if(0===a.length)return t.dragState=0,0;a.length>1&&(this.sortGameObjects(a),this.topOnly&&a.splice(1)),this._drag[t.id]=a,0===this.dragDistanceThreshold&&0===this.dragTimeThreshold?t.dragState=3:t.dragState=2}if(2===t.dragState&&(this.dragDistanceThreshold>0&&h(t.x,t.y,t.downX,t.downY)>=this.dragDistanceThreshold&&(t.dragState=3),this.dragTimeThreshold>0&&e>=t.downTime+this.dragTimeThreshold&&(t.dragState=3)),3===t.dragState){for(s=this._drag[t.id],i=0;i<s.length;i++)(r=(n=s[i]).input).dragState=2,r.dragX=t.x-n.x,r.dragY=t.y-n.y,r.dragStartX=n.x,r.dragStartY=n.y,n.emit("dragstart",t,r.dragX,r.dragY),this.emit("dragstart",t,n);return t.dragState=4,s.length}if(4===t.dragState&&t.justMoved&&!t.justUp){var l=this._tempZones;for(s=this._drag[t.id],i=0;i<s.length;i++){if((r=(n=s[i]).input).target){var u=l.indexOf(r.target);0===u?(n.emit("dragover",t,r.target),this.emit("dragover",t,n,r.target)):u>0?(n.emit("dragleave",t,r.target),this.emit("dragleave",t,n,r.target),r.target=l[0],n.emit("dragenter",t,r.target),this.emit("dragenter",t,n,r.target)):(n.emit("dragleave",t,r.target),this.emit("dragleave",t,n,r.target),l[0]?(r.target=l[0],n.emit("dragenter",t,r.target),this.emit("dragenter",t,n,r.target)):r.target=null)}else!r.target&&l[0]&&(r.target=l[0],n.emit("dragenter",t,r.target),this.emit("dragenter",t,n,r.target));var c=t.x-n.input.dragX,d=t.y-n.input.dragY;n.emit("drag",t,c,d),this.emit("drag",t,n,c,d)}return s.length}if(5===t.dragState){for(s=this._drag[t.id],i=0;i<s.length;i++)if(2===(r=(n=s[i]).input).dragState){r.dragState=0,r.dragX=r.localX-n.displayOriginX,r.dragY=r.localY-n.displayOriginY;var f=!1;r.target&&(n.emit("drop",t,r.target),this.emit("drop",t,n,r.target),r.target=null,f=!0),n.emit("dragend",t,r.dragX,r.dragY,f),this.emit("dragend",t,n,f)}t.dragState=0,s.splice(0)}return 0},processMoveEvents:function(t){var e=0,i=this._temp,n=this._eventData,s=this._eventContainer;n.cancelled=!1;for(var r=!1,o=0;o<i.length;o++){var a=i[o];if(a.input){if(e++,a.emit("pointermove",t,a.input.localX,a.input.localY,s),n.cancelled){r=!0;break}if(this.emit("gameobjectmove",t,a,s),n.cancelled){r=!0;break}if(this.topOnly)break}}return r||this.emit("pointermove",t,i),e},processOverOutEvents:function(t){var e,i,n=this._temp,s=[],r=[],o=[],a=this._over[t.id],h=this._drag[t.id],l=this.manager;for(e=0;e<a.length;e++)i=a[e],-1===n.indexOf(i)&&-1===h.indexOf(i)?s.push(i):o.push(i);for(e=0;e<n.length;e++)i=n[e],-1===a.indexOf(i)&&r.push(i);var u=s.length,c=0,d=this._eventData,f=this._eventContainer;d.cancelled=!1;var p=!1;if(u>0){for(this.sortGameObjects(s),e=0;e<u;e++)if((i=s[e]).input){if(i.emit("pointerout",t,f),l.resetCursor(i.input),c++,d.cancelled){p=!0;break}if(this.emit("gameobjectout",t,i,f),d.cancelled){p=!0;break}}p||this.emit("pointerout",t,s)}if(u=r.length,d.cancelled=!1,p=!1,u>0){for(this.sortGameObjects(r),e=0;e<u;e++)if((i=r[e]).input){if(i.emit("pointerover",t,i.input.localX,i.input.localY,f),l.setCursor(i.input),c++,d.cancelled){p=!0;break}if(this.emit("gameobjectover",t,i,f),d.cancelled){p=!0;break}}p||this.emit("pointerover",t,r)}return a=o.concat(r),this._over[t.id]=this.sortGameObjects(a),c},processUpEvents:function(t){var e=this._temp,i=this._eventData,n=this._eventContainer;i.cancelled=!1;for(var s=!1,r=0;r<e.length;r++){var o=e[r];if(o.input){if(o.emit("pointerup",t,o.input.localX,o.input.localY,n),i.cancelled){s=!0;break}if(this.emit("gameobjectup",t,o,n),i.cancelled){s=!0;break}}}return s||this.emit("pointerup",t,e),e.length},queueForInsertion:function(t){return-1===this._pendingInsertion.indexOf(t)&&-1===this._list.indexOf(t)&&this._pendingInsertion.push(t),this},queueForRemoval:function(t){return this._pendingRemoval.push(t),this},setDraggable:function(t,e){void 0===e&&(e=!0),Array.isArray(t)||(t=[t]);for(var i=0;i<t.length;i++){var n=t[i];n.input.draggable=e;var s=this._draggable.indexOf(n);e&&-1===s?this._draggable.push(n):!e&&s>-1&&this._draggable.splice(s,1)}return this},makePixelPerfect:function(t){void 0===t&&(t=1);var e=this.systems.textures;return a(e,t)},setHitArea:function(t,e,i){if(void 0===e)return this.setHitAreaFromTexture(t);Array.isArray(t)||(t=[t]);var n=!1,s=!1,r=!1,a=!1;if(p(e)){var h=e;e=d(h,"hitArea",null),i=d(h,"hitAreaCallback",null),n=d(h,"draggable",!1),s=d(h,"dropZone",!1),r=d(h,"cursor",!1),a=d(h,"useHandCursor",!1);var l=d(h,"pixelPerfect",!1),u=d(h,"alphaTolerance",1);l&&(e={},i=this.makePixelPerfect(u)),e&&i||this.setHitAreaFromTexture(t)}else"function"!=typeof e||i||(i=e,e={});for(var c=0;c<t.length;c++){var f=t[c],g=f.input?f.input:o(f,e,i);g.dropZone=s,g.cursor=a?"pointer":r,f.input=g,n&&this.setDraggable(f),this.queueForInsertion(f)}return this},setHitAreaCircle:function(t,e,i,r,o){void 0===o&&(o=s);var a=new n(e,i,r);return this.setHitArea(t,a,o)},setHitAreaEllipse:function(t,e,i,n,s,r){void 0===r&&(r=u);var o=new l(e,i,n,s);return this.setHitArea(t,o,r)},setHitAreaFromTexture:function(t,e){void 0===e&&(e=y),Array.isArray(t)||(t=[t]);for(var i=0;i<t.length;i++){var n=t[i],s=n.frame,r=0,a=0;s?(r=s.realWidth,a=s.realHeight):n.width&&(r=n.width,a=n.height),"Container"!==n.type||0!==r&&0!==a?0!==r&&0!==a&&(n.input=o(n,new v(0,0,r,a),e),this.queueForInsertion(n)):console.warn("Container.setInteractive() must specify a Shape or call setSize() first")}return this},setHitAreaRectangle:function(t,e,i,n,s,r){void 0===r&&(r=y);var o=new v(e,i,n,s);return this.setHitArea(t,o,r)},setHitAreaTriangle:function(t,e,i,n,s,r,o,a){void 0===a&&(a=x);var h=new m(e,i,n,s,r,o);return this.setHitArea(t,h,a)},setPollAlways:function(){return this.pollRate=0,this._pollTimer=0,this},setPollOnMove:function(){return this.pollRate=-1,this._pollTimer=0,this},setPollRate:function(t){return this.pollRate=t,this._pollTimer=0,this},setGlobalTopOnly:function(t){return this.manager.globalTopOnly=t,this},setTopOnly:function(t){return this.topOnly=t,this},sortGameObjects:function(t){return t.length<2?t:(this.scene.sys.depthSort(),t.sort(this.sortHandlerGO.bind(this)))},sortHandlerGO:function(t,e){if(!t.parentContainer&&!e.parentContainer)return this.displayList.getIndex(e)-this.displayList.getIndex(t);if(t.parentContainer===e.parentContainer)return e.parentContainer.getIndex(e)-t.parentContainer.getIndex(t);if(t.parentContainer===e)return-1;if(e.parentContainer===t)return 1;for(var i=t.getIndexList(),n=e.getIndexList(),s=Math.min(i.length,n.length),r=0;r<s;r++){var o=i[r],a=n[r];if(o!==a)return a-o}return 0},stopPropagation:function(){return this.manager.globalTopOnly&&(this.manager.ignoreEvents=!0),this},addUpCallback:function(t,e){return this.manager.addUpCallback(t,e),this},addDownCallback:function(t,e){return this.manager.addDownCallback(t,e),this},addMoveCallback:function(t,e){return this.manager.addMoveCallback(t,e),this},addPointer:function(t){return this.manager.addPointer(t)},setDefaultCursor:function(t){return this.manager.setDefaultCursor(t),this},transitionIn:function(){this.enabled=this.settings.transitionAllowInput},transitionComplete:function(){this.settings.transitionAllowInput||(this.enabled=!0)},transitionOut:function(){this.enabled=this.settings.transitionAllowInput},shutdown:function(){this.pluginEvents.emit("shutdown"),this._temp.length=0,this._list.length=0,this._draggable.length=0,this._pendingRemoval.length=0,this._pendingInsertion.length=0;for(var t=0;t<10;t++)this._drag[t]=[],this._over[t]=[];this.removeAllListeners();var e=this.systems.events;e.off("transitionstart",this.transitionIn,this),e.off("transitionout",this.transitionOut,this),e.off("transitioncomplete",this.transitionComplete,this),e.off("preupdate",this.preUpdate,this),e.off("update",this.update,this),e.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.pluginEvents.emit("destroy"),this.pluginEvents.removeAllListeners(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.cameras=null,this.manager=null,this.events=null,this.mouse=null},x:{get:function(){return this.manager.activePointer.x}},y:{get:function(){return this.manager.activePointer.y}},mousePointer:{get:function(){return this.manager.mousePointer}},activePointer:{get:function(){return this.manager.activePointer}},pointer1:{get:function(){return this.manager.pointers[1]}},pointer2:{get:function(){return this.manager.pointers[2]}},pointer3:{get:function(){return this.manager.pointers[3]}},pointer4:{get:function(){return this.manager.pointers[4]}},pointer5:{get:function(){return this.manager.pointers[5]}},pointer6:{get:function(){return this.manager.pointers[6]}},pointer7:{get:function(){return this.manager.pointers[7]}},pointer8:{get:function(){return this.manager.pointers[8]}},pointer9:{get:function(){return this.manager.pointers[9]}},pointer10:{get:function(){return this.manager.pointers[10]}}});g.register("InputPlugin",w,"input"),t.exports=w},function(t,e){t.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,MENU:16,A:0,B:1,X:2,Y:3,LB:4,RB:5,LT:6,RT:7,BACK:8,START:9,LS:10,RS:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},function(t,e){t.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SELECT:8,START:9,B:0,A:1,Y:2,X:3,LEFT_SHOULDER:4,RIGHT_SHOULDER:5}},function(t,e){t.exports={UP:12,DOWN:13,LEFT:14,RIGHT:15,SHARE:8,OPTIONS:9,PS:16,TOUCHBAR:17,X:0,CIRCLE:1,SQUARE:2,TRIANGLE:3,L1:4,R1:5,L2:6,R2:7,L3:10,R3:11,LEFT_STICK_H:0,LEFT_STICK_V:1,RIGHT_STICK_H:2,RIGHT_STICK_V:3}},function(t,e,i){t.exports={DUALSHOCK_4:i(612),SNES_USB:i(611),XBOX_360:i(610)}},function(t,e,i){var n=i(0),s=i(11),r=i(257),o=i(4),a=i(106),h=new n({Extends:s,initialize:function(t){s.call(this),this.scene=t.scene,this.settings=this.scene.sys.settings,this.sceneInputPlugin=t,this.enabled=!0,this.target,this.gamepads=[],this.queue=[],this.onGamepadHandler,this._pad1,this._pad2,this._pad3,this._pad4,t.pluginEvents.once("boot",this.boot,this),t.pluginEvents.on("start",this.start,this)},boot:function(){var t=this.scene.sys.game,e=this.settings.input,i=t.config;this.enabled=o(e,"gamepad",i.inputGamepad)&&t.device.input.gamepads,this.target=o(e,"gamepad.target",i.inputGamepadEventTarget),this.sceneInputPlugin.pluginEvents.once("destroy",this.destroy,this)},start:function(){this.enabled&&this.startListeners(),this.sceneInputPlugin.pluginEvents.once("shutdown",this.shutdown,this)},isActive:function(){return this.enabled&&this.scene.sys.isActive()},startListeners:function(){var t=this,e=this.target,i=function(e){!e.defaultPrevented&&t.isActive()&&(t.refreshPads(),t.queue.push(e))};this.onGamepadHandler=i,e.addEventListener("gamepadconnected",i,!1),e.addEventListener("gamepaddisconnected",i,!1),this.sceneInputPlugin.pluginEvents.on("update",this.update,this)},stopListeners:function(){this.target.removeEventListener("gamepadconnected",this.onGamepadHandler),this.target.removeEventListener("gamepaddisconnected",this.onGamepadHandler),this.sceneInputPlugin.pluginEvents.off("update",this.update)},disconnectAll:function(){for(var t=0;t<this.gamepads.length;t++)this.gamepads.connected=!1},refreshPads:function(){var t=navigator.getGamepads();if(t)for(var e=this.gamepads,i=0;i<t.length;i++){var n=t[i];if(n){var s=n.id,o=n.index,a=e[o];if(a)a.id!==s?(a.destroy(),e[o]=new r(this,n)):a.update(n);else{var h=new r(this,n);e[o]=h,this._pad1?this._pad2?this._pad3?this._pad4||(this._pad4=h):this._pad3=h:this._pad2=h:this._pad1=h}}}else this.disconnectAll()},getAll:function(){for(var t=[],e=this.gamepads,i=0;i<e.length;i++)e[i]&&t.push(e[i]);return t},getPad:function(t){for(var e=this.gamepads,i=0;i<e.length;i++)if(e[i]&&e[i].index===t)return e[i]},update:function(){if(this.enabled){this.refreshPads();var t=this.queue.length;if(0!==t)for(var e=this.queue.splice(0,t),i=0;i<t;i++){var n=e[i],s=this.getPad(n.gamepad.index);"gamepadconnected"===n.type?this.emit("connected",s,n):"gamepaddisconnected"===n.type&&this.emit("disconnected",s,n)}}},shutdown:function(){this.stopListeners(),this.disconnectAll(),this.removeAllListeners()},destroy:function(){this.shutdown();for(var t=0;t<this.gamepads.length;t++)this.gamepads[t]&&this.gamepads[t].destroy();this.gamepads=[],this.scene=null,this.settings=null,this.sceneInputPlugin=null,this.target=null},total:{get:function(){return this.gamepads.length}},pad1:{get:function(){return this._pad1}},pad2:{get:function(){return this._pad2}},pad3:{get:function(){return this._pad3}},pad4:{get:function(){return this._pad4}}});a.register("GamepadPlugin",h,"gamepad","gamepad","inputGamepad"),t.exports=h},function(t,e,i){t.exports={Axis:i(259),Button:i(258),Gamepad:i(257),GamepadPlugin:i(614),Configs:i(613)}},function(t,e,i){var n=i(337),s=i(20),r={CreateInteractiveObject:i(260),Gamepad:i(615),InputManager:i(338),InputPlugin:i(609),InputPluginCache:i(106),Keyboard:i(607),Mouse:i(595),Pointer:i(335),Touch:i(594)};r=s(!1,r,n),t.exports=r},function(t,e,i){var n=i(144);t.exports=function(t,e,i){return n(t,e.x,e.y,i)}},function(t,e,i){var n=i(144),s=i(261);t.exports=function(t,e){var i=s(t);return n(t,i.x,i.y,e)}},function(t,e,i){var n=i(65);t.exports=function(t){var e=t.getLineA(),i=t.getLineB(),s=t.getLineC();return n(e)+n(i)+n(s)}},function(t,e){t.exports=function(t,e){return t.x1===e.x1&&t.y1===e.y1&&t.x2===e.x2&&t.y2===e.y2&&t.x3===e.x3&&t.y3===e.y3}},function(t,e){t.exports=function(t,e){return e.setTo(t.x1,t.y1,t.x2,t.y2,t.x3,t.y3)}},function(t,e,i){var n=i(69);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(59);t.exports=function(t){return new n(t.x1,t.y1,t.x2,t.y2,t.x3,t.y3)}},function(t,e,i){var n=i(71);t.exports=function(t,e){void 0===e&&(e=new n);var i,s,r=t.x1,o=t.y1,a=t.x2,h=t.y2,l=t.x3,u=t.y3,c=a-r,d=h-o,f=l-r,p=u-o,g=c*(r+a)+d*(o+h),v=f*(r+l)+p*(o+u),y=2*(c*(u-h)-d*(l-a));if(Math.abs(y)<1e-6){var m=Math.min(r,a,l),x=Math.min(o,h,u);i=.5*(Math.max(r,a,l)-m),s=.5*(Math.max(o,h,u)-x),e.x=m+i,e.y=x+s,e.radius=Math.sqrt(i*i+s*s)}else e.x=(p*g-d*v)/y,e.y=(c*v-f*g)/y,i=e.x-r,s=e.y-o,e.radius=Math.sqrt(i*i+s*s);return e}},function(t,e,i){var n=i(3);function s(t,e,i,n){return t*n-e*i}t.exports=function(t,e){void 0===e&&(e=new n);var i=t.x3,r=t.y3,o=t.x1-i,a=t.y1-r,h=t.x2-i,l=t.y2-r,u=2*s(o,a,h,l),c=s(a,o*o+a*a,l,h*h+l*l),d=s(o,o*o+a*a,h,h*h+l*l);return e.x=i-c/u,e.y=r+d/u,e}},function(t,e,i){var n=i(263),s=i(262);t.exports=function(t,e,i,r){void 0===r&&(r=n);var o=r(t),a=e-o.x,h=i-o.y;return s(t,a,h)}},function(t,e,i){var n=i(59);t.exports=function(t,e,i,s){return void 0===s&&(s=i),new n(t,e,t,e-s,t+i,e)}},function(t,e,i){var n=i(64),s=i(59);t.exports=function(t,e,i,r,o){void 0===e&&(e=null),void 0===i&&(i=1),void 0===r&&(r=1),void 0===o&&(o=[]);for(var a,h,l,u,c,d,f,p,g,v=n(t,e),y=0;y<v.length;y+=3)a=v[y],h=v[y+1],l=v[y+2],u=t[2*a]*i,c=t[2*a+1]*r,d=t[2*h]*i,f=t[2*h+1]*r,p=t[2*l]*i,g=t[2*l+1]*r,o.push(new s(u,c,d,f,p,g));return o}},function(t,e,i){var n=i(59);t.exports=function(t,e,i){var s=i*(Math.sqrt(3)/2);return new n(t,e,t+i/2,e+s,t-i/2,e+s)}},function(t,e){t.exports=function(t){var e=t.x1,i=t.y1,n=t.x2,s=t.y2,r=t.x3,o=t.y3;return Math.abs(((r-e)*(s-i)-(n-e)*(o-i))/2)}},function(t,e,i){var n=i(59);n.Area=i(630),n.BuildEquilateral=i(629),n.BuildFromPolygon=i(628),n.BuildRight=i(627),n.CenterOn=i(626),n.Centroid=i(263),n.CircumCenter=i(625),n.CircumCircle=i(624),n.Clone=i(623),n.Contains=i(69),n.ContainsArray=i(147),n.ContainsPoint=i(622),n.CopyFrom=i(621),n.Decompose=i(269),n.Equals=i(620),n.GetPoint=i(278),n.GetPoints=i(277),n.InCenter=i(261),n.Perimeter=i(619),n.Offset=i(262),n.Random=i(184),n.Rotate=i(618),n.RotateAroundPoint=i(617),n.RotateAroundXY=i(144),t.exports=n},function(t,e){t.exports=function(t,e,i){return void 0===i&&(i=e),t.width*=e,t.height*=i,t}},function(t,e){t.exports=function(t,e){return t.width===e.width&&t.height===e.height}},function(t,e,i){var n=i(170),s=i(264),r=i(6);t.exports=function(t,e,i){if(void 0===i&&(i=new r),s(t,e))switch(n(0,3)){case 0:i.x=t.x+Math.random()*(e.right-t.x),i.y=t.y+Math.random()*(e.top-t.y);break;case 1:i.x=e.x+Math.random()*(t.right-e.x),i.y=e.bottom+Math.random()*(t.bottom-e.bottom);break;case 2:i.x=t.x+Math.random()*(e.x-t.x),i.y=e.y+Math.random()*(t.bottom-e.y);break;case 3:i.x=e.right+Math.random()*(t.right-e.right),i.y=t.y+Math.random()*(e.bottom-t.y)}return i}},function(t,e,i){var n=i(6),s=i(31);t.exports=function(t,e,i){void 0===i&&(i=new n),e=s(e);var r=Math.sin(e),o=Math.cos(e),a=o>0?t.width/2:t.width/-2,h=r>0?t.height/2:t.height/-2;return Math.abs(a*r)<Math.abs(h*o)?h=a*r/o:a=h*o/r,i.x=a+t.centerX,i.y=h+t.centerY,i}},function(t,e){t.exports=function(t,e){return t.x<e.right&&t.right>e.x&&t.y<e.bottom&&t.bottom>e.y}},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e){t.exports=function(t,e,i){var n=Math.min(t.x,e),s=Math.max(t.right,e);t.x=n,t.width=s-n;var r=Math.min(t.y,i),o=Math.max(t.bottom,i);return t.y=r,t.height=o-r,t}},function(t,e){t.exports=function(t,e){var i=Math.min(t.x,e.x),n=Math.max(t.right,e.right);t.x=i,t.width=n-i;var s=Math.min(t.y,e.y),r=Math.max(t.bottom,e.bottom);return t.y=s,t.height=r-s,t}},function(t,e){t.exports=function(t,e){for(var i=t.x,n=t.right,s=t.y,r=t.bottom,o=0;o<e.length;o++)i=Math.min(i,e[o].x),n=Math.max(n,e[o].x),s=Math.min(s,e[o].y),r=Math.max(r,e[o].y);return t.x=i,t.y=s,t.width=n-i,t.height=r-s,t}},function(t,e,i){var n=i(9),s=i(148);t.exports=function(t,e,i){return void 0===i&&(i=new n),s(t,e)?(i.x=Math.max(t.x,e.x),i.y=Math.max(t.y,e.y),i.width=Math.min(t.right,e.right)-i.x,i.height=Math.min(t.bottom,e.bottom)-i.y):i.setEmpty(),i}},function(t,e,i){var n=i(175);t.exports=function(t,e,i){var s=t.centerX,r=t.centerY;return t.setSize(t.width+2*e,t.height+2*i),n(t,s,r)}},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.width,e.y=t.height,e}},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.centerX,e.y=t.centerY,e}},function(t,e){t.exports=function(t){return t.x=Math.floor(t.x),t.y=Math.floor(t.y),t.width=Math.floor(t.width),t.height=Math.floor(t.height),t}},function(t,e){t.exports=function(t){return t.x=Math.floor(t.x),t.y=Math.floor(t.y),t}},function(t,e,i){var n=i(145);t.exports=function(t,e){var i=n(t);return i>n(e)?t.setSize(e.height*i,e.height):t.setSize(e.width,e.width/i),t.setPosition(e.centerX-t.width/2,e.centerY-t.height/2)}},function(t,e,i){var n=i(145);t.exports=function(t,e){var i=n(t);return i<n(e)?t.setSize(e.height*i,e.height):t.setSize(e.width,e.width/i),t.setPosition(e.centerX-t.width/2,e.centerY-t.height/2)}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y,t.width,t.height)}},function(t,e,i){var n=i(39);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(9);t.exports=function(t){return new n(t.x,t.y,t.width,t.height)}},function(t,e){t.exports=function(t){return t.x=Math.ceil(t.x),t.y=Math.ceil(t.y),t.width=Math.ceil(t.width),t.height=Math.ceil(t.height),t}},function(t,e){t.exports=function(t){return t.x=Math.ceil(t.x),t.y=Math.ceil(t.y),t}},function(t,e){t.exports=function(t){return t.width*t.height}},function(t,e){t.exports=function(t){return t.points.reverse(),t}},function(t,e){t.exports=function(t,e){void 0===e&&(e=[]);for(var i=0;i<t.points.length;i++)e.push(t.points[i].x),e.push(t.points[i].y);return e}},function(t,e,i){var n=i(150);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(151);t.exports=function(t){return new n(t.points)}},function(t,e,i){var n=i(151);n.Clone=i(660),n.Contains=i(150),n.ContainsPoint=i(659),n.GetAABB=i(285),n.GetNumberArray=i(658),n.GetPoints=i(284),n.Perimeter=i(283),n.Reverse=i(657),n.Smooth=i(282),t.exports=n},function(t,e,i){var n=i(267);t.exports=function(t,e){if(0!==t.x||0!==t.y){var i=n(t);t.x/=i,t.y/=i}return t.x*=e,t.y*=e,t}},function(t,e,i){var n=i(6);t.exports=function(t,e,i){void 0===i&&(i=new n);var s=t.x*e.x+t.y*e.y;return 0!==s&&(i.x=s*e.x,i.y=s*e.y),i}},function(t,e,i){var n=i(6),s=i(266);t.exports=function(t,e,i){void 0===i&&(i=new n);var r=(t.x*e.x+t.y*e.y)/s(e);return 0!==r&&(i.x=r*e.x,i.y=r*e.y),i}},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.setTo(-t.x,-t.y)}},function(t,e){t.exports=function(t){return t.setTo(t.y,t.x)}},function(t,e,i){var n=i(6);t.exports=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=new n),s.x=t.x+(e.x-t.x)*i,s.y=t.y+(e.y-t.y)*i,s}},function(t,e,i){var n=i(9);t.exports=function(t,e){void 0===e&&(e=new n);for(var i=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,a=0;a<t.length;a++){var h=t[a];h.x>i&&(i=h.x),h.x<s&&(s=h.x),h.y>r&&(r=h.y),h.y<o&&(o=h.y)}return e.x=s,e.y=o,e.width=i-s,e.height=r-o,e}},function(t,e,i){var n=i(6);t.exports=function(t,e){if(void 0===e&&(e=new n),!Array.isArray(t))throw new Error("GetCentroid points argument must be an array");var i=t.length;if(i<1)throw new Error("GetCentroid points array must not be empty");if(1===i)e.x=t[0].x,e.y=t[0].y;else{for(var s=0;s<i;s++)e.x+=t[s].x,e.y+=t[s].y;e.x/=i,e.y/=i}return e}},function(t,e){t.exports=function(t){return t.setTo(Math.floor(t.x),Math.floor(t.y))}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y)}},function(t,e,i){var n=i(6);t.exports=function(t){return new n(t.x,t.y)}},function(t,e){t.exports=function(t){return t.setTo(Math.ceil(t.x),Math.ceil(t.y))}},function(t,e,i){var n=i(6);n.Ceil=i(674),n.Clone=i(673),n.CopyFrom=i(672),n.Equals=i(671),n.Floor=i(670),n.GetCentroid=i(669),n.GetMagnitude=i(267),n.GetMagnitudeSq=i(266),n.GetRectangleFromPoints=i(668),n.Interpolate=i(667),n.Invert=i(666),n.Negative=i(665),n.Project=i(664),n.ProjectUnit=i(663),n.SetMagnitude=i(662),t.exports=n},function(t,e){t.exports=function(t){return Math.abs(t.x1-t.x2)}},function(t,e){t.exports=function(t){return(t.y2-t.y1)/(t.x2-t.x1)}},function(t,e){t.exports=function(t,e,i,n,s){return t.x1=e,t.y1=i,t.x2=e+Math.cos(n)*s,t.y2=i+Math.sin(n)*s,t}},function(t,e,i){var n=i(146);t.exports=function(t,e,i){return n(t,e.x,e.y,i)}},function(t,e,i){var n=i(146);t.exports=function(t,e){var i=(t.x1+t.x2)/2,s=(t.y1+t.y2)/2;return n(t,i,s,e)}},function(t,e,i){var n=i(68),s=i(268);t.exports=function(t,e){return 2*s(e)-Math.PI-n(t)}},function(t,e){t.exports=function(t){return-(t.x2-t.x1)/(t.y2-t.y1)}},function(t,e){t.exports=function(t,e,i){return t.x1+=e,t.y1+=i,t.x2+=e,t.y2+=i,t}},function(t,e,i){var n=i(16),s=i(68);t.exports=function(t){return Math.sin(s(t)-n.TAU)}},function(t,e,i){var n=i(16),s=i(68);t.exports=function(t){return Math.cos(s(t)-n.TAU)}},function(t,e){t.exports=function(t){return Math.abs(t.y1-t.y2)}},function(t,e,i){var n=i(16),s=i(68),r=i(6);t.exports=function(t,e){void 0===e&&(e=new r);var i=s(t)-n.TAU;return e.x=Math.cos(i),e.y=Math.sin(i),e}},function(t,e,i){var n=i(6);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=(t.x1+t.x2)/2,e.y=(t.y1+t.y2)/2,e}},function(t,e){t.exports=function(t,e){return t.x1===e.x1&&t.y1===e.y1&&t.x2===e.x2&&t.y2===e.y2}},function(t,e){t.exports=function(t,e){return e.setTo(t.x1,t.y1,t.x2,t.y2)}},function(t,e,i){var n=i(54);t.exports=function(t){return new n(t.x1,t.y1,t.x2,t.y2)}},function(t,e){t.exports=function(t,e,i){var n=e-(t.x1+t.x2)/2,s=i-(t.y1+t.y2)/2;return t.x1+=n,t.y1+=s,t.x2+=n,t.y2+=s,t}},function(t,e,i){var n=i(54);n.Angle=i(68),n.BresenhamPoints=i(385),n.CenterOn=i(692),n.Clone=i(691),n.CopyFrom=i(690),n.Equals=i(689),n.GetMidPoint=i(688),n.GetNormal=i(687),n.GetPoint=i(397),n.GetPoints=i(189),n.Height=i(686),n.Length=i(65),n.NormalAngle=i(268),n.NormalX=i(685),n.NormalY=i(684),n.Offset=i(683),n.PerpSlope=i(682),n.Random=i(188),n.ReflectAngle=i(681),n.Rotate=i(680),n.RotateAroundPoint=i(679),n.RotateAroundXY=i(146),n.SetToAngle=i(678),n.Slope=i(677),n.Width=i(676),t.exports=n},function(t,e,i){var n=i(147),s=i(269),r=i(107);t.exports=function(t,e){if(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top)return!1;var i=t.getLineA(),o=t.getLineB(),a=t.getLineC(),h=e.getLineA(),l=e.getLineB(),u=e.getLineC();if(r(i,h)||r(i,l)||r(i,u))return!0;if(r(o,h)||r(o,l)||r(o,u))return!0;if(r(a,h)||r(a,l)||r(a,u))return!0;var c=s(t),d=n(e,c,!0);return d.length>0||(c=s(e),(d=n(t,c,!0)).length>0)}},function(t,e,i){var n=i(69),s=i(107);t.exports=function(t,e){return!!(n(t,e.getPointA())||n(t,e.getPointB())||s(t.getLineA(),e)||s(t.getLineB(),e)||s(t.getLineC(),e))}},function(t,e,i){var n=i(272),s=i(69);t.exports=function(t,e){return!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top||!s(t,e.x,e.y)&&!n(t.getLineA(),e)&&!n(t.getLineB(),e)&&!n(t.getLineC(),e))}},function(t,e){t.exports=function(t,e,i,n,s,r){return void 0===r&&(r=0),!(e>t.right+r||i<t.left-r||n>t.bottom+r||s<t.top-r)}},function(t,e,i){var n=i(107),s=i(39),r=i(147),o=i(270);t.exports=function(t,e){if(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)return!1;var i=e.getLineA(),a=e.getLineB(),h=e.getLineC();if(s(t,i.x1,i.y1)||s(t,i.x2,i.y2))return!0;if(s(t,a.x1,a.y1)||s(t,a.x2,a.y2))return!0;if(s(t,h.x1,h.y1)||s(t,h.x2,h.y2))return!0;var l=t.getLineA(),u=t.getLineB(),c=t.getLineC(),d=t.getLineD();if(n(i,l)||n(i,u)||n(i,c)||n(i,d))return!0;if(n(a,l)||n(a,u)||n(a,c)||n(a,d))return!0;if(n(h,l)||n(h,u)||n(h,c)||n(h,d))return!0;var f=o(t);return r(e,f,!0).length>0}},function(t,e,i){var n=i(271);t.exports=function(t,e){if(!n(t,e))return!1;var i=Math.min(e.x1,e.x2),s=Math.max(e.x1,e.x2),r=Math.min(e.y1,e.y2),o=Math.max(e.y1,e.y2);return t.x>=i&&t.x<=s&&t.y>=r&&t.y<=o}},function(t,e){t.exports=function(t,e){var i=t.x1,n=t.y1,s=t.x2,r=t.y2,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&n>=a&&n<=l||s>=o&&s<=h&&r>=a&&r<=l)return!0;if(i<o&&s>=o){if((u=n+(r-n)*(o-i)/(s-i))>a&&u<=l)return!0}else if(i>h&&s<=h&&(u=n+(r-n)*(h-i)/(s-i))>=a&&u<=l)return!0;if(n<a&&r>=a){if((u=i+(s-i)*(a-n)/(r-n))>=o&&u<=h)return!0}else if(n>l&&r<=l&&(u=i+(s-i)*(l-n)/(r-n))>=o&&u<=h)return!0;return!1}},function(t,e,i){var n=i(9),s=i(148);t.exports=function(t,e,i){return void 0===i&&(i=new n),s(t,e)&&(i.x=Math.max(t.x,e.x),i.y=Math.max(t.y,e.y),i.width=Math.min(t.right,e.right)-i.x,i.height=Math.min(t.bottom,e.bottom)-i.y),i}},function(t,e){t.exports=function(t,e){var i=e.width/2,n=e.height/2,s=Math.abs(t.x-e.x-i),r=Math.abs(t.y-e.y-n),o=i+t.radius,a=n+t.radius;if(s>o||r>a)return!1;if(s<=i||r<=n)return!0;var h=s-i,l=r-n;return h*h+l*l<=t.radius*t.radius}},function(t,e,i){var n=i(52);t.exports=function(t,e){return n(t.x,t.y,e.x,e.y)<=t.radius+e.radius}},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e,i){var n=i(9);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.left,e.y=t.top,e.width=t.width,e.height=t.height,e}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y,t.width,t.height)}},function(t,e,i){var n=i(89);t.exports=function(t,e){return n(t,e.x,e.y)&&n(t,e.right,e.y)&&n(t,e.x,e.bottom)&&n(t,e.right,e.bottom)}},function(t,e,i){var n=i(89);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(90);t.exports=function(t){return new n(t.x,t.y,t.width,t.height)}},function(t,e){t.exports=function(t){return t.isEmpty()?0:t.getMajorRadius()*t.getMinorRadius()*Math.PI}},function(t,e,i){var n=i(90);n.Area=i(712),n.Circumference=i(306),n.CircumferencePoint=i(156),n.Clone=i(711),n.Contains=i(89),n.ContainsPoint=i(710),n.ContainsRect=i(709),n.CopyFrom=i(708),n.Equals=i(707),n.GetBounds=i(706),n.GetPoint=i(308),n.GetPoints=i(307),n.Offset=i(705),n.OffsetPoint=i(704),n.Random=i(185),t.exports=n},function(t,e){t.exports=function(t,e){return t.x+=e.x,t.y+=e.y,t}},function(t,e){t.exports=function(t,e,i){return t.x+=e,t.y+=i,t}},function(t,e,i){var n=i(9);t.exports=function(t,e){return void 0===e&&(e=new n),e.x=t.left,e.y=t.top,e.width=t.diameter,e.height=t.diameter,e}},function(t,e){t.exports=function(t,e){return t.x===e.x&&t.y===e.y&&t.radius===e.radius}},function(t,e){t.exports=function(t,e){return e.setTo(t.x,t.y,t.radius)}},function(t,e,i){var n=i(40);t.exports=function(t,e){return n(t,e.x,e.y)&&n(t,e.right,e.y)&&n(t,e.x,e.bottom)&&n(t,e.right,e.bottom)}},function(t,e,i){var n=i(40);t.exports=function(t,e){return n(t,e.x,e.y)}},function(t,e,i){var n=i(71);t.exports=function(t){return new n(t.x,t.y,t.radius)}},function(t,e){t.exports=function(t){return t.radius>0?Math.PI*t.radius*t.radius:0}},function(t,e,i){var n=i(71);n.Area=i(722),n.Circumference=i(402),n.CircumferencePoint=i(192),n.Clone=i(721),n.Contains=i(40),n.ContainsPoint=i(720),n.ContainsRect=i(719),n.CopyFrom=i(718),n.Equals=i(717),n.GetBounds=i(716),n.GetPoint=i(405),n.GetPoints=i(403),n.Offset=i(715),n.OffsetPoint=i(714),n.Random=i(191),t.exports=n},function(t,e,i){var n=i(0),s=i(275),r=i(15),o=new n({Extends:s,initialize:function(t){this.scene=t,this.systems=t.sys,t.sys.settings.isBooted||t.sys.events.once("boot",this.boot,this),s.call(this)},boot:function(){var t=this.systems.events;t.on("shutdown",this.shutdown,this),t.on("destroy",this.destroy,this)},destroy:function(){this.shutdown(),this.scene=void 0,this.systems=void 0}});r.register("LightsPlugin",o,"lights"),t.exports=o},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(149);s.register("quad",function(t,e){void 0===t&&(t={});var i=r(t,"x",0),s=r(t,"y",0),a=r(t,"key",null),h=r(t,"frame",null),l=new o(this.scene,i,s,a,h);return void 0!==e&&(t.add=e),n(this.scene,l,t),l})},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(4),a=i(108);s.register("mesh",function(t,e){void 0===t&&(t={});var i=r(t,"key",null),s=r(t,"frame",null),h=o(t,"vertices",[]),l=o(t,"colors",[]),u=o(t,"alphas",[]),c=o(t,"uv",[]),d=new a(this.scene,0,0,h,c,l,u,i,s);return void 0!==e&&(t.add=e),n(this.scene,d,t),d})},function(t,e,i){var n=i(149);i(5).register("quad",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(108);i(5).register("mesh",function(t,e,i,s,r,o,a,h){return this.displayList.add(new n(this.scene,t,e,i,s,r,o,a,h))})},function(t,e){t.exports=function(){}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=this.pipeline;t.setPipeline(o,e);var a=o._tempMatrix1,h=o._tempMatrix2,l=o._tempMatrix3;h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y,a.multiply(h,l)):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY,a.multiply(h,l));var u=e.frame.glTexture,c=e.vertices,d=e.uv,f=e.colors,p=e.alphas,g=c.length,v=Math.floor(.5*g);o.vertexCount+v>=o.vertexCapacity&&o.flush(),o.setTexture2D(u,0);for(var y=o.vertexViewF32,m=o.vertexViewU32,x=o.vertexCount*o.vertexComponentCount-1,w=0,b=e.tintFill,T=0;T<g;T+=2){var S=c[T+0],_=c[T+1],A=S*l.a+_*l.c+l.e,C=S*l.b+_*l.d+l.f;s.roundPixels&&(A|=0,C|=0),y[++x]=A,y[++x]=C,y[++x]=d[T+0],y[++x]=d[T+1],y[++x]=b,m[++x]=n.getTintAppendFloatAlpha(f[w],s.alpha*p[w]),w++}o.vertexCount+=v}},function(t,e,i){var n=i(1),s=i(1);n=i(730),s=i(729),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(13),s=i(12),r=i(125);n.register("zone",function(t){var e=s(t,"x",0),i=s(t,"y",0),n=s(t,"width",1),o=s(t,"height",n);return new r(this.scene,e,i,n,o)})},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(152);s.register("tileSprite",function(t,e){void 0===t&&(t={});var i=r(t,"x",0),s=r(t,"y",0),a=r(t,"width",512),h=r(t,"height",512),l=r(t,"key",""),u=r(t,"frame",""),c=new o(this.scene,i,s,a,h,l,u);return void 0!==e&&(t.add=e),n(this.scene,c,t),c})},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(153);s.register("text",function(t,e){void 0===t&&(t={});var i=r(t,"text",""),s=r(t,"style",null),a=r(t,"padding",null);null!==a&&(s.padding=a);var h=new o(this.scene,0,0,i,s);return void 0!==e&&(t.add=e),n(this.scene,h,t),h.autoRound=r(t,"autoRound",!0),h.resolution=r(t,"resolution",1),h})},function(t,e,i){var n=i(109),s=i(28),r=i(13),o=i(12),a=i(4);r.register("bitmapText",function(t,e){void 0===t&&(t={});var i=a(t,"font",""),r=o(t,"text",""),h=o(t,"size",!1),l=a(t,"align",0),u=new n(this.scene,0,0,i,r,h,l);return void 0!==e&&(t.add=e),s(this.scene,u,t),u})},function(t,e,i){var n=i(28),s=i(311),r=i(13),o=i(12),a=i(61);r.register("sprite",function(t,e){void 0===t&&(t={});var i=o(t,"key",null),r=o(t,"frame",null),h=new a(this.scene,0,0,i,r);return void 0!==e&&(t.add=e),n(this.scene,h,t),s(h,t),h})},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(154);s.register("renderTexture",function(t,e){void 0===t&&(t={});var i=r(t,"x",0),s=r(t,"y",0),a=r(t,"width",32),h=r(t,"height",32),l=new o(this.scene,i,s,a,h);return void 0!==e&&(t.add=e),n(this.scene,l,t),l})},function(t,e,i){var n=i(13),s=i(12),r=i(2),o=i(155);n.register("particles",function(t,e){void 0===t&&(t={});var i=s(t,"key",null),n=s(t,"frame",null),a=r(t,"emitters",null),h=new o(this.scene,i,n,a);return void 0!==e&&(t.add=e),r(t,"add",!1)&&this.displayList.add(h),this.updateList.add(h),h})},function(t,e,i){var n=i(28),s=i(13),r=i(12),o=i(87);s.register("image",function(t,e){void 0===t&&(t={});var i=r(t,"key",null),s=r(t,"frame",null),a=new o(this.scene,0,0,i,s);return void 0!==e&&(t.add=e),n(this.scene,a,t),a})},function(t,e,i){var n=i(13),s=i(88);n.register("group",function(t){return new s(this.scene,null,t)})},function(t,e,i){var n=i(13),s=i(158);n.register("graphics",function(t,e){void 0===t&&(t={}),void 0!==e&&(t.add=e);var i=new s(this.scene,t);return t.add&&this.scene.sys.displayList.add(i),i})},function(t,e,i){var n=i(159),s=i(28),r=i(13),o=i(12);r.register("dynamicBitmapText",function(t,e){void 0===t&&(t={});var i=o(t,"font",""),r=o(t,"text",""),a=o(t,"size",!1),h=new n(this.scene,0,0,i,r,a);return void 0!==e&&(t.add=e),s(this.scene,h,t),h})},function(t,e,i){var n=i(28),s=i(160),r=i(13),o=i(12);r.register("container",function(t,e){void 0===t&&(t={});var i=o(t,"x",0),r=o(t,"y",0),a=new s(this.scene,i,r);return void 0!==e&&(t.add=e),n(this.scene,a,t),a})},function(t,e,i){var n=i(161),s=i(28),r=i(13),o=i(12);r.register("blitter",function(t,e){void 0===t&&(t={});var i=o(t,"key",null),r=o(t,"frame",null),a=new n(this.scene,0,0,i,r);return void 0!==e&&(t.add=e),s(this.scene,a,t),a})},function(t,e,i){var n=i(5),s=i(279);n.register("triangle",function(t,e,i,n,r,o,a,h,l,u){return this.displayList.add(new s(this.scene,t,e,i,n,r,o,a,h,l,u))})},function(t,e,i){var n=i(280);i(5).register("star",function(t,e,i,s,r,o,a){return this.displayList.add(new n(this.scene,t,e,i,s,r,o,a))})},function(t,e,i){var n=i(5),s=i(281);n.register("rectangle",function(t,e,i,n,r,o){return this.displayList.add(new s(this.scene,t,e,i,n,r,o))})},function(t,e,i){var n=i(5),s=i(286);n.register("polygon",function(t,e,i,n,r){return this.displayList.add(new s(this.scene,t,e,i,n,r))})},function(t,e,i){var n=i(5),s=i(287);n.register("line",function(t,e,i,n,r,o,a,h){return this.displayList.add(new s(this.scene,t,e,i,n,r,o,a,h))})},function(t,e,i){var n=i(5),s=i(288);n.register("isotriangle",function(t,e,i,n,r,o,a,h){return this.displayList.add(new s(this.scene,t,e,i,n,r,o,a,h))})},function(t,e,i){var n=i(5),s=i(289);n.register("isobox",function(t,e,i,n,r,o,a){return this.displayList.add(new s(this.scene,t,e,i,n,r,o,a))})},function(t,e,i){var n=i(5),s=i(290);n.register("grid",function(t,e,i,n,r,o,a,h,l,u){return this.displayList.add(new s(this.scene,t,e,i,n,r,o,a,h,l,u))})},function(t,e,i){var n=i(291);i(5).register("ellipse",function(t,e,i,s,r,o){return this.displayList.add(new n(this.scene,t,e,i,s,r,o))})},function(t,e,i){var n=i(5),s=i(292);n.register("curve",function(t,e,i,n,r){return this.displayList.add(new s(this.scene,t,e,i,n,r))})},function(t,e,i){var n=i(293),s=i(5);s.register("arc",function(t,e,i,s,r,o,a,h){return this.displayList.add(new n(this.scene,t,e,i,s,r,o,a,h))}),s.register("circle",function(t,e,i,s,r){return this.displayList.add(new n(this.scene,t,e,i,0,360,!1,s,r))})},function(t,e,i){var n=i(125);i(5).register("zone",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(152);i(5).register("tileSprite",function(t,e,i,s,r,o){return this.displayList.add(new n(this.scene,t,e,i,s,r,o))})},function(t,e,i){var n=i(153);i(5).register("text",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(109);i(5).register("bitmapText",function(t,e,i,s,r,o){return this.displayList.add(new n(this.scene,t,e,i,s,r,o))})},function(t,e,i){var n=i(5),s=i(61);n.register("sprite",function(t,e,i,n){var r=new s(this.scene,t,e,i,n);return this.displayList.add(r),this.updateList.add(r),r})},function(t,e,i){var n=i(5),s=i(154);n.register("renderTexture",function(t,e,i,n){return this.displayList.add(new s(this.scene,t,e,i,n))})},function(t,e,i){var n=i(5),s=i(296);n.register("follower",function(t,e,i,n,r){var o=new s(this.scene,t,e,i,n,r);return this.displayList.add(o),this.updateList.add(o),o})},function(t,e,i){var n=i(5),s=i(155);n.register("particles",function(t,e,i){var n=new s(this.scene,t,e,i);return this.displayList.add(n),this.updateList.add(n),n})},function(t,e,i){var n=i(87);i(5).register("image",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(88);i(5).register("group",function(t,e){return this.updateList.add(new n(this.scene,t,e))})},function(t,e,i){var n=i(158);i(5).register("graphics",function(t){return this.displayList.add(new n(this.scene,t))})},function(t,e,i){var n=i(159);i(5).register("dynamicBitmapText",function(t,e,i,s,r){return this.displayList.add(new n(this.scene,t,e,i,s,r))})},function(t,e,i){var n=i(160);i(5).register("container",function(t,e,i){return this.displayList.add(new n(this.scene,t,e,i))})},function(t,e,i){var n=i(161);i(5).register("blitter",function(t,e,i,s){return this.displayList.add(new n(this.scene,t,e,i,s))})},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY,c=e.geom.x1-l,d=e.geom.y1-u,f=e.geom.x2-l,p=e.geom.y2-u,g=e.geom.x3-l,v=e.geom.y3-u;h.beginPath(),h.moveTo(c,d),h.lineTo(f,p),h.lineTo(g,v),h.closePath(),e.isFilled&&(n(h,e),h.fill()),e.isStroked&&(s(h,e),h.stroke())}}},function(t,e,i){var n=i(60),s=i(10);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;if(e.isFilled){var p=a.fillTint,g=s.getTintAppendFloatAlphaAndSwap(e.fillColor,e.fillAlpha*f);p.TL=g,p.TR=g,p.BL=g,p.BR=g;var v=e.geom.x1-c,y=e.geom.y1-d,m=e.geom.x2-c,x=e.geom.y2-d,w=e.geom.x3-c,b=e.geom.y3-d;a.setTexture2D(),a.batchFillTriangle(v,y,m,x,w,b,l,h)}e.isStroked&&n(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(771),s=i(770),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY,c=e.pathData,d=c.length-1,f=c[0]-l,p=c[1]-u;h.beginPath(),h.moveTo(f,p),e.closePath||(d-=2);for(var g=2;g<d;g+=2){var v=c[g]-l,y=c[g+1]-u;h.lineTo(v,y)}h.closePath(),e.isFilled&&(n(h,e),h.fill()),e.isStroked&&(s(h,e),h.stroke())}}},function(t,e,i){var n=i(82),s=i(60);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;e.isFilled&&n(a,u,e,f,c,d),e.isStroked&&s(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(774),s=i(773),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY;e.isFilled&&(n(h,e),h.fillRect(-l,-u,e.width,e.height)),e.isStroked&&(s(h,e),h.beginPath(),h.rect(-l,-u,e.width,e.height),h.stroke())}}},function(t,e,i){var n=i(60),s=i(10);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;if(e.isFilled){var p=a.fillTint,g=s.getTintAppendFloatAlphaAndSwap(e.fillColor,e.fillAlpha*f);p.TL=g,p.TR=g,p.BL=g,p.BR=g,a.batchFillRect(-c,-d,e.width,e.height)}e.isStroked&&n(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(777),s=i(776),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY,c=e.pathData,d=c.length-1,f=c[0]-l,p=c[1]-u;h.beginPath(),h.moveTo(f,p),e.closePath||(d-=2);for(var g=2;g<d;g+=2){var v=c[g]-l,y=c[g+1]-u;h.lineTo(v,y)}h.closePath(),e.isFilled&&(n(h,e),h.fill()),e.isStroked&&(s(h,e),h.stroke())}}},function(t,e,i){var n=i(82),s=i(60);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;e.isFilled&&n(a,u,e,f,c,d),e.isStroked&&s(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(780),s=i(779),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(36),s=i(22);t.exports=function(t,e,i,r,o){var a=t.currentContext;if(s(t,a,e,r,o)){var h=e._displayOriginX,l=e._displayOriginY;e.isStroked&&(n(a,e),a.beginPath(),a.moveTo(e.geom.x1-h,e.geom.y1-l),a.lineTo(e.geom.x2-h,e.geom.y2-l),a.stroke())}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=this.pipeline,a=o._tempMatrix1,h=o._tempMatrix2;t.setPipeline(o),h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY);var l=e._displayOriginX,u=e._displayOriginY,c=s.alpha*e.alpha;if(e.isStroked){var d=o.strokeTint,f=n.getTintAppendFloatAlphaAndSwap(e.strokeColor,e.strokeAlpha*c);d.TL=f,d.TR=f,d.BL=f,d.BR=f;var p=e._startWidth,g=e._endWidth;o.setTexture2D(),o.batchLine(e.geom.x1-l,e.geom.y1-u,e.geom.x2-l,e.geom.y2-u,p,g,1,0,!1,h,a)}}},function(t,e,i){var n=i(1),s=i(1);n=i(783),s=i(782),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(22);t.exports=function(t,e,i,r,o){var a=t.currentContext;if(s(t,a,e,r,o)&&e.isFilled){var h=e.width,l=e.height,u=h/2,c=h/e.projection,d=e.isReversed;e.showTop&&d&&(n(a,e,e.fillTop),a.beginPath(),a.moveTo(-u,-l),a.lineTo(0,-c-l),a.lineTo(u,-l),a.lineTo(0,c-l),a.fill()),e.showLeft&&(n(a,e,e.fillLeft),a.beginPath(),d?(a.moveTo(-u,-l),a.lineTo(0,c),a.lineTo(0,c-l)):(a.moveTo(-u,0),a.lineTo(0,c),a.lineTo(0,c-l)),a.fill()),e.showRight&&(n(a,e,e.fillRight),a.beginPath(),d?(a.moveTo(u,-l),a.lineTo(0,c),a.lineTo(0,c-l)):(a.moveTo(u,0),a.lineTo(0,c),a.lineTo(0,c-l)),a.fill())}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=this.pipeline,a=o._tempMatrix1,h=o._tempMatrix2,l=o._tempMatrix3;t.setPipeline(o),h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY),a.multiply(h,l);var u=e.width,c=e.height,d=u/2,f=u/e.projection,p=e.isReversed,g=s.alpha*e.alpha;if(e.isFilled){var v,y,m,x,w,b,T;if(e.showTop&&p){v=n.getTintAppendFloatAlphaAndSwap(e.fillTop,g),y=l.getX(-d,-c),m=l.getY(-d,-c),x=l.getX(0,-f-c),w=l.getY(0,-f-c),b=l.getX(d,-c),T=l.getY(d,-c);var S=l.getX(0,f-c),_=l.getY(0,f-c);o.setTexture2D(),o.batchQuad(y,m,x,w,b,T,S,_,0,0,1,1,v,v,v,v,2)}e.showLeft&&(v=n.getTintAppendFloatAlphaAndSwap(e.fillLeft,g),p?(y=l.getX(-d,-c),m=l.getY(-d,-c),x=l.getX(0,f),w=l.getY(0,f),b=l.getX(0,f-c),T=l.getY(0,f-c)):(y=l.getX(-d,0),m=l.getY(-d,0),x=l.getX(0,f),w=l.getY(0,f),b=l.getX(0,f-c),T=l.getY(0,f-c)),o.batchTri(y,m,x,w,b,T,0,0,1,1,v,v,v,2)),e.showRight&&(v=n.getTintAppendFloatAlphaAndSwap(e.fillRight,g),p?(y=l.getX(d,-c),m=l.getY(d,-c),x=l.getX(0,f),w=l.getY(0,f),b=l.getX(0,f-c),T=l.getY(0,f-c)):(y=l.getX(d,0),m=l.getY(d,0),x=l.getX(0,f),w=l.getY(0,f),b=l.getX(0,f-c),T=l.getY(0,f-c)),o.setTexture2D(),o.batchTri(y,m,x,w,b,T,0,0,1,1,v,v,v,2))}}},function(t,e,i){var n=i(1),s=i(1);n=i(786),s=i(785),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(22);t.exports=function(t,e,i,r,o){var a=t.currentContext;if(s(t,a,e,r,o)&&e.isFilled){var h=e.width,l=e.height,u=h/2,c=h/e.projection;e.showTop&&(n(a,e,e.fillTop),a.beginPath(),a.moveTo(-u,-l),a.lineTo(0,-c-l),a.lineTo(u,-l),a.lineTo(u,-1),a.lineTo(0,c-1),a.lineTo(-u,-1),a.lineTo(-u,-l),a.fill()),e.showLeft&&(n(a,e,e.fillLeft),a.beginPath(),a.moveTo(-u,0),a.lineTo(0,c),a.lineTo(0,c-l),a.lineTo(-u,-l),a.lineTo(-u,0),a.fill()),e.showRight&&(n(a,e,e.fillRight),a.beginPath(),a.moveTo(u,0),a.lineTo(0,c),a.lineTo(0,c-l),a.lineTo(u,-l),a.lineTo(u,0),a.fill())}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=this.pipeline,a=o._tempMatrix1,h=o._tempMatrix2,l=o._tempMatrix3;t.setPipeline(o),h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY),a.multiply(h,l);var u,c,d,f,p,g,v,y,m,x=e.width,w=e.height,b=x/2,T=x/e.projection,S=s.alpha*e.alpha;e.isFilled&&(e.showTop&&(u=n.getTintAppendFloatAlphaAndSwap(e.fillTop,S),c=l.getX(-b,-w),d=l.getY(-b,-w),f=l.getX(0,-T-w),p=l.getY(0,-T-w),g=l.getX(b,-w),v=l.getY(b,-w),y=l.getX(0,T-w),m=l.getY(0,T-w),o.setTexture2D(),o.batchQuad(c,d,f,p,g,v,y,m,0,0,1,1,u,u,u,u,2)),e.showLeft&&(u=n.getTintAppendFloatAlphaAndSwap(e.fillLeft,S),c=l.getX(-b,0),d=l.getY(-b,0),f=l.getX(0,T),p=l.getY(0,T),g=l.getX(0,T-w),v=l.getY(0,T-w),y=l.getX(-b,-w),m=l.getY(-b,-w),o.setTexture2D(),o.batchQuad(c,d,f,p,g,v,y,m,0,0,1,1,u,u,u,u,2)),e.showRight&&(u=n.getTintAppendFloatAlphaAndSwap(e.fillRight,S),c=l.getX(b,0),d=l.getY(b,0),f=l.getX(0,T),p=l.getY(0,T),g=l.getX(0,T-w),v=l.getY(0,T-w),y=l.getX(b,-w),m=l.getY(b,-w),o.setTexture2D(),o.batchQuad(c,d,f,p,g,v,y,m,0,0,1,1,u,u,u,u,2)))}},function(t,e,i){var n=i(1),s=i(1);n=i(789),s=i(788),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY;e.isFilled&&(n(h,e),h.fillRect(-l,-u,e.width,e.height)),e.isStroked&&(s(h,e),h.beginPath(),h.rect(-l,-u,e.width,e.height),h.stroke())}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=this.pipeline,a=o._tempMatrix1,h=o._tempMatrix2,l=o._tempMatrix3;t.setPipeline(o),h.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),a.copyFrom(s.matrix),r?(a.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),h.e=e.x,h.f=e.y):(h.e-=s.scrollX*e.scrollFactorX,h.f-=s.scrollY*e.scrollFactorY),a.multiply(h,l),l.translate(-e._displayOriginX,-e._displayOriginY);var u,c,d=s.alpha*e.alpha,f=e.width,p=e.height,g=e.cellWidth,v=e.cellHeight,y=Math.ceil(f/g),m=Math.ceil(p/v),x=g,w=v,b=g-(y*g-f),T=v-(m*v-p),S=e.showCells,_=e.showAltCells,A=e.showOutline,C=0,M=0,P=0,E=0,k=0;if(A&&(x--,w--,b===g&&b--,T===v&&T--),S&&e.fillAlpha>0)for(u=o.fillTint,c=n.getTintAppendFloatAlphaAndSwap(e.fillColor,e.fillAlpha*d),u.TL=c,u.TR=c,u.BL=c,u.BR=c,M=0;M<m;M++)for(_&&(P=M%2),C=0;C<y;C++)_&&P?P=0:(P++,E=C<y-1?x:b,k=M<m-1?w:T,o.setTexture2D(),o.batchFillRect(C*g,M*v,E,k));if(_&&e.altFillAlpha>0)for(u=o.fillTint,c=n.getTintAppendFloatAlphaAndSwap(e.altFillColor,e.altFillAlpha*d),u.TL=c,u.TR=c,u.BL=c,u.BR=c,M=0;M<m;M++)for(_&&(P=M%2),C=0;C<y;C++)!_||P?(P=0,E=C<y-1?x:b,k=M<m-1?w:T,o.setTexture2D(),o.batchFillRect(C*g,M*v,E,k)):P=1;if(A&&e.outlineFillAlpha>0){var L=o.strokeTint,F=n.getTintAppendFloatAlphaAndSwap(e.outlineFillColor,e.outlineFillAlpha*d);for(L.TL=F,L.TR=F,L.BL=F,L.BR=F,C=1;C<y;C++){var R=C*g;o.setTexture2D(),o.batchLine(R,0,R,p,1,1,1,0,!1)}for(M=1;M<m;M++){var O=M*v;o.setTexture2D(),o.batchLine(0,O,f,O,1,1,1,0,!1)}}}},function(t,e,i){var n=i(1),s=i(1);n=i(792),s=i(791),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX,u=e._displayOriginY,c=e.pathData,d=c.length-1,f=c[0]-l,p=c[1]-u;h.beginPath(),h.moveTo(f,p),e.closePath||(d-=2);for(var g=2;g<d;g+=2){var v=c[g]-l,y=c[g+1]-u;h.lineTo(v,y)}h.closePath(),e.isFilled&&(n(h,e),h.fill()),e.isStroked&&(s(h,e),h.stroke())}}},function(t,e,i){var n=i(82),s=i(60);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;e.isFilled&&n(a,u,e,f,c,d),e.isStroked&&s(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(795),s=i(794),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(30),s=i(36),r=i(22);t.exports=function(t,e,i,o,a){var h=t.currentContext;if(r(t,h,e,o,a)){var l=e._displayOriginX+e._curveBounds.x,u=e._displayOriginY+e._curveBounds.y,c=e.pathData,d=c.length-1,f=c[0]-l,p=c[1]-u;h.beginPath(),h.moveTo(f,p),e.closePath||(d-=2);for(var g=2;g<d;g+=2){var v=c[g]-l,y=c[g+1]-u;h.lineTo(v,y)}e.closePath&&h.closePath(),e.isFilled&&(n(h,e),h.fill()),e.isStroked&&(s(h,e),h.stroke())}}},function(t,e,i){var n=i(82),s=i(60);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX+e._curveBounds.x,d=e._displayOriginY+e._curveBounds.y,f=r.alpha*e.alpha;e.isFilled&&n(a,u,e,f,c,d),e.isStroked&&s(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(798),s=i(797),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(31),s=i(30),r=i(36),o=i(22);t.exports=function(t,e,i,a,h){var l=t.currentContext;if(o(t,l,e,a,h)){var u=e.radius;l.beginPath(),l.arc(u-e.originX*(2*u),u-e.originY*(2*u),u,n(e._startAngle),n(e._endAngle),e.anticlockwise),e.closePath&&l.closePath(),e.isFilled&&(s(l,e),l.fill()),e.isStroked&&(r(l,e),l.stroke())}}},function(t,e,i){var n=i(82),s=i(60);t.exports=function(t,e,i,r,o){var a=this.pipeline,h=a._tempMatrix1,l=a._tempMatrix2,u=a._tempMatrix3;t.setPipeline(a),l.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),h.copyFrom(r.matrix),o?(h.multiplyWithOffset(o,-r.scrollX*e.scrollFactorX,-r.scrollY*e.scrollFactorY),l.e=e.x,l.f=e.y):(l.e-=r.scrollX*e.scrollFactorX,l.f-=r.scrollY*e.scrollFactorY),h.multiply(l,u);var c=e._displayOriginX,d=e._displayOriginY,f=r.alpha*e.alpha;e.isFilled&&n(a,u,e,f,c,d),e.isStroked&&s(a,e,f,c,d)}},function(t,e,i){var n=i(1),s=i(1);n=i(801),s=i(800),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i,n,s){e.updateCanvas(),t.batchSprite(e,e.frame,n,s)}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){e.updateCanvas();var o=n.getTintAppendFloatAlpha;this.pipeline.batchTexture(e,e.fillPattern,e.displayFrame.width*e.tileScaleX,e.displayFrame.height*e.tileScaleY,e.x,e.y,e.width,e.height,e.scaleX,e.scaleY,e.rotation,e.flipX,e.flipY,e.scrollFactorX,e.scrollFactorY,e.originX*e.width,e.originY*e.height,0,0,e.width,e.height,o(e._tintTL,s.alpha*e._alphaTL),o(e._tintTR,s.alpha*e._alphaTR),o(e._tintBL,s.alpha*e._alphaBL),o(e._tintBR,s.alpha*e._alphaBR),e._isTinted&&e.tintFill,e.tilePositionX%e.displayFrame.width/e.displayFrame.width,e.tilePositionY%e.displayFrame.height/e.displayFrame.height,s,r)}},function(t,e,i){var n=i(1),s=i(1);n=i(804),s=i(803),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(24);t.exports=function(t){var e=n.create(this),i=e.getContext("2d");t.syncFont(e,i);var s=Math.ceil(i.measureText(t.testString).width*t.baselineX),r=s,o=2*r;r=r*t.baselineY|0,e.width=s,e.height=o,i.fillStyle="#f00",i.fillRect(0,0,s,o),i.font=t._font,i.textBaseline="alphabetic",i.fillStyle="#000",i.fillText(t.testString,0,r);var a={ascent:0,descent:0,fontSize:0};if(!i.getImageData(0,0,s,o))return a.ascent=r,a.descent=r+6,a.fontSize=a.ascent+a.descent,n.remove(e),a;var h,l,u=i.getImageData(0,0,s,o).data,c=u.length,d=4*s,f=0,p=!1;for(h=0;h<r;h++){for(l=0;l<d;l+=4)if(255!==u[f+l]){p=!0;break}if(p)break;f+=d}for(a.ascent=r-h,f=c-d,p=!1,h=o;h>r;h--){for(l=0;l<d;l+=4)if(255!==u[f+l]){p=!0;break}if(p)break;f-=d}return a.descent=h-r,a.fontSize=a.ascent+a.descent,n.remove(e),a}},function(t,e,i){var n=i(0),s=i(12),r=i(4),o=i(806),a={fontFamily:["fontFamily","Courier"],fontSize:["fontSize","16px"],fontStyle:["fontStyle",""],backgroundColor:["backgroundColor",null],color:["color","#fff"],stroke:["stroke","#fff"],strokeThickness:["strokeThickness",0],shadowOffsetX:["shadow.offsetX",0],shadowOffsetY:["shadow.offsetY",0],shadowColor:["shadow.color","#000"],shadowBlur:["shadow.blur",0],shadowStroke:["shadow.stroke",!1],shadowFill:["shadow.fill",!1],align:["align","left"],maxLines:["maxLines",0],fixedWidth:["fixedWidth",0],fixedHeight:["fixedHeight",0],resolution:["resolution",0],rtl:["rtl",!1],testString:["testString","|MÉqgy"],baselineX:["baselineX",1.2],baselineY:["baselineY",1.4],wordWrapWidth:["wordWrap.width",null],wordWrapCallback:["wordWrap.callback",null],wordWrapCallbackScope:["wordWrap.callbackScope",null],wordWrapUseAdvanced:["wordWrap.useAdvancedWrap",!1]},h=new n({initialize:function(t,e){this.parent=t,this.fontFamily,this.fontSize,this.fontStyle,this.backgroundColor,this.color,this.stroke,this.strokeThickness,this.shadowOffsetX,this.shadowOffsetY,this.shadowColor,this.shadowBlur,this.shadowStroke,this.shadowFill,this.align,this.maxLines,this.fixedWidth,this.fixedHeight,this.resolution,this.rtl,this.testString,this.baselineX,this.baselineY,this._font,this.setStyle(e,!1,!0);var i=r(e,"metrics",!1);this.metrics=i?{ascent:r(i,"ascent",0),descent:r(i,"descent",0),fontSize:r(i,"fontSize",0)}:o(this)},setStyle:function(t,e,i){for(var n in void 0===e&&(e=!0),void 0===i&&(i=!1),t&&t.hasOwnProperty("fontSize")&&"number"==typeof t.fontSize&&(t.fontSize=t.fontSize.toString()+"px"),a){var o=i?a[n][1]:this[n];this[n]="wordWrapCallback"===n||"wordWrapCallbackScope"===n?r(t,a[n][0],o):s(t,a[n][0],o)}var h=r(t,"font",null);this._font=null===h?[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim():h;var l=r(t,"fill",null);return null!==l&&(this.color=l),e?this.update(!0):this.parent},syncFont:function(t,e){e.font=this._font},syncStyle:function(t,e){e.textBaseline="alphabetic",e.fillStyle=this.color,e.strokeStyle=this.stroke,e.lineWidth=this.strokeThickness,e.lineCap="round",e.lineJoin="round"},syncShadow:function(t,e){e?(t.shadowOffsetX=this.shadowOffsetX,t.shadowOffsetY=this.shadowOffsetY,t.shadowColor=this.shadowColor,t.shadowBlur=this.shadowBlur):(t.shadowOffsetX=0,t.shadowOffsetY=0,t.shadowColor=0,t.shadowBlur=0)},update:function(t){return t&&(this._font=[this.fontStyle,this.fontSize,this.fontFamily].join(" ").trim(),this.metrics=o(this)),this.parent.updateText()},setFont:function(t){var e=t,i="",n="";return"string"!=typeof t&&(e=r(t,"fontFamily","Courier"),i=r(t,"fontSize","16px"),n=r(t,"fontStyle","")),e===this.fontFamily&&i===this.fontSize&&n===this.fontStyle||(this.fontFamily=e,this.fontSize=i,this.fontStyle=n,this.update(!0)),this.parent},setFontFamily:function(t){return this.fontFamily!==t&&(this.fontFamily=t,this.update(!0)),this.parent},setFontStyle:function(t){return this.fontStyle!==t&&(this.fontStyle=t,this.update(!0)),this.parent},setFontSize:function(t){return"number"==typeof t&&(t=t.toString()+"px"),this.fontSize!==t&&(this.fontSize=t,this.update(!0)),this.parent},setTestString:function(t){return this.testString=t,this.update(!0)},setFixedSize:function(t,e){return this.fixedWidth=t,this.fixedHeight=e,t&&(this.parent.width=t),e&&(this.parent.height=e),this.update(!1)},setBackgroundColor:function(t){return this.backgroundColor=t,this.update(!1)},setFill:function(t){return this.color=t,this.update(!1)},setColor:function(t){return this.color=t,this.update(!1)},setResolution:function(t){return this.resolution=t,this.update(!1)},setStroke:function(t,e){return void 0===e&&(e=this.strokeThickness),void 0===t&&0!==this.strokeThickness?(this.strokeThickness=0,this.update(!0)):this.stroke===t&&this.strokeThickness===e||(this.stroke=t,this.strokeThickness=e,this.update(!0)),this.parent},setShadow:function(t,e,i,n,s,r){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i="#000"),void 0===n&&(n=0),void 0===s&&(s=!1),void 0===r&&(r=!0),this.shadowOffsetX=t,this.shadowOffsetY=e,this.shadowColor=i,this.shadowBlur=n,this.shadowStroke=s,this.shadowFill=r,this.update(!1)},setShadowOffset:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.shadowOffsetX=t,this.shadowOffsetY=e,this.update(!1)},setShadowColor:function(t){return void 0===t&&(t="#000"),this.shadowColor=t,this.update(!1)},setShadowBlur:function(t){return void 0===t&&(t=0),this.shadowBlur=t,this.update(!1)},setShadowStroke:function(t){return this.shadowStroke=t,this.update(!1)},setShadowFill:function(t){return this.shadowFill=t,this.update(!1)},setWordWrapWidth:function(t,e){return void 0===e&&(e=!1),this.wordWrapWidth=t,this.wordWrapUseAdvanced=e,this.update(!1)},setWordWrapCallback:function(t,e){return void 0===e&&(e=null),this.wordWrapCallback=t,this.wordWrapCallbackScope=e,this.update(!1)},setAlign:function(t){return void 0===t&&(t="left"),this.align=t,this.update(!1)},setMaxLines:function(t){return void 0===t&&(t=0),this.maxLines=t,this.update(!1)},getTextMetrics:function(){var t=this.metrics;return{ascent:t.ascent,descent:t.descent,fontSize:t.fontSize}},toJSON:function(){var t={};for(var e in a)t[e]=this[e];return t.metrics=this.getTextMetrics(),t},destroy:function(){this.parent=void 0}});t.exports=h},function(t,e){t.exports=function(t,e,i,n,s){""!==e.text&&t.batchSprite(e,e.frame,n,s)}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){if(""!==e.text){var o=e.frame,a=o.width,h=o.height,l=n.getTintAppendFloatAlpha;this.pipeline.batchTexture(e,o.glTexture,a,h,e.x,e.y,a/e.style.resolution,h/e.style.resolution,e.scaleX,e.scaleY,e.rotation,e.flipX,e.flipY,e.scrollFactorX,e.scrollFactorY,e.displayOriginX,e.displayOriginY,0,0,a,h,l(e._tintTL,s.alpha*e._alphaTL),l(e._tintTR,s.alpha*e._alphaTR),l(e._tintBL,s.alpha*e._alphaBL),l(e._tintBR,s.alpha*e._alphaBR),e._isTinted&&e.tintFill,0,0,s,r)}}},function(t,e,i){var n=i(1),s=i(1);n=i(809),s=i(808),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i){var n=t.canvas,s=t.context,r=t.style,o=[],a=0,h=i.length;r.maxLines>0&&r.maxLines<i.length&&(h=r.maxLines),r.syncFont(n,s);for(var l=0;l<h;l++){var u=r.strokeThickness;u+=s.measureText(i[l]).width,r.wordWrap&&(u-=s.measureText(" ").width),o[l]=Math.ceil(u),a=Math.max(a,o[l])}var c=e.fontSize+r.strokeThickness,d=c*h,f=t.lineSpacing;return i.length>1&&(d+=f*(i.length-1)),{width:a,height:d,lines:h,lineWidths:o,lineSpacing:f,lineHeight:c}}},function(t,e,i){var n=i(4);t.exports=function(t,e){var i=e.width,s=e.height,r=Math.floor(i/2),o=Math.floor(s/2),a=n(e,"chars","");if(""!==a){var h=n(e,"image",""),l=n(e,"offset.x",0),u=n(e,"offset.y",0),c=n(e,"spacing.x",0),d=n(e,"spacing.y",0),f=n(e,"lineSpacing",0),p=n(e,"charsPerRow",null);null===p&&(p=t.sys.textures.getFrame(h).width/i)>a.length&&(p=a.length);for(var g=l,v=u,y={retroFont:!0,font:h,size:i,lineHeight:s+f,chars:{}},m=0,x=0;x<a.length;x++){var w=a.charCodeAt(x);y.chars[w]={x:g,y:v,width:i,height:s,centerX:r,centerY:o,xOffset:0,yOffset:0,xAdvance:i,data:{},kerning:{}},++m===p?(m=0,g=l,v+=s+d):g+=i+c}return{data:y,frame:null,texture:h}}}},function(t,e){t.exports={TEXT_SET1:" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",TEXT_SET2:" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET3:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",TEXT_SET4:"ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",TEXT_SET5:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",TEXT_SET6:"ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",TEXT_SET7:"AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",TEXT_SET8:"0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET9:"ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",TEXT_SET10:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",TEXT_SET11:"ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789"}},function(t,e,i){var n=i(813),s=i(20),r={Parse:i(812)};r=s(!1,r,n),t.exports=r},function(t,e){t.exports=function(t,e,i,n,s){t.batchSprite(e,e.frame,n,s)}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=e.frame,a=o.width,h=o.height,l=n.getTintAppendFloatAlpha;this.pipeline.batchTexture(e,o.glTexture,a,h,e.x,e.y,a,h,e.scaleX,e.scaleY,e.rotation,e.flipX,!e.flipY,e.scrollFactorX,e.scrollFactorY,e.displayOriginX,e.displayOriginY,0,0,a,h,l(e._tintTL,s.alpha*e._alphaTL),l(e._tintTR,s.alpha*e._alphaTR),l(e._tintBL,s.alpha*e._alphaBL),l(e._tintBR,s.alpha*e._alphaBR),e._isTinted&&e.tintFill,0,0,s,r),t.setBlankTexture(!0)}},function(t,e,i){var n=i(1),s=i(1);n=i(816),s=i(815),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){t.exports={DeathZone:i(301),EdgeZone:i(300),RandomZone:i(297)}},function(t,e){t.exports=function(t,e,i,n,s){var r=e.emitters.list,o=r.length;if(0!==o){var a=t._tempMatrix1.copyFrom(n.matrix),h=t._tempMatrix2,l=t._tempMatrix3,u=t._tempMatrix4.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);a.multiply(u);var c=n.roundPixels,d=t.currentContext;d.save();for(var f=0;f<o;f++){var p=r[f],g=p.alive,v=g.length;if(p.visible&&0!==v){var y=n.scrollX*p.scrollFactorX,m=n.scrollY*p.scrollFactorY;s&&(a.multiplyWithOffset(s,-y,-m),y=0,m=0),d.globalCompositeOperation=t.blendModes[p.blendMode];for(var x=0;x<v;x++){var w=g[x],b=w.alpha*n.alpha;if(!(b<=0)){var T=w.frame,S=T.canvasData,_=-T.halfWidth,A=-T.halfHeight;l.applyITRS(0,0,w.rotation,w.scaleX,w.scaleY),l.e=w.x-y,l.f=w.y-m,a.multiply(l,h),d.globalAlpha=b,d.save(),h.copyToContext(d),c&&(_|=0,A|=0),d.drawImage(T.source.image,S.x,S.y,S.width,S.height,_,A,S.width,S.height),d.restore()}}}}d.restore()}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=e.emitters.list,a=o.length;if(0!==a){var h=this.pipeline,l=h._tempMatrix1.copyFrom(s.matrix),u=h._tempMatrix2,c=h._tempMatrix3,d=h._tempMatrix4.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);l.multiply(d),t.setPipeline(h);var f=s.roundPixels,p=e.defaultFrame.glTexture,g=n.getTintAppendFloatAlphaAndSwap;h.setTexture2D(p,0);for(var v=0;v<a;v++){var y=o[v],m=y.alive,x=m.length;if(y.visible&&0!==x){var w=s.scrollX*y.scrollFactorX,b=s.scrollY*y.scrollFactorY;r&&(l.multiplyWithOffset(r,-w,-b),w=0,b=0),t.setBlendMode(y.blendMode)&&h.setTexture2D(p,0);for(var T=0;T<x;T++){var S=m[T],_=S.alpha*s.alpha;if(!(_<=0)){var A=S.frame,C=-A.halfWidth,M=-A.halfHeight,P=C+A.width,E=M+A.height;c.applyITRS(0,0,S.rotation,S.scaleX,S.scaleY),c.e=S.x-w,c.f=S.y-b,l.multiply(c,u);var k=u.getX(C,M),L=u.getY(C,M),F=u.getX(C,E),R=u.getY(C,E),O=u.getX(P,E),D=u.getY(P,E),B=u.getX(P,M),I=u.getY(P,M);f&&(k|=0,L|=0,F|=0,R|=0,O|=0,D|=0,B|=0,I|=0);var Y=g(S.tint,_);h.batchQuad(k,L,F,R,O,D,B,I,A.u0,A.v0,A.u1,A.v1,Y,Y,Y,Y,0)&&h.setTexture2D(p,0)}}}}}}},function(t,e,i){var n=i(1),s=i(1);n=i(820),s=i(819),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(0),s=i(299),r=i(86),o=i(2),a=i(53),h=new n({initialize:function(t,e,i,n){void 0===n&&(n=!1),this.propertyKey=e,this.propertyValue=i,this.defaultValue=i,this.steps=0,this.counter=0,this.start=0,this.end=0,this.ease,this.emitOnly=n,this.onEmit=this.defaultEmit,this.onUpdate=this.defaultUpdate,this.loadConfig(t)},loadConfig:function(t,e){void 0===t&&(t={}),e&&(this.propertyKey=e),this.propertyValue=o(t,this.propertyKey,this.defaultValue),this.setMethods(),this.emitOnly&&(this.onUpdate=this.defaultUpdate)},toJSON:function(){return this.propertyValue},onChange:function(t){return this.propertyValue=t,this.setMethods()},setMethods:function(){var t=this.propertyValue,e=typeof t;if("number"===e)this.onEmit=this.staticValueEmit,this.onUpdate=this.staticValueUpdate;else if(Array.isArray(t))this.onEmit=this.randomStaticValueEmit;else if("function"===e)this.emitOnly?this.onEmit=t:this.onUpdate=t;else if("object"===e&&(this.has(t,"random")||this.hasBoth(t,"start","end")||this.hasBoth(t,"min","max"))){this.start=this.has(t,"start")?t.start:t.min,this.end=this.has(t,"end")?t.end:t.max;var i=this.hasBoth(t,"min","max")||this.has(t,"random");if(i){var n=t.random;Array.isArray(n)&&(this.start=n[0],this.end=n[1]),this.onEmit=this.randomRangedValueEmit}if(this.has(t,"steps"))this.steps=t.steps,this.counter=this.start,this.onEmit=this.steppedEmit;else{var s=this.has(t,"ease")?t.ease:"Linear";this.ease=r(s),i||(this.onEmit=this.easedValueEmit),this.onUpdate=this.easeValueUpdate}}else"object"===e&&this.hasEither(t,"onEmit","onUpdate")&&(this.has(t,"onEmit")&&(this.onEmit=t.onEmit),this.has(t,"onUpdate")&&(this.onUpdate=t.onUpdate));return this},has:function(t,e){return t.hasOwnProperty(e)},hasBoth:function(t,e,i){return t.hasOwnProperty(e)&&t.hasOwnProperty(i)},hasEither:function(t,e,i){return t.hasOwnProperty(e)||t.hasOwnProperty(i)},defaultEmit:function(t,e,i){return i},defaultUpdate:function(t,e,i,n){return n},staticValueEmit:function(){return this.propertyValue},staticValueUpdate:function(){return this.propertyValue},randomStaticValueEmit:function(){var t=Math.floor(Math.random()*this.propertyValue.length);return this.propertyValue[t]},randomRangedValueEmit:function(t,e){var i=s(this.start,this.end);return t&&t.data[e]&&(t.data[e].min=i),i},steppedEmit:function(){var t=this.counter,e=this.counter+(this.end-this.start)/this.steps;return this.counter=a(e,this.start,this.end),t},easedValueEmit:function(t,e){if(t&&t.data[e]){var i=t.data[e];i.min=this.start,i.max=this.end}return this.start},easeValueUpdate:function(t,e,i){var n=t.data[e];return(n.max-n.min)*this.ease(i)+n.min}});t.exports=h},function(t,e,i){t.exports={GravityWell:i(304),Particle:i(303),ParticleEmitter:i(302),ParticleEmitterManager:i(155),Zones:i(818)}},function(t,e){t.exports=function(t,e,i,n,s){t.batchSprite(e,e.frame,n,s)}},function(t,e){t.exports=function(t,e,i,n,s){this.pipeline.batchSprite(e,n,s)}},function(t,e,i){var n=i(1),s=i(1);n=i(825),s=i(824),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i,n,s){t.batchSprite(e,e.frame,n,s)}},function(t,e){t.exports=function(t,e,i,n,s){this.pipeline.batchSprite(e,n,s)}},function(t,e,i){var n=i(1),s=i(1);n=i(828),s=i(827),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(157),s=i(10),r=function(t,e,i){this.x=t,this.y=e,this.width=i},o=function(t,e,i){this.points=[],this.pointsLength=1,this.points[0]=new r(t,e,i)},a=[];t.exports=function(t,e,i,h,l){if(0!==e.commandBuffer.length){var u=this.pipeline,c=u._tempMatrix1,d=u._tempMatrix2,f=u._tempMatrix4;t.setPipeline(u),f.loadIdentity(),d.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),c.copyFrom(h.matrix),l?(c.multiplyWithOffset(l,-h.scrollX*e.scrollFactorX,-h.scrollY*e.scrollFactorY),d.e=e.x,d.f=e.y,c.multiply(d)):(d.e-=h.scrollX*e.scrollFactorX,d.f-=h.scrollY*e.scrollFactorY,c.multiply(d));for(var p=e.commandBuffer,g=h.alpha*e.alpha,v=1,y=u.fillTint,m=u.strokeTint,x=0,w=0,b=0,T=2*Math.PI,S=[],_=0,A=!1,C=null,M=s.getTintAppendFloatAlphaAndSwap,P=t.blankTexture.glTexture,E=0;E<p.length;E++)switch(p[E]){case n.BEGIN_PATH:S.length=0,C=null,A=!0;break;case n.CLOSE_PATH:A=!1,C&&C.points.length&&C.points.push(C.points[0]);break;case n.FILL_PATH:for(_=0;_<S.length;_++)u.setTexture2D(P),u.batchFillPath(S[_].points,f,c);break;case n.STROKE_PATH:for(_=0;_<S.length;_++)u.setTexture2D(P),u.batchStrokePath(S[_].points,v,A,f,c);break;case n.LINE_STYLE:v=p[++E];var k=M(p[++E],p[++E]*g);m.TL=k,m.TR=k,m.BL=k,m.BR=k;break;case n.FILL_STYLE:var L=M(p[++E],p[++E]*g);y.TL=L,y.TR=L,y.BL=L,y.BR=L;break;case n.GRADIENT_FILL_STYLE:var F=p[++E]*g;y.TL=M(p[++E],F),y.TR=M(p[++E],F),y.BL=M(p[++E],F),y.BR=M(p[++E],F);break;case n.GRADIENT_LINE_STYLE:v=p[++E];var R=p[++E]*g;m.TL=M(p[++E],R),m.TR=M(p[++E],R),m.BL=M(p[++E],R),m.BR=M(p[++E],R);break;case n.ARC:var O=0,D=p[++E],B=p[++E],I=p[++E],Y=p[++E],X=p[++E],z=p[++E],N=p[++E];for(X-=Y,z?X<-T?X=-T:X>0&&(X=X%T-T):X>T?X=T:X<0&&(X=T+X%T),null===C&&(C=new o(D+Math.cos(Y)*I,B+Math.sin(Y)*I,v),S.push(C),O+=.01);O<1+N;)b=X*O+Y,x=D+Math.cos(b)*I,w=B+Math.sin(b)*I,C.points.push(new r(x,w,v)),O+=.01;b=X+Y,x=D+Math.cos(b)*I,w=B+Math.sin(b)*I,C.points.push(new r(x,w,v));break;case n.FILL_RECT:u.setTexture2D(P),u.batchFillRect(p[++E],p[++E],p[++E],p[++E],f,c);break;case n.FILL_TRIANGLE:u.setTexture2D(P),u.batchFillTriangle(p[++E],p[++E],p[++E],p[++E],p[++E],p[++E],f,c);break;case n.STROKE_TRIANGLE:u.setTexture2D(P),u.batchStrokeTriangle(p[++E],p[++E],p[++E],p[++E],p[++E],p[++E],v,f,c);break;case n.LINE_TO:null!==C?C.points.push(new r(p[++E],p[++E],v)):(C=new o(p[++E],p[++E],v),S.push(C));break;case n.MOVE_TO:C=new o(p[++E],p[++E],v),S.push(C);break;case n.SAVE:a.push(f.copyToArray());break;case n.RESTORE:f.copyFromArray(a.pop());break;case n.TRANSLATE:D=p[++E],B=p[++E],f.translate(D,B);break;case n.SCALE:D=p[++E],B=p[++E],f.scale(D,B);break;case n.ROTATE:f.rotate(p[++E]);break;case n.SET_TEXTURE:var U=p[++E],V=p[++E];u.currentFrame=U,u.setTexture2D(U.glTexture,0),u.tintEffect=V,P=U.glTexture;break;case n.CLEAR_TEXTURE:u.currentFrame=t.blankTexture,u.tintEffect=2,P=t.blankTexture.glTexture}}}},function(t,e,i){var n=i(1),s=i(1);n=i(830),s=i(305),s=i(305),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(22);t.exports=function(t,e,i,s,r){var o=e.text,a=o.length,h=t.currentContext;if(0!==a&&n(t,h,e,s,r)){var l=e.frame,u=e.displayCallback,c=s.scrollX*e.scrollFactorX,d=s.scrollY*e.scrollFactorY,f=e.fontData.chars,p=e.fontData.lineHeight,g=0,v=0,y=0,m=0,x=null,w=0,b=0,T=0,S=0,_=0,A=0,C=null,M=0,P=e.frame.source.image,E=l.cutX,k=l.cutY,L=0,F=e.fontSize/e.fontData.size;e.cropWidth>0&&e.cropHeight>0&&(h.save(),h.beginPath(),h.rect(0,0,e.cropWidth,e.cropHeight),h.clip());for(var R=0;R<a;++R)if(F=e.fontSize/e.fontData.size,L=0,10!==(m=o.charCodeAt(R))){if(x=f[m]){if(w=E+x.x,b=k+x.y,T=x.width,S=x.height,_=y+x.xOffset+g-e.scrollX,A=x.yOffset+v-e.scrollY,null!==C){var O=x.kerning[M];_+=void 0!==O?O:0}if(u){var D=u({tint:{topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},index:R,charCode:m,x:_,y:A,scale:F,rotation:0,data:x.data});_=D.x,A=D.y,F=D.scale,L=D.rotation}_*=F,A*=F,_-=c,A-=d,s.roundPixels&&(_|=0,A|=0),h.save(),h.translate(_,A),h.rotate(L),h.scale(F,F),h.drawImage(P,w,b,T,S,0,0,T,S),h.restore(),g+=x.xAdvance,y+=1,C=x,M=m}}else g=0,y=0,v+=p,C=null;e.cropWidth>0&&e.cropHeight>0&&h.restore(),h.restore()}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=e.text,a=o.length;if(0!==a){var h=this.pipeline;t.setPipeline(h,e);var l=e.cropWidth>0||e.cropHeight>0;l&&(h.flush(),t.pushScissor(e.x,e.y,e.cropWidth*e.scaleX,e.cropHeight*e.scaleY));var u=h._tempMatrix1,c=h._tempMatrix2,d=h._tempMatrix3,f=h._tempMatrix4;c.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),u.copyFrom(s.matrix),r?(u.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),c.e=e.x,c.f=e.y,u.multiply(c,d)):(c.e-=s.scrollX*e.scrollFactorX,c.f-=s.scrollY*e.scrollFactorY,u.multiply(c,d));var p=e.frame,g=p.glTexture,v=p.cutX,y=p.cutY,m=g.width,x=g.height,w=e._isTinted&&e.tintFill,b=n.getTintAppendFloatAlpha(e._tintTL,s.alpha*e._alphaTL),T=n.getTintAppendFloatAlpha(e._tintTR,s.alpha*e._alphaTR),S=n.getTintAppendFloatAlpha(e._tintBL,s.alpha*e._alphaBL),_=n.getTintAppendFloatAlpha(e._tintBR,s.alpha*e._alphaBR);h.setTexture2D(g,0);var A,C,M=0,P=0,E=0,k=0,L=e.letterSpacing,F=0,R=0,O=0,D=0,B=e.scrollX,I=e.scrollY,Y=e.fontData,X=Y.chars,z=Y.lineHeight,N=e.fontSize/Y.size,U=0,V=e._align,G=0,W=0;e.getTextBounds(!1);var H=e._bounds.lines;1===V?W=(H.longest-H.lengths[0])/2:2===V&&(W=H.longest-H.lengths[0]);for(var j=s.roundPixels,q=e.displayCallback,K=e.callbackData,J=0;J<a;J++)if(10!==(E=o.charCodeAt(J))){if(A=X[E]){F=v+A.x,R=y+A.y,O=A.width,D=A.height;var Z=A.xOffset+M-B,Q=A.yOffset+P-I;if(null!==C){var $=A.kerning[k];Z+=void 0!==$?$:0}if(M+=A.xAdvance+L,C=A,k=E,0!==O&&0!==D&&32!==E){if(N=e.fontSize/e.fontData.size,U=0,q){K.color=0,K.tint.topLeft=b,K.tint.topRight=T,K.tint.bottomLeft=S,K.tint.bottomRight=_,K.index=J,K.charCode=E,K.x=Z,K.y=Q,K.scale=N,K.rotation=U,K.data=A.data;var tt=q(K);Z=tt.x,Q=tt.y,N=tt.scale,U=tt.rotation,tt.color?(b=tt.color,T=tt.color,S=tt.color,_=tt.color):(b=tt.tint.topLeft,T=tt.tint.topRight,S=tt.tint.bottomLeft,_=tt.tint.bottomRight),b=n.getTintAppendFloatAlpha(b,s.alpha*e._alphaTL),T=n.getTintAppendFloatAlpha(T,s.alpha*e._alphaTR),S=n.getTintAppendFloatAlpha(S,s.alpha*e._alphaBL),_=n.getTintAppendFloatAlpha(_,s.alpha*e._alphaBR)}Z*=N,Q*=N,Z-=e.displayOriginX,Q-=e.displayOriginY,Z+=W,f.applyITRS(Z,Q,U,N,N),d.multiply(f,c);var et=F/m,it=R/x,nt=(F+O)/m,st=(R+D)/x,rt=O,ot=D,at=c.e,ht=c.f,lt=ot*c.c+c.e,ut=ot*c.d+c.f,ct=rt*c.a+ot*c.c+c.e,dt=rt*c.b+ot*c.d+c.f,ft=rt*c.a+c.e,pt=rt*c.b+c.f;j&&(at|=0,ht|=0,lt|=0,ut|=0,ct|=0,dt|=0,ft|=0,pt|=0),h.batchQuad(at,ht,lt,ut,ct,dt,ft,pt,et,it,nt,st,b,T,S,_,w)}}}else G++,1===V?W=(H.longest-H.lengths[G])/2:2===V&&(W=H.longest-H.lengths[G]),M=0,P+=z,C=null;l&&(h.flush(),t.popScissor())}}},function(t,e,i){var n=i(1),s=i(1);n=i(833),s=i(832),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e){t.exports=function(t,e,i,n,s){var r=e.list;if(0!==r.length){var o=e.localTransform;s?(o.loadIdentity(),o.multiply(s),o.translate(e.x,e.y),o.rotate(e.rotation),o.scale(e.scaleX,e.scaleY)):o.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);var a=-1!==e.blendMode;a||t.setBlendMode(0);for(var h=e._alpha,l=e.scrollFactorX,u=e.scrollFactorY,c=0;c<r.length;c++){var d=r[c];if(d.willRender(n)){var f=d._alpha,p=d._blendMode,g=d.scrollFactorX,v=d.scrollFactorY;d.setScrollFactor(g*l,v*u),d.setAlpha(f*h),a&&d.setBlendMode(e._blendMode),d.renderCanvas(t,d,i,n,o),d.setAlpha(f),d.setScrollFactor(g,v),d.setBlendMode(p)}}}}},function(t,e){t.exports=function(t,e,i,n,s){var r=e.list;if(0!==r.length){var o=e.localTransform;s?(o.loadIdentity(),o.multiply(s),o.translate(e.x,e.y),o.rotate(e.rotation),o.scale(e.scaleX,e.scaleY)):o.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY);var a=-1!==e.blendMode;a||t.setBlendMode(0);for(var h=e._alpha,l=e.scrollFactorX,u=e.scrollFactorY,c=0;c<r.length;c++){var d=r[c];if(d.willRender(n)){var f=d._alpha,p=d.scrollFactorX,g=d.scrollFactorY;a||d.blendMode===t.currentBlendMode||t.setBlendMode(d.blendMode),d.setScrollFactor(p*l,g*u),d.setAlpha(f*h),d.renderWebGL(t,d,i,n,o),d.setAlpha(f),d.setScrollFactor(p,g)}}}}},function(t,e,i){var n=i(1),s=i(1);n=i(836),s=i(835),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=new(i(0))({initialize:function(t,e,i,n,s){this.parent=t,this.x=e,this.y=i,this.frame=n,this.data={},this._visible=s,this._alpha=1,this.flipX=!1,this.flipY=!1},setFrame:function(t){return this.frame=void 0===t?this.parent.frame:this.parent.texture.get(t),this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this},reset:function(t,e,i){return this.x=t,this.y=e,this.flipX=!1,this.flipY=!1,this._alpha=1,this._visible=!0,this.parent.dirty=!0,i&&this.setFrame(i),this},setFlipX:function(t){return this.flipX=t,this},setFlipY:function(t){return this.flipY=t,this},setFlip:function(t,e){return this.flipX=t,this.flipY=e,this},setVisible:function(t){return this.visible=t,this},setAlpha:function(t){return this.alpha=t,this},destroy:function(){this.parent.dirty=!0,this.parent.children.remove(this),this.parent=void 0,this.frame=void 0,this.data=void 0},visible:{get:function(){return this._visible},set:function(t){this._visible=t,this.parent.dirty=!0}},alpha:{get:function(){return this._alpha},set:function(t){this._alpha=t,this.parent.dirty=!0}}});t.exports=n},function(t,e){t.exports=function(t,e,i,n,s){var r=e.getRenderList();if(0!==r.length){var o=t.currentContext,a=n.alpha*e.alpha;if(0!==a){o.globalCompositeOperation=t.blendModes[e.blendMode];var h=e.x-n.scrollX*e.scrollFactorX,l=e.y-n.scrollY*e.scrollFactorY;o.save(),s&&s.copyToContext(o);for(var u=n.roundPixels,c=0;c<r.length;c++){var d=r[c],f=d.flipX||d.flipY,p=d.frame,g=p.canvasData,v=p.x,y=p.y,m=1,x=1,w=d.alpha*a;0!==w&&(o.globalAlpha=w,f?(d.flipX&&(m=-1,v-=g.width),d.flipY&&(x=-1,y-=g.height),o.save(),o.translate(d.x+h,d.y+l),o.scale(m,x),o.drawImage(p.source.image,g.x,g.y,g.width,g.height,v,y,g.width,g.height),o.restore()):(u&&(v|=0,y|=0),o.drawImage(p.source.image,g.x,g.y,g.width,g.height,v+d.x+h,y+d.y+l,g.width,g.height)))}o.restore()}}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=e.getRenderList();if(0!==o.length){var a=this.pipeline;t.setPipeline(a,e);var h=s.scrollX*e.scrollFactorX,l=s.scrollY*e.scrollFactorY,u=a._tempMatrix1;u.copyFrom(s.matrix),r&&(u.multiplyWithOffset(r,-h,-l),h=0,l=0);for(var c=e.x-h,d=e.y-l,f=-1,p=s.alpha*e.alpha,g=s.roundPixels,v=0;v<o.length;v++){var y=o[v],m=y.frame,x=y.alpha*p;if(0!==x){var w=m.width,b=m.height,T=c+y.x+m.x,S=d+y.y+m.y;y.flipX&&(w*=-1,T+=m.width),y.flipY&&(b*=-1,S+=m.height);var _=T+w,A=S+b,C=u.getX(T,S),M=u.getY(T,S),P=u.getX(_,A),E=u.getY(_,A),k=n.getTintAppendFloatAlpha(16777215,x);m.sourceIndex!==f&&(a.setTexture2D(m.glTexture,0),f=m.sourceIndex),g&&(C|=0,M|=0,P|=0,E|=0),a.batchQuad(C,M,C,E,P,E,P,M,m.u0,m.v0,m.u1,m.v1,k,k,k,k,!1)&&(f=-1)}}}}},function(t,e,i){var n=i(1),s=i(1);n=i(840),s=i(839),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(22);t.exports=function(t,e,i,s,r){var o=e._text,a=o.length,h=t.currentContext;if(0!==a&&n(t,h,e,s,r)){var l=e.frame,u=e.fontData.chars,c=e.fontData.lineHeight,d=e._letterSpacing,f=0,p=0,g=0,v=null,y=0,m=0,x=0,w=0,b=0,T=0,S=null,_=0,A=e.frame.source.image,C=l.cutX,M=l.cutY,P=e._fontSize/e.fontData.size,E=e._align,k=0,L=0;e.getTextBounds(!1);var F=e._bounds.lines;1===E?L=(F.longest-F.lengths[0])/2:2===E&&(L=F.longest-F.lengths[0]),h.translate(-e.displayOriginX,-e.displayOriginY);for(var R=s.roundPixels,O=0;O<a;O++)if(10!==(g=o.charCodeAt(O))){if(v=u[g]){if(y=C+v.x,m=M+v.y,x=v.width,w=v.height,b=v.xOffset+f,T=v.yOffset+p,null!==S){var D=v.kerning[_];b+=void 0!==D?D:0}b*=P,T*=P,b+=L,f+=v.xAdvance+d,S=v,_=g,0!==x&&0!==w&&32!==g&&(R&&(b|=0,T|=0),h.save(),h.translate(b,T),h.scale(P,P),h.drawImage(A,y,m,x,w,0,0,x,w),h.restore())}}else k++,1===E?L=(F.longest-F.lengths[k])/2:2===E&&(L=F.longest-F.lengths[k]),f=0,p+=c,S=null;h.restore()}}},function(t,e,i){var n=i(10);t.exports=function(t,e,i,s,r){var o=e._text,a=o.length;if(0!==a){var h=this.pipeline;t.setPipeline(h,e);var l=h._tempMatrix1,u=h._tempMatrix2,c=h._tempMatrix3;u.applyITRS(e.x,e.y,e.rotation,e.scaleX,e.scaleY),l.copyFrom(s.matrix),r?(l.multiplyWithOffset(r,-s.scrollX*e.scrollFactorX,-s.scrollY*e.scrollFactorY),u.e=e.x,u.f=e.y,l.multiply(u,c)):(u.e-=s.scrollX*e.scrollFactorX,u.f-=s.scrollY*e.scrollFactorY,l.multiply(u,c));var d=e.frame,f=d.glTexture,p=d.cutX,g=d.cutY,v=f.width,y=f.height,m=e._isTinted&&e.tintFill,x=n.getTintAppendFloatAlpha(e._tintTL,s.alpha*e._alphaTL),w=n.getTintAppendFloatAlpha(e._tintTR,s.alpha*e._alphaTR),b=n.getTintAppendFloatAlpha(e._tintBL,s.alpha*e._alphaBL),T=n.getTintAppendFloatAlpha(e._tintBR,s.alpha*e._alphaBR);h.setTexture2D(f,0);var S,_,A=0,C=0,M=0,P=0,E=e._letterSpacing,k=0,L=0,F=0,R=0,O=e.fontData,D=O.chars,B=O.lineHeight,I=e._fontSize/O.size,Y=e._align,X=0,z=0;e.getTextBounds(!1);var N=e._bounds.lines;1===Y?z=(N.longest-N.lengths[0])/2:2===Y&&(z=N.longest-N.lengths[0]);for(var U=s.roundPixels,V=0;V<a;V++)if(10!==(M=o.charCodeAt(V))){if(S=D[M]){k=p+S.x,L=g+S.y,F=S.width,R=S.height;var G=S.xOffset+A,W=S.yOffset+C;if(null!==_){var H=S.kerning[P];G+=void 0!==H?H:0}if(A+=S.xAdvance+E,_=S,P=M,0!==F&&0!==R&&32!==M){G*=I,W*=I,G-=e.displayOriginX,W-=e.displayOriginY;var j=k/v,q=L/y,K=(k+F)/v,J=(L+R)/y,Z=(G+=z)+F*I,Q=W+R*I,$=c.getX(G,W),tt=c.getY(G,W),et=c.getX(G,Q),it=c.getY(G,Q),nt=c.getX(Z,Q),st=c.getY(Z,Q),rt=c.getX(Z,W),ot=c.getY(Z,W);U&&($|=0,tt|=0,et|=0,it|=0,nt|=0,st|=0,rt|=0,ot|=0),h.batchQuad($,tt,et,it,nt,st,rt,ot,j,q,K,J,x,w,b,T,m)}}}else X++,1===Y?z=(N.longest-N.lengths[X])/2:2===Y&&(z=N.longest-N.lengths[X]),A=0,C+=B,_=null}}},function(t,e,i){var n=i(1),s=i(1);n=i(843),s=i(842),t.exports={renderWebGL:n,renderCanvas:s}},function(t,e,i){var n=i(310);t.exports=function(t,e,i,s,r,o,a){var h=t.sys.textures.getFrame(i,s),l=t.sys.cache.xml.get(r);if(h&&l){var u=n(l,o,a,h);return t.sys.cache.bitmapFont.add(e,{data:u,texture:i,frame:s}),!0}return!1}},function(t,e){t.exports=function(t,e,i){void 0===i&&(i={local:{x:0,y:0,width:0,height:0},global:{x:0,y:0,width:0,height:0},lines:{shortest:0,longest:0,lengths:null}});for(var n=t.text,s=n.length,r=Number.MAX_VALUE,o=Number.MAX_VALUE,a=0,h=0,l=t.fontData.chars,u=t.fontData.lineHeight,c=t.letterSpacing,d=0,f=0,p=0,g=null,v=0,y=0,m=t.fontSize/t.fontData.size,x=m*t.scaleX,w=m*t.scaleY,b=null,T=0,S=[],_=Number.MAX_VALUE,A=0,C=0,M=0,P=0;P<s;P++)if(10!==(p=n.charCodeAt(P))){if(g=l[p]){if(v=d,y=f,null!==b){var E=g.kerning[T];v+=void 0!==E?E:0}r>v&&(r=v),o>y&&(o=y);var k=v+g.xAdvance,L=y+u;a<k&&(a=k),h<L&&(h=L),d+=g.xAdvance+c,b=g,T=p,M=k*m}}else d=0,f+=u,b=null,S[C]=M,M>A&&(A=M),M<_&&(_=M),C++,M=0;S[C]=M,M>A&&(A=M),M<_&&(_=M);var F=i.local,R=i.global,O=i.lines;return F.x=r*m,F.y=o*m,F.width=a*m,F.height=h*m,R.x=t.x-t.displayOriginX+r*x,R.y=t.y-t.displayOriginY+o*w,R.width=a*x,R.height=h*w,O.shortest=_,O.longest=A,O.lengths=S,e&&(F.x=Math.round(F.x),F.y=Math.round(F.y),F.width=Math.round(F.width),F.height=Math.round(F.height),R.x=Math.round(R.x),R.y=Math.round(R.y),R.width=Math.round(R.width),R.height=Math.round(R.height),O.shortest=Math.round(_),O.longest=Math.round(A)),i}},function(t,e,i){var n=i(0),s=i(15),r=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this._list=[],this._pendingInsertion=[],this._pendingRemoval=[],t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},start:function(){var t=this.systems.events;t.on("preupdate",this.preUpdate,this),t.on("update",this.update,this),t.once("shutdown",this.shutdown,this)},add:function(t){return-1===this._list.indexOf(t)&&-1===this._pendingInsertion.indexOf(t)&&this._pendingInsertion.push(t),t},preUpdate:function(){var t=this._pendingRemoval.length,e=this._pendingInsertion.length;if(0!==t||0!==e){var i,n;for(i=0;i<t;i++){n=this._pendingRemoval[i];var s=this._list.indexOf(n);s>-1&&this._list.splice(s,1)}this._list=this._list.concat(this._pendingInsertion.splice(0)),this._pendingRemoval.length=0,this._pendingInsertion.length=0}},update:function(t,e){for(var i=0;i<this._list.length;i++){var n=this._list[i];n.active&&n.preUpdate.call(n,t,e)}},remove:function(t){var e=this._list.indexOf(t);return-1!==e&&this._list.splice(e,1),t},removeAll:function(){for(var t=this._list.length;t--;)this.remove(this._list[t]);return this},shutdown:function(){for(var t=this._list.length;t--;)this._list[t].destroy(!0);for(t=this._pendingRemoval.length;t--;)this._pendingRemoval[t].destroy(!0);for(t=this._pendingInsertion.length;t--;)this._pendingInsertion[t].destroy(!0);this._list.length=0,this._pendingRemoval.length=0,this._pendingInsertion.length=0;var e=this.systems.events;e.off("preupdate",this.preUpdate,this),e.off("update",this.update,this),e.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null},length:{get:function(){return this._list.length}}});s.register("UpdateList",r,"updateList"),t.exports=r},function(t,e){t.exports=function(t,e,i){if(e!==i){var n=t.indexOf(e),s=t.indexOf(i);if(n<0||s<0)throw new Error("Supplied items must be elements of the same array");return t[n]=i,t[s]=e,t}}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){if(void 0===s&&(s=0),void 0===r&&(r=t.length),n(t,s,r))for(var o=s;o<r;o++){var a=t[o];a.hasOwnProperty(e)&&(a[e]=i)}return t}},function(t,e){t.exports=function(t,e){var i=t.indexOf(e);return-1!==i&&i>0&&(t.splice(i,1),t.unshift(e)),e}},function(t,e){t.exports=function(t,e,i){var n=t.indexOf(e),s=t.indexOf(i);return-1!==n&&-1===s&&(t[n]=i,!0)}},function(t,e,i){var n=i(91);t.exports=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=t.length);var s=e+Math.floor(Math.random()*i);return n(t,s)}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){if(void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===r&&(r=t),n(t,e,i)){var o=i-e,a=t.splice(e,o);if(s)for(var h=0;h<a.length;h++){var l=a[h];s.call(r,l)}return a}return[]}},function(t,e,i){var n=i(91);t.exports=function(t,e,i,s){if(void 0===s&&(s=t),e<0||e>t.length-1)throw new Error("Index out of bounds");var r=n(t,e);return i&&i.call(s,r),r}},function(t,e,i){var n=i(314);t.exports=function(t,e,i){void 0===t&&(t=0),void 0===e&&(e=null),void 0===i&&(i=1),null===e&&(e=t,t=0);for(var s=[],r=Math.max(n((e-t)/(i||1)),0),o=0;o<r;o++)s.push(t),t+=i;return s}},function(t,e){t.exports=function(t,e,i,n){for(var s=[],r=t;r<=e;r++)if(i||n){var o=i?i+r.toString():r.toString();n&&(o=o.concat(n)),s.push(o)}else s.push(r);return s}},function(t,e){t.exports=function(t,e){var i=t.indexOf(e);if(-1!==i&&i<t.length-2){var n=t[i+1],s=t.indexOf(n);t[i]=n,t[s]=e}return t}},function(t,e){t.exports=function(t,e,i){var n=t.indexOf(e);if(-1===n||i<0||i>=t.length)throw new Error("Supplied index out of bounds");return n!==i&&(t.splice(n,1),t.splice(i,0,e)),e}},function(t,e){t.exports=function(t,e){var i=t.indexOf(e);if(i>0){var n=t[i-1],s=t.indexOf(n);t[i]=n,t[s]=e}return t}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){if(void 0===s&&(s=0),void 0===r&&(r=t.length),n(t,s,r))for(var o=s;o<r;o++){var a=t[o];if(!e||e&&void 0===i&&a.hasOwnProperty(e)||e&&void 0!==i&&a[e]===i)return a}return null}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){void 0===s&&(s=0),void 0===r&&(r=t.length);var o=[];if(n(t,s,r))for(var a=s;a<r;a++){var h=t[a];(!e||e&&void 0===i&&h.hasOwnProperty(e)||e&&void 0!==i&&h[e]===i)&&o.push(h)}return o}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){if(void 0===s&&(s=0),void 0===r&&(r=t.length),n(t,s,r)){var o,a=[null];for(o=5;o<arguments.length;o++)a.push(arguments[o]);for(o=s;o<r;o++)a[0]=t[o],e.apply(i,a)}return t}},function(t,e){t.exports=function(t,e,i){var n,s=[null];for(n=3;n<arguments.length;n++)s.push(arguments[n]);for(n=0;n<t.length;n++)s[0]=t[n],e.apply(i,s);return t}},function(t,e,i){var n=i(62);t.exports=function(t,e,i,s,r){void 0===s&&(s=0),void 0===r&&(r=t.length);var o=0;if(n(t,s,r))for(var a=s;a<r;a++)t[a][e]===i&&o++;return o}},function(t,e){t.exports=function(t,e){var i=t.indexOf(e);return-1!==i&&i<t.length&&(t.splice(i,1),t.push(e)),e}},function(t,e){t.exports=function(t,e,i,n,s,r){if(void 0===i&&(i=0),void 0===r&&(r=t),n>0){var o=n-t.length;if(o<=0)return null}if(!Array.isArray(e))return-1===t.indexOf(e)?(t.splice(i,0,e),s&&s.call(r,e),e):null;for(var a=e.length-1;a>=0;)-1!==t.indexOf(e[a])&&e.pop(),a--;if(0===(a=e.length))return null;n>0&&a>o&&(e.splice(o),a=o);for(var h=a-1;h>=0;h--){var l=e[h];t.splice(i,0,l),s&&s.call(r,l)}return e}},function(t,e){t.exports=function(t,e,i,n,s){if(void 0===s&&(s=t),i>0){var r=i-t.length;if(r<=0)return null}if(!Array.isArray(e))return-1===t.indexOf(e)?(t.push(e),n&&n.call(s,e),e):null;for(var o=e.length-1;o>=0;)-1!==t.indexOf(e[o])&&e.pop(),o--;if(0===(o=e.length))return null;i>0&&o>r&&(e.splice(r),o=r);for(var a=0;a<o;a++){var h=e[a];t.push(h),n&&n.call(s,h)}return e}},function(t,e,i){var n=i(111);t.exports=function(t){return n(t,-90)}},function(t,e,i){var n=i(111);t.exports=function(t){return n(t,90)}},function(t,e,i){var n=i(111);t.exports=function(t){return n(t,180)}},function(t,e){t.exports=function(t){return t.reverse()}},function(t,e){t.exports=function(t){for(var e=0;e<t.length;e++)t[e].reverse();return t}},function(t,e,i){var n=i(179),s=i(163);t.exports=function(t){var e="";if(!s(t))return e;for(var i=0;i<t.length;i++){for(var r=0;r<t[i].length;r++){var o=t[i][r].toString();e+="undefined"!==o?n(o,2):"?",r<t[i].length-1&&(e+=" |")}if(i<t.length-1){e+="\n";for(var a=0;a<t[i].length;a++)e+="---",a<t[i].length-1&&(e+="+");e+="\n"}}return e}},function(t,e,i){t.exports={CheckMatrix:i(163),MatrixToString:i(873),ReverseColumns:i(872),ReverseRows:i(871),Rotate180:i(870),RotateLeft:i(869),RotateMatrix:i(111),RotateRight:i(868),TransposeMatrix:i(315)}},function(t,e,i){var n=i(0),s=i(112),r=i(15),o=i(110),a=new n({Extends:s,initialize:function(t){s.call(this,t),this.sortChildrenFlag=!1,this.scene=t,this.systems=t.sys,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.systems.events.once("destroy",this.destroy,this)},start:function(){this.systems.events.once("shutdown",this.shutdown,this)},queueDepthSort:function(){this.sortChildrenFlag=!0},depthSort:function(){this.sortChildrenFlag&&(o.inplace(this.list,this.sortByDepth),this.sortChildrenFlag=!1)},sortByDepth:function(t,e){return t._depth-e._depth},sortGameObjects:function(t){return void 0===t&&(t=this.list),this.scene.sys.depthSort(),t.sort(this.sortIndexHandler.bind(this))},getTopGameObject:function(t){return this.sortGameObjects(t),t[t.length-1]},getChildren:function(){return this.list},shutdown:function(){for(var t=this.list.length;t--;)this.list[t].destroy(!0);this.list.length=0,this.systems.events.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});r.register("DisplayList",a,"displayList"),t.exports=a},function(t,e,i){var n={DisplayList:i(875),GameObjectCreator:i(13),GameObjectFactory:i(5),UpdateList:i(847),Components:i(14),BuildGameObject:i(28),BuildGameObjectAnimation:i(311),GameObject:i(19),BitmapText:i(109),Blitter:i(161),Container:i(160),DynamicBitmapText:i(159),Graphics:i(158),Group:i(88),Image:i(87),Particles:i(823),PathFollower:i(296),RenderTexture:i(154),RetroFont:i(814),Sprite:i(61),Text:i(153),TileSprite:i(152),Zone:i(125),Shape:i(27),Arc:i(293),Curve:i(292),Ellipse:i(291),Grid:i(290),IsoBox:i(289),IsoTriangle:i(288),Line:i(287),Polygon:i(286),Rectangle:i(281),Star:i(280),Triangle:i(279),Factories:{Blitter:i(769),Container:i(768),DynamicBitmapText:i(767),Graphics:i(766),Group:i(765),Image:i(764),Particles:i(763),PathFollower:i(762),RenderTexture:i(761),Sprite:i(760),StaticBitmapText:i(759),Text:i(758),TileSprite:i(757),Zone:i(756),Arc:i(755),Curve:i(754),Ellipse:i(753),Grid:i(752),IsoBox:i(751),IsoTriangle:i(750),Line:i(749),Polygon:i(748),Rectangle:i(747),Star:i(746),Triangle:i(745)},Creators:{Blitter:i(744),Container:i(743),DynamicBitmapText:i(742),Graphics:i(741),Group:i(740),Image:i(739),Particles:i(738),RenderTexture:i(737),Sprite:i(736),StaticBitmapText:i(735),Text:i(734),TileSprite:i(733),Zone:i(732)}};n.Mesh=i(108),n.Quad=i(149),n.Factories.Mesh=i(728),n.Factories.Quad=i(727),n.Creators.Mesh=i(726),n.Creators.Quad=i(725),n.Light=i(276),i(275),i(724),t.exports=n},function(t,e){t.exports=function(t){var e,i=t.events;void 0!==document.hidden?e="visibilitychange":["webkit","moz","ms"].forEach(function(t){void 0!==document[t+"Hidden"]&&(document.hidden=function(){return document[t+"Hidden"]},e=t+"visibilitychange")});e&&document.addEventListener(e,function(t){document.hidden||"pause"===t.type?i.emit("hidden"):i.emit("visible")},!1),window.onblur=function(){i.emit("blur")},window.onfocus=function(){i.emit("focus")},window.focus&&t.config.autoFocus&&(window.focus(),t.canvas.addEventListener("mousedown",function(){window.focus()},{passive:!0})),t.canvas&&(t.canvas.onmouseout=function(){t.isOver=!1,i.emit("mouseout")},t.canvas.onmouseover=function(){t.isOver=!0,i.emit("mouseover")})}},function(t,e,i){var n=i(0),s=i(4),r=i(1),o=i(341),a=new n({initialize:function(t,e){this.game=t,this.raf=new o,this.started=!1,this.running=!1,this.minFps=s(e,"min",5),this.targetFps=s(e,"target",60),this._min=1e3/this.minFps,this._target=1e3/this.targetFps,this.actualFps=this.targetFps,this.nextFpsUpdate=0,this.framesThisSecond=0,this.callback=r,this.forceSetTimeOut=s(e,"forceSetTimeOut",!1),this.time=0,this.startTime=0,this.lastTime=0,this.frame=0,this.inFocus=!0,this._pauseTime=0,this._coolDown=0,this.delta=0,this.deltaIndex=0,this.deltaHistory=[],this.deltaSmoothingMax=s(e,"deltaHistory",10),this.panicMax=s(e,"panicMax",120),this.rawDelta=0},blur:function(){this.inFocus=!1},focus:function(){this.inFocus=!0,this.resetDelta()},pause:function(){this._pauseTime=window.performance.now()},resume:function(){this.resetDelta(),this.startTime+=this.time-this._pauseTime},resetDelta:function(){var t=window.performance.now();this.time=t,this.lastTime=t,this.nextFpsUpdate=t+1e3,this.framesThisSecond=0,this.frame=0;for(var e=0;e<this.deltaSmoothingMax;e++)this.deltaHistory[e]=Math.min(this._target,this.deltaHistory[e]);this.delta=0,this.deltaIndex=0,this._coolDown=this.panicMax},start:function(t){if(this.started)return this;this.started=!0,this.running=!0;for(var e=0;e<this.deltaSmoothingMax;e++)this.deltaHistory[e]=this._target;this.resetDelta(),this.startTime=window.performance.now(),this.callback=t,this.raf.start(this.step.bind(this),this.forceSetTimeOut)},step:function(t){this.frame++;var e=t-this.lastTime;e<0&&(e=0),this.rawDelta=e;var i=this.deltaIndex,n=this.deltaHistory,s=this.deltaSmoothingMax,r=e;(this._coolDown>0||!this.inFocus)&&(this._coolDown--,r=Math.min(r,this._target)),r>this._min&&(r=n[i],r=Math.min(r,this._min)),n[i]=r,this.deltaIndex++,this.deltaIndex>s&&(this.deltaIndex=0);for(var o=0,a=0;a<s;a++)o+=n[a];o/=s,this.delta=o,this.time+=this.rawDelta,t>this.nextFpsUpdate&&(this.actualFps=.25*this.framesThisSecond+.75*this.actualFps,this.nextFpsUpdate=t+1e3,this.framesThisSecond=0),this.framesThisSecond++;var h=o/this._target;this.callback(t,o,h),this.lastTime=t},tick:function(){this.step(window.performance.now())},sleep:function(){this.running&&(this.raf.stop(),this.running=!1)},wake:function(t){this.running?this.sleep():t&&(this.startTime+=-this.lastTime+(this.lastTime=window.performance.now())),this.raf.start(this.step.bind(this),this.useRAF),this.running=!0,this.step(window.performance.now())},stop:function(){return this.running=!1,this.started=!1,this.raf.stop(),this},destroy:function(){this.stop(),this.callback=r,this.raf=null,this.game=null}});t.exports=a},function(t,e){var i=0,n=function(t,e,n,s){var r=i-s.y-s.height;t.add(n,e,s.x,r,s.width,s.height)};t.exports=function(t,e,s){var r=t.source[e];t.add("__BASE",e,0,0,r.width,r.height),i=r.height;for(var o=s.split("\n"),a=/^[ ]*(- )*(\w+)+[: ]+(.*)/,h="",l="",u={x:0,y:0,width:0,height:0},c=0;c<o.length;c++){var d=o[c].match(a);if(d){var f="- "===d[1],p=d[2],g=d[3];if(f&&(l!==h&&(n(t,e,l,u),h=l),u={x:0,y:0,width:0,height:0}),"name"!==p)switch(p){case"x":case"y":case"width":case"height":u[p]=parseInt(g,10)}else l=g}}return l!==h&&n(t,e,l,u),t}},function(t,e,i){var n=i(2);t.exports=function(t,e,i){var s=n(i,"frameWidth",null),r=n(i,"frameHeight",s);if(!s)throw new Error("TextureManager.SpriteSheetFromAtlas: Invalid frameWidth given.");var o,a=n(i,"startFrame",0),h=n(i,"endFrame",-1),l=n(i,"margin",0),u=n(i,"spacing",0),c=e.cutX,d=e.cutY,f=e.cutWidth,p=e.cutHeight,g=e.realWidth,v=e.realHeight,y=Math.floor((g-l+u)/(s+u)),m=Math.floor((v-l+u)/(r+u)),x=y*m,w=e.x,b=s-w,T=s-(g-f-w),S=e.y,_=r-S,A=r-(v-p-S);(a>x||a<-x)&&(a=0),a<0&&(a=x+a),-1!==h&&(x=a+(h+1));for(var C=l,M=l,P=0,E=e.sourceIndex,k=0;k<m;k++){for(var L=0===k,F=k===m-1,R=0;R<y;R++){var O=0===R,D=R===y-1;if(o=t.add(P,E,c+C,d+M,s,r),O||L||D||F){var B=O?w:0,I=L?S:0,Y=s,X=r;O?Y=b:D&&(Y=T),L?X=_:F&&(X=A),o.cutWidth=Y,o.cutHeight=X,o.setTrim(s,r,B,I,Y,X)}C+=u,C+=O?b:D||s,P++}C=l,M+=u,M+=L?_:F?A:r}return t}},function(t,e,i){var n=i(2);t.exports=function(t,e,i,s,r,o,a){var h=n(a,"frameWidth",null),l=n(a,"frameHeight",h);if(null===h)throw new Error("TextureManager.SpriteSheet: Invalid frameWidth given.");var u=t.source[e];t.add("__BASE",e,0,0,u.width,u.height);var c=n(a,"startFrame",0),d=n(a,"endFrame",-1),f=n(a,"margin",0),p=n(a,"spacing",0),g=Math.floor((r-f+p)/(h+p))*Math.floor((o-f+p)/(l+p));0===g&&console.warn("SpriteSheet frame dimensions will result in zero frames."),(c>g||c<-g)&&(c=0),c<0&&(c=g+c),-1!==d&&(g=c+(d+1));for(var v=f,y=f,m=0,x=0,w=0;w<g;w++){m=0,x=0;var b=v+h,T=y+l;b>r&&(m=b-r),T>o&&(x=T-o),t.add(w,e,i+v,s+y,h-m,l-x),(v+=h+p)+h>r&&(v=f,y+=l+p)}return t}},function(t,e,i){var n=i(63);t.exports=function(t,e,i){if(i.frames){var s=t.source[e];t.add("__BASE",e,0,0,s.width,s.height);var r,o=i.frames;for(var a in o){var h=o[a];r=t.add(a,e,h.frame.x,h.frame.y,h.frame.w,h.frame.h),h.trimmed&&r.setTrim(h.sourceSize.w,h.sourceSize.h,h.spriteSourceSize.x,h.spriteSourceSize.y,h.spriteSourceSize.w,h.spriteSourceSize.h),h.rotated&&(r.rotated=!0,r.updateUVsInverted()),r.customData=n(h)}for(var l in i)"frames"!==l&&(Array.isArray(i[l])?t.customData[l]=i[l].slice(0):t.customData[l]=i[l]);return t}console.warn("Invalid Texture Atlas JSON Hash given, missing 'frames' Object")}},function(t,e,i){var n=i(63);t.exports=function(t,e,i){if(i.frames||i.textures){var s=t.source[e];t.add("__BASE",e,0,0,s.width,s.height);for(var r,o=Array.isArray(i.textures)?i.textures[e].frames:i.frames,a=0;a<o.length;a++){var h=o[a];r=t.add(h.filename,e,h.frame.x,h.frame.y,h.frame.w,h.frame.h),h.trimmed&&r.setTrim(h.sourceSize.w,h.sourceSize.h,h.spriteSourceSize.x,h.spriteSourceSize.y,h.spriteSourceSize.w,h.spriteSourceSize.h),h.rotated&&(r.rotated=!0,r.updateUVsInverted()),h.anchor&&(r.customPivot=!0,r.pivotX=h.anchor.x,r.pivotY=h.anchor.y),r.customData=n(h)}for(var l in i)"frames"!==l&&(Array.isArray(i[l])?t.customData[l]=i[l].slice(0):t.customData[l]=i[l]);return t}console.warn("Invalid Texture Atlas JSON Array")}},function(t,e){t.exports=function(t,e){var i=t.source[e];return t.add("__BASE",e,0,0,i.width,i.height),t}},function(t,e){t.exports=function(t,e){var i=t.source[e];return t.add("__BASE",e,0,0,i.width,i.height),t}},function(t,e){t.exports=function(t,e,i){if(i.getElementsByTagName("TextureAtlas")){var n=t.source[e];t.add("__BASE",e,0,0,n.width,n.height);for(var s,r=i.getElementsByTagName("SubTexture"),o=0;o<r.length;o++){var a=r[o].attributes,h=a.name.value,l=parseInt(a.x.value,10),u=parseInt(a.y.value,10),c=parseInt(a.width.value,10),d=parseInt(a.height.value,10);if(s=t.add(h,e,l,u,c,d),a.frameX){var f=Math.abs(parseInt(a.frameX.value,10)),p=Math.abs(parseInt(a.frameY.value,10)),g=parseInt(a.frameWidth.value,10),v=parseInt(a.frameHeight.value,10);s.setTrim(c,d,f,p,g,v)}}return t}console.warn("Invalid Texture Atlas XML given")}},function(t,e,i){var n=i(0),s=i(37),r=i(117),o=i(165),a=new n({Extends:o,initialize:function(t,e,i,n,s){o.call(this,t,e,i,n,s),this.add("__BASE",0,0,0,n,s),this._source=this.frames.__BASE.source,this.canvas=this._source.image,this.context=this.canvas.getContext("2d"),this.width=n,this.height=s,this.imageData=this.context.getImageData(0,0,n,s),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.buffer,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data)},update:function(){return this.imageData=this.context.getImageData(0,0,this.width,this.height),this.data=this.imageData.data,this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data,this},draw:function(t,e,i){return this.context.drawImage(i,t,e),this.update()},getPixel:function(t,e,i){i||(i=new s);var n=~~(t+e*this.width);n*=4;var r=this.data[n],o=this.data[++n],a=this.data[++n],h=this.data[++n];return i.setTo(r,o,a,h)},refresh:function(){return this._source.update(),this},getCanvas:function(){return this.canvas},getContext:function(){return this.context},clear:function(){return this.context.clearRect(0,0,this.width,this.height),this.update()},setSize:function(t,e){return void 0===e&&(e=t),t===this.width&&e===this.height||(this.canvas.width=t,this.canvas.height=e,this._source.width=t,this._source.height=e,this._source.isPowerOf2=r(t,e),this.frames.__BASE.setSize(t,e,0,0),this.refresh()),this}});t.exports=a},function(t,e,i){t.exports={game:"game",anims:"anims",cache:"cache",plugins:"plugins",registry:"registry",sound:"sound",textures:"textures",events:"events",cameras:"cameras",add:"add",make:"make",scenePlugin:"scene",displayList:"children",lights:"lights",data:"data",input:"input",load:"load",time:"time",tweens:"tweens",arcadePhysics:"physics",impactPhysics:"impact",matterPhysics:"matter"}},function(t,e,i){var n=i(2);t.exports=function(t){var e=t.plugins.getDefaultScenePlugins(),i=n(t.settings,"plugins",!1);return Array.isArray(i)?i:e||[]}},function(t,e,i){var n=i(2),s=i(327);t.exports=function(t){var e=t.game.config.defaultPhysicsSystem,i=n(t.settings,"physics",!1);if(e||i){var r=[];if(e&&r.push(s(e+"Physics")),i)for(var o in i)o=s(o.concat("Physics")),-1===r.indexOf(o)&&r.push(o);return r}}},function(t,e,i){var n=i(26);t.exports=function(t){var e=t.config;if(!e.hideBanner){var i="WebGL";e.renderType===n.CANVAS?i="Canvas":e.renderType===n.HEADLESS&&(i="Headless");var s,r=e.audio,o=t.device.audio;if(s=!o.webAudio||r&&r.disableWebAudio?r&&r.noAudio||!o.webAudio&&!o.audioData?"No Audio":"HTML5 Audio":"Web Audio",t.device.browser.ie)window.console&&console.log("Phaser v"+n.VERSION+" / https://phaser.io");else{var a,h="",l=[h];Array.isArray(e.bannerBackgroundColor)?(e.bannerBackgroundColor.forEach(function(t){h=h.concat("%c "),l.push("background: "+t),a=t}),l[l.length-1]="color: "+e.bannerTextColor+"; background: "+a):(h=h.concat("%c "),l.push("color: "+e.bannerTextColor+"; background: "+e.bannerBackgroundColor)),l.push("background: #fff"),e.gameTitle&&(h=h.concat(e.gameTitle),e.gameVersion&&(h=h.concat(" v"+e.gameVersion)),e.hidePhaser||(h=h.concat(" / "))),e.hidePhaser||(h=h.concat("Phaser v"+n.VERSION+" ("+i+" | "+s+")")),h=h.concat(" %c "+e.gameURL),l[0]=h,console.log.apply(console,l)}}}},function(t,e){t.exports=["#define SHADER_NAME PHASER_TEXTURE_TINT_VS","","precision mediump float;","","uniform mat4 uProjectionMatrix;","uniform mat4 uViewMatrix;","uniform mat4 uModelMatrix;","","attribute vec2 inPosition;","attribute vec2 inTexCoord;","attribute float inTintEffect;","attribute vec4 inTint;","","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","","void main ()","{","    gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * vec4(inPosition, 1.0, 1.0);","","    outTexCoord = inTexCoord;","    outTint = inTint;","    outTintEffect = inTintEffect;","}","",""].join("\n")},function(t,e){t.exports=["#define SHADER_NAME PHASER_TEXTURE_TINT_FS","","precision mediump float;","","uniform sampler2D uMainSampler;","","varying vec2 outTexCoord;","varying float outTintEffect;","varying vec4 outTint;","","void main()","{","    vec4 texture = texture2D(uMainSampler, outTexCoord);","    vec4 texel = vec4(outTint.rgb * outTint.a, outTint.a);","    vec4 color = texture;","","    if (outTintEffect == 0.0)","    {","        //  Multiply texture tint","        color = texture * texel;","    }","    else if (outTintEffect == 1.0)","    {","        //  Solid color + texture alpha","        color.rgb = mix(texture.rgb, outTint.rgb * outTint.a, texture.a);","        color.a = texture.a * texel.a;","    }","    else if (outTintEffect == 2.0)","    {","        //  Solid color, no texture","        color = texel;","    }","","    gl_FragColor = color;","}",""].join("\n")},function(t,e){var i={modelMatrixDirty:!1,viewMatrixDirty:!1,projectionMatrixDirty:!1,modelMatrix:null,viewMatrix:null,projectionMatrix:null,mvpInit:function(){return this.modelMatrixDirty=!0,this.viewMatrixDirty=!0,this.projectionMatrixDirty=!0,this.modelMatrix=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.viewMatrix=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.projectionMatrix=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this},mvpUpdate:function(){var t=this.program;return this.modelMatrixDirty&&(this.renderer.setMatrix4(t,"uModelMatrix",!1,this.modelMatrix),this.modelMatrixDirty=!1),this.viewMatrixDirty&&(this.renderer.setMatrix4(t,"uViewMatrix",!1,this.viewMatrix),this.viewMatrixDirty=!1),this.projectionMatrixDirty&&(this.renderer.setMatrix4(t,"uProjectionMatrix",!1,this.projectionMatrix),this.projectionMatrixDirty=!1),this},modelIdentity:function(){var t=this.modelMatrix;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this.modelMatrixDirty=!0,this},modelScale:function(t,e,i){var n=this.modelMatrix;return n[0]=n[0]*t,n[1]=n[1]*t,n[2]=n[2]*t,n[3]=n[3]*t,n[4]=n[4]*e,n[5]=n[5]*e,n[6]=n[6]*e,n[7]=n[7]*e,n[8]=n[8]*i,n[9]=n[9]*i,n[10]=n[10]*i,n[11]=n[11]*i,this.modelMatrixDirty=!0,this},modelTranslate:function(t,e,i){var n=this.modelMatrix;return n[12]=n[0]*t+n[4]*e+n[8]*i+n[12],n[13]=n[1]*t+n[5]*e+n[9]*i+n[13],n[14]=n[2]*t+n[6]*e+n[10]*i+n[14],n[15]=n[3]*t+n[7]*e+n[11]*i+n[15],this.modelMatrixDirty=!0,this},modelRotateX:function(t){var e=this.modelMatrix,i=Math.sin(t),n=Math.cos(t),s=e[4],r=e[5],o=e[6],a=e[7],h=e[8],l=e[9],u=e[10],c=e[11];return e[4]=s*n+h*i,e[5]=r*n+l*i,e[6]=o*n+u*i,e[7]=a*n+c*i,e[8]=h*n-s*i,e[9]=l*n-r*i,e[10]=u*n-o*i,e[11]=c*n-a*i,this.modelMatrixDirty=!0,this},modelRotateY:function(t){var e=this.modelMatrix,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[8],l=e[9],u=e[10],c=e[11];return e[0]=s*n-h*i,e[1]=r*n-l*i,e[2]=o*n-u*i,e[3]=a*n-c*i,e[8]=s*i+h*n,e[9]=r*i+l*n,e[10]=o*i+u*n,e[11]=a*i+c*n,this.modelMatrixDirty=!0,this},modelRotateZ:function(t){var e=this.modelMatrix,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[4],l=e[5],u=e[6],c=e[7];return e[0]=s*n+h*i,e[1]=r*n+l*i,e[2]=o*n+u*i,e[3]=a*n+c*i,e[4]=h*n-s*i,e[5]=l*n-r*i,e[6]=u*n-o*i,e[7]=c*n-a*i,this.modelMatrixDirty=!0,this},viewIdentity:function(){var t=this.viewMatrix;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this.viewMatrixDirty=!0,this},viewScale:function(t,e,i){var n=this.viewMatrix;return n[0]=n[0]*t,n[1]=n[1]*t,n[2]=n[2]*t,n[3]=n[3]*t,n[4]=n[4]*e,n[5]=n[5]*e,n[6]=n[6]*e,n[7]=n[7]*e,n[8]=n[8]*i,n[9]=n[9]*i,n[10]=n[10]*i,n[11]=n[11]*i,this.viewMatrixDirty=!0,this},viewTranslate:function(t,e,i){var n=this.viewMatrix;return n[12]=n[0]*t+n[4]*e+n[8]*i+n[12],n[13]=n[1]*t+n[5]*e+n[9]*i+n[13],n[14]=n[2]*t+n[6]*e+n[10]*i+n[14],n[15]=n[3]*t+n[7]*e+n[11]*i+n[15],this.viewMatrixDirty=!0,this},viewRotateX:function(t){var e=this.viewMatrix,i=Math.sin(t),n=Math.cos(t),s=e[4],r=e[5],o=e[6],a=e[7],h=e[8],l=e[9],u=e[10],c=e[11];return e[4]=s*n+h*i,e[5]=r*n+l*i,e[6]=o*n+u*i,e[7]=a*n+c*i,e[8]=h*n-s*i,e[9]=l*n-r*i,e[10]=u*n-o*i,e[11]=c*n-a*i,this.viewMatrixDirty=!0,this},viewRotateY:function(t){var e=this.viewMatrix,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[8],l=e[9],u=e[10],c=e[11];return e[0]=s*n-h*i,e[1]=r*n-l*i,e[2]=o*n-u*i,e[3]=a*n-c*i,e[8]=s*i+h*n,e[9]=r*i+l*n,e[10]=o*i+u*n,e[11]=a*i+c*n,this.viewMatrixDirty=!0,this},viewRotateZ:function(t){var e=this.viewMatrix,i=Math.sin(t),n=Math.cos(t),s=e[0],r=e[1],o=e[2],a=e[3],h=e[4],l=e[5],u=e[6],c=e[7];return e[0]=s*n+h*i,e[1]=r*n+l*i,e[2]=o*n+u*i,e[3]=a*n+c*i,e[4]=h*n-s*i,e[5]=l*n-r*i,e[6]=u*n-o*i,e[7]=c*n-a*i,this.viewMatrixDirty=!0,this},viewLoad2D:function(t){var e=this.viewMatrix;return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=0,e[4]=t[2],e[5]=t[3],e[6]=0,e[7]=0,e[8]=t[4],e[9]=t[5],e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this.viewMatrixDirty=!0,this},viewLoad:function(t){var e=this.viewMatrix;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this.viewMatrixDirty=!0,this},projIdentity:function(){var t=this.projectionMatrix;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this.projectionMatrixDirty=!0,this},projOrtho:function(t,e,i,n,s,r){var o=this.projectionMatrix,a=1/(t-e),h=1/(i-n),l=1/(s-r);return o[0]=-2*a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*h,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*l,o[11]=0,o[12]=(t+e)*a,o[13]=(n+i)*h,o[14]=(r+s)*l,o[15]=1,this.projectionMatrixDirty=!0,this},projPersp:function(t,e,i,n){var s=this.projectionMatrix,r=1/Math.tan(t/2),o=1/(i-n);return s[0]=r/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=r,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(n+i)*o,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*n*i*o,s[15]=0,this.projectionMatrixDirty=!0,this}};t.exports=i},function(t,e){t.exports=["#define SHADER_NAME PHASER_FORWARD_DIFFUSE_FS","","precision mediump float;","","struct Light","{","    vec2 position;","    vec3 color;","    float intensity;","    float radius;","};","","const int kMaxLights = %LIGHT_COUNT%;","","uniform vec4 uCamera; /* x, y, rotation, zoom */","uniform vec2 uResolution;","uniform sampler2D uMainSampler;","uniform sampler2D uNormSampler;","uniform vec3 uAmbientLightColor;","uniform Light uLights[kMaxLights];","","varying vec2 outTexCoord;","varying vec4 outTint;","","void main()","{","    vec3 finalColor = vec3(0.0, 0.0, 0.0);","    vec4 color = texture2D(uMainSampler, outTexCoord) * vec4(outTint.rgb * outTint.a, outTint.a);","    vec3 normalMap = texture2D(uNormSampler, outTexCoord).rgb;","    vec3 normal = normalize(vec3(normalMap * 2.0 - 1.0));","    vec2 res = vec2(min(uResolution.x, uResolution.y)) * uCamera.w;","","    for (int index = 0; index < kMaxLights; ++index)","    {","        Light light = uLights[index];","        vec3 lightDir = vec3((light.position.xy / res) - (gl_FragCoord.xy / res), 0.1);","        vec3 lightNormal = normalize(lightDir);","        float distToSurf = length(lightDir) * uCamera.w;","        float diffuseFactor = max(dot(normal, lightNormal), 0.0);","        float radius = (light.radius / res.x * uCamera.w) * uCamera.w;","        float attenuation = clamp(1.0 - distToSurf * distToSurf / (radius * radius), 0.0, 1.0);","        vec3 diffuse = light.color * diffuseFactor;","        finalColor += (attenuation * diffuse) * light.intensity;","    }","","    vec4 colorOutput = vec4(uAmbientLightColor + finalColor, 1.0);","    gl_FragColor = color * vec4(colorOutput.rgb * colorOutput.a, colorOutput.a);","","}",""].join("\n")},function(t,e){t.exports=["#define SHADER_NAME PHASER_BITMAP_MASK_VS","","precision mediump float;","","attribute vec2 inPosition;","","void main()","{","    gl_Position = vec4(inPosition, 0.0, 1.0);","}",""].join("\n")},function(t,e){t.exports=["#define SHADER_NAME PHASER_BITMAP_MASK_FS","","precision mediump float;","","uniform vec2 uResolution;","uniform sampler2D uMainSampler;","uniform sampler2D uMaskSampler;","uniform bool uInvertMaskAlpha;","","void main()","{","    vec2 uv = gl_FragCoord.xy / uResolution;","    vec4 mainColor = texture2D(uMainSampler, uv);","    vec4 maskColor = texture2D(uMaskSampler, uv);","    float alpha = mainColor.a;","","    if (!uInvertMaskAlpha)","    {","        alpha *= (maskColor.a);","    }","    else","    {","        alpha *= (1.0 - maskColor.a);","    }","","    gl_FragColor = vec4(mainColor.rgb * alpha, alpha);","}",""].join("\n")},function(t,e,i){var n=i(348),s=i(24),r=i(26),o=i(168);t.exports=function(t){var e,a,h=t.config;if(h.renderType!==r.HEADLESS)if(h.renderType===r.CANVAS||h.renderType!==r.CANVAS&&!o.webGL){if(!o.canvas)throw new Error("Cannot create Canvas or WebGL context, aborting.");h.renderType=r.CANVAS}else h.renderType=r.WEBGL;h.antialias||s.disableSmoothing(),h.canvas?(t.canvas=h.canvas,t.canvas.width=t.config.width,t.canvas.height=t.config.height):t.canvas=s.create(t,h.width*h.resolution,h.height*h.resolution,h.renderType),h.canvasStyle&&(t.canvas.style=h.canvasStyle),h.antialias||n.setCrisp(t.canvas),t.canvas.style.width=(h.width*h.zoom).toString()+"px",t.canvas.style.height=(h.height*h.zoom).toString()+"px",h.renderType!==r.HEADLESS&&(e=i(426),a=i(423),h.renderType===r.WEBGL?t.renderer=new a(t):(t.renderer=new e(t),t.context=t.renderer.gameContext))}},function(t,e){var i={available:!1,cancel:"",keyboard:!1,request:""};t.exports=function(){var t,e=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],n=document.createElement("div");for(t=0;t<e.length;t++)if(n[e[t]]){i.available=!0,i.request=e[t];break}var s=["cancelFullScreen","exitFullscreen","webkitCancelFullScreen","webkitExitFullscreen","msCancelFullScreen","msExitFullscreen","mozCancelFullScreen","mozExitFullscreen"];if(i.available)for(t=0;t<s.length;t++)if(document[s[t]]){i.cancel=s[t];break}return window.Element&&Element.ALLOW_KEYBOARD_INPUT&&(i.keyboard=!0),i}()},function(t,e){var i={h264Video:!1,hlsVideo:!1,mp4Video:!1,oggVideo:!1,vp9Video:!1,webmVideo:!1};t.exports=function(){var t=document.createElement("video"),e=!!t.canPlayType;try{e&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(i.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(i.h264Video=!0,i.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(i.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(i.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(i.hlsVideo=!0))}catch(t){}return i}()},function(t,e,i){var n=i(118),s={audioData:!1,dolby:!1,m4a:!1,mp3:!1,ogg:!1,opus:!1,wav:!1,webAudio:!1,webm:!1};t.exports=function(){s.audioData=!!window.Audio,s.webAudio=!(!window.AudioContext&&!window.webkitAudioContext);var t=document.createElement("audio"),e=!!t.canPlayType;try{if(e&&(t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,"")&&(s.ogg=!0),(t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,"")||t.canPlayType("audio/opus;").replace(/^no$/,""))&&(s.opus=!0),t.canPlayType("audio/mpeg;").replace(/^no$/,"")&&(s.mp3=!0),t.canPlayType('audio/wav; codecs="1"').replace(/^no$/,"")&&(s.wav=!0),(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/aac;").replace(/^no$/,""))&&(s.m4a=!0),t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")&&(s.webm=!0),""!==t.canPlayType('audio/mp4;codecs="ec-3"')))if(n.edge)s.dolby=!0;else if(n.safari&&n.safariVersion>=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var i=parseInt(RegExp.$1,10),r=parseInt(RegExp.$2,10);(10===i&&r>=11||i>10)&&(s.dolby=!0)}}catch(t){}return s}()},function(t,e,i){var n=i(92),s=i(118),r={gamepads:!1,mspointer:!1,touch:!1,wheelEvent:null};t.exports=(("ontouchstart"in document.documentElement||navigator.maxTouchPoints&&navigator.maxTouchPoints>=1)&&(r.touch=!0),(navigator.msPointerEnabled||navigator.pointerEnabled)&&(r.mspointer=!0),navigator.getGamepads&&(r.gamepads=!0),n.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?r.wheelEvent="wheel":"onmousewheel"in window?r.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(r.wheelEvent="DOMMouseScroll")),r)},function(t,e,i){var n=i(0),s=i(26),r=i(340),o=i(2),a=i(4),h=i(8),l=i(16),u=i(1),c=i(167),d=i(178),f=new n({initialize:function(t){void 0===t&&(t={});this.width=a(t,"width",1024),this.height=a(t,"height",768),this.zoom=a(t,"zoom",1),this.resolution=a(t,"resolution",1),this.parent=a(t,"parent",null),this.scaleMode=a(t,"scaleMode",0),this.expandParent=a(t,"expandParent",!1),this.minWidth=a(t,"minWidth",0),this.maxWidth=a(t,"maxWidth",0),this.minHeight=a(t,"minHeight",0),this.maxHeight=a(t,"maxHeight",0);var e=a(t,"scale",null);e&&(this.width=a(e,"width",this.width),this.height=a(e,"height",this.height),this.zoom=a(e,"zoom",this.zoom),this.resolution=a(e,"resolution",this.resolution),this.parent=a(e,"parent",this.parent),this.scaleMode=a(e,"mode",this.scaleMode),this.expandParent=a(e,"mode",this.expandParent),this.minWidth=a(e,"min.width",this.minWidth),this.maxWidth=a(e,"max.width",this.maxWidth),this.minHeight=a(e,"min.height",this.minHeight),this.maxHeight=a(e,"max.height",this.maxHeight)),this.renderType=a(t,"type",s.AUTO),this.canvas=a(t,"canvas",null),this.context=a(t,"context",null),this.canvasStyle=a(t,"canvasStyle",null),this.sceneConfig=a(t,"scene",null),this.seed=a(t,"seed",[(Date.now()*Math.random()).toString()]),l.RND.init(this.seed),this.gameTitle=a(t,"title",""),this.gameURL=a(t,"url","https://phaser.io"),this.gameVersion=a(t,"version",""),this.autoFocus=a(t,"autoFocus",!0),this.domCreateContainer=a(t,"dom.createContainer",!1),this.domBehindCanvas=a(t,"dom.behindCanvas",!1),this.inputKeyboard=a(t,"input.keyboard",!0),this.inputKeyboardEventTarget=a(t,"input.keyboard.target",window),this.inputMouse=a(t,"input.mouse",!0),this.inputMouseEventTarget=a(t,"input.mouse.target",null),this.inputMouseCapture=a(t,"input.mouse.capture",!0),this.inputTouch=a(t,"input.touch",r.input.touch),this.inputTouchEventTarget=a(t,"input.touch.target",null),this.inputTouchCapture=a(t,"input.touch.capture",!0),this.inputActivePointers=a(t,"input.activePointers",1),this.inputGamepad=a(t,"input.gamepad",!1),this.inputGamepadEventTarget=a(t,"input.gamepad.target",window),this.disableContextMenu=a(t,"disableContextMenu",!1),this.audio=a(t,"audio"),this.hideBanner=!1===a(t,"banner",null),this.hidePhaser=a(t,"banner.hidePhaser",!1),this.bannerTextColor=a(t,"banner.text","#ffffff"),this.bannerBackgroundColor=a(t,"banner.background",["#ff0000","#ffff00","#00ff00","#00ffff","#000000"]),""===this.gameTitle&&this.hidePhaser&&(this.hideBanner=!0),this.fps=a(t,"fps",null);var i=a(t,"render",t);this.autoResize=a(i,"autoResize",!0),this.antialias=a(i,"antialias",!0),this.roundPixels=a(i,"roundPixels",!1),this.pixelArt=a(i,"pixelArt",!1),this.pixelArt&&(this.antialias=!1,this.roundPixels=!0),this.transparent=a(i,"transparent",!1),this.clearBeforeRender=a(i,"clearBeforeRender",!0),this.premultipliedAlpha=a(i,"premultipliedAlpha",!0),this.preserveDrawingBuffer=a(i,"preserveDrawingBuffer",!1),this.failIfMajorPerformanceCaveat=a(i,"failIfMajorPerformanceCaveat",!1),this.powerPreference=a(i,"powerPreference","default"),this.batchSize=a(i,"batchSize",2e3),this.maxLights=a(i,"maxLights",10);var n=a(t,"backgroundColor",0);this.backgroundColor=d(n),0===n&&this.transparent&&(this.backgroundColor.alpha=0),this.preBoot=a(t,"callbacks.preBoot",u),this.postBoot=a(t,"callbacks.postBoot",u),this.physics=a(t,"physics",{}),this.defaultPhysicsSystem=a(this.physics,"default",!1),this.loaderBaseURL=a(t,"loader.baseURL",""),this.loaderPath=a(t,"loader.path",""),this.loaderMaxParallelDownloads=a(t,"loader.maxParallelDownloads",32),this.loaderCrossOrigin=a(t,"loader.crossOrigin",void 0),this.loaderResponseType=a(t,"loader.responseType",""),this.loaderAsync=a(t,"loader.async",!0),this.loaderUser=a(t,"loader.user",""),this.loaderPassword=a(t,"loader.password",""),this.loaderTimeout=a(t,"loader.timeout",0),this.installGlobalPlugins=[],this.installScenePlugins=[];var f=a(t,"plugins",null),p=c.DefaultScene;f&&(Array.isArray(f)?this.defaultPlugins=f:h(f)&&(this.installGlobalPlugins=o(f,"global",[]),this.installScenePlugins=o(f,"scene",[]),Array.isArray(f.default)?p=f.default:Array.isArray(f.defaultMerge)&&(p=p.concat(f.defaultMerge)))),this.defaultPlugins=p;var g="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg";this.defaultImage=a(t,"images.default",g+"AQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg=="),this.missingImage=a(t,"images.missing",g+"CAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg=="),window&&(window.FORCE_WEBGL?this.renderType=s.WEBGL:window.FORCE_CANVAS&&(this.renderType=s.CANVAS))}});t.exports=f},function(t,e,i){var n=i(169),s=i(381),r=i(379),o=i(24),a=i(0),h=i(903),l=i(898),u=i(123),c=i(891),d=i(340),f=i(344),p=i(11),g=i(338),v=i(15),y=i(331),m=i(329),x=i(325),w=i(318),b=i(878),T=i(877),S=new a({initialize:function(t){this.config=new h(t),this.renderer=null,this.canvas=null,this.context=null,this.isBooted=!1,this.isRunning=!1,this.events=new p,this.anims=new s(this),this.textures=new w(this),this.cache=new r(this),this.registry=new u(this),this.input=new g(this,this.config),this.scene=new m(this,this.config.sceneConfig),this.device=d,this.sound=x.create(this),this.loop=new b(this,this.config.fps),this.plugins=new y(this,this.config),this.pendingDestroy=!1,this.removeCanvas=!1,this.noReturn=!1,this.hasFocus=!1,this.isOver=!0,f(this.boot.bind(this))},boot:function(){v.hasCore("EventEmitter")?(this.isBooted=!0,this.config.preBoot(this),l(this),c(this),n(this.canvas,this.config.parent),this.events.emit("boot"),this.events.once("texturesready",this.texturesReady,this)):console.warn("Aborting. Core Plugins missing.")},texturesReady:function(){this.events.emit("ready"),this.start()},start:function(){this.isRunning=!0,this.config.postBoot(this),this.renderer?this.loop.start(this.step.bind(this)):this.loop.start(this.headlessStep.bind(this)),T(this);var t=this.events;t.on("hidden",this.onHidden,this),t.on("visible",this.onVisible,this),t.on("blur",this.onBlur,this),t.on("focus",this.onFocus,this)},step:function(t,e){if(this.pendingDestroy)return this.runDestroy();var i=this.events;i.emit("prestep",t,e),i.emit("step",t,e),this.scene.update(t,e),i.emit("poststep",t,e);var n=this.renderer;n.preRender(),i.emit("prerender",n,t,e),this.scene.render(n),n.postRender(),i.emit("postrender",n,t,e)},headlessStep:function(t,e){var i=this.events;i.emit("prestep",t,e),i.emit("step",t,e),this.scene.update(t,e),i.emit("poststep",t,e),i.emit("prerender"),i.emit("postrender")},onHidden:function(){this.loop.pause(),this.events.emit("pause")},onVisible:function(){this.loop.resume(),this.events.emit("resume")},onBlur:function(){this.hasFocus=!1,this.loop.blur()},onFocus:function(){this.hasFocus=!0,this.loop.focus()},resize:function(t,e){this.config.width=t,this.config.height=e,this.renderer.resize(t,e),this.input.resize(),this.scene.resize(t,e),this.events.emit("resize",t,e)},destroy:function(t,e){void 0===e&&(e=!1),this.pendingDestroy=!0,this.removeCanvas=t,this.noReturn=e},runDestroy:function(){this.events.emit("destroy"),this.events.removeAllListeners(),this.scene.destroy(),this.renderer&&this.renderer.destroy(),this.removeCanvas&&this.canvas&&(o.remove(this.canvas),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)),this.loop.destroy(),this.pendingDestroy=!1}});t.exports=S},function(t,e,i){var n=i(0),s=i(11),r=i(15),o=new n({Extends:s,initialize:function(){s.call(this)},shutdown:function(){this.removeAllListeners()},destroy:function(){this.removeAllListeners()}});r.register("EventEmitter",o,"events"),t.exports=o},function(t,e,i){t.exports={EventEmitter:i(905)}},function(t,e){var i,n,s=t.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(i===setTimeout)return setTimeout(t,0);if((i===r||!i)&&setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:r}catch(t){i=r}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var h,l=[],u=!1,c=-1;function d(){u&&h&&(u=!1,h.length?l=h.concat(l):c=-1,l.length&&f())}function f(){if(!u){var t=a(d);u=!0;for(var e=l.length;e;){for(h=l,l=[];++c<e;)h&&h[c].run();c=-1,e=l.length}h=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];l.push(new p(t,e)),1!==l.length||u||a(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=g,s.addListener=g,s.once=g,s.off=g,s.removeListener=g,s.removeAllListeners=g,s.emit=g,s.prependListener=g,s.prependOnceListener=g,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},function(t,e,i){var n={AddToDOM:i(169),DOMContentLoaded:i(344),ParseXML:i(343),RemoveFromDOM:i(342),RequestAnimationFrame:i(341)};t.exports=n},function(t,e,i){t.exports={BitmapMask:i(394),GeometryMask:i(393)}},function(t,e,i){var n=i(346);t.exports=function(t,e,i,s,r){return void 0===s&&(s=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1):"0x"+n(s)+n(t)+n(e)+n(i)}},function(t,e,i){var n=i(170),s=i(37);t.exports=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=255),new s(n(t,e),n(t,e),n(t,e))}},function(t,e,i){var n=i(119),s=function(t,e,i,s,r,o,a,h){void 0===a&&(a=100),void 0===h&&(h=0);var l=h/a;return{r:n(t,s,l),g:n(e,r,l),b:n(i,o,l)}};t.exports={RGBWithRGB:s,ColorWithRGB:function(t,e,i,n,r,o){return void 0===r&&(r=100),void 0===o&&(o=0),s(t.r,t.g,t.b,e,i,n,r,o)},ColorWithColor:function(t,e,i,n){return void 0===i&&(i=100),void 0===n&&(n=0),s(t.r,t.g,t.b,e.r,e.g,e.b,i,n)}}},function(t,e,i){var n=i(176);t.exports=function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var i=[],s=0;s<=359;s++)i.push(n(s/359,t,e));return i}},function(t,e,i){var n=i(37),s=i(345);t.exports=function(t,e,i){var r=i,o=i,a=i;if(0!==e){var h=i<.5?i*(1+e):i+e-i*e,l=2*i-h;r=s(l,h,t+1/3),o=s(l,h,t),a=s(l,h,t-1/3)}return(new n).setGLTo(r,o,a,1)}},function(t,e){t.exports=function(t){var e={r:t>>16&255,g:t>>8&255,b:255&t,a:255};return t>16777215&&(e.a=t>>>24),e}},function(t,e){t.exports=function(t,e){void 0===e&&(e="none");return["-webkit-","-khtml-","-moz-","-ms-",""].forEach(function(i){t.style[i+"user-select"]=e}),t.style["-webkit-touch-callout"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t}},function(t,e){t.exports=function(t,e){return void 0===e&&(e="none"),t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t}},function(t,e,i){t.exports={CanvasInterpolation:i(348),CanvasPool:i(24),Smoothing:i(120),TouchAction:i(917),UserSelect:i(916)}},function(t,e){t.exports=function(t){return t.height*t.originY}},function(t,e){t.exports=function(t){return t.width*t.originX}},function(t,e,i){t.exports={CenterOn:i(411),GetBottom:i(48),GetCenterX:i(75),GetCenterY:i(72),GetLeft:i(46),GetOffsetX:i(920),GetOffsetY:i(919),GetRight:i(44),GetTop:i(42),SetBottom:i(47),SetCenterX:i(74),SetCenterY:i(73),SetLeft:i(45),SetRight:i(43),SetTop:i(41)}},function(t,e,i){var n=i(44),s=i(42),r=i(47),o=i(43);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)+i),r(t,s(e)-a),t}},function(t,e,i){var n=i(46),s=i(42),r=i(47),o=i(45);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)-i),r(t,s(e)-a),t}},function(t,e,i){var n=i(75),s=i(42),r=i(47),o=i(74);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,n(e)+i),r(t,s(e)-a),t}},function(t,e,i){var n=i(44),s=i(42),r=i(45),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)+i),o(t,s(e)-a),t}},function(t,e,i){var n=i(72),s=i(44),r=i(73),o=i(45);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(44),r=i(47),o=i(45);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)+i),r(t,n(e)+a),t}},function(t,e,i){var n=i(46),s=i(42),r=i(43),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,n(e)-i),o(t,s(e)-a),t}},function(t,e,i){var n=i(72),s=i(46),r=i(73),o=i(43);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(46),r=i(47),o=i(43);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),o(t,s(e)-i),r(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(44),r=i(43),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)+i),o(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(46),r=i(45),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)-i),o(t,n(e)+a),t}},function(t,e,i){var n=i(48),s=i(75),r=i(74),o=i(41);t.exports=function(t,e,i,a){return void 0===i&&(i=0),void 0===a&&(a=0),r(t,s(e)+i),o(t,n(e)+a),t}},function(t,e,i){t.exports={BottomCenter:i(933),BottomLeft:i(932),BottomRight:i(931),LeftBottom:i(930),LeftCenter:i(929),LeftTop:i(928),RightBottom:i(927),RightCenter:i(926),RightTop:i(925),TopCenter:i(924),TopLeft:i(923),TopRight:i(922)}},function(t,e,i){t.exports={BottomCenter:i(415),BottomLeft:i(414),BottomRight:i(413),Center:i(412),LeftCenter:i(410),QuickSet:i(416),RightCenter:i(409),TopCenter:i(408),TopLeft:i(407),TopRight:i(406)}},function(t,e,i){var n=i(193),s=i(20),r={In:i(935),To:i(934)};r=s(!1,r,n),t.exports=r},function(t,e,i){t.exports={Align:i(936),Bounds:i(921),Canvas:i(918),Color:i(347),Masks:i(909)}},function(t,e,i){var n=i(0),s=i(123),r=i(15),o=new n({Extends:s,initialize:function(t){s.call(this,t,t.sys.events),this.scene=t,this.systems=t.sys,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.events=this.systems.events,this.events.once("destroy",this.destroy,this)},start:function(){this.events.once("shutdown",this.shutdown,this)},shutdown:function(){this.systems.events.off("shutdown",this.shutdown,this)},destroy:function(){s.prototype.destroy.call(this),this.events.off("start",this.start,this),this.scene=null,this.systems=null}});r.register("DataManagerPlugin",o,"data"),t.exports=o},function(t,e,i){t.exports={DataManager:i(123),DataManagerPlugin:i(938)}},function(t,e,i){var n=i(0),s=i(3),r=new n({initialize:function(t,e){this.active=!1,this.p0=new s(t,e)},getPoint:function(t,e){return void 0===e&&(e=new s),e.copy(this.p0)},getPointAt:function(t,e){return this.getPoint(t,e)},getResolution:function(){return 1},getLength:function(){return 0},toJSON:function(){return{type:"MoveTo",points:[this.p0.x,this.p0.y]}}});t.exports=r},function(t,e,i){var n=i(0),s=i(355),r=i(353),o=i(5),a=i(352),h=i(940),l=i(351),u=i(9),c=i(349),d=i(3),f=new n({initialize:function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.name="",this.curves=[],this.cacheLengths=[],this.autoClose=!1,this.startPoint=new d,this._tmpVec2A=new d,this._tmpVec2B=new d,"object"==typeof t?this.fromJSON(t):this.startPoint.set(t,e)},add:function(t){return this.curves.push(t),this},circleTo:function(t,e,i){return void 0===e&&(e=!1),this.ellipseTo(t,t,0,360,e,i)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);return t.equals(e)||this.curves.push(new a(e,t)),this},cubicBezierTo:function(t,e,i,n,r,o){var a,h,l,u=this.getEndPoint();return t instanceof d?(a=t,h=e,l=i):(a=new d(i,n),h=new d(r,o),l=new d(t,e)),this.add(new s(u,a,h,l))},quadraticBezierTo:function(t,e,i,n){var s,r,o=this.getEndPoint();return t instanceof d?(s=t,r=e):(s=new d(i,n),r=new d(t,e)),this.add(new l(o,s,r))},draw:function(t,e){for(var i=0;i<this.curves.length;i++){var n=this.curves[i];n.active&&n.draw(t,e)}return t},ellipseTo:function(t,e,i,n,s,o){var a=new r(0,0,t,e,i,n,s,o),h=this.getEndPoint(this._tmpVec2A),l=a.getStartPoint(this._tmpVec2B);return h.subtract(l),a.x=h.x,a.y=h.y,this.add(a)},fromJSON:function(t){this.curves=[],this.cacheLengths=[],this.startPoint.set(t.x,t.y),this.autoClose=t.autoClose;for(var e=0;e<t.curves.length;e++){var i=t.curves[e];switch(i.type){case"LineCurve":this.add(a.fromJSON(i));break;case"EllipseCurve":this.add(r.fromJSON(i));break;case"SplineCurve":this.add(c.fromJSON(i));break;case"CubicBezierCurve":this.add(s.fromJSON(i));break;case"QuadraticBezierCurve":this.add(l.fromJSON(i))}}return this},getBounds:function(t,e){void 0===t&&(t=new u),void 0===e&&(e=16),t.x=Number.MAX_VALUE,t.y=Number.MAX_VALUE;for(var i=new u,n=Number.MIN_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,r=0;r<this.curves.length;r++){var o=this.curves[r];o.active&&(o.getBounds(i,e),t.x=Math.min(t.x,i.x),t.y=Math.min(t.y,i.y),n=Math.max(n,i.right),s=Math.max(s,i.bottom))}return t.right=n,t.bottom=s,t},getCurveLengths:function(){if(this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0;i<this.curves.length;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t},getEndPoint:function(t){return void 0===t&&(t=new d),this.curves.length>0?this.curves[this.curves.length-1].getPoint(1,t):t.copy(this.startPoint),t},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},getPoint:function(t,e){void 0===e&&(e=new d);for(var i=t*this.getLength(),n=this.getCurveLengths(),s=0;s<n.length;){if(n[s]>=i){var r=n[s]-i,o=this.curves[s],a=o.getLength(),h=0===a?0:1-r/a;return o.getPointAt(h,e)}s++}return null},getPoints:function(t){void 0===t&&(t=12);for(var e,i=[],n=0;n<this.curves.length;n++){var s=this.curves[n];if(s.active)for(var r=s.getResolution(t),o=s.getPoints(r),a=0;a<o.length;a++){var h=o[a];e&&e.equals(h)||(i.push(h),e=h)}}return this.autoClose&&i.length>1&&!i[i.length-1].equals(i[0])&&i.push(i[0]),i},getRandomPoint:function(t){return void 0===t&&(t=new d),this.getPoint(Math.random(),t)},getSpacedPoints:function(t){void 0===t&&(t=40);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e},getStartPoint:function(t){return void 0===t&&(t=new d),t.copy(this.startPoint)},lineTo:function(t,e){t instanceof d?this._tmpVec2B.copy(t):this._tmpVec2B.set(t,e);var i=this.getEndPoint(this._tmpVec2A);return this.add(new a([i.x,i.y,this._tmpVec2B.x,this._tmpVec2B.y]))},splineTo:function(t){return t.unshift(this.getEndPoint()),this.add(new c(t))},moveTo:function(t,e){return this.add(new h(t,e))},toJSON:function(){for(var t=[],e=0;e<this.curves.length;e++)t.push(this.curves[e].toJSON());return{type:"Path",x:this.startPoint.x,y:this.startPoint.y,autoClose:this.autoClose,curves:t}},updateArcLengths:function(){this.cacheLengths=[],this.getCurveLengths()},destroy:function(){this.curves.length=0,this.cacheLengths.length=0,this.startPoint=void 0}});o.register("path",function(t,e){return new f(t,e)}),t.exports=f},function(t,e,i){t.exports={Path:i(941),CubicBezier:i(355),Curve:i(70),Ellipse:i(353),Line:i(352),QuadraticBezier:i(351),Spline:i(349)}},function(t,e){t.exports={0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}},function(t,e){t.exports={0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"}},function(t,e){t.exports={0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"}},function(t,e){t.exports={0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"}},function(t,e,i){t.exports={ARNE16:i(356),C64:i(946),CGA:i(945),JMP:i(944),MSX:i(943)}},function(t,e,i){t.exports={GenerateTexture:i(357),Palettes:i(947)}},function(t,e,i){var n=i(378),s=i(0),r=i(2),o=i(15),a=i(39),h=new s({initialize:function(t){this.scene=t,this.systems=t.sys,this.roundPixels=t.sys.game.config.roundPixels,this.cameras=[],this.main,this.baseScale=1,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){var t=this.systems;t.settings.cameras?this.fromJSON(t.settings.cameras):this.add(),this.main=this.cameras[0],this.systems.events.once("destroy",this.destroy,this)},start:function(){if(!this.main){var t=this.systems;t.settings.cameras?this.fromJSON(t.settings.cameras):this.add(),this.main=this.cameras[0]}var e=this.systems.events;e.on("update",this.update,this),e.once("shutdown",this.shutdown,this)},add:function(t,e,i,s,r,o){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.game.config.width),void 0===s&&(s=this.scene.sys.game.config.height),void 0===r&&(r=!1),void 0===o&&(o="");var a=new n(t,e,i,s);return a.setName(o),a.setScene(this.scene),a.setRoundPixels(this.roundPixels),a.id=this.getNextID(),this.cameras.push(a),r&&(this.main=a),a},addExisting:function(t,e){return void 0===e&&(e=!1),-1===this.cameras.indexOf(t)?(t.id=this.getNextID(),t.setRoundPixels(this.roundPixels),this.cameras.push(t),e&&(this.main=t),t):null},getNextID:function(){for(var t=this.cameras,e=1,i=0;i<32;i++){for(var n=!1,s=0;s<t.length;s++){var r=t[s];r&&r.id===e&&(n=!0)}if(!n)return e;e<<=1}return 0},getTotal:function(t){void 0===t&&(t=!1);for(var e=0,i=this.cameras,n=0;n<i.length;n++){var s=i[n];(!t||t&&s.visible)&&e++}return e},fromJSON:function(t){Array.isArray(t)||(t=[t]);for(var e=this.scene.sys.game.config.width,i=this.scene.sys.game.config.height,n=0;n<t.length;n++){var s=t[n],o=r(s,"x",0),a=r(s,"y",0),h=r(s,"width",e),l=r(s,"height",i),u=this.add(o,a,h,l);u.name=r(s,"name",""),u.zoom=r(s,"zoom",1),u.rotation=r(s,"rotation",0),u.scrollX=r(s,"scrollX",0),u.scrollY=r(s,"scrollY",0),u.roundPixels=r(s,"roundPixels",!1),u.visible=r(s,"visible",!0);var c=r(s,"backgroundColor",!1);c&&u.setBackgroundColor(c);var d=r(s,"bounds",null);if(d){var f=r(d,"x",0),p=r(d,"y",0),g=r(d,"width",e),v=r(d,"height",i);u.setBounds(f,p,g,v)}}return this},getCamera:function(t){for(var e=this.cameras,i=0;i<e.length;i++)if(e[i].name===t)return e[i];return null},getCamerasBelowPointer:function(t){for(var e=this.cameras,i=t.x,n=t.y,s=[],r=0;r<e.length;r++){var o=e[r];o.visible&&o.inputEnabled&&a(o,i,n)&&s.unshift(o)}return s},remove:function(t,e){void 0===e&&(e=!0),Array.isArray(t)||(t=[t]);for(var i=0,n=this.cameras,s=0;s<t.length;s++){var r=n.indexOf(t[s]);-1!==r&&(e&&n[r].destroy(),n.splice(r,1),i++)}return!this.main&&n[0]&&(this.main=n[0]),i},render:function(t,e,i){for(var n=this.scene,s=this.cameras,r=this.baseScale,o=t.config.resolution,a=0;a<this.cameras.length;a++){var h=s[a];h.visible&&h.alpha>0&&(h.preRender(r,o),t.render(n,e,i,h))}},resetAll:function(){for(var t=0;t<this.cameras.length;t++)this.cameras[t].destroy();return this.cameras=[],this.main=this.add(),this.main},update:function(t,e){for(var i=0;i<this.cameras.length;i++)this.cameras[i].update(t,e)},resize:function(t,e){for(var i=0;i<this.cameras.length;i++)this.cameras[i].setSize(t,e)},shutdown:function(){this.main=void 0;for(var t=0;t<this.cameras.length;t++)this.cameras[t].destroy();this.cameras=[];var e=this.systems.events;e.off("update",this.update,this),e.off("shutdown",this.shutdown,this)},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});o.register("CameraManager",h,"cameras"),t.exports=h},function(t,e,i){var n=i(23),s=i(0),r=i(174),o=new s({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.source=1,this.destination=1,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s,o){void 0===e&&(e=1e3),void 0===i&&(i=r.Linear),void 0===n&&(n=!1),void 0===s&&(s=null),void 0===o&&(o=this.camera.scene);var a=this.camera;return!n&&this.isRunning?a:(this.isRunning=!0,this.duration=e,this.progress=0,this.source=a.zoom,this.destination=t,"string"==typeof i&&r.hasOwnProperty(i)?this.ease=r[i]:"function"==typeof i&&(this.ease=i),this._elapsed=0,this._onUpdate=s,this._onUpdateScope=o,this.camera.emit("camerazoomstart",this.camera,this,e,t),a)},update:function(t,e){this.isRunning&&(this._elapsed+=e,this.progress=n(this._elapsed/this.duration,0,1),this._elapsed<this.duration?(this.camera.zoom=this.source+(this.destination-this.source)*this.ease(this.progress),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress,this.camera.zoom)):(this.camera.zoom=this.destination,this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress,this.destination),this.effectComplete()))},effectComplete:function(){this._onUpdate=null,this._onUpdateScope=null,this.isRunning=!1,this.camera.emit("camerazoomcomplete",this.camera,this)},reset:function(){this.isRunning=!1,this._onUpdate=null,this._onUpdateScope=null},destroy:function(){this.reset(),this.camera=null}});t.exports=o},function(t,e,i){var n=i(23),s=i(0),r=i(3),o=new s({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.intensity=new r,this.progress=0,this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s){return void 0===t&&(t=100),void 0===e&&(e=.05),void 0===i&&(i=!1),void 0===n&&(n=null),void 0===s&&(s=this.camera.scene),!i&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=t,this.progress=0,"number"==typeof e?this.intensity.set(e):this.intensity.set(e.x,e.y),this._elapsed=0,this._offsetX=0,this._offsetY=0,this._onUpdate=n,this._onUpdateScope=s,this.camera.emit("camerashakestart",this.camera,this,t,e),this.camera)},preRender:function(){this.isRunning&&this.camera.matrix.translate(this._offsetX,this._offsetY)},update:function(t,e){if(this.isRunning)if(this._elapsed+=e,this.progress=n(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed<this.duration){var i=this.intensity,s=this.camera._cw,r=this.camera._ch,o=this.camera.zoom;this._offsetX=(Math.random()*i.x*s*2-i.x*s)*o,this._offsetY=(Math.random()*i.y*r*2-i.y*r)*o,this.camera.roundPixels&&(this._offsetX|=0,this._offsetY|=0)}else this.effectComplete()},effectComplete:function(){this._offsetX=0,this._offsetY=0,this._onUpdate=null,this._onUpdateScope=null,this.isRunning=!1,this.camera.emit("camerashakecomplete",this.camera,this)},reset:function(){this.isRunning=!1,this._offsetX=0,this._offsetY=0,this._onUpdate=null,this._onUpdateScope=null},destroy:function(){this.reset(),this.camera=null,this.intensity=null}});t.exports=o},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1),t<=0?0:t>=1?1:1/e*(1+(e*t|0))}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)}},function(t,e){t.exports=function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},function(t,e){t.exports=function(t){return--t*t*t*t*t+1}},function(t,e){t.exports=function(t){return t*t*t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},function(t,e){t.exports=function(t){return 1- --t*t*t*t}},function(t,e){t.exports=function(t){return t*t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},function(t,e){t.exports=function(t){return t*(2-t)}},function(t,e){t.exports=function(t){return t*t}},function(t,e){t.exports=function(t){return t}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))}},function(t,e){t.exports=function(t){return 1-Math.pow(2,-10*t)}},function(t,e){t.exports=function(t){return Math.pow(2,10*(t-1))-.001}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),(t*=2)<1?e*Math.pow(2,10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)*-.5:e*Math.pow(2,-10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)*.5+1}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),e*Math.pow(2,-10*t)*Math.sin((t-n)*(2*Math.PI)/i)+1}},function(t,e){t.exports=function(t,e,i){if(void 0===e&&(e=.1),void 0===i&&(i=.1),0===t)return 0;if(1===t)return 1;var n=i/4;return e<1?e=1:n=i*Math.asin(1/e)/(2*Math.PI),-e*Math.pow(2,10*(t-=1))*Math.sin((t-n)*(2*Math.PI)/i)}},function(t,e){t.exports=function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},function(t,e){t.exports=function(t){return--t*t*t+1}},function(t,e){t.exports=function(t){return t*t*t}},function(t,e){t.exports=function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},function(t,e){t.exports=function(t){return Math.sqrt(1- --t*t)}},function(t,e){t.exports=function(t){return 1-Math.sqrt(1-t*t)}},function(t,e){t.exports=function(t){var e=!1;return t<.5?(t=1-2*t,e=!0):t=2*t-1,t<1/2.75?t*=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,e?.5*(1-t):.5*t+.5}},function(t,e){t.exports=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}},function(t,e){t.exports=function(t){return(t=1-t)<1/2.75?1-7.5625*t*t:t<2/2.75?1-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}},function(t,e){t.exports=function(t,e){void 0===e&&(e=1.70158);var i=1.525*e;return(t*=2)<1?t*t*((i+1)*t-i)*.5:.5*((t-=2)*t*((i+1)*t+i)+2)}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1.70158),--t*t*((e+1)*t+e)+1}},function(t,e){t.exports=function(t,e){return void 0===e&&(e=1.70158),t*t*((e+1)*t-e)}},function(t,e,i){var n=i(23),s=i(0),r=i(3),o=i(174),a=new s({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.source=new r,this.current=new r,this.destination=new r,this.ease,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s,r,a){void 0===i&&(i=1e3),void 0===n&&(n=o.Linear),void 0===s&&(s=!1),void 0===r&&(r=null),void 0===a&&(a=this.camera.scene);var h=this.camera;return!s&&this.isRunning?h:(this.isRunning=!0,this.duration=i,this.progress=0,this.source.set(h.scrollX,h.scrollY),this.destination.set(t,e),h.getScroll(t,e,this.current),"string"==typeof n&&o.hasOwnProperty(n)?this.ease=o[n]:"function"==typeof n&&(this.ease=n),this._elapsed=0,this._onUpdate=r,this._onUpdateScope=a,this.camera.emit("camerapanstart",this.camera,this,i,t,e),h)},update:function(t,e){if(this.isRunning){this._elapsed+=e;var i=n(this._elapsed/this.duration,0,1);this.progress=i;var s=this.camera;if(this._elapsed<this.duration){var r=this.ease(i);s.getScroll(this.destination.x,this.destination.y,this.current);var o=this.source.x+(this.current.x-this.source.x)*r,a=this.source.y+(this.current.y-this.source.y)*r;s.setScroll(o,a),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,s,i,o,a)}else s.centerOn(this.destination.x,this.destination.y),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,s,i,s.scrollX,s.scrollY),this.effectComplete()}},effectComplete:function(){this._onUpdate=null,this._onUpdateScope=null,this.isRunning=!1,this.camera.emit("camerapancomplete",this.camera,this)},reset:function(){this.isRunning=!1,this._onUpdate=null,this._onUpdateScope=null},destroy:function(){this.reset(),this.camera=null,this.source=null,this.destination=null}});t.exports=a},function(t,e,i){var n=i(23),s=new(i(0))({initialize:function(t){this.camera=t,this.isRunning=!1,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s,r,o){return void 0===t&&(t=250),void 0===e&&(e=255),void 0===i&&(i=255),void 0===n&&(n=255),void 0===s&&(s=!1),void 0===r&&(r=null),void 0===o&&(o=this.camera.scene),!s&&this.isRunning?this.camera:(this.isRunning=!0,this.duration=t,this.progress=0,this.red=e,this.green=i,this.blue=n,this.alpha=1,this._elapsed=0,this._onUpdate=r,this._onUpdateScope=o,this.camera.emit("cameraflashstart",this.camera,this,t,e,i,n),this.camera)},update:function(t,e){this.isRunning&&(this._elapsed+=e,this.progress=n(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed<this.duration?this.alpha=1-this.progress:this.effectComplete())},postRenderCanvas:function(t){if(!this.isRunning)return!1;var e=this.camera;return t.fillStyle="rgba("+this.red+","+this.green+","+this.blue+","+this.alpha+")",t.fillRect(e._cx,e._cy,e._cw,e._ch),!0},postRenderWebGL:function(t,e){if(!this.isRunning)return!1;var i=this.camera,n=this.red/255,s=this.blue/255,r=this.green/255;return t.drawFillRect(i._cx,i._cy,i._cw,i._ch,e(n,r,s,1),this.alpha),!0},effectComplete:function(){this._onUpdate=null,this._onUpdateScope=null,this.isRunning=!1,this.camera.emit("cameraflashcomplete",this.camera,this)},reset:function(){this.isRunning=!1,this._onUpdate=null,this._onUpdateScope=null},destroy:function(){this.reset(),this.camera=null}});t.exports=s},function(t,e,i){var n=i(23),s=new(i(0))({initialize:function(t){this.camera=t,this.isRunning=!1,this.isComplete=!1,this.direction=!0,this.duration=0,this.red=0,this.green=0,this.blue=0,this.alpha=0,this.progress=0,this._elapsed=0,this._onUpdate,this._onUpdateScope},start:function(t,e,i,n,s,r,o,a){if(void 0===t&&(t=!0),void 0===e&&(e=1e3),void 0===i&&(i=0),void 0===n&&(n=0),void 0===s&&(s=0),void 0===r&&(r=!1),void 0===o&&(o=null),void 0===a&&(a=this.camera.scene),!r&&this.isRunning)return this.camera;this.isRunning=!0,this.isComplete=!1,this.duration=e,this.direction=t,this.progress=0,this.red=i,this.green=n,this.blue=s,this.alpha=t?Number.MIN_VALUE:1,this._elapsed=0,this._onUpdate=o,this._onUpdateScope=a;var h=t?"camerafadeoutstart":"camerafadeinstart";return this.camera.emit(h,this.camera,this,e,i,n,s),this.camera},update:function(t,e){this.isRunning&&(this._elapsed+=e,this.progress=n(this._elapsed/this.duration,0,1),this._onUpdate&&this._onUpdate.call(this._onUpdateScope,this.camera,this.progress),this._elapsed<this.duration?this.alpha=this.direction?this.progress:1-this.progress:this.effectComplete())},postRenderCanvas:function(t){if(!this.isRunning&&!this.isComplete)return!1;var e=this.camera;return t.fillStyle="rgba("+this.red+","+this.green+","+this.blue+","+this.alpha+")",t.fillRect(e._cx,e._cy,e._cw,e._ch),!0},postRenderWebGL:function(t,e){if(!this.isRunning&&!this.isComplete)return!1;var i=this.camera,n=this.red/255,s=this.blue/255,r=this.green/255;return t.drawFillRect(i._cx,i._cy,i._cw,i._ch,e(n,r,s,1),this.alpha),!0},effectComplete:function(){this._onUpdate=null,this._onUpdateScope=null,this.isRunning=!1,this.isComplete=!0;var t=this.direction?"camerafadeoutcomplete":"camerafadeincomplete";this.camera.emit(t,this.camera,this)},reset:function(){this.isRunning=!1,this.isComplete=!1,this._onUpdate=null,this._onUpdateScope=null},destroy:function(){this.reset(),this.camera=null}});t.exports=s},function(t,e,i){t.exports={Camera:i(378),CameraManager:i(949),Effects:i(370)}},function(t,e,i){var n=i(0),s=i(4),r=new n({initialize:function(t){this.camera=s(t,"camera",null),this.left=s(t,"left",null),this.right=s(t,"right",null),this.up=s(t,"up",null),this.down=s(t,"down",null),this.zoomIn=s(t,"zoomIn",null),this.zoomOut=s(t,"zoomOut",null),this.zoomSpeed=s(t,"zoomSpeed",.01),this.accelX=0,this.accelY=0;var e=s(t,"acceleration",null);"number"==typeof e?(this.accelX=e,this.accelY=e):(this.accelX=s(t,"acceleration.x",0),this.accelY=s(t,"acceleration.y",0)),this.dragX=0,this.dragY=0;var i=s(t,"drag",null);"number"==typeof i?(this.dragX=i,this.dragY=i):(this.dragX=s(t,"drag.x",0),this.dragY=s(t,"drag.y",0)),this.maxSpeedX=0,this.maxSpeedY=0;var n=s(t,"maxSpeed",null);"number"==typeof n?(this.maxSpeedX=n,this.maxSpeedY=n):(this.maxSpeedX=s(t,"maxSpeed.x",0),this.maxSpeedY=s(t,"maxSpeed.y",0)),this._speedX=0,this._speedY=0,this._zoom=0,this.active=null!==this.camera},start:function(){return this.active=null!==this.camera,this},stop:function(){return this.active=!1,this},setCamera:function(t){return this.camera=t,this},update:function(t){if(this.active){void 0===t&&(t=1);var e=this.camera;this._speedX>0?(this._speedX-=this.dragX*t,this._speedX<0&&(this._speedX=0)):this._speedX<0&&(this._speedX+=this.dragX*t,this._speedX>0&&(this._speedX=0)),this._speedY>0?(this._speedY-=this.dragY*t,this._speedY<0&&(this._speedY=0)):this._speedY<0&&(this._speedY+=this.dragY*t,this._speedY>0&&(this._speedY=0)),this.up&&this.up.isDown?(this._speedY+=this.accelY,this._speedY>this.maxSpeedY&&(this._speedY=this.maxSpeedY)):this.down&&this.down.isDown&&(this._speedY-=this.accelY,this._speedY<-this.maxSpeedY&&(this._speedY=-this.maxSpeedY)),this.left&&this.left.isDown?(this._speedX+=this.accelX,this._speedX>this.maxSpeedX&&(this._speedX=this.maxSpeedX)):this.right&&this.right.isDown&&(this._speedX-=this.accelX,this._speedX<-this.maxSpeedX&&(this._speedX=-this.maxSpeedX)),this.zoomIn&&this.zoomIn.isDown?this._zoom=-this.zoomSpeed:this.zoomOut&&this.zoomOut.isDown?this._zoom=this.zoomSpeed:this._zoom=0,0!==this._speedX&&(e.scrollX-=this._speedX*t|0),0!==this._speedY&&(e.scrollY-=this._speedY*t|0),0!==this._zoom&&(e.zoom+=this._zoom,e.zoom<.1&&(e.zoom=.1))}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});t.exports=r},function(t,e,i){var n=i(0),s=i(4),r=new n({initialize:function(t){this.camera=s(t,"camera",null),this.left=s(t,"left",null),this.right=s(t,"right",null),this.up=s(t,"up",null),this.down=s(t,"down",null),this.zoomIn=s(t,"zoomIn",null),this.zoomOut=s(t,"zoomOut",null),this.zoomSpeed=s(t,"zoomSpeed",.01),this.speedX=0,this.speedY=0;var e=s(t,"speed",null);"number"==typeof e?(this.speedX=e,this.speedY=e):(this.speedX=s(t,"speed.x",0),this.speedY=s(t,"speed.y",0)),this._zoom=0,this.active=null!==this.camera},start:function(){return this.active=null!==this.camera,this},stop:function(){return this.active=!1,this},setCamera:function(t){return this.camera=t,this},update:function(t){if(this.active){void 0===t&&(t=1);var e=this.camera;this.up&&this.up.isDown?e.scrollY-=this.speedY*t|0:this.down&&this.down.isDown&&(e.scrollY+=this.speedY*t|0),this.left&&this.left.isDown?e.scrollX-=this.speedX*t|0:this.right&&this.right.isDown&&(e.scrollX+=this.speedX*t|0),this.zoomIn&&this.zoomIn.isDown?(e.zoom-=this.zoomSpeed,e.zoom<.1&&(e.zoom=.1)):this.zoomOut&&this.zoomOut.isDown&&(e.zoom+=this.zoomSpeed)}},destroy:function(){this.camera=null,this.left=null,this.right=null,this.up=null,this.down=null,this.zoomIn=null,this.zoomOut=null}});t.exports=r},function(t,e,i){t.exports={FixedKeyControl:i(989),SmoothedKeyControl:i(988)}},function(t,e,i){t.exports={Controls:i(990),Scene2D:i(987)}},function(t,e,i){t.exports={BaseCache:i(380),CacheManager:i(379)}},function(t,e,i){t.exports={Animation:i(384),AnimationFrame:i(382),AnimationManager:i(381)}},function(t,e,i){var n=i(53);t.exports=function(t,e,i){void 0===i&&(i=0);for(var s=0;s<t.length;s++){var r=t[s];r.x=n(r.x,e.left-i,e.right+i),r.y=n(r.y,e.top-i,e.bottom+i)}return t}},function(t,e){t.exports=function(t){for(var e=0;e<t.length;e++)t[e].visible=!t[e].visible;return t}},function(t,e){t.exports=function(t,e,i,n,s){void 0===s&&(s=!1);var r,o=Math.abs(n-i)/t.length;if(s)for(r=0;r<t.length;r++)t[r][e]+=r*o;else for(r=0;r<t.length;r++)t[r][e]=r*o;return t}},function(t,e,i){var n=i(181);t.exports=function(t,e,i,s,r){void 0===r&&(r=!1);var o,a=Math.abs(s-i)/t.length;if(r)for(o=0;o<t.length;o++)t[o][e]+=n(o*a,i,s);else for(o=0;o<t.length;o++)t[o][e]=n(o*a,i,s);return t}},function(t,e,i){var n=i(182);t.exports=function(t,e,i,s,r){void 0===r&&(r=!1);var o,a=Math.abs(s-i)/t.length;if(r)for(o=0;o<t.length;o++)t[o][e]+=n(o*a,i,s);else for(o=0;o<t.length;o++)t[o][e]=n(o*a,i,s);return t}},function(t,e,i){var n=i(122);t.exports=function(t){return n(t)}},function(t,e,i){var n=i(3);t.exports=function(t,e,i,s,r){var o,a,h,l,u,c;if(void 0===s&&(s=0),void 0===r&&(r=new n),t.length>1)if(0===s){var d=t.length-1;for(o=t[d].x,a=t[d].y,h=d-1;h>=0;h--)l=(c=t[h]).x,u=c.y,c.x=o,c.y=a,o=l,a=u;t[d].x=e,t[d].y=i}else{for(o=t[0].x,a=t[0].y,h=1;h<t.length;h++)l=(c=t[h]).x,u=c.y,c.x=o,c.y=a,o=l,a=u;t[0].x=e,t[0].y=i}else o=t[0].x,a=t[0].y,t[0].x=e,t[0].y=i;return r.x=o,r.y=a,r}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"y",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r,o,a){return void 0!==i&&null!==i||(i=e),n(t,"x",e,s,o,a),n(t,"y",i,r,o,a)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"x",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s){return n(t,"visible",e,0,i,s)}},function(t,e){t.exports=function(t,e,i,n,s){for(var r=0;r<t.length;r++)t[r].setTint(e,i,n,s);return t}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"scaleY",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"scaleX",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r,o,a){return void 0!==i&&null!==i||(i=e),n(t,"scaleX",e,s,o,a),n(t,"scaleY",i,r,o,a)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"rotation",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r,o,a){return void 0!==i&&null!==i||(i=e),n(t,"originX",e,s,o,a),n(t,"originY",i,r,o,a)}},function(t,e){t.exports=function(t,e,i){for(var n=0;n<t.length;n++)t[n].setInteractive(e,i);return t}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"depth",e,i,s,r)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s){return n(t,"blendMode",e,0,i,s)}},function(t,e,i){var n=i(25);t.exports=function(t,e,i,s,r){return n(t,"alpha",e,i,s,r)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"scaleY",e,i,s,r)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r,o,a){return void 0!==i&&null!==i||(i=e),n(t,"scaleX",e,s,o,a),n(t,"scaleY",i,r,o,a)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"scaleX",e,i,s,r)}},function(t,e,i){var n=i(183);t.exports=function(t,e,i,s){var r=e.x,o=e.y;if(0===s)return t;for(var a=0;a<t.length;a++)n(t[a],r,o,i,s);return t}},function(t,e,i){var n=i(183),s=i(52);t.exports=function(t,e,i){for(var r=e.x,o=e.y,a=0;a<t.length;a++){var h=t[a];n(h,r,o,i,Math.max(1,s(h.x,h.y,r,o)))}return t}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"rotation",e,i,s,r)}},function(t,e,i){var n=i(184);t.exports=function(t,e){for(var i=0;i<t.length;i++)n(e,t[i]);return t}},function(t,e,i){var n=i(187);t.exports=function(t,e){for(var i=0;i<t.length;i++)n(e,t[i]);return t}},function(t,e,i){var n=i(188);t.exports=function(t,e){for(var i=0;i<t.length;i++)n(e,t[i]);return t}},function(t,e,i){var n=i(185);t.exports=function(t,e){for(var i=0;i<t.length;i++)n(e,t[i]);return t}},function(t,e,i){var n=i(191);t.exports=function(t,e){for(var i=0;i<t.length;i++)n(e,t[i]);return t}},function(t,e){t.exports=function(t,e,i){for(var n=0;n<t.length;n++)t[n].anims.play(e,i);return t}},function(t,e,i){var n=i(385);t.exports=function(t,e,i){var s=n({x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},i),r=n({x1:e.x2,y1:e.y2,x2:e.x3,y2:e.y3},i),o=n({x1:e.x3,y1:e.y3,x2:e.x1,y2:e.y1},i);s.pop(),r.pop(),o.pop();for(var a=(s=s.concat(r,o)).length/t.length,h=0,l=0;l<t.length;l++){var u=t[l],c=s[Math.floor(h)];u.x=c.x,u.y=c.y,h+=a}return t}},function(t,e,i){var n=i(388),s=i(387),r=i(386);t.exports=function(t,e,i){void 0===i&&(i=0);var o=n(e,!1,t.length);i>0?s(o,i):i<0&&r(o,Math.abs(i));for(var a=0;a<t.length;a++)t[a].x=o[a].x,t[a].y=o[a].y;return t}},function(t,e,i){var n=i(189);t.exports=function(t,e){for(var i=n(e,t.length),s=0;s<t.length;s++){var r=t[s],o=i[s];r.x=o.x,r.y=o.y}return t}},function(t,e){t.exports=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=6.28);for(var s=i,r=(n-i)/t.length,o=e.width/2,a=e.height/2,h=0;h<t.length;h++)t[h].x=e.x+o*Math.cos(s),t[h].y=e.y+a*Math.sin(s),s+=r;return t}},function(t,e){t.exports=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=6.28);for(var s=i,r=(n-i)/t.length,o=0;o<t.length;o++)t[o].x=e.x+e.radius*Math.cos(s),t[o].y=e.y+e.radius*Math.sin(s),s+=r;return t}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"y",e,i,s,r)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r,o,a){return void 0!==i&&null!==i||(i=e),n(t,"x",e,s,o,a),n(t,"y",i,r,o,a)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"x",e,i,s,r)}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"alpha",e,i,s,r)}},function(t,e){var i=function(t){return(t>>16)+(65280&t)+((255&t)<<16)},n={_tintTL:16777215,_tintTR:16777215,_tintBL:16777215,_tintBR:16777215,_isTinted:!1,tintFill:!1,clearTint:function(){return this.setTint(16777215),this._isTinted=!1,this},setTint:function(t,e,n,s){return void 0===t&&(t=16777215),void 0===e&&(e=t,n=t,s=t),this._tintTL=i(t),this._tintTR=i(e),this._tintBL=i(n),this._tintBR=i(s),this._isTinted=!0,this.tintFill=!1,this},setTintFill:function(t,e,i,n){return this.setTint(t,e,i,n),this.tintFill=!0,this},tintTopLeft:{get:function(){return this._tintTL},set:function(t){this._tintTL=i(t),this._isTinted=!0}},tintTopRight:{get:function(){return this._tintTR},set:function(t){this._tintTR=i(t),this._isTinted=!0}},tintBottomLeft:{get:function(){return this._tintBL},set:function(t){this._tintBL=i(t),this._isTinted=!0}},tintBottomRight:{get:function(){return this._tintBR},set:function(t){this._tintBR=i(t),this._isTinted=!0}},tint:{set:function(t){this.setTint(t,t,t,t)}},isTinted:{get:function(){return this._isTinted}}};t.exports=n},function(t,e){var i={texture:null,frame:null,isCropped:!1,setCrop:function(t,e,i,n){if(void 0===t)this.isCropped=!1;else if(this.frame){if("number"==typeof t)this.frame.setCropUVs(this._crop,t,e,i,n,this.flipX,this.flipY);else{var s=t;this.frame.setCropUVs(this._crop,s.x,s.y,s.width,s.height,this.flipX,this.flipY)}this.isCropped=!0}return this},setTexture:function(t,e){return this.texture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=!0),this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,this._sizeComponent&&e&&this.setSizeToFrame(),this._originComponent&&i&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this.isCropped&&this.frame.updateCropUVs(this._crop,this.flipX,this.flipY),this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};t.exports=i},function(t,e){var i={texture:null,frame:null,isCropped:!1,setTexture:function(t,e){return this.texture=this.scene.sys.textures.get(t),this.setFrame(e)},setFrame:function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=!0),this.frame=this.texture.get(t),this.frame.cutWidth&&this.frame.cutHeight?this.renderFlags|=8:this.renderFlags&=-9,this._sizeComponent&&e&&this.setSizeToFrame(),this._originComponent&&i&&(this.frame.customPivot?this.setOrigin(this.frame.pivotX,this.frame.pivotY):this.updateDisplayOrigin()),this}};t.exports=i},function(t,e){var i={_sizeComponent:!0,width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.frame.realWidth},set:function(t){this.scaleX=t/this.frame.realWidth}},displayHeight:{get:function(){return this.scaleY*this.frame.realHeight},set:function(t){this.scaleY=t/this.frame.realHeight}},setSizeToFrame:function(t){return void 0===t&&(t=this.frame),this.width=t.realWidth,this.height=t.realHeight,this},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}};t.exports=i},function(t,e,i){var n=i(94),s={_scaleMode:n.DEFAULT,scaleMode:{get:function(){return this._scaleMode},set:function(t){t!==n.LINEAR&&t!==n.NEAREST||(this._scaleMode=t)}},setScaleMode:function(t){return this.scaleMode=t,this}};t.exports=s},function(t,e){var i={_originComponent:!0,originX:.5,originY:.5,_displayOriginX:0,_displayOriginY:0,displayOriginX:{get:function(){return this._displayOriginX},set:function(t){this._displayOriginX=t,this.originX=t/this.width}},displayOriginY:{get:function(){return this._displayOriginY},set:function(t){this._displayOriginY=t,this.originY=t/this.height}},setOrigin:function(t,e){return void 0===t&&(t=.5),void 0===e&&(e=t),this.originX=t,this.originY=e,this.updateDisplayOrigin()},setOriginFromFrame:function(){return this.frame&&this.frame.customPivot?(this.originX=this.frame.pivotX,this.originY=this.frame.pivotY,this.updateDisplayOrigin()):this.setOrigin()},setDisplayOrigin:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.displayOriginX=t,this.displayOriginY=e,this},updateDisplayOrigin:function(){return this._displayOriginX=Math.round(this.originX*this.width),this._displayOriginY=Math.round(this.originY*this.height),this}};t.exports=i},function(t,e,i){var n=i(9),s=i(396),r=i(3),o={getCenter:function(t){return void 0===t&&(t=new r),t.x=this.x-this.displayWidth*this.originX+this.displayWidth/2,t.y=this.y-this.displayHeight*this.originY+this.displayHeight/2,t},getTopLeft:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX,t.y=this.y-this.displayHeight*this.originY,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getTopRight:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX+this.displayWidth,t.y=this.y-this.displayHeight*this.originY,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBottomLeft:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX,t.y=this.y-this.displayHeight*this.originY+this.displayHeight,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBottomRight:function(t,e){(t||(t=new r),void 0===e&&(e=!1),t.x=this.x-this.displayWidth*this.originX+this.displayWidth,t.y=this.y-this.displayHeight*this.originY+this.displayHeight,0!==this.rotation&&s(t,this.x,this.y,this.rotation),e&&this.parentContainer)&&this.parentContainer.getBoundsTransformMatrix().transformPoint(t.x,t.y,t);return t},getBounds:function(t){var e,i,s,r,o,a,h,l;if(void 0===t&&(t=new n),this.parentContainer){var u=this.parentContainer.getBoundsTransformMatrix();this.getTopLeft(t),u.transformPoint(t.x,t.y,t),e=t.x,i=t.y,this.getTopRight(t),u.transformPoint(t.x,t.y,t),s=t.x,r=t.y,this.getBottomLeft(t),u.transformPoint(t.x,t.y,t),o=t.x,a=t.y,this.getBottomRight(t),u.transformPoint(t.x,t.y,t),h=t.x,l=t.y}else this.getTopLeft(t),e=t.x,i=t.y,this.getTopRight(t),s=t.x,r=t.y,this.getBottomLeft(t),o=t.x,a=t.y,this.getBottomRight(t),h=t.x,l=t.y;return t.x=Math.min(e,s,o,h),t.y=Math.min(i,r,a,l),t.width=Math.max(e,s,o,h)-t.x,t.height=Math.max(i,r,a,l)-t.y,t}};t.exports=o},function(t,e){t.exports={flipX:!1,flipY:!1,toggleFlipX:function(){return this.flipX=!this.flipX,this},toggleFlipY:function(){return this.flipY=!this.flipY,this},setFlipX:function(t){return this.flipX=t,this},setFlipY:function(t){return this.flipY=t,this},setFlip:function(t,e){return this.flipX=t,this.flipY=e,this},resetFlip:function(){return this.flipX=!1,this.flipY=!1,this}}},function(t,e){var i={texture:null,frame:null,isCropped:!1,setCrop:function(t,e,i,n){if(void 0===t)this.isCropped=!1;else if(this.frame){if("number"==typeof t)this.frame.setCropUVs(this._crop,t,e,i,n,this.flipX,this.flipY);else{var s=t;this.frame.setCropUVs(this._crop,s.x,s.y,s.width,s.height,this.flipX,this.flipY)}this.isCropped=!0}return this},resetCropObject:function(){return{u0:0,v0:0,u1:0,v1:0,width:0,height:0,x:0,y:0,flipX:!1,flipY:!1,cx:0,cy:0,cw:0,ch:0}}};t.exports=i},function(t,e){t.exports={width:0,height:0,displayWidth:{get:function(){return this.scaleX*this.width},set:function(t){this.scaleX=t/this.width}},displayHeight:{get:function(){return this.scaleY*this.height},set:function(t){this.scaleY=t/this.height}},setSize:function(t,e){return this.width=t,this.height=e,this},setDisplaySize:function(t,e){return this.displayWidth=t,this.displayHeight=e,this}}},function(t,e,i){var n=i(416),s=i(193),r=i(2),o=i(1),a=new(i(125))({sys:{queueDepthSort:o,events:{once:o}}},0,0,1,1);t.exports=function(t,e){void 0===e&&(e={});var i=r(e,"width",-1),o=r(e,"height",-1),h=r(e,"cellWidth",1),l=r(e,"cellHeight",h),u=r(e,"position",s.TOP_LEFT),c=r(e,"x",0),d=r(e,"y",0),f=0,p=0,g=i*h,v=o*l;a.setPosition(c,d),a.setSize(h,l);for(var y=0;y<t.length;y++)if(n(t[y],a,u),-1===i)p+=l,a.y+=l,p===v&&(p=0,a.x+=h,a.y=d);else if(-1===o)f+=h,a.x+=h,f===g&&(f=0,a.x=c,a.y+=l);else if(f+=h,a.x+=h,f===g&&(f=0,p+=l,a.x=c,a.y+=l,p===v))break;return t}},function(t,e){t.exports=function(t,e,i){void 0===i&&(i=0);for(var n=i;n<t.length;n++){var s=t[n],r=!0;for(var o in e)s[o]!==e[o]&&(r=!1);if(r)return s}return null}},function(t,e){t.exports=function(t,e,i){void 0===i&&(i=0);for(var n=i;n<t.length;n++){var s=t[n],r=!0;for(var o in e)s[o]!==e[o]&&(r=!1);if(r)return s}return null}},function(t,e){t.exports=function(t,e,i){for(var n=0;n<t.length;n++){var s=t[n];e.call(i,s)}return t}},function(t,e,i){var n=i(32);t.exports=function(t,e,i,s,r){return n(t,"angle",e,i,s,r)}},function(t,e){if("function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var i=function(t){var e=new Array;window[t]=function(t){if("number"==typeof t){Array.call(this,t),this.length=t;for(var e=0;e<this.length;e++)this[e]=0}else{Array.call(this,t.length),this.length=t.length;for(e=0;e<this.length;e++)this[e]=t[e]}},window[t].prototype=e,window[t].constructor=window[t]};i("Float32Array"),i("Uint32Array"),i("Uint16Array"),i("Int16Array"),i("ArrayBuffer")}},function(t,e,i){(function(t){if(Date.now&&Date.prototype.getTime||(Date.now=function(){return(new Date).getTime()}),!t.performance||!t.performance.now){var e=Date.now();t.performance||(t.performance={}),t.performance.now=function(){return Date.now()-e}}for(var i=Date.now(),n=["ms","moz","webkit","o"],s=0;s<n.length&&!t.requestAnimationFrame;++s)t.requestAnimationFrame=t[n[s]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[n[s]+"CancelAnimationFrame"]||t[n[s]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(t){if("function"!=typeof t)throw new TypeError(t+"is not a function");var e=Date.now(),n=16+i-e;return n<0&&(n=0),i=e,setTimeout(function(){i=Date.now(),t(performance.now())},n)}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(t){clearTimeout(t)})}).call(this,i(200))},function(t,e){!function(){if("performance"in window==!1&&(window.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in window.performance==!1){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),window.performance.now=function(){return Date.now()-t}}}()},function(t,e){Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)})},function(t,e){window.console||(window.console={},window.console.log=window.console.assert=function(){},window.console.warn=window.console.assert=function(){})},function(t,e){!function(){function t(t){t&&(t.setTargetAtTime||(t.setTargetAtTime=t.setTargetValueAtTime))}window.hasOwnProperty("webkitAudioContext")&&!window.hasOwnProperty("AudioContext")&&(window.AudioContext=webkitAudioContext,AudioContext.prototype.hasOwnProperty("createGain")||(AudioContext.prototype.createGain=AudioContext.prototype.createGainNode),AudioContext.prototype.hasOwnProperty("createDelay")||(AudioContext.prototype.createDelay=AudioContext.prototype.createDelayNode),AudioContext.prototype.hasOwnProperty("createScriptProcessor")||(AudioContext.prototype.createScriptProcessor=AudioContext.prototype.createJavaScriptNode),AudioContext.prototype.hasOwnProperty("createPeriodicWave")||(AudioContext.prototype.createPeriodicWave=AudioContext.prototype.createWaveTable),AudioContext.prototype.internal_createGain=AudioContext.prototype.createGain,AudioContext.prototype.createGain=function(){var e=this.internal_createGain();return t(e.gain),e},AudioContext.prototype.internal_createDelay=AudioContext.prototype.createDelay,AudioContext.prototype.createDelay=function(e){var i=e?this.internal_createDelay(e):this.internal_createDelay();return t(i.delayTime),i},AudioContext.prototype.internal_createBufferSource=AudioContext.prototype.createBufferSource,AudioContext.prototype.createBufferSource=function(){var e=this.internal_createBufferSource();return e.start?(e.internal_start=e.start,e.start=function(t,i,n){void 0!==n?e.internal_start(t||0,i,n):e.internal_start(t||0,i||0)}):e.start=function(t,e,i){e||i?this.noteGrainOn(t||0,e,i):this.noteOn(t||0)},e.stop?(e.internal_stop=e.stop,e.stop=function(t){e.internal_stop(t||0)}):e.stop=function(t){this.noteOff(t||0)},t(e.playbackRate),e},AudioContext.prototype.internal_createDynamicsCompressor=AudioContext.prototype.createDynamicsCompressor,AudioContext.prototype.createDynamicsCompressor=function(){var e=this.internal_createDynamicsCompressor();return t(e.threshold),t(e.knee),t(e.ratio),t(e.reduction),t(e.attack),t(e.release),e},AudioContext.prototype.internal_createBiquadFilter=AudioContext.prototype.createBiquadFilter,AudioContext.prototype.createBiquadFilter=function(){var e=this.internal_createBiquadFilter();return t(e.frequency),t(e.detune),t(e.Q),t(e.gain),e},AudioContext.prototype.hasOwnProperty("createOscillator")&&(AudioContext.prototype.internal_createOscillator=AudioContext.prototype.createOscillator,AudioContext.prototype.createOscillator=function(){var e=this.internal_createOscillator();return e.start?(e.internal_start=e.start,e.start=function(t){e.internal_start(t||0)}):e.start=function(t){this.noteOn(t||0)},e.stop?(e.internal_stop=e.stop,e.stop=function(t){e.internal_stop(t||0)}):e.stop=function(t){this.noteOff(t||0)},e.setPeriodicWave||(e.setPeriodicWave=e.setWaveTable),t(e.frequency),t(e.detune),e})),window.hasOwnProperty("webkitOfflineAudioContext")&&!window.hasOwnProperty("OfflineAudioContext")&&(window.OfflineAudioContext=webkitOfflineAudioContext)}()},function(t,e){Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)})},function(t,e){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 n=arguments.length>=2?arguments[1]:void 0,s=0;s<i;s++)s in e&&t.call(n,e[s],s,e)})},function(t,e,i){i(1058),i(1057),i(1056),i(1055),i(1054),i(1053),i(1052),i(1051)},function(t,e,i){var n=i(126),s=i(0),r=i(33),o=i(137),a=i(1061),h=i(11),l=i(2),u=i(4),c=i(67),d=i(195),f=i(504),p=i(499),g=i(81),v=new s({Extends:h,initialize:function(t,e){h.call(this),this.scene=t,this.engine=a.create(e),this.localWorld=this.engine.world;var i=u(e,"gravity",null);if(i&&this.setGravity(i.x,i.y,i.scale),this.walls={left:null,right:null,top:null,bottom:null},l(e,"setBounds",!1)){var n=e.setBounds;if("boolean"==typeof n)this.setBounds();else{var s=l(n,"x",0),r=l(n,"y",0),o=l(n,"width",t.sys.game.config.width),c=l(n,"height",t.sys.game.config.height),d=l(n,"thickness",64),f=l(n,"left",!0),p=l(n,"right",!0),g=l(n,"top",!0),v=l(n,"bottom",!0);this.setBounds(s,r,o,c,d,f,p,g,v)}}this.enabled=u(e,"enabled",!0),this.correction=u(e,"correction",1),this.getDelta=u(e,"getDelta",this.update60Hz),this.autoUpdate=u(e,"autoUpdate",!0),this.drawDebug=u(e,"debug",!1),this.debugGraphic,this.defaults={debugShowBody:l(e,"debugShowBody",!0),debugShowStaticBody:l(e,"debugShowStaticBody",!0),debugShowVelocity:l(e,"debugShowVelocity",!0),bodyDebugColor:l(e,"debugBodyColor",16711935),bodyDebugFillColor:l(e,"bodyDebugFillColor",14919651),staticBodyDebugColor:l(e,"debugBodyColor",255),velocityDebugColor:l(e,"debugVelocityColor",65280),debugShowJoint:l(e,"debugShowJoint",!0),jointDebugColor:l(e,"debugJointColor",0),debugWireframes:l(e,"debugWireframes",!0),debugShowInternalEdges:l(e,"debugShowInternalEdges",!1),debugShowConvexHulls:l(e,"debugShowConvexHulls",!1),debugConvexHullColor:l(e,"debugConvexHullColor",11184810),debugShowSleeping:l(e,"debugShowSleeping",!1)},this.drawDebug&&this.createDebugGraphic(),this.setEventsProxy()},setEventsProxy:function(){var t=this,e=this.engine;d.on(e,"beforeUpdate",function(e){t.emit("beforeupdate",e)}),d.on(e,"afterUpdate",function(e){t.emit("afterupdate",e)}),d.on(e,"collisionStart",function(e){var i,n,s=e.pairs;s.length>0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit("collisionstart",e,i,n)}),d.on(e,"collisionActive",function(e){var i,n,s=e.pairs;s.length>0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit("collisionactive",e,i,n)}),d.on(e,"collisionEnd",function(e){var i,n,s=e.pairs;s.length>0&&(i=s[0].bodyA,n=s[0].bodyB),t.emit("collisionend",e,i,n)})},setBounds:function(t,e,i,n,s,r,o,a,h){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.game.config.width),void 0===n&&(n=this.scene.sys.game.config.height),void 0===s&&(s=128),void 0===r&&(r=!0),void 0===o&&(o=!0),void 0===a&&(a=!0),void 0===h&&(h=!0),this.updateWall(r,"left",t-s,e,s,n),this.updateWall(o,"right",t+i,e,s,n),this.updateWall(a,"top",t,e-s,i,s),this.updateWall(h,"bottom",t,e+n,i,s),this},updateWall:function(t,e,i,n,s,r){var o=this.walls[e];t?(o&&p.remove(this.localWorld,o),i+=s/2,n+=r/2,this.walls[e]=this.create(i,n,s,r,{isStatic:!0,friction:0,frictionStatic:0})):(o&&p.remove(this.localWorld,o),this.walls[e]=null)},createDebugGraphic:function(){var t=this.scene.sys.add.graphics({x:0,y:0});return t.setDepth(Number.MAX_VALUE),this.debugGraphic=t,this.drawDebug=!0,t},disableGravity:function(){return this.localWorld.gravity.x=0,this.localWorld.gravity.y=0,this.localWorld.gravity.scale=0,this},setGravity:function(t,e,i){return void 0===t&&(t=0),void 0===e&&(e=1),this.localWorld.gravity.x=t,this.localWorld.gravity.y=e,void 0!==i&&(this.localWorld.gravity.scale=i),this},create:function(t,e,i,s,r){var o=n.rectangle(t,e,i,s,r);return p.add(this.localWorld,o),o},add:function(t){return p.add(this.localWorld,t),this},remove:function(t,e){var i=t.body?t.body:t;return o.removeBody(this.localWorld,i,e),this},removeConstraint:function(t,e){return o.remove(this.localWorld,t,e),this},convertTilemapLayer:function(t,e){var i=t.layer,n=t.getTilesWithin(0,0,i.width,i.height,{isColliding:!0});return this.convertTiles(n,e),this},convertTiles:function(t,e){if(0===t.length)return this;for(var i=0;i<t.length;i++)new f(this,t[i],e);return this},nextGroup:function(t){return c.nextGroup(t)},nextCategory:function(){return c.nextCategory()},pause:function(){return this.enabled=!1,this.emit("pause"),this},resume:function(){return this.enabled=!0,this.emit("resume"),this},update:function(t,e){this.enabled&&this.autoUpdate&&a.update(this.engine,this.getDelta(t,e),this.correction)},step:function(t,e){a.update(this.engine,t,e)},update60Hz:function(){return 1e3/60},update30Hz:function(){return 1e3/30},postUpdate:function(){if(this.drawDebug){this.debugGraphic.clear();var t=o.allBodies(this.localWorld);this.defaults.debugWireframes?(this.defaults.debugShowConvexHulls&&this.renderConvexHulls(t),this.renderWireframes(t)):this.renderBodies(t),this.defaults.debugShowJoint&&this.renderJoints()}},renderConvexHulls:function(t){var e=this.debugGraphic;e.lineStyle(1,this.defaults.debugConvexHullColor),e.beginPath();for(var i=0;i<t.length;i++){var n=t[i];if(n.render.visible&&1!==n.parts.length){e.moveTo(n.vertices[0].x,n.vertices[0].y);for(var s=1;s<n.vertices.length;s++)e.lineTo(n.vertices[s].x,n.vertices[s].y);e.lineTo(n.vertices[0].x,n.vertices[0].y)}}e.strokePath()},renderWireframes:function(t){var e=this.debugGraphic,i=this.defaults.debugShowInternalEdges;e.lineStyle(1,this.defaults.bodyDebugColor),e.beginPath();for(var n=0;n<t.length;n++){var s=t[n];if(s.render.visible)for(var r=s.parts.length>1?1:0;r<s.parts.length;r++){var o=s.parts[r],a=o.vertices.length;e.moveTo(o.vertices[0].x,o.vertices[0].y);for(var h=1;h<a;h++)!o.vertices[h-1].isInternal||i?e.lineTo(o.vertices[h].x,o.vertices[h].y):e.moveTo(o.vertices[h].x,o.vertices[h].y),o.vertices[h].isInternal&&!i&&e.moveTo(o.vertices[(h+1)%a].x,o.vertices[(h+1)%a].y);e.lineTo(o.vertices[0].x,o.vertices[0].y)}}e.strokePath()},renderBodies:function(t){var e,i,n,s,r=this.debugGraphic,o=this.defaults.debugShowInternalEdges||!this.defaults.debugWireframes,a=this.defaults.debugShowSleeping,h=this.defaults.debugWireframes;for(n=0;n<t.length;n++)if((e=t[n]).render.visible)for(s=e.parts.length>1?1:0;s<e.parts.length;s++)if((i=e.parts[s]).render.visible){if(a&&e.isSleeping?(r.lineStyle(1,this.defaults.bodyDebugColor,.5*i.render.opacity),r.fillStyle(this.defaults.bodyDebugColor,.5*i.render.opacity)):(r.lineStyle(1,this.defaults.bodyDebugColor,i.render.opacity),r.fillStyle(this.defaults.bodyDebugColor,i.render.opacity)),i.circleRadius)r.beginPath(),r.arc(i.position.x,i.position.y,i.circleRadius,0,2*Math.PI);else{r.beginPath(),r.moveTo(i.vertices[0].x,i.vertices[0].y);for(var l=i.vertices.length,u=1;u<l;u++)!i.vertices[u-1].isInternal||o?r.lineTo(i.vertices[u].x,i.vertices[u].y):r.moveTo(i.vertices[u].x,i.vertices[u].y),i.vertices[u].isInternal&&!o&&r.moveTo(i.vertices[(u+1)%i.vertices.length].x,i.vertices[(u+1)%i.vertices.length].y);r.lineTo(i.vertices[0].x,i.vertices[0].y),r.closePath()}h?r.strokePath():r.fillPath()}},renderJoints:function(){var t=this.debugGraphic;t.lineStyle(2,this.defaults.jointDebugColor);for(var e=o.allConstraints(this.localWorld),i=0;i<e.length;i++){var n=e[i];if(n.render.visible&&n.pointA&&n.pointB){n.render.lineWidth&&t.lineStyle(n.render.lineWidth,r.colorToNumber(n.render.strokeStyle));var s,a,h=n.bodyA,l=n.bodyB;if(s=h?g.add(h.position,n.pointA):n.pointA,"pin"===n.render.type)t.beginPath(),t.arc(s.x,s.y,3,0,2*Math.PI),t.closePath();else{if(a=l?g.add(l.position,n.pointB):n.pointB,t.beginPath(),t.moveTo(s.x,s.y),"spring"===n.render.type)for(var u,c=g.sub(a,s),d=g.perp(g.normalise(c)),f=Math.ceil(r.clamp(n.length/5,12,20)),p=1;p<f;p+=1)u=p%2==0?1:-1,t.lineTo(s.x+c.x*(p/f)+d.x*u*4,s.y+c.y*(p/f)+d.y*u*4);t.lineTo(a.x,a.y)}n.render.lineWidth&&t.strokePath(),n.render.anchors&&(t.fillStyle(r.colorToNumber(n.render.strokeStyle)),t.beginPath(),t.arc(s.x,s.y,6,0,2*Math.PI),t.arc(a.x,a.y,6,0,2*Math.PI),t.closePath(),t.fillPath())}}},fromPath:function(t,e){void 0===e&&(e=[]);return t.replace(/L?\s*([\-\d\.e]+)[\s,]*([\-\d\.e]+)*/gi,function(t,i,n){e.push({x:parseFloat(i),y:parseFloat(n)})}),e},shutdown:function(){d.off(this.engine),this.removeAllListeners(),p.clear(this.localWorld,!1),a.clear(this.engine),this.drawDebug&&this.debugGraphic.destroy()},destroy:function(){this.shutdown()}});t.exports=v},function(t,e,i){var n={};t.exports=n;var s=i(499),r=i(222),o=i(1062),a=i(1063),h=i(1088),l=i(1064),u=i(195),c=i(137),d=i(194),f=i(33),p=i(67);n.create=function(t,e){e=f.isElement(t)?e:t,t=f.isElement(t)?t:null,e=e||{},(t||e.render)&&f.warn("Engine.create: engine.render is deprecated (see docs)");var i={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},timing:{timestamp:0,timeScale:1},broadphase:{controller:l}},n=f.extend(i,e);if(t||n.render){var r={element:t,controller:Render};n.render=f.extend(r,n.render)}return n.render&&n.render.controller&&(n.render=n.render.controller.create(n.render)),n.render&&(n.render.engine=n),n.world=e.world||s.create(n.world),n.pairs=a.create(),n.broadphase=n.broadphase.controller.create(n.broadphase),n.metrics=n.metrics||{extended:!1},n.metrics=h.create(n.metrics),n},n.update=function(t,e,i){e=e||1e3/60,i=i||1;var s,l=t.world,f=t.timing,p=t.broadphase,g=[];f.timestamp+=e*f.timeScale;var v={timestamp:f.timestamp};u.trigger(t,"beforeUpdate",v);var y=c.allBodies(l),m=c.allConstraints(l);for(h.reset(t.metrics),t.enableSleeping&&r.update(y,f.timeScale),n._bodiesApplyGravity(y,l.gravity),n._bodiesUpdate(y,e,f.timeScale,i,l.bounds),d.preSolveAll(y),s=0;s<t.constraintIterations;s++)d.solveAll(m,f.timeScale);d.postSolveAll(y),p.controller?(l.isModified&&p.controller.clear(p),p.controller.update(p,y,t,l.isModified),g=p.pairsList):g=y,l.isModified&&c.setModified(l,!1,!1,!0);var x=p.detector(g,t),w=t.pairs,b=f.timestamp;for(a.update(w,x,b),a.removeOld(w,b),t.enableSleeping&&r.afterCollisions(w.list,f.timeScale),w.collisionStart.length>0&&u.trigger(t,"collisionStart",{pairs:w.collisionStart}),o.preSolvePosition(w.list),s=0;s<t.positionIterations;s++)o.solvePosition(w.list,y,f.timeScale);for(o.postSolvePosition(y),d.preSolveAll(y),s=0;s<t.constraintIterations;s++)d.solveAll(m,f.timeScale);for(d.postSolveAll(y),o.preSolveVelocity(w.list),s=0;s<t.velocityIterations;s++)o.solveVelocity(w.list,f.timeScale);return w.collisionActive.length>0&&u.trigger(t,"collisionActive",{pairs:w.collisionActive}),w.collisionEnd.length>0&&u.trigger(t,"collisionEnd",{pairs:w.collisionEnd}),h.update(t.metrics,t),n._bodiesClearForces(y),u.trigger(t,"afterUpdate",v),t},n.merge=function(t,e){if(f.extend(t,e),e.world){t.world=e.world,n.clear(t);for(var i=c.allBodies(t.world),s=0;s<i.length;s++){var o=i[s];r.set(o,!1),o.id=f.nextId()}}},n.clear=function(t){var e=t.world;a.clear(t.pairs);var i=t.broadphase;if(i.controller){var n=c.allBodies(e);i.controller.clear(i),i.controller.update(i,n,t,!0)}},n._bodiesClearForces=function(t){for(var e=0;e<t.length;e++){var i=t[e];i.force.x=0,i.force.y=0,i.torque=0}},n._bodiesApplyGravity=function(t,e){var i=void 0!==e.scale?e.scale:.001;if((0!==e.x||0!==e.y)&&0!==i)for(var n=0;n<t.length;n++){var s=t[n];s.ignoreGravity||s.isStatic||s.isSleeping||(s.force.y+=s.mass*e.y*i,s.force.x+=s.mass*e.x*i)}},n._bodiesUpdate=function(t,e,i,n,s){for(var r=0;r<t.length;r++){var o=t[r];o.isStatic||o.isSleeping||p.update(o,e,i,n)}}},function(t,e,i){var n={};t.exports=n;var s=i(76),r=i(81),o=i(33),a=i(80);n._restingThresh=4,n._restingThreshTangent=6,n._positionDampen=.9,n._positionWarming=.8,n._frictionNormalMultiplier=5,n.preSolvePosition=function(t){var e,i,n;for(e=0;e<t.length;e++)(i=t[e]).isActive&&(n=i.activeContacts.length,i.collision.parentA.totalContacts+=n,i.collision.parentB.totalContacts+=n)},n.solvePosition=function(t,e,i){var s,r,o,a,h,l,u,c,d,f,p,g,v,y,m,x,w=i*n._positionDampen;for(s=0;s<e.length;s++){var b=e[s];b.previousPositionImpulse.x=b.positionImpulse.x,b.previousPositionImpulse.y=b.positionImpulse.y}for(s=0;s<t.length;s++)(a=t[s]).isActive&&!a.isSensor&&(l=(h=a.collision).parentA,u=h.parentB,c=h.normal,p=l.previousPositionImpulse,g=u.previousPositionImpulse,f=h.penetration,y=g.x-p.x+f.x,m=g.y-p.y+f.y,d=(r=c.x)*y+(o=c.y)*m,a.separation=d,x=(d-a.slop)*w,(l.isStatic||u.isStatic)&&(x*=2),l.isStatic||l.isSleeping||(v=x/l.totalContacts,l.positionImpulse.x+=r*v,l.positionImpulse.y+=o*v),u.isStatic||u.isSleeping||(v=x/u.totalContacts,u.positionImpulse.x-=r*v,u.positionImpulse.y-=o*v))},n.postSolvePosition=function(t){for(var e=0;e<t.length;e++){var i=t[e];if(i.totalContacts=0,0!==i.positionImpulse.x||0!==i.positionImpulse.y){for(var o=0;o<i.parts.length;o++){var h=i.parts[o];s.translate(h.vertices,i.positionImpulse),a.update(h.bounds,h.vertices,i.velocity),h.position.x+=i.positionImpulse.x,h.position.y+=i.positionImpulse.y}i.positionPrev.x+=i.positionImpulse.x,i.positionPrev.y+=i.positionImpulse.y,r.dot(i.positionImpulse,i.velocity)<0?(i.positionImpulse.x=0,i.positionImpulse.y=0):(i.positionImpulse.x*=n._positionWarming,i.positionImpulse.y*=n._positionWarming)}}},n.preSolveVelocity=function(t){var e,i,n,s,o,a,h,l,u,c,d,f,p,g,v=r._temp[0],y=r._temp[1];for(e=0;e<t.length;e++)if((n=t[e]).isActive&&!n.isSensor)for(s=n.activeContacts,a=(o=n.collision).parentA,h=o.parentB,l=o.normal,u=o.tangent,i=0;i<s.length;i++)d=(c=s[i]).vertex,f=c.normalImpulse,p=c.tangentImpulse,0===f&&0===p||(v.x=l.x*f+u.x*p,v.y=l.y*f+u.y*p,a.isStatic||a.isSleeping||(g=r.sub(d,a.position,y),a.positionPrev.x+=v.x*a.inverseMass,a.positionPrev.y+=v.y*a.inverseMass,a.anglePrev+=r.cross(g,v)*a.inverseInertia),h.isStatic||h.isSleeping||(g=r.sub(d,h.position,y),h.positionPrev.x-=v.x*h.inverseMass,h.positionPrev.y-=v.y*h.inverseMass,h.anglePrev-=r.cross(g,v)*h.inverseInertia))},n.solveVelocity=function(t,e){for(var i=e*e,s=r._temp[0],a=r._temp[1],h=r._temp[2],l=r._temp[3],u=r._temp[4],c=r._temp[5],d=0;d<t.length;d++){var f=t[d];if(f.isActive&&!f.isSensor){var p=f.collision,g=p.parentA,v=p.parentB,y=p.normal,m=p.tangent,x=f.activeContacts,w=1/x.length;g.velocity.x=g.position.x-g.positionPrev.x,g.velocity.y=g.position.y-g.positionPrev.y,v.velocity.x=v.position.x-v.positionPrev.x,v.velocity.y=v.position.y-v.positionPrev.y,g.angularVelocity=g.angle-g.anglePrev,v.angularVelocity=v.angle-v.anglePrev;for(var b=0;b<x.length;b++){var T=x[b],S=T.vertex,_=r.sub(S,g.position,a),A=r.sub(S,v.position,h),C=r.add(g.velocity,r.mult(r.perp(_),g.angularVelocity),l),M=r.add(v.velocity,r.mult(r.perp(A),v.angularVelocity),u),P=r.sub(C,M,c),E=r.dot(y,P),k=r.dot(m,P),L=Math.abs(k),F=o.sign(k),R=(1+f.restitution)*E,O=o.clamp(f.separation+E,0,1)*n._frictionNormalMultiplier,D=k,B=1/0;L>f.friction*f.frictionStatic*O*i&&(B=L,D=o.clamp(f.friction*F*i,-B,B));var I=r.cross(_,y),Y=r.cross(A,y),X=w/(g.inverseMass+v.inverseMass+g.inverseInertia*I*I+v.inverseInertia*Y*Y);if(R*=X,D*=X,E<0&&E*E>n._restingThresh*i)T.normalImpulse=0;else{var z=T.normalImpulse;T.normalImpulse=Math.min(T.normalImpulse+R,0),R=T.normalImpulse-z}if(k*k>n._restingThreshTangent*i)T.tangentImpulse=0;else{var N=T.tangentImpulse;T.tangentImpulse=o.clamp(T.tangentImpulse+D,-B,B),D=T.tangentImpulse-N}s.x=y.x*R+m.x*D,s.y=y.y*R+m.y*D,g.isStatic||g.isSleeping||(g.positionPrev.x+=s.x*g.inverseMass,g.positionPrev.y+=s.y*g.inverseMass,g.anglePrev+=r.cross(_,s)*g.inverseInertia),v.isStatic||v.isSleeping||(v.positionPrev.x-=s.x*v.inverseMass,v.positionPrev.y-=s.y*v.inverseMass,v.anglePrev-=r.cross(A,s)*v.inverseInertia)}}}}},function(t,e,i){var n={};t.exports=n;var s=i(418),r=i(33);n._pairMaxIdleLife=1e3,n.create=function(t){return r.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},t)},n.update=function(t,e,i){var n,r,o,a,h=t.list,l=t.table,u=t.collisionStart,c=t.collisionEnd,d=t.collisionActive;for(u.length=0,c.length=0,d.length=0,a=0;a<h.length;a++)h[a].confirmedActive=!1;for(a=0;a<e.length;a++)(n=e[a]).collided&&((o=l[r=s.id(n.bodyA,n.bodyB)])?(o.isActive?d.push(o):u.push(o),s.update(o,n,i),o.confirmedActive=!0):(o=s.create(n,i),l[r]=o,u.push(o),h.push(o)));for(a=0;a<h.length;a++)(o=h[a]).isActive&&!o.confirmedActive&&(s.setActive(o,!1,i),c.push(o))},n.removeOld=function(t,e){var i,s,r,o,a=t.list,h=t.table,l=[];for(o=0;o<a.length;o++)(s=(i=a[o]).collision).bodyA.isSleeping||s.bodyB.isSleeping?i.timeUpdated=e:e-i.timeUpdated>n._pairMaxIdleLife&&l.push(o);for(o=0;o<l.length;o++)delete h[(i=a[r=l[o]-o]).id],a.splice(r,1)},n.clear=function(t){return t.table={},t.list.length=0,t.collisionStart.length=0,t.collisionActive.length=0,t.collisionEnd.length=0,t}},function(t,e,i){var n={};t.exports=n;var s=i(418),r=i(503),o=i(33);n.create=function(t){var e={controller:n,detector:r.collisions,buckets:{},pairs:{},pairsList:[],bucketWidth:48,bucketHeight:48};return o.extend(e,t)},n.update=function(t,e,i,s){var r,o,a,h,l,u=i.world,c=t.buckets,d=!1,f=i.metrics;for(f.broadphaseTests=0,r=0;r<e.length;r++){var p=e[r];if((!p.isSleeping||s)&&!(p.bounds.max.x<u.bounds.min.x||p.bounds.min.x>u.bounds.max.x||p.bounds.max.y<u.bounds.min.y||p.bounds.min.y>u.bounds.max.y)){var g=n._getRegion(t,p);if(!p.region||g.id!==p.region.id||s){f.broadphaseTests+=1,p.region&&!s||(p.region=g);var v=n._regionUnion(g,p.region);for(o=v.startCol;o<=v.endCol;o++)for(a=v.startRow;a<=v.endRow;a++){h=c[l=n._getBucketId(o,a)];var y=o>=g.startCol&&o<=g.endCol&&a>=g.startRow&&a<=g.endRow,m=o>=p.region.startCol&&o<=p.region.endCol&&a>=p.region.startRow&&a<=p.region.endRow;!y&&m&&m&&h&&n._bucketRemoveBody(t,h,p),(p.region===g||y&&!m||s)&&(h||(h=n._createBucket(c,l)),n._bucketAddBody(t,h,p))}p.region=g,d=!0}}}d&&(t.pairsList=n._createActivePairsList(t))},n.clear=function(t){t.buckets={},t.pairs={},t.pairsList=[]},n._regionUnion=function(t,e){var i=Math.min(t.startCol,e.startCol),s=Math.max(t.endCol,e.endCol),r=Math.min(t.startRow,e.startRow),o=Math.max(t.endRow,e.endRow);return n._createRegion(i,s,r,o)},n._getRegion=function(t,e){var i=e.bounds,s=Math.floor(i.min.x/t.bucketWidth),r=Math.floor(i.max.x/t.bucketWidth),o=Math.floor(i.min.y/t.bucketHeight),a=Math.floor(i.max.y/t.bucketHeight);return n._createRegion(s,r,o,a)},n._createRegion=function(t,e,i,n){return{id:t+","+e+","+i+","+n,startCol:t,endCol:e,startRow:i,endRow:n}},n._getBucketId=function(t,e){return"C"+t+"R"+e},n._createBucket=function(t,e){return t[e]=[]},n._bucketAddBody=function(t,e,i){for(var n=0;n<e.length;n++){var r=e[n];if(!(i.id===r.id||i.isStatic&&r.isStatic)){var o=s.id(i,r),a=t.pairs[o];a?a[2]+=1:t.pairs[o]=[i,r,1]}}e.push(i)},n._bucketRemoveBody=function(t,e,i){e.splice(o.indexOf(e,i),1);for(var n=0;n<e.length;n++){var r=e[n],a=s.id(i,r),h=t.pairs[a];h&&(h[2]-=1)}},n._createActivePairsList=function(t){var e,i,n=[];e=o.keys(t.pairs);for(var s=0;s<e.length;s++)(i=t.pairs[e[s]])[2]>0?n.push(i):delete t.pairs[e[s]];return n}},function(t,e,i){var n={};t.exports=n;var s=i(500),r=i(33);n.name="matter-js",n.version="0.14.2",n.uses=[],n.used=[],n.use=function(){s.use(n,Array.prototype.slice.call(arguments))},n.before=function(t,e){return t=t.replace(/^Matter./,""),r.chainPathBefore(n,t,e)},n.after=function(t,e){return t=t.replace(/^Matter./,""),r.chainPathAfter(n,t,e)}},function(t,e,i){var n=i(427),s=i(0),r=i(419),o=i(19),a=i(2),h=i(186),l=i(61),u=i(3),c=new s({Extends:l,Mixins:[r.Bounce,r.Collision,r.Force,r.Friction,r.Gravity,r.Mass,r.Sensor,r.SetBody,r.Sleep,r.Static,r.Transform,r.Velocity,h],initialize:function(t,e,i,s,r,h){o.call(this,t.scene,"Image"),this.anims=new n(this),this.setTexture(s,r),this.setSizeToFrame(),this.setOrigin(),this.world=t,this._tempVec2=new u(e,i);var l=a(h,"shape",null);l?this.setBody(l,h):this.setRectangle(this.width,this.height,h),this.setPosition(e,i),this.initPipeline("TextureTintPipeline")}});t.exports=c},function(t,e,i){var n=i(0),s=i(419),r=i(19),o=i(2),a=i(87),h=i(186),l=i(3),u=new n({Extends:a,Mixins:[s.Bounce,s.Collision,s.Force,s.Friction,s.Gravity,s.Mass,s.Sensor,s.SetBody,s.Sleep,s.Static,s.Transform,s.Velocity,h],initialize:function(t,e,i,n,s,a){r.call(this,t.scene,"Image"),this.setTexture(n,s),this.setSizeToFrame(),this.setOrigin(),this.world=t,this._tempVec2=new l(e,i);var h=o(a,"shape",null);h?this.setBody(h,a):this.setRectangle(this.width,this.height,a),this.setPosition(e,i),this.initPipeline("TextureTintPipeline")}});t.exports=u},function(t,e,i){var n={};t.exports=n;var s=i(137),r=i(194),o=i(33),a=i(67),h=i(126);n.stack=function(t,e,i,n,r,o,h){for(var l,u=s.create({label:"Stack"}),c=t,d=e,f=0,p=0;p<n;p++){for(var g=0,v=0;v<i;v++){var y=h(c,d,v,p,l,f);if(y){var m=y.bounds.max.y-y.bounds.min.y,x=y.bounds.max.x-y.bounds.min.x;m>g&&(g=m),a.translate(y,{x:.5*x,y:.5*m}),c=y.bounds.max.x+r,s.addBody(u,y),l=y,f+=1}else c+=r}d+=g+o,c=t}return u},n.chain=function(t,e,i,n,a,h){for(var l=t.bodies,u=1;u<l.length;u++){var c=l[u-1],d=l[u],f=c.bounds.max.y-c.bounds.min.y,p=c.bounds.max.x-c.bounds.min.x,g=d.bounds.max.y-d.bounds.min.y,v={bodyA:c,pointA:{x:p*e,y:f*i},bodyB:d,pointB:{x:(d.bounds.max.x-d.bounds.min.x)*n,y:g*a}},y=o.extend(v,h);s.addConstraint(t,r.create(y))}return t.label+=" Chain",t},n.mesh=function(t,e,i,n,a){var h,l,u,c,d,f=t.bodies;for(h=0;h<i;h++){for(l=1;l<e;l++)u=f[l-1+h*e],c=f[l+h*e],s.addConstraint(t,r.create(o.extend({bodyA:u,bodyB:c},a)));if(h>0)for(l=0;l<e;l++)u=f[l+(h-1)*e],c=f[l+h*e],s.addConstraint(t,r.create(o.extend({bodyA:u,bodyB:c},a))),n&&l>0&&(d=f[l-1+(h-1)*e],s.addConstraint(t,r.create(o.extend({bodyA:d,bodyB:c},a)))),n&&l<e-1&&(d=f[l+1+(h-1)*e],s.addConstraint(t,r.create(o.extend({bodyA:d,bodyB:c},a))))}return t.label+=" Mesh",t},n.pyramid=function(t,e,i,s,r,o,h){return n.stack(t,e,i,s,r,o,function(e,n,o,l,u,c){var d=Math.min(s,Math.ceil(i/2)),f=u?u.bounds.max.x-u.bounds.min.x:0;if(!(l>d||o<(l=d-l)||o>i-1-l))return 1===c&&a.translate(u,{x:(o+(i%2==1?1:-1))*f,y:0}),h(t+(u?o*f:0)+o*r,n,o,l,u,c)})},n.newtonsCradle=function(t,e,i,n,o){for(var a=s.create({label:"Newtons Cradle"}),l=0;l<i;l++){var u=h.circle(t+l*(1.9*n),e+o,n,{inertia:1/0,restitution:1,friction:0,frictionAir:1e-4,slop:1}),c=r.create({pointA:{x:t+l*(1.9*n),y:e},bodyB:u});s.addBody(a,u),s.addConstraint(a,c)}return a},n.car=function(t,e,i,n,o){var l=a.nextGroup(!0),u=.5*-i+20,c=.5*i-20,d=s.create({label:"Car"}),f=h.rectangle(t,e,i,n,{collisionFilter:{group:l},chamfer:{radius:.5*n},density:2e-4}),p=h.circle(t+u,e+0,o,{collisionFilter:{group:l},friction:.8}),g=h.circle(t+c,e+0,o,{collisionFilter:{group:l},friction:.8}),v=r.create({bodyB:f,pointB:{x:u,y:0},bodyA:p,stiffness:1,length:0}),y=r.create({bodyB:f,pointB:{x:c,y:0},bodyA:g,stiffness:1,length:0});return s.addBody(d,f),s.addBody(d,p),s.addBody(d,g),s.addConstraint(d,v),s.addConstraint(d,y),d},n.softBody=function(t,e,i,s,r,a,l,u,c,d){c=o.extend({inertia:1/0},c),d=o.extend({stiffness:.2,render:{type:"line",anchors:!1}},d);var f=n.stack(t,e,i,s,r,a,function(t,e){return h.circle(t,e,u,c)});return n.mesh(f,i,s,l,d),f.label="Soft Body",f}},function(t,e){function i(t,e,i){i=i||0;var n,s,r,o,a,h,l,u=[0,0];return n=t[1][1]-t[0][1],s=t[0][0]-t[1][0],r=n*t[0][0]+s*t[0][1],o=e[1][1]-e[0][1],a=e[0][0]-e[1][0],h=o*e[0][0]+a*e[0][1],T(l=n*a-o*s,0,i)||(u[0]=(a*r-s*h)/l,u[1]=(n*h-o*r)/l),u}function n(t,e,i,n){var s=e[0]-t[0],r=e[1]-t[1],o=n[0]-i[0],a=n[1]-i[1];if(o*r-a*s==0)return!1;var h=(s*(i[1]-t[1])+r*(t[0]-i[0]))/(o*r-a*s),l=(o*(t[1]-i[1])+a*(i[0]-t[0]))/(a*s-o*r);return h>=0&&h<=1&&l>=0&&l<=1}function s(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])}function r(t,e,i){return s(t,e,i)>0}function o(t,e,i){return s(t,e,i)>=0}function a(t,e,i){return s(t,e,i)<0}function h(t,e,i){return s(t,e,i)<=0}t.exports={decomp:function(t){var e=function t(e){var i=[],n=[],s=[],r=[];var o=Number.MAX_VALUE;for(var a=0;a<e.length;++a)if(g(e,a))for(var h=0;h<e.length;++h)if(m(e,a,h)){n=t(w(e,a,h,r)),s=t(w(e,h,a,r));for(var l=0;l<s.length;l++)n.push(s[l]);n.length<o&&(i=n,o=n.length,i.push([f(e,a),f(e,h)]))}return i}(t);return e.length>0?function t(e,i){if(0===i.length)return[e];if(i instanceof Array&&i.length&&i[0]instanceof Array&&2===i[0].length&&i[0][0]instanceof Array){for(var n=[e],s=0;s<i.length;s++)for(var r=i[s],o=0;o<n.length;o++){var a=n[o],h=t(a,r);if(h){n.splice(o,1),n.push(h[0],h[1]);break}}return n}var r=i,s=e.indexOf(r[0]),o=e.indexOf(r[1]);return-1!==s&&-1!==o&&[w(e,s,o),w(e,o,s)]}(t,e):[t]},quickDecomp:function t(e,i,n,s,l,u,c){u=u||100;c=c||0;l=l||25;i=void 0!==i?i:[];n=n||[];s=s||[];var v=[0,0],y=[0,0],m=[0,0];var w=0,T=0,S=0,_=0;var A=0,C=0,M=0;var P=[],E=[];var k=e,L=e;if(L.length<3)return i;c++;if(c>u)return console.warn("quickDecomp: max level ("+u+") reached."),i;for(var F=0;F<e.length;++F)if(g(k,F)){n.push(k[F]),w=T=Number.MAX_VALUE;for(var R=0;R<e.length;++R)r(f(k,F-1),f(k,F),f(k,R))&&h(f(k,F-1),f(k,F),f(k,R-1))&&(m=b(f(k,F-1),f(k,F),f(k,R),f(k,R-1)),a(f(k,F+1),f(k,F),m)&&(S=d(k[F],m))<T&&(T=S,y=m,C=R)),r(f(k,F+1),f(k,F),f(k,R+1))&&h(f(k,F+1),f(k,F),f(k,R))&&(m=b(f(k,F+1),f(k,F),f(k,R),f(k,R+1)),r(f(k,F-1),f(k,F),m)&&(S=d(k[F],m))<w&&(w=S,v=m,A=R));if(C===(A+1)%e.length)m[0]=(y[0]+v[0])/2,m[1]=(y[1]+v[1])/2,s.push(m),F<A?(p(P,k,F,A+1),P.push(m),E.push(m),0!==C&&p(E,k,C,k.length),p(E,k,0,F+1)):(0!==F&&p(P,k,F,k.length),p(P,k,0,A+1),P.push(m),E.push(m),p(E,k,C,F+1));else{if(C>A&&(A+=e.length),_=Number.MAX_VALUE,A<C)return i;for(var R=C;R<=A;++R)o(f(k,F-1),f(k,F),f(k,R))&&h(f(k,F+1),f(k,F),f(k,R))&&(S=d(f(k,F),f(k,R)))<_&&x(k,F,R)&&(_=S,M=R%e.length);F<M?(p(P,k,F,M+1),0!==M&&p(E,k,M,L.length),p(E,k,0,F+1)):(0!==F&&p(P,k,F,L.length),p(P,k,0,M+1),p(E,k,M,F+1))}return P.length<E.length?(t(P,i,n,s,l,u,c),t(E,i,n,s,l,u,c)):(t(E,i,n,s,l,u,c),t(P,i,n,s,l,u,c)),i}i.push(e);return i},isSimple:function(t){var e,i=t;for(e=0;e<i.length-1;e++)for(var s=0;s<e-1;s++)if(n(i[e],i[e+1],i[s],i[s+1]))return!1;for(e=1;e<i.length-2;e++)if(n(i[0],i[i.length-1],i[e],i[e+1]))return!1;return!0},removeCollinearPoints:function(t,e){for(var i=0,n=t.length-1;t.length>3&&n>=0;--n)c(f(t,n-1),f(t,n),f(t,n+1),e)&&(t.splice(n%t.length,1),i++);return i},removeDuplicatePoints:function(t,e){for(var i=t.length-1;i>=1;--i)for(var n=t[i],s=i-1;s>=0;--s)S(n,t[s],e)&&t.splice(i,1)},makeCCW:function(t){for(var e=0,i=t,n=1;n<t.length;++n)(i[n][1]<i[e][1]||i[n][1]===i[e][1]&&i[n][0]>i[e][0])&&(e=n);return!r(f(t,e-1),f(t,e),f(t,e+1))&&(function(t){for(var e=[],i=t.length,n=0;n!==i;n++)e.push(t.pop());for(var n=0;n!==i;n++)t[n]=e[n]}(t),!0)}};var l=[],u=[];function c(t,e,i,n){if(n){var r=l,o=u;r[0]=e[0]-t[0],r[1]=e[1]-t[1],o[0]=i[0]-e[0],o[1]=i[1]-e[1];var a=r[0]*o[0]+r[1]*o[1],h=Math.sqrt(r[0]*r[0]+r[1]*r[1]),c=Math.sqrt(o[0]*o[0]+o[1]*o[1]);return Math.acos(a/(h*c))<n}return 0===s(t,e,i)}function d(t,e){var i=e[0]-t[0],n=e[1]-t[1];return i*i+n*n}function f(t,e){var i=t.length;return t[e<0?e%i+i:e%i]}function p(t,e,i,n){for(var s=i;s<n;s++)t.push(e[s])}function g(t,e){return a(f(t,e-1),f(t,e),f(t,e+1))}var v=[],y=[];function m(t,e,n){var s,r,a=v,l=y;if(o(f(t,e+1),f(t,e),f(t,n))&&h(f(t,e-1),f(t,e),f(t,n)))return!1;r=d(f(t,e),f(t,n));for(var u=0;u!==t.length;++u)if((u+1)%t.length!==e&&u!==e&&o(f(t,e),f(t,n),f(t,u+1))&&h(f(t,e),f(t,n),f(t,u))&&(a[0]=f(t,e),a[1]=f(t,n),l[0]=f(t,u),l[1]=f(t,u+1),s=i(a,l),d(f(t,e),s)<r))return!1;return!0}function x(t,e,i){for(var s=0;s!==t.length;++s)if(s!==e&&s!==i&&(s+1)%t.length!==e&&(s+1)%t.length!==i&&n(f(t,e),f(t,i),f(t,s),f(t,s+1)))return!1;return!0}function w(t,e,i,n){var s=n||[];if(function(t){t.length=0}(s),e<i)for(var r=e;r<=i;r++)s.push(t[r]);else{for(r=0;r<=i;r++)s.push(t[r]);for(r=e;r<t.length;r++)s.push(t[r])}return s}function b(t,e,i,n,s){s=s||0;var r=e[1]-t[1],o=t[0]-e[0],a=r*t[0]+o*t[1],h=n[1]-i[1],l=i[0]-n[0],u=h*i[0]+l*i[1],c=r*l-h*o;return T(c,0,s)?[0,0]:[(l*a-o*u)/c,(r*u-h*a)/c]}function T(t,e,i){return i=i||0,Math.abs(t-e)<=i}function S(t,e,i){return T(t[0],e[0],i)&&T(t[1],e[1],i)}},function(t,e,i){var n=i(126),s=i(0),r=i(1068),o=i(194),a=i(1104),h=i(1067),l=i(1066),u=i(504),c=i(1090),d=new s({initialize:function(t){this.world=t,this.scene=t.scene,this.sys=t.scene.sys},rectangle:function(t,e,i,s,r){var o=n.rectangle(t,e,i,s,r);return this.world.add(o),o},trapezoid:function(t,e,i,s,r,o){var a=n.trapezoid(t,e,i,s,r,o);return this.world.add(a),a},circle:function(t,e,i,s,r){var o=n.circle(t,e,i,s,r);return this.world.add(o),o},polygon:function(t,e,i,s,r){var o=n.polygon(t,e,i,s,r);return this.world.add(o),o},fromVertices:function(t,e,i,s,r,o,a){var h=n.fromVertices(t,e,i,s,r,o,a);return this.world.add(h),h},imageStack:function(t,e,i,n,s,o,a,l,u){void 0===a&&(a=0),void 0===l&&(l=0),void 0===u&&(u={});var c=this.world,d=this.sys.displayList;u.addToWorld=!1;var f=r.stack(i,n,s,o,a,l,function(i,n){var s=new h(c,i,n,t,e,u);return d.add(s),s.body});return c.add(f),f},stack:function(t,e,i,n,s,o,a){var h=r.stack(t,e,i,n,s,o,a);return this.world.add(h),h},pyramid:function(t,e,i,n,s,o,a){var h=r.pyramid(t,e,i,n,s,o,a);return this.world.add(h),h},chain:function(t,e,i,n,s,o){return r.chain(t,e,i,n,s,o)},mesh:function(t,e,i,n,s){return r.mesh(t,e,i,n,s)},newtonsCradle:function(t,e,i,n,s){var o=r.newtonsCradle(t,e,i,n,s);return this.world.add(o),o},car:function(t,e,i,n,s){var o=r.car(t,e,i,n,s);return this.world.add(o),o},softBody:function(t,e,i,n,s,o,a,h,l,u){var c=r.softBody(t,e,i,n,s,o,a,h,l,u);return this.world.add(c),c},joint:function(t,e,i,n,s){return this.constraint(t,e,i,n,s)},spring:function(t,e,i,n,s){return this.constraint(t,e,i,n,s)},constraint:function(t,e,i,n,s){void 0===n&&(n=1),void 0===s&&(s={}),s.bodyA="body"===t.type?t:t.body,s.bodyB="body"===e.type?e:e.body,s.length=i,s.stiffness=n;var r=o.create(s);return this.world.add(r),r},worldConstraint:function(t,e,i,n){void 0===i&&(i=1),void 0===n&&(n={}),n.bodyB="body"===t.type?t:t.body,n.length=e,n.stiffness=i;var s=o.create(n);return this.world.add(s),s},mouseSpring:function(t){return this.pointerConstraint(t)},pointerConstraint:function(t){void 0===t&&(t={}),t.hasOwnProperty("render")||(t.render={visible:!1});var e=new c(this.scene,this.world,t);return this.world.add(e.constraint),e},image:function(t,e,i,n,s){var r=new h(this.world,t,e,i,n,s);return this.sys.displayList.add(r),r},tileBody:function(t,e){return new u(this.world,t,e)},sprite:function(t,e,i,n,s){var r=new l(this.world,t,e,i,n,s);return this.sys.displayList.add(r),this.sys.updateList.add(r),r},gameObject:function(t,e){return a(this.world,t,e)},destroy:function(){this.world=null,this.scene=null,this.sys=null}});t.exports=d},function(t,e,i){var n=i(1077),s=i(0),r=i(224),o=i(1076),a=i(11),h=i(2),l=i(85),u=i(95),c=i(1108),d=i(29),f=i(223),p=new s({Extends:a,initialize:function(t,e){a.call(this),this.scene=t,this.bodies=new u,this.gravity=h(e,"gravity",0),this.cellSize=h(e,"cellSize",64),this.collisionMap=new o,this.timeScale=h(e,"timeScale",1),this.maxStep=h(e,"maxStep",.05),this.enabled=!0,this.drawDebug=h(e,"debug",!1),this.debugGraphic;var i=h(e,"maxVelocity",100);if(this.defaults={debugShowBody:h(e,"debugShowBody",!0),debugShowVelocity:h(e,"debugShowVelocity",!0),bodyDebugColor:h(e,"debugBodyColor",16711935),velocityDebugColor:h(e,"debugVelocityColor",65280),maxVelocityX:h(e,"maxVelocityX",i),maxVelocityY:h(e,"maxVelocityY",i),minBounceVelocity:h(e,"minBounceVelocity",40),gravityFactor:h(e,"gravityFactor",1),bounciness:h(e,"bounciness",0)},this.walls={left:null,right:null,top:null,bottom:null},this.delta=0,this._lastId=0,h(e,"setBounds",!1)){var n=e.setBounds;if("boolean"==typeof n)this.setBounds();else{var s=h(n,"x",0),r=h(n,"y",0),l=h(n,"width",t.sys.game.config.width),c=h(n,"height",t.sys.game.config.height),d=h(n,"thickness",64),f=h(n,"left",!0),p=h(n,"right",!0),g=h(n,"top",!0),v=h(n,"bottom",!0);this.setBounds(s,r,l,c,d,f,p,g,v)}}this.drawDebug&&this.createDebugGraphic()},setCollisionMap:function(t,e){if("string"==typeof t){var i=this.scene.cache.tilemap.get(t);if(!i||i.format!==d.WELTMEISTER)return console.warn("The specified key does not correspond to a Weltmeister tilemap: "+t),null;for(var n,s=i.data.layer,r=0;r<s.length;r++)if("collision"===s[r].name){n=s[r];break}void 0===e&&(e=n.tilesize),this.collisionMap=new o(e,n.data)}else Array.isArray(t)?this.collisionMap=new o(e,t):console.warn("Invalid Weltmeister collision map data: "+t);return this.collisionMap},setCollisionMapFromTilemapLayer:function(t,e){void 0===e&&(e={});for(var i=h(e,"slopeProperty",null),n=h(e,"slopeMap",null),s=h(e,"defaultCollidingSlope",null),r=h(e,"defaultNonCollidingSlope",0),a=t.layer,u=a.baseTileWidth,c=[],d=0;d<a.height;d++){c[d]=[];for(var f=0;f<a.width;f++){var p=a.data[d][f];p&&p.collides?null!==i&&l(p.properties,i)?c[d][f]=parseInt(p.properties[i],10):null!==n&&l(n,p.index)?c[d][f]=n[p.index]:c[d][f]=null!==s?s:p.index:c[d][f]=r}}return this.collisionMap=new o(u,c),this.collisionMap},setBounds:function(t,e,i,n,s,r,o,a,h){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.scene.sys.game.config.width),void 0===n&&(n=this.scene.sys.game.config.height),void 0===s&&(s=64),void 0===r&&(r=!0),void 0===o&&(o=!0),void 0===a&&(a=!0),void 0===h&&(h=!0),this.updateWall(r,"left",t-s,e,s,n),this.updateWall(o,"right",t+i,e,s,n),this.updateWall(a,"top",t,e-s,i,s),this.updateWall(h,"bottom",t,e+n,i,s),this},updateWall:function(t,e,i,n,s,o){var a=this.walls[e];t?a?a.resetSize(i,n,s,o):(this.walls[e]=this.create(i,n,s,o),this.walls[e].name=e,this.walls[e].gravityFactor=0,this.walls[e].collides=r.FIXED):(a&&this.bodies.remove(a),this.walls[e]=null)},createDebugGraphic:function(){var t=this.scene.sys.add.graphics({x:0,y:0});return t.setDepth(Number.MAX_VALUE),this.debugGraphic=t,this.drawDebug=!0,t},getNextID:function(){return this._lastId++},create:function(t,e,i,s){var r=new n(this,t,e,i,s);return this.bodies.set(r),r},remove:function(t){this.bodies.delete(t)},pause:function(){return this.enabled=!1,this.emit("pause"),this},resume:function(){return this.enabled=!0,this.emit("resume"),this},update:function(t,e){if(this.enabled&&0!==this.bodies.size){var i,n,s=Math.min(e/1e3,this.maxStep)*this.timeScale;this.delta=s;var r=this.bodies.entries,o=r.length,a={},h=this.cellSize;for(i=0;i<o;i++)(n=r[i]).enabled&&n.update(s);for(i=0;i<o;i++)(n=r[i])&&!n.skipHash()&&this.checkHash(n,a,h);if(this.drawDebug){var l=this.debugGraphic;for(l.clear(),i=0;i<o;i++)(n=r[i])&&n.willDrawDebug()&&n.drawDebug(l)}}},checkHash:function(t,e,i){for(var n={},s=Math.floor(t.pos.x/i),r=Math.floor(t.pos.y/i),o=Math.floor((t.pos.x+t.size.x)/i)+1,a=Math.floor((t.pos.y+t.size.y)/i)+1,h=s;h<o;h++)for(var l=r;l<a;l++)if(e[h])if(e[h][l]){for(var u=e[h][l],c=0;c<u.length;c++)t.touches(u[c])&&!n[u[c].id]&&(n[u[c].id]=!0,this.checkBodies(t,u[c]));u.push(t)}else e[h][l]=[t];else e[h]={},e[h][l]=[t]},checkBodies:function(t,e){t.collides===r.FIXED&&e.collides===r.FIXED||(t.checkAgainst&e.type&&t.check(e),e.checkAgainst&t.type&&e.check(t),t.collides&&e.collides&&t.collides+e.collides>r.ACTIVE&&c(this,t,e))},setCollidesNever:function(t){for(var e=0;e<t.length;e++)t[e].collides=r.NEVER;return this},setLite:function(t){for(var e=0;e<t.length;e++)t[e].collides=r.LITE;return this},setPassive:function(t){for(var e=0;e<t.length;e++)t[e].collides=r.PASSIVE;return this},setActive:function(t){for(var e=0;e<t.length;e++)t[e].collides=r.ACTIVE;return this},setFixed:function(t){for(var e=0;e<t.length;e++)t[e].collides=r.FIXED;return this},setTypeNone:function(t){for(var e=0;e<t.length;e++)t[e].type=f.NONE;return this},setTypeA:function(t){for(var e=0;e<t.length;e++)t[e].type=f.A;return this},setTypeB:function(t){for(var e=0;e<t.length;e++)t[e].type=f.B;return this},setAvsB:function(t){for(var e=0;e<t.length;e++)t[e].type=f.A,t[e].checkAgainst=f.B;return this},setBvsA:function(t){for(var e=0;e<t.length;e++)t[e].type=f.B,t[e].checkAgainst=f.A;return this},setCheckAgainstNone:function(t){for(var e=0;e<t.length;e++)t[e].checkAgainst=f.NONE;return this},setCheckAgainstA:function(t){for(var e=0;e<t.length;e++)t[e].checkAgainst=f.A;return this},setCheckAgainstB:function(t){for(var e=0;e<t.length;e++)t[e].checkAgainst=f.B;return this},shutdown:function(){this.removeAllListeners()},destroy:function(){this.removeAllListeners(),this.scene=null,this.bodies.clear(),this.bodies=null,this.collisionMap=null}});t.exports=p},function(t,e,i){var n=i(0),s=i(506),r=i(61),o=new n({Extends:r,Mixins:[s.Acceleration,s.BodyScale,s.BodyType,s.Bounce,s.CheckAgainst,s.Collides,s.Debug,s.Friction,s.Gravity,s.Offset,s.SetGameObject,s.Velocity],initialize:function(t,e,i,n,s){r.call(this,t.scene,e,i,n,s),this.body=t.create(e-this.frame.centerX,i-this.frame.centerY,this.width,this.height),this.body.parent=this,this.body.gameObject=this,this.size=this.body.size,this.offset=this.body.offset,this.vel=this.body.vel,this.accel=this.body.accel,this.friction=this.body.friction,this.maxVel=this.body.maxVel}});t.exports=o},function(t,e,i){var n=i(0),s=i(506),r=i(87),o=new n({Extends:r,Mixins:[s.Acceleration,s.BodyScale,s.BodyType,s.Bounce,s.CheckAgainst,s.Collides,s.Debug,s.Friction,s.Gravity,s.Offset,s.SetGameObject,s.Velocity],initialize:function(t,e,i,n,s){r.call(this,t.scene,e,i,n,s),this.body=t.create(e-this.frame.centerX,i-this.frame.centerY,this.width,this.height),this.body.parent=this,this.body.gameObject=this,this.size=this.body.size,this.offset=this.body.offset,this.vel=this.body.vel,this.accel=this.body.accel,this.friction=this.body.friction,this.maxVel=this.body.maxVel}});t.exports=o},function(t,e,i){var n=i(0),s=i(506),r=new n({Mixins:[s.Acceleration,s.BodyScale,s.BodyType,s.Bounce,s.CheckAgainst,s.Collides,s.Debug,s.Friction,s.Gravity,s.Offset,s.SetGameObject,s.Velocity],initialize:function(t,e,i,n,s){this.body=t.create(e,i,n,s),this.body.parent=this,this.size=this.body.size,this.offset=this.body.offset,this.vel=this.body.vel,this.accel=this.body.accel,this.friction=this.body.friction,this.maxVel=this.body.maxVel}});t.exports=r},function(t,e,i){var n=i(0),s=i(1074),r=i(1073),o=i(1072),a=new n({initialize:function(t){this.world=t,this.sys=t.scene.sys},body:function(t,e,i,n){return new s(this.world,t,e,i,n)},existing:function(t){var e=t.x-t.frame.centerX,i=t.y-t.frame.centerY,n=t.width,s=t.height;return t.body=this.world.create(e,i,n,s),t.body.parent=t,t.body.gameObject=t,t},image:function(t,e,i,n){var s=new r(this.world,t,e,i,n);return this.sys.displayList.add(s),s},sprite:function(t,e,i,n){var s=new o(this.world,t,e,i,n);return this.sys.displayList.add(s),this.sys.updateList.add(s),s},destroy:function(){this.world=null,this.sys=null}});t.exports=a},function(t,e,i){var n=i(0),s=i(1122),r=new n({initialize:function(t,e){void 0===t&&(t=32),this.tilesize=t,this.data=Array.isArray(e)?e:[],this.width=Array.isArray(e)?e[0].length:0,this.height=Array.isArray(e)?e.length:0,this.lastSlope=55,this.tiledef=s},trace:function(t,e,i,n,s,r){var o={collision:{x:!1,y:!1,slope:!1},pos:{x:t+i,y:e+n},tile:{x:0,y:0}};if(!this.data)return o;var a=Math.ceil(Math.max(Math.abs(i),Math.abs(n))/this.tilesize);if(a>1)for(var h=i/a,l=n/a,u=0;u<a&&(h||l)&&(this.step(o,t,e,h,l,s,r,i,n,u),t=o.pos.x,e=o.pos.y,o.collision.x&&(h=0,i=0),o.collision.y&&(l=0,n=0),!o.collision.slope);u++);else this.step(o,t,e,i,n,s,r,i,n,0);return o},step:function(t,e,i,n,s,r,o,a,h,l){var u,c,d=0,f=this.tilesize,p=this.width,g=this.height;if(n){var v=n>0?r:0,y=n<0?f:0,m=Math.max(Math.floor(i/f),0),x=Math.min(Math.ceil((i+o)/f),g);u=Math.floor((t.pos.x+v)/f);var w=Math.floor((e+v)/f);if((l>0||u===w||w<0||w>=p)&&(w=-1),u>=0&&u<p)for(c=m;c<x&&!(-1!==w&&(d=this.data[c][w])>1&&d<=this.lastSlope&&this.checkDef(t,d,e,i,a,h,r,o,w,c));c++)if(1===(d=this.data[c][u])||d>this.lastSlope||d>1&&this.checkDef(t,d,e,i,a,h,r,o,u,c)){if(d>1&&d<=this.lastSlope&&t.collision.slope)break;t.collision.x=!0,t.tile.x=d,t.pos.x=u*f-v+y,e=t.pos.x,a=0;break}}if(s){var b=s>0?o:0,T=s<0?f:0,S=Math.max(Math.floor(t.pos.x/f),0),_=Math.min(Math.ceil((t.pos.x+r)/f),p);c=Math.floor((t.pos.y+b)/f);var A=Math.floor((i+b)/f);if((l>0||c===A||A<0||A>=g)&&(A=-1),c>=0&&c<g)for(u=S;u<_&&!(-1!==A&&(d=this.data[A][u])>1&&d<=this.lastSlope&&this.checkDef(t,d,e,i,a,h,r,o,u,A));u++)if(1===(d=this.data[c][u])||d>this.lastSlope||d>1&&this.checkDef(t,d,e,i,a,h,r,o,u,c)){if(d>1&&d<=this.lastSlope&&t.collision.slope)break;t.collision.y=!0,t.tile.y=d,t.pos.y=c*f-b+T;break}}},checkDef:function(t,e,i,n,s,r,o,a,h,l){var u=this.tiledef[e];if(!u)return!1;var c=this.tilesize,d=(h+u[0])*c,f=(l+u[1])*c,p=(u[2]-u[0])*c,g=(u[3]-u[1])*c,v=u[4],y=i+s+(g<0?o:0)-d,m=n+r+(p>0?a:0)-f;if(p*m-g*y>0){if(s*-g+r*p<0)return v;var x=Math.sqrt(p*p+g*g),w=g/x,b=-p/x,T=y*w+m*b,S=w*T,_=b*T;return S*S+_*_>=s*s+r*r?v||p*(m-r)-g*(y-s)<.5:(t.pos.x=i+s-S,t.pos.y=n+r-_,t.collision.slope={x:p,y:g,nx:w,ny:b},!0)}return!1}});t.exports=r},function(t,e,i){var n=i(0),s=i(224),r=i(1124),o=i(223),a=i(1123),h=new n({initialize:function(t,e,i,n,r){void 0===n&&(n=16),void 0===r&&(r=n),this.world=t,this.gameObject=null,this.enabled=!0,this.parent,this.id=t.getNextID(),this.name="",this.size={x:n,y:r},this.offset={x:0,y:0},this.pos={x:e,y:i},this.last={x:e,y:i},this.vel={x:0,y:0},this.accel={x:0,y:0},this.friction={x:0,y:0},this.maxVel={x:t.defaults.maxVelocityX,y:t.defaults.maxVelocityY},this.standing=!1,this.gravityFactor=t.defaults.gravityFactor,this.bounciness=t.defaults.bounciness,this.minBounceVelocity=t.defaults.minBounceVelocity,this.accelGround=0,this.accelAir=0,this.jumpSpeed=0,this.type=o.NONE,this.checkAgainst=o.NONE,this.collides=s.NEVER,this.debugShowBody=t.defaults.debugShowBody,this.debugShowVelocity=t.defaults.debugShowVelocity,this.debugBodyColor=t.defaults.bodyDebugColor,this.updateCallback,this.slopeStanding={min:.767944870877505,max:2.3736477827122884}},reset:function(t,e){this.pos={x:t,y:e},this.last={x:t,y:e},this.vel={x:0,y:0},this.accel={x:0,y:0},this.friction={x:0,y:0},this.maxVel={x:100,y:100},this.standing=!1,this.gravityFactor=1,this.bounciness=0,this.minBounceVelocity=40,this.accelGround=0,this.accelAir=0,this.jumpSpeed=0,this.type=o.NONE,this.checkAgainst=o.NONE,this.collides=s.NEVER},update:function(t){var e=this.pos;this.last.x=e.x,this.last.y=e.y,this.vel.y+=this.world.gravity*t*this.gravityFactor,this.vel.x=r(t,this.vel.x,this.accel.x,this.friction.x,this.maxVel.x),this.vel.y=r(t,this.vel.y,this.accel.y,this.friction.y,this.maxVel.y);var i=this.vel.x*t,n=this.vel.y*t,s=this.world.collisionMap.trace(e.x,e.y,i,n,this.size.x,this.size.y);this.handleMovementTrace(s)&&a(this,s);var o=this.gameObject;o&&(o.x=e.x-this.offset.x+o.displayOriginX*o.scaleX,o.y=e.y-this.offset.y+o.displayOriginY*o.scaleY),this.updateCallback&&this.updateCallback(this)},drawDebug:function(t){var e=this.pos;if(this.debugShowBody&&(t.lineStyle(1,this.debugBodyColor,1),t.strokeRect(e.x,e.y,this.size.x,this.size.y)),this.debugShowVelocity){var i=e.x+this.size.x/2,n=e.y+this.size.y/2;t.lineStyle(1,this.world.defaults.velocityDebugColor,1),t.lineBetween(i,n,i+this.vel.x,n+this.vel.y)}},willDrawDebug:function(){return this.debugShowBody||this.debugShowVelocity},skipHash:function(){return!this.enabled||0===this.type&&0===this.checkAgainst&&0===this.collides},touches:function(t){return!(this.pos.x>=t.pos.x+t.size.x||this.pos.x+this.size.x<=t.pos.x||this.pos.y>=t.pos.y+t.size.y||this.pos.y+this.size.y<=t.pos.y)},resetSize:function(t,e,i,n){return this.pos.x=t,this.pos.y=e,this.size.x=i,this.size.y=n,this},toJSON:function(){return{name:this.name,size:{x:this.size.x,y:this.size.y},pos:{x:this.pos.x,y:this.pos.y},vel:{x:this.vel.x,y:this.vel.y},accel:{x:this.accel.x,y:this.accel.y},friction:{x:this.friction.x,y:this.friction.y},maxVel:{x:this.maxVel.x,y:this.maxVel.y},gravityFactor:this.gravityFactor,bounciness:this.bounciness,minBounceVelocity:this.minBounceVelocity,type:this.type,checkAgainst:this.checkAgainst,collides:this.collides}},fromJSON:function(){},check:function(){},collideWith:function(t,e){this.parent&&this.parent._collideCallback&&this.parent._collideCallback.call(this.parent._callbackScope,this,t,e)},handleMovementTrace:function(){return!0},destroy:function(){this.world.remove(this),this.enabled=!1,this.world=null,this.gameObject=null,this.parent=null}});t.exports=h},,function(t,e,i){t.exports={BitmapMaskPipeline:i(421),ForwardDiffuseLightPipeline:i(420),TextureTintPipeline:i(196)}},function(t,e,i){t.exports={Utils:i(10),WebGLPipeline:i(197),WebGLRenderer:i(423),Pipelines:i(1079),BYTE:0,SHORT:1,UNSIGNED_BYTE:2,UNSIGNED_SHORT:3,FLOAT:4}},function(t,e,i){t.exports={Canvas:i(425),WebGL:i(422)}},function(t,e,i){t.exports={CanvasRenderer:i(426),GetBlendModes:i(424),SetTransform:i(22)}},function(t,e,i){t.exports={Canvas:i(1082),Snapshot:i(1081),WebGL:i(1080)}},function(t,e,i){var n=i(501),s={name:"matter-wrap",version:"0.1.4",for:"matter-js@^0.13.1",silent:!0,install:function(t){t.after("Engine.update",function(){s.Engine.update(this)})},Engine:{update:function(t){for(var e=t.world,i=n.Composite.allBodies(e),r=n.Composite.allComposites(e),o=0;o<i.length;o+=1){var a=i[o];a.plugin.wrap&&s.Body.wrap(a,a.plugin.wrap)}for(o=0;o<r.length;o+=1){var h=r[o];h.plugin.wrap&&s.Composite.wrap(h,h.plugin.wrap)}}},Bounds:{wrap:function(t,e){var i=null,n=null;if(void 0!==e.min.x&&void 0!==e.max.x&&(t.min.x>e.max.x?i=e.min.x-t.max.x:t.max.x<e.min.x&&(i=e.max.x-t.min.x)),void 0!==e.min.y&&void 0!==e.max.y&&(t.min.y>e.max.y?n=e.min.y-t.max.y:t.max.y<e.min.y&&(n=e.max.y-t.min.y)),null!==i||null!==n)return{x:i||0,y:n||0}}},Body:{wrap:function(t,e){var i=s.Bounds.wrap(t.bounds,e);return i&&n.Body.translate(t,i),i}},Composite:{bounds:function(t){for(var e=n.Composite.allBodies(t),i=[],s=0;s<e.length;s+=1){var r=e[s];i.push(r.bounds.min,r.bounds.max)}return n.Bounds.create(i)},wrap:function(t,e){var i=s.Bounds.wrap(s.Composite.bounds(t),e);return i&&n.Composite.translate(t,i),i}}};t.exports=s},function(t,e,i){var n=i(501),s={name:"matter-attractors",version:"0.1.7",for:"matter-js@^0.13.1",silent:!0,install:function(t){t.after("Body.create",function(){s.Body.init(this)}),t.before("Engine.update",function(t){s.Engine.update(t)})},Body:{init:function(t){t.plugin.attractors=t.plugin.attractors||[]}},Engine:{update:function(t){for(var e=t.world,i=n.Composite.allBodies(e),s=0;s<i.length;s+=1){var r=i[s],o=r.plugin.attractors;if(o&&o.length>0)for(var a=s+1;a<i.length;a+=1)for(var h=i[a],l=0;l<o.length;l+=1){var u=o[l],c=u;n.Common.isFunction(u)&&(c=u(r,h)),c&&n.Body.applyForce(h,h.position,c)}}}},Attractors:{gravityConstant:.001,gravity:function(t,e){var i=n.Vector.sub(e.position,t.position),r=n.Vector.magnitudeSquared(i)||1e-4,o=n.Vector.normalise(i),a=-s.Attractors.gravityConstant*(t.mass*e.mass/r),h=n.Vector.mult(o,a);n.Body.applyForce(t,t.position,n.Vector.neg(h)),n.Body.applyForce(e,e.position,h)}}};t.exports=s},function(t,e,i){var n=i(0),s=i(1070),r=i(2),o=i(4),a=i(1085),h=i(1065),l=i(1084),u=i(96),c=i(500),d=i(15),f=i(1060),p=i(76),g=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.config=this.getConfig(),this.world,this.add,this.verts=p,o(this.config,"plugins.attractors",!1)&&(c.register(a),c.use(h,a)),o(this.config,"plugins.wrap",!1)&&(c.register(l),c.use(h,l)),t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.world=new f(this.scene,this.config),this.add=new s(this.world),this.systems.events.once("destroy",this.destroy,this)},start:function(){this.world||(this.world=new f(this.scene,this.config),this.add=new s(this.world));var t=this.systems.events;t.on("update",this.world.update,this.world),t.on("postupdate",this.world.postUpdate,this.world),t.once("shutdown",this.shutdown,this)},getConfig:function(){var t=this.systems.game.config.physics,e=this.systems.settings.physics;return u(r(e,"matter",{}),r(t,"matter",{}))},enableAttractorPlugin:function(){return c.register(a),c.use(h,a),this},enableWrapPlugin:function(){return c.register(l),c.use(h,l),this},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},set60Hz:function(){return this.world.getDelta=this.world.update60Hz,this.world.autoUpdate=!0,this},set30Hz:function(){return this.world.getDelta=this.world.update30Hz,this.world.autoUpdate=!0,this},step:function(t,e){this.world.step(t,e)},shutdown:function(){var t=this.systems.events;t.off("update",this.world.update,this.world),t.off("postupdate",this.world.postUpdate,this.world),t.off("shutdown",this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});d.register("MatterPhysics",g,"matterPhysics"),t.exports=g},function(t,e,i){var n={};t.exports=n;i(80);var s=i(33);n.pathToVertices=function(t,e){"undefined"==typeof window||"SVGPathSeg"in window||s.warn("Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.");var i,r,o,a,h,l,u,c,d,f,p,g=[],v=0,y=0,m=0;e=e||15;var x=function(t,e,i){var n=i%2==1&&i>1;if(!d||t!=d.x||e!=d.y){d&&n?(f=d.x,p=d.y):(f=0,p=0);var s={x:f+t,y:p+e};!n&&d||(d=s),g.push(s),y=f+t,m=p+e}},w=function(t){var e=t.pathSegTypeAsLetter.toUpperCase();if("Z"!==e){switch(e){case"M":case"L":case"T":case"C":case"S":case"Q":y=t.x,m=t.y;break;case"H":y=t.x;break;case"V":m=t.y}x(y,m,t.pathSegType)}};for(n._svgPathToAbsolute(t),o=t.getTotalLength(),l=[],i=0;i<t.pathSegList.numberOfItems;i+=1)l.push(t.pathSegList.getItem(i));for(u=l.concat();v<o;){if((h=l[t.getPathSegAtLength(v)])!=c){for(;u.length&&u[0]!=h;)w(u.shift());c=h}switch(h.pathSegTypeAsLetter.toUpperCase()){case"C":case"T":case"S":case"Q":case"A":a=t.getPointAtLength(v),x(a.x,a.y,0)}v+=e}for(i=0,r=u.length;i<r;++i)w(u[i]);return g},n._svgPathToAbsolute=function(t){for(var e,i,n,s,r,o,a=t.pathSegList,h=0,l=0,u=a.numberOfItems,c=0;c<u;++c){var d=a.getItem(c),f=d.pathSegTypeAsLetter;if(/[MLHVCSQTA]/.test(f))"x"in d&&(h=d.x),"y"in d&&(l=d.y);else switch("x1"in d&&(n=h+d.x1),"x2"in d&&(r=h+d.x2),"y1"in d&&(s=l+d.y1),"y2"in d&&(o=l+d.y2),"x"in d&&(h+=d.x),"y"in d&&(l+=d.y),f){case"m":a.replaceItem(t.createSVGPathSegMovetoAbs(h,l),c);break;case"l":a.replaceItem(t.createSVGPathSegLinetoAbs(h,l),c);break;case"h":a.replaceItem(t.createSVGPathSegLinetoHorizontalAbs(h),c);break;case"v":a.replaceItem(t.createSVGPathSegLinetoVerticalAbs(l),c);break;case"c":a.replaceItem(t.createSVGPathSegCurvetoCubicAbs(h,l,n,s,r,o),c);break;case"s":a.replaceItem(t.createSVGPathSegCurvetoCubicSmoothAbs(h,l,r,o),c);break;case"q":a.replaceItem(t.createSVGPathSegCurvetoQuadraticAbs(h,l,n,s),c);break;case"t":a.replaceItem(t.createSVGPathSegCurvetoQuadraticSmoothAbs(h,l),c);break;case"a":a.replaceItem(t.createSVGPathSegArcAbs(h,l,d.r1,d.r2,d.angle,d.largeArcFlag,d.sweepFlag),c);break;case"z":case"Z":h=e,l=i}"M"!=f&&"m"!=f||(e=h,i=l)}}},function(t,e,i){var n={};t.exports=n;var s=i(137),r=i(33);n.create=function(t){return r.extend({extended:!1,narrowDetections:0,narrowphaseTests:0,narrowReuse:0,narrowReuseCount:0,midphaseTests:0,broadphaseTests:0,narrowEff:1e-4,midEff:1e-4,broadEff:1e-4,collisions:0,buckets:0,bodies:0,pairs:0},!1,t)},n.reset=function(t){t.extended&&(t.narrowDetections=0,t.narrowphaseTests=0,t.narrowReuse=0,t.narrowReuseCount=0,t.midphaseTests=0,t.broadphaseTests=0,t.narrowEff=0,t.midEff=0,t.broadEff=0,t.collisions=0,t.buckets=0,t.pairs=0,t.bodies=0)},n.update=function(t,e){if(t.extended){var i=e.world,n=s.allBodies(i);t.collisions=t.narrowDetections,t.pairs=e.pairs.list.length,t.bodies=n.length,t.midEff=(t.narrowDetections/(t.midphaseTests||1)).toFixed(2),t.narrowEff=(t.narrowDetections/(t.narrowphaseTests||1)).toFixed(2),t.broadEff=(1-t.broadphaseTests/(n.length||1)).toFixed(2),t.narrowReuse=(t.narrowReuseCount/(t.narrowphaseTests||1)).toFixed(2)}}},function(t,e,i){var n={};t.exports=n;var s=i(81),r=i(502),o=i(80),a=i(126),h=i(76);n.collides=function(t,e){for(var i=[],n=0;n<e.length;n++){var s=e[n];if(o.overlaps(s.bounds,t.bounds))for(var a=1===s.parts.length?0:1;a<s.parts.length;a++){var h=s.parts[a];if(o.overlaps(h.bounds,t.bounds)){var l=r.collides(h,t);if(l.collided){i.push(l);break}}}}return i},n.ray=function(t,e,i,r){r=r||1e-100;for(var o=s.angle(e,i),h=s.magnitude(s.sub(e,i)),l=.5*(i.x+e.x),u=.5*(i.y+e.y),c=a.rectangle(l,u,h,r,{angle:o}),d=n.collides(c,t),f=0;f<d.length;f+=1){var p=d[f];p.body=p.bodyB=p.bodyA}return d},n.region=function(t,e,i){for(var n=[],s=0;s<t.length;s++){var r=t[s],a=o.overlaps(r.bounds,e);(a&&!i||!a&&i)&&n.push(r)}return n},n.point=function(t,e){for(var i=[],n=0;n<t.length;n++){var s=t[n];if(o.contains(s.bounds,e))for(var r=1===s.parts.length?0:1;r<s.parts.length;r++){var a=s.parts[r];if(o.contains(a.bounds,e)&&h.contains(a.vertices,e)){i.push(s);break}}}return i}},function(t,e,i){var n=i(80),s=i(0),r=i(137),o=i(194),a=i(503),h=i(2),l=i(96),u=i(222),c=i(3),d=i(76),f=new s({initialize:function(t,e,i){void 0===i&&(i={});this.scene=t,this.world=e;var n=h(i,"camera",null);n?(this.camera=n,delete i.camera):this.camera=t.sys.cameras.main,this.pointer=null,this.active=!0,this.position=new c,this.constraint=o.create(l(i,{label:"Pointer Constraint",pointA:{x:0,y:0},pointB:{x:0,y:0},damping:0,length:.01,stiffness:.1,angularStiffness:1,collisionFilter:{category:1,mask:4294967295,group:0}})),this.world.on("beforeupdate",this.update,this),t.sys.input.on("pointerdown",this.onDown,this),t.sys.input.on("pointerup",this.onUp,this)},onDown:function(t){this.pointer=t},onUp:function(){this.pointer=null},getBodyPart:function(t,e){for(var i=this.constraint,n=t.parts.length>1?1:0;n<t.parts.length;n++){var s=t.parts[n];if(d.contains(s.vertices,e))return i.bodyB=t,i.pointA.x=e.x,i.pointA.y=e.y,i.pointB.x=e.x-t.position.x,i.pointB.y=e.y-t.position.y,i.angleB=t.angle,u.set(t,!1),!0}return!1},update:function(){if(this.active){var t=this.pointer,e=this.constraint;if(t){var i=this.position;if(this.camera.getWorldPoint(t.x,t.y,i),e.bodyB)u.set(e.bodyB,!1),e.pointA.x=i.x,e.pointA.y=i.y;else for(var s=r.allBodies(this.world.localWorld),o=0;o<s.length;o++){var h=s[o];if(!h.ignorePointer&&n.contains(h.bounds,i)&&a.canCollide(h.collisionFilter,e.collisionFilter)&&this.getBodyPart(h,i))break}}else e.bodyB&&(e.bodyB=null)}},destroy:function(){this.world.removeConstraint(this.constraint),this.constraint=null,this.world.off("beforeupdate",this.update),this.scene.sys.input.off("pointerdown",this.onDown,this),this.scene.sys.input.off("pointerup",this.onUp,this)}});t.exports=f},function(t,e,i){var n=i(67),s={setAngularVelocity:function(t){return n.setAngularVelocity(this.body,t),this},setVelocityX:function(t){return this._tempVec2.set(t,this.body.velocity.y),n.setVelocity(this.body,this._tempVec2),this},setVelocityY:function(t){return this._tempVec2.set(this.body.velocity.x,t),n.setVelocity(this.body,this._tempVec2),this},setVelocity:function(t,e){return this._tempVec2.set(t,e),n.setVelocity(this.body,this._tempVec2),this}};t.exports=s},function(t,e,i){var n=i(67),s=i(16),r=i(199),o=i(198),a={x:{get:function(){return this.body.position.x},set:function(t){this._tempVec2.set(t,this.y),n.setPosition(this.body,this._tempVec2)}},y:{get:function(){return this.body.position.y},set:function(t){this._tempVec2.set(this.x,t),n.setPosition(this.body,this._tempVec2)}},scaleX:{get:function(){return this._scaleX},set:function(t){var e=1/this._scaleX;this._scaleX=t,0===this._scaleX?this.renderFlags&=-5:this.renderFlags|=4,n.scale(this.body,e,this._scaleY),n.scale(this.body,t,this._scaleY)}},scaleY:{get:function(){return this._scaleY},set:function(t){var e=1/this._scaleY;this._scaleY=t,0===this._scaleY?this.renderFlags&=-5:this.renderFlags|=4,n.scale(this.body,this._scaleX,e),n.scale(this.body,this._scaleX,t)}},angle:{get:function(){return o(this.body.angle*s.RAD_TO_DEG)},set:function(t){this.rotation=o(t)*s.DEG_TO_RAD}},rotation:{get:function(){return this.body.angle},set:function(t){this._rotation=r(t),n.setAngle(this.body,this._rotation)}},setPosition:function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this._tempVec2.set(t,e),n.setPosition(this.body,this._tempVec2),this},setRotation:function(t){return void 0===t&&(t=0),this._rotation=r(t),n.setAngle(this.body,t),this},setFixedRotation:function(){return n.setInertia(this.body,1/0),this},setAngle:function(t){return void 0===t&&(t=0),this.angle=t,n.setAngle(this.body,this.rotation),this},setScale:function(t,e,i){void 0===t&&(t=1),void 0===e&&(e=t);var s=1/this._scaleX,r=1/this._scaleY;return this._scaleX=t,this._scaleY=e,n.scale(this.body,s,r,i),n.scale(this.body,t,e,i),this}};t.exports=a},function(t,e,i){var n=i(195),s={setSleepThreshold:function(t){return void 0===t&&(t=60),this.body.sleepThreshold=t,this},setSleepEvents:function(t,e){return this.setSleepStartEvent(t),this.setSleepEndEvent(e),this},setSleepStartEvent:function(t){if(t){var e=this.world;n.on(this.body,"sleepStart",function(t){e.emit("sleepstart",t,this)})}else n.off(this.body,"sleepStart");return this},setSleepEndEvent:function(t){if(t){var e=this.world;n.on(this.body,"sleepEnd",function(t){e.emit("sleepend",t,this)})}else n.off(this.body,"sleepEnd");return this}};t.exports=s},function(t,e,i){var n=i(126),s=i(67),r=i(80),o=i(33),a=i(2),h=i(81),l=i(76),u={parseBody:function(t,e,i,n,r){for(var h=a(r,"fixtures",[]),l=[],u=0;u<h.length;u++)for(var c=this.parseFixture(h[u]),d=0;d<c.length;d++)l.push(c[d]);var f=o.extend({},!1,r);delete f.fixtures,delete f.type;var p=s.create(f);return s.setParts(p,l),p.render.sprite.xOffset=p.position.x/i,p.render.sprite.yOffset=p.position.y/n,s.setPosition(p,{x:t,y:e}),p},parseFixture:function(t){var e,i=o.extend({},!1,t);if(delete i.circle,delete i.vertices,t.circle){var s=a(t.circle,"x"),r=a(t.circle,"y"),h=a(t.circle,"radius");e=[n.circle(s,r,h,i)]}else t.vertices&&(e=this.parseVertices(t.vertices,i));return e},parseVertices:function(t,e){var i,n,a,u,c,d=[];for(e=e||{},u=0;u<t.length;u+=1)d.push(s.create(o.extend({position:l.centre(t[u]),vertices:t[u]},e)));for(i=0;i<d.length;i++){var f=d[i];for(n=i+1;n<d.length;n++){var p=d[n];if(r.overlaps(f.bounds,p.bounds)){var g=f.vertices,v=p.vertices;for(a=0;a<f.vertices.length;a++)for(c=0;c<p.vertices.length;c++){var y=h.magnitudeSquared(h.sub(g[(a+1)%g.length],v[c])),m=h.magnitudeSquared(h.sub(g[a],v[(c+1)%v.length]));y<5&&m<5&&(g[a].isInternal=!0,v[c].isInternal=!0)}}}}return d}};t.exports=u},function(t,e,i){var n=i(126),s=i(67),r=i(2),o=i(1094),a=i(76),h={setRectangle:function(t,e,i){return this.setBody({type:"rectangle",width:t,height:e},i)},setCircle:function(t,e){return this.setBody({type:"circle",radius:t},e)},setPolygon:function(t,e,i){return this.setBody({type:"polygon",sides:e,radius:t},i)},setTrapezoid:function(t,e,i,n){return this.setBody({type:"trapezoid",width:t,height:e,slope:i},n)},setExistingBody:function(t,e){void 0===e&&(e=!0),this.body&&this.world.remove(this.body),this.body=t;for(var i=0;i<t.parts.length;i++)t.parts[i].gameObject=this;var n=this;return t.destroy=function(){n.world.remove(n.body),n.body.gameObject=null},e&&this.world.add(t),this._originComponent&&this.setOrigin(t.render.sprite.xOffset,t.render.sprite.yOffset),this},setBody:function(t,e){if(!t)return this;var i;"string"==typeof t&&(t={type:t});var h=r(t,"type","rectangle"),l=r(t,"x",this._tempVec2.x),u=r(t,"y",this._tempVec2.y),c=r(t,"width",this.width),d=r(t,"height",this.height);switch(h){case"rectangle":i=n.rectangle(l,u,c,d,e);break;case"circle":var f=r(t,"radius",Math.max(c,d)/2),p=r(t,"maxSides",25);i=n.circle(l,u,f,e,p);break;case"trapezoid":var g=r(t,"slope",.5);i=n.trapezoid(l,u,c,d,g,e);break;case"polygon":var v=r(t,"sides",5),y=r(t,"radius",Math.max(c,d)/2);i=n.polygon(l,u,v,y,e);break;case"fromVertices":case"fromVerts":var m=r(t,"verts",null);if(m)if("string"==typeof m&&(m=a.fromPath(m)),this.body&&!this.body.hasOwnProperty("temp"))s.setVertices(this.body,m),i=this.body;else{var x=r(t,"flagInternal",!1),w=r(t,"removeCollinear",.01),b=r(t,"minimumArea",10);i=n.fromVertices(l,u,m,e,x,w,b)}break;case"fromPhysicsEditor":i=o.parseBody(l,u,c,d,t)}return i&&this.setExistingBody(i,t.addToWorld),this}};t.exports=h},function(t,e){t.exports={setSensor:function(t){return this.body.isSensor=t,this},isSensor:function(){return this.body.isSensor}}},function(t,e,i){var n=i(67),s={setStatic:function(t){return n.setStatic(this.body,t),this},isStatic:function(){return this.body.isStatic}};t.exports=s},function(t,e,i){var n=i(67),s=i(3),r={setMass:function(t){return n.setMass(this.body,t),this},setDensity:function(t){return n.setDensity(this.body,t),this},centerOfMass:{get:function(){return new s(this.body.render.sprite.xOffset*this.width,this.body.render.sprite.yOffset*this.height)}}};t.exports=r},function(t,e){t.exports={setIgnoreGravity:function(t){return this.body.ignoreGravity=t,this}}},function(t,e){var i={setFriction:function(t,e,i){return this.body.friction=t,void 0!==e&&(this.body.frictionAir=e),void 0!==i&&(this.body.frictionStatic=i),this},setFrictionAir:function(t){return this.body.frictionAir=t,this},setFrictionStatic:function(t){return this.body.frictionStatic=t,this}};t.exports=i},function(t,e,i){var n=i(67),s={applyForce:function(t){return this._tempVec2.set(this.body.position.x,this.body.position.y),n.applyForce(this.body,this._tempVec2,t),this},applyForceFrom:function(t,e){return n.applyForce(this.body,t,e),this},thrust:function(t){var e=this.body.angle;return this._tempVec2.set(t*Math.cos(e),t*Math.sin(e)),n.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustLeft:function(t){var e=this.body.angle-Math.PI/2;return this._tempVec2.set(t*Math.cos(e),t*Math.sin(e)),n.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustRight:function(t){var e=this.body.angle+Math.PI/2;return this._tempVec2.set(t*Math.cos(e),t*Math.sin(e)),n.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this},thrustBack:function(t){var e=this.body.angle-Math.PI;return this._tempVec2.set(t*Math.cos(e),t*Math.sin(e)),n.applyForce(this.body,{x:this.body.position.x,y:this.body.position.y},this._tempVec2),this}};t.exports=s},function(t,e){var i={setCollisionCategory:function(t){return this.body.collisionFilter.category=t,this},setCollisionGroup:function(t){return this.body.collisionFilter.group=t,this},setCollidesWith:function(t){var e=0;if(Array.isArray(t))for(var i=0;i<t.length;i++)e|=t[i];else e=t;return this.body.collisionFilter.mask=e,this}};t.exports=i},function(t,e){t.exports={setBounce:function(t){return this.body.restitution=t,this}}},function(t,e,i){var n=i(419),s=i(2),r=i(3);t.exports=function(t,e,i){void 0===i&&(i={});var o=e.x,a=e.y;e.body={temp:!0,position:{x:o,y:a}},[n.Bounce,n.Collision,n.Force,n.Friction,n.Gravity,n.Mass,n.Sensor,n.SetBody,n.Sleep,n.Static,n.Transform,n.Velocity].forEach(function(t){for(var i in t)(n=t[i]).get&&"function"==typeof n.get||n.set&&"function"==typeof n.set?Object.defineProperty(e,i,{get:t[i].get,set:t[i].set}):Object.defineProperty(e,i,{value:t[i]});var n}),e.world=t,e._tempVec2=new r(o,a);var h=s(i,"shape",null);return h||(h="rectangle"),e.setBody(h,i),e}},function(t,e,i){t.exports={Factory:i(1070),Image:i(1067),Matter:i(501),MatterPhysics:i(1086),PolyDecomp:i(1069),Sprite:i(1066),TileBody:i(504),World:i(1060)}},function(t,e){t.exports=function(t,e,i,n){var s,r,o=e.pos.y+e.size.y-i.pos.y;if(n){var a=e===n?i:e;n.vel.y=-n.vel.y*n.bounciness+a.vel.y,s=0,n===e&&Math.abs(n.vel.y-a.vel.y)<n.minBounceVelocity&&(n.standing=!0,s=a.vel.x*t.delta);var h=t.collisionMap.trace(n.pos.x,n.pos.y,s,n===e?-o:o,n.size.x,n.size.y);n.pos.y=h.pos.y,n.pos.x=h.pos.x}else if(t.gravity&&(i.standing||e.vel.y>0))r=t.collisionMap.trace(e.pos.x,e.pos.y,0,-(e.pos.y+e.size.y-i.pos.y),e.size.x,e.size.y),e.pos.y=r.pos.y,e.bounciness>0&&e.vel.y>e.minBounceVelocity?e.vel.y*=-e.bounciness:(e.standing=!0,e.vel.y=0);else{var l=(e.vel.y-i.vel.y)/2;e.vel.y=-l,i.vel.y=l,s=i.vel.x*t.delta,r=t.collisionMap.trace(e.pos.x,e.pos.y,s,-o/2,e.size.x,e.size.y),e.pos.y=r.pos.y;var u=t.collisionMap.trace(i.pos.x,i.pos.y,0,o/2,i.size.x,i.size.y);i.pos.y=u.pos.y}}},function(t,e){t.exports=function(t,e,i,n){var s=e.pos.x+e.size.x-i.pos.x;if(n){var r=e===n?i:e;n.vel.x=-n.vel.x*n.bounciness+r.vel.x;var o=t.collisionMap.trace(n.pos.x,n.pos.y,n===e?-s:s,0,n.size.x,n.size.y);n.pos.x=o.pos.x}else{var a=(e.vel.x-i.vel.x)/2;e.vel.x=-a,i.vel.x=a;var h=t.collisionMap.trace(e.pos.x,e.pos.y,-s/2,0,e.size.x,e.size.y);e.pos.x=Math.floor(h.pos.x);var l=t.collisionMap.trace(i.pos.x,i.pos.y,s/2,0,i.size.x,i.size.y);i.pos.x=Math.ceil(l.pos.x)}}},function(t,e,i){var n=i(224),s=i(1107),r=i(1106);t.exports=function(t,e,i){var o=null;e.collides===n.LITE||i.collides===n.FIXED?o=e:i.collides!==n.LITE&&e.collides!==n.FIXED||(o=i),e.last.x+e.size.x>i.last.x&&e.last.x<i.last.x+i.size.x?(e.last.y<i.last.y?r(t,e,i,o):r(t,i,e,o),e.collideWith(i,"y"),i.collideWith(e,"y"),t.emit("collide",e,i,"y")):e.last.y+e.size.y>i.last.y&&e.last.y<i.last.y+i.size.y&&(e.last.x<i.last.x?s(t,e,i,o):s(t,i,e,o),e.collideWith(i,"x"),i.collideWith(e,"x"),t.emit("collide",e,i,"x"))}},function(t,e,i){var n=i(0),s=i(1075),r=i(2),o=i(96),a=i(15),h=i(1071),l=new n({initialize:function(t){this.scene=t,this.systems=t.sys,this.config=this.getConfig(),this.world,this.add,t.sys.events.once("boot",this.boot,this),t.sys.events.on("start",this.start,this)},boot:function(){this.world=new h(this.scene,this.config),this.add=new s(this.world),this.systems.events.once("destroy",this.destroy,this)},start:function(){this.world||(this.world=new h(this.scene,this.config),this.add=new s(this.world));var t=this.systems.events;t.on("update",this.world.update,this.world),t.once("shutdown",this.shutdown,this)},getConfig:function(){var t=this.systems.game.config.physics,e=this.systems.settings.physics;return o(r(e,"impact",{}),r(t,"impact",{}))},pause:function(){return this.world.pause()},resume:function(){return this.world.resume()},shutdown:function(){var t=this.systems.events;t.off("update",this.world.update,this.world),t.off("shutdown",this.shutdown,this),this.add.destroy(),this.world.destroy(),this.add=null,this.world=null},destroy:function(){this.shutdown(),this.scene.sys.events.off("start",this.start,this),this.scene=null,this.systems=null}});a.register("ImpactPhysics",l,"impactPhysics"),t.exports=l},function(t,e){var i={setVelocityX:function(t){return this.vel.x=t,this},setVelocityY:function(t){return this.vel.y=t,this},setVelocity:function(t,e){return void 0===e&&(e=t),this.vel.x=t,this.vel.y=e,this},setMaxVelocity:function(t,e){return void 0===e&&(e=t),this.maxVel.x=t,this.maxVel.y=e,this}};t.exports=i},function(t,e){var i={setGameObject:function(t,e){return void 0===e&&(e=!0),t?(this.body.gameObject=t,e&&this.syncGameObject()):this.body.gameObject=null,this},syncGameObject:function(){var t=this.body.gameObject;return t&&this.setBodySize(t.width*t.scaleX,t.height*t.scaleY),this}};t.exports=i},function(t,e){t.exports={setOffset:function(t,e,i,n){return this.body.offset.x=t,this.body.offset.y=e,i&&this.setBodySize(i,n),this}}},function(t,e){t.exports={setGravity:function(t){return this.body.gravityFactor=t,this},gravity:{get:function(){return this.body.gravityFactor},set:function(t){this.body.gravityFactor=t}}}},function(t,e){t.exports={setFrictionX:function(t){return this.friction.x=t,this},setFrictionY:function(t){return this.friction.y=t,this},setFriction:function(t,e){return this.friction.x=t,this.friction.y=e,this}}},function(t,e){t.exports={setDebug:function(t,e,i){return this.debugShowBody=t,this.debugShowVelocity=e,this.debugBodyColor=i,this},setDebugBodyColor:function(t){return this.body.debugBodyColor=t,this},debugShowBody:{get:function(){return this.body.debugShowBody},set:function(t){this.body.debugShowBody=t}},debugShowVelocity:{get:function(){return this.body.debugShowVelocity},set:function(t){this.body.debugShowVelocity=t}},debugBodyColor:{get:function(){return this.body.debugBodyColor},set:function(t){this.body.debugBodyColor=t}}}},function(t,e,i){var n=i(224),s={_collideCallback:null,_callbackScope:null,setCollideCallback:function(t,e){return this._collideCallback=t,e&&(this._callbackScope=e),this},setCollidesNever:function(){return this.body.collides=n.NEVER,this},setLiteCollision:function(){return this.body.collides=n.LITE,this},setPassiveCollision:function(){return this.body.collides=n.PASSIVE,this},setActiveCollision:function(){return this.body.collides=n.ACTIVE,this},setFixedCollision:function(){return this.body.collides=n.FIXED,this},collides:{get:function(){return this.body.collides},set:function(t){this.body.collides=t}}};t.exports=s},function(t,e,i){var n=i(223),s={setAvsB:function(){return this.setTypeA(),this.setCheckAgainstB()},setBvsA:function(){return this.setTypeB(),this.setCheckAgainstA()},setCheckAgainstNone:function(){return this.body.checkAgainst=n.NONE,this},setCheckAgainstA:function(){return this.body.checkAgainst=n.A,this},setCheckAgainstB:function(){return this.body.checkAgainst=n.B,this},checkAgainst:{get:function(){return this.body.checkAgainst},set:function(t){this.body.checkAgainst=t}}};t.exports=s},function(t,e){t.exports={setBounce:function(t){return this.body.bounciness=t,this},setMinBounceVelocity:function(t){return this.body.minBounceVelocity=t,this},bounce:{get:function(){return this.body.bounciness},set:function(t){this.body.bounciness=t}}}},function(t,e,i){var n=i(223),s={getBodyType:function(){return this.body.type},setTypeNone:function(){return this.body.type=n.NONE,this},setTypeA:function(){return this.body.type=n.A,this},setTypeB:function(){return this.body.type=n.B,this}};t.exports=s},function(t,e){var i={setBodySize:function(t,e){return void 0===e&&(e=t),this.body.size.x=Math.round(t),this.body.size.y=Math.round(e),this},setBodyScale:function(t,e){void 0===e&&(e=t);var i=this.body.gameObject;return i?(i.setScale(t,e),this.setBodySize(i.width*i.scaleX,i.height*i.scaleY)):this.setBodySize(this.body.size.x*t,this.body.size.y*e)}};t.exports=i},function(t,e){t.exports={setAccelerationX:function(t){return this.accel.x=t,this},setAccelerationY:function(t){return this.accel.y=t,this},setAcceleration:function(t,e){return this.accel.x=t,this.accel.y=e,this}}},function(t,e){var i=.5,n=1/3,s=2/3;t.exports={2:[0,1,1,0,!0],3:[0,1,1,i,!0],4:[0,i,1,0,!0],5:[0,1,1,s,!0],6:[0,s,1,n,!0],7:[0,n,1,0,!0],8:[i,1,0,0,!0],9:[1,0,i,1,!0],10:[i,1,1,0,!0],11:[0,0,i,1,!0],12:[0,0,1,0,!1],13:[1,1,0,0,!0],14:[1,i,0,0,!0],15:[1,1,0,i,!0],16:[1,n,0,0,!0],17:[1,s,0,n,!0],18:[1,1,0,s,!0],19:[1,1,i,0,!0],20:[i,0,0,1,!0],21:[0,1,i,0,!0],22:[i,0,1,1,!0],23:[1,1,0,1,!1],24:[0,0,1,1,!0],25:[0,0,1,i,!0],26:[0,i,1,1,!0],27:[0,0,1,n,!0],28:[0,n,1,s,!0],29:[0,s,1,1,!0],30:[n,1,0,0,!0],31:[1,0,s,1,!0],32:[s,1,1,0,!0],33:[0,0,n,1,!0],34:[1,0,1,1,!1],35:[1,0,0,1,!0],36:[1,i,0,1,!0],37:[1,0,0,i,!0],38:[1,s,0,1,!0],39:[1,n,0,s,!0],40:[1,0,0,n,!0],41:[s,1,n,0,!0],42:[s,0,n,1,!0],43:[n,1,s,0,!0],44:[n,0,s,1,!0],45:[0,1,0,0,!1],52:[1,1,s,0,!0],53:[n,0,0,1,!0],54:[0,1,n,0,!0],55:[s,0,1,1,!0]}},function(t,e){t.exports=function(t,e){if(t.standing=!1,e.collision.y&&(t.bounciness>0&&Math.abs(t.vel.y)>t.minBounceVelocity?t.vel.y*=-t.bounciness:(t.vel.y>0&&(t.standing=!0),t.vel.y=0)),e.collision.x&&(t.bounciness>0&&Math.abs(t.vel.x)>t.minBounceVelocity?t.vel.x*=-t.bounciness:t.vel.x=0),e.collision.slope){var i=e.collision.slope;if(t.bounciness>0){var n=t.vel.x*i.nx+t.vel.y*i.ny;t.vel.x=(t.vel.x-i.nx*n*2)*t.bounciness,t.vel.y=(t.vel.y-i.ny*n*2)*t.bounciness}else{var s=i.x*i.x+i.y*i.y,r=(t.vel.x*i.x+t.vel.y*i.y)/s;t.vel.x=i.x*r,t.vel.y=i.y*r;var o=Math.atan2(i.x,i.y);o>t.slopeStanding.min&&o<t.slopeStanding.max&&(t.standing=!0)}}t.pos.x=e.pos.x,t.pos.y=e.pos.y}},function(t,e,i){var n=i(23);t.exports=function(t,e,i,s,r){if(i)return n(e+i*t,-r,r);if(s){var o=s*t;return e-o>0?e-o:e+o<0?e+o:0}return n(e,-r,r)}},function(t,e,i){t.exports={Body:i(1077),COLLIDES:i(224),CollisionMap:i(1076),Factory:i(1075),Image:i(1073),ImpactBody:i(1074),ImpactPhysics:i(1109),Sprite:i(1072),TYPE:i(223),World:i(1071)}},function(t,e,i){t.exports={Arcade:i(528),Impact:i(1125),Matter:i(1105)}},function(t,e,i){(function(e){i(1059);var n=i(26),s=i(20),r={Actions:i(417),Animation:i(993),Cache:i(992),Cameras:i(991),Class:i(0),Create:i(948),Curves:i(942),Data:i(939),Display:i(937),DOM:i(908),Events:i(906),Game:i(904),GameObjects:i(876),Geom:i(274),Input:i(616),Loader:i(593),Math:i(570),Physics:i(1126),Plugins:i(498),Renderer:i(1083),Scene:i(328),Scenes:i(496),Sound:i(494),Structs:i(493),Textures:i(492),Tilemaps:i(490),Time:i(441),Tweens:i(439),Utils:i(435)};r=s(!1,r,n),t.exports=r,e.Phaser=r}).call(this,i(200))}])});
\ No newline at end of file
diff --git a/public/phaser-harkat/phaser/phaser2.min.js b/public/phaser-harkat/phaser/phaser2.min.js
new file mode 100644
index 0000000..7961146
--- /dev/null
+++ b/public/phaser-harkat/phaser/phaser2.min.js
@@ -0,0 +1,4 @@
+/* Phaser v2.11.1 - 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<s.length;o++)n(s[o]);return n}({1:[function(t,e,i){function s(){}var n=t("./Scalar");e.exports=s,s.lineInt=function(t,e,i){i=i||0;var s,r,o,a,h,l,c,u=[0,0];return s=t[1][1]-t[0][1],r=t[0][0]-t[1][0],o=s*t[0][0]+r*t[0][1],a=e[1][1]-e[0][1],h=e[0][0]-e[1][0],l=a*e[0][0]+h*e[0][1],c=s*h-a*r,n.eq(c,0,i)||(u[0]=(h*o-r*l)/c,u[1]=(s*l-a*o)/c),u},s.segmentsIntersect=function(t,e,i,s){var n=e[0]-t[0],r=e[1]-t[1],o=s[0]-i[0],a=s[1]-i[1];if(o*r-a*n==0)return!1;var h=(n*(i[1]-t[1])+r*(t[0]-i[0]))/(o*r-a*n),l=(o*(t[1]-i[1])+a*(i[0]-t[0]))/(a*n-o*r);return h>=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))<o}return 0==s.area(t,e,i)},s.sqdist=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s}},{}],3:[function(t,e,i){function s(){this.vertices=[]}function n(t,e,i,s,n){n=n||0;var r=e[1]-t[1],o=t[0]-e[0],h=r*t[0]+o*t[1],l=s[1]-i[1],c=i[0]-s[0],u=l*i[0]+c*i[1],d=r*c-l*o;return a.eq(d,0,n)?[0,0]:[(c*h-o*u)/d,(r*u-l*h)/d]}var r=t("./Line"),o=t("./Point"),a=t("./Scalar");e.exports=s,s.prototype.at=function(t){var e=this.vertices,i=e.length;return e[t<0?t%i+i:t%i]},s.prototype.first=function(){return this.vertices[0]},s.prototype.last=function(){return this.vertices[this.vertices.length-1]},s.prototype.clear=function(){this.vertices.length=0},s.prototype.append=function(t,e,i){if(void 0===e)throw new Error("From is not given!");if(void 0===i)throw new Error("To is not given!");if(i-1<e)throw new Error("lol1");if(i>t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;s<i;s++)this.vertices.push(t.vertices[s])},s.prototype.makeCCW=function(){for(var t=0,e=this.vertices,i=1;i<this.vertices.length;++i)(e[i][1]<e[t][1]||e[i][1]==e[t][1]&&e[i][0]>e[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)<s))return!1;return!0},s.prototype.copy=function(t,e,i){var n=i||new s;if(n.clear(),t<e)for(r=t;r<=e;r++)n.vertices.push(this.vertices[r]);else{for(r=0;r<=e;r++)n.vertices.push(this.vertices[r]);for(var r=t;r<this.vertices.length;r++)n.vertices.push(this.vertices[r])}return n},s.prototype.getCutEdges=function(){for(var t=[],e=[],i=[],n=new s,r=Number.MAX_VALUE,o=0;o<this.vertices.length;++o)if(this.isReflex(o))for(var a=0;a<this.vertices.length;++a)if(this.canSee(o,a)){e=this.copy(o,a,n).getCutEdges(),i=this.copy(a,o,n).getCutEdges();for(var h=0;h<i.length;h++)e.push(i[h]);e.length<r&&(t=e,r=e.length,t.push([this.at(o),this.at(a)]))}return t},s.prototype.decomp=function(){var t=this.getCutEdges();return t.length>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;i<t.length;i++)for(var s=t[i],n=0;n<e.length;n++){var r=e[n].slice(s);if(r){e.splice(n,1),e.push(r[0],r[1]);break}}return e}var s=t,i=this.vertices.indexOf(s[0]),n=this.vertices.indexOf(s[1]);return-1!=i&&-1!=n&&[this.copy(i,n),this.copy(n,i)]},s.prototype.isSimple=function(){for(var t=this.vertices,e=0;e<t.length-1;e++)for(var i=0;i<e-1;i++)if(r.segmentsIntersect(t[e],t[e+1],t[i],t[i+1]))return!1;for(e=1;e<t.length-2;e++)if(r.segmentsIntersect(t[0],t[t.length-1],t[e],t[e+1]))return!1;return!0},s.prototype.quickDecomp=function(t,e,i,r,a,h){a=a||100,h=h||0,r=r||25,t=void 0!==t?t:[],e=e||[],i=i||[];var l=[0,0],c=[0,0],u=[0,0],d=0,p=0,f=0,g=0,m=0,y=0,v=0,x=new s,b=new s,_=this,w=this.vertices;if(w.length<3)return t;if(++h>a)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;T<this.vertices.length;++T)if(_.isReflex(T)){e.push(_.vertices[T]),d=p=Number.MAX_VALUE;for(P=0;P<this.vertices.length;++P)o.left(_.at(T-1),_.at(T),_.at(P))&&o.rightOn(_.at(T-1),_.at(T),_.at(P-1))&&(u=n(_.at(T-1),_.at(T),_.at(P),_.at(P-1)),o.right(_.at(T+1),_.at(T),u)&&(f=o.sqdist(_.vertices[T],u))<p&&(p=f,c=u,y=P)),o.left(_.at(T+1),_.at(T),_.at(P+1))&&o.rightOn(_.at(T+1),_.at(T),_.at(P))&&(u=n(_.at(T+1),_.at(T),_.at(P),_.at(P+1)),o.left(_.at(T-1),_.at(T),u)&&(f=o.sqdist(_.vertices[T],u))<d&&(d=f,l=u,m=P));if(y==(m+1)%this.vertices.length)u[0]=(c[0]+l[0])/2,u[1]=(c[1]+l[1])/2,i.push(u),T<m?(x.append(_,T,m+1),x.vertices.push(u),b.vertices.push(u),0!=y&&b.append(_,y,_.vertices.length),b.append(_,0,T+1)):(0!=T&&x.append(_,T,_.vertices.length),x.append(_,0,m+1),x.vertices.push(u),b.vertices.push(u),b.append(_,y,T+1));else{if(y>m&&(m+=this.vertices.length),g=Number.MAX_VALUE,m<y)return t;for(var P=y;P<=m;++P)o.leftOn(_.at(T-1),_.at(T),_.at(P))&&o.rightOn(_.at(T+1),_.at(T),_.at(P))&&(f=o.sqdist(_.at(T),_.at(P)))<g&&(g=f,v=P%this.vertices.length);T<v?(x.append(_,T,v+1),0!=v&&b.append(_,v,w.length),b.append(_,0,T+1)):(0!=T&&x.append(_,T,w.length),x.append(_,0,v+1),b.append(_,v,T+1))}return x.vertices.length<b.vertices.length?(x.quickDecomp(t,e,i,r,a,h),b.quickDecomp(t,e,i,r,a,h)):(b.quickDecomp(t,e,i,r,a,h),x.quickDecomp(t,e,i,r,a,h)),t}return t.push(this),t},s.prototype.removeCollinearPoints=function(t){for(var e=0,i=this.vertices.length-1;this.vertices.length>3&&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)<i}},{}],5:[function(t,e,i){e.exports={Polygon:t("./Polygon"),Point:t("./Point")}},{"./Point":2,"./Polygon":3}],6:[function(t,e,i){e.exports={name:"p2",version:"0.7.1",description:"A JavaScript 2D physics engine.",author:"Stefan Hedman <schteppe@gmail.com> (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;c<t.length;c++){var u=t[c];if(0!==i){var d=u[0],p=u[1];r[0]=h*d-l*p,r[1]=l*d+h*p,u=r}for(var f=0;f<2;f++)u[f]>a[f]&&(a[f]=u[f]),u[f]<o[f]&&(o[f]=u[f])}e&&(n.add(this.lowerBound,this.lowerBound,e),n.add(this.upperBound,this.upperBound,e)),s&&(this.lowerBound[0]-=s,this.lowerBound[1]-=s,this.upperBound[0]+=s,this.upperBound[1]+=s)},s.prototype.copy=function(t){n.copy(this.lowerBound,t.lowerBound),n.copy(this.upperBound,t.upperBound)},s.prototype.extend=function(t){for(var e=2;e--;){var i=t.lowerBound[e];this.lowerBound[e]>i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]<s&&(this.upperBound[e]=s)}},s.prototype.overlaps=function(t){var e=this.lowerBound,i=this.upperBound,s=t.lowerBound,n=t.upperBound;return(s[0]<=i[0]&&i[0]<=n[0]||e[0]<=n[0]&&n[0]<=i[0])&&(s[1]<=i[1]&&i[1]<=n[1]||e[1]<=n[1]&&n[1]<=i[1])},s.prototype.containsPoint=function(t){var e=this.lowerBound,i=this.upperBound;return e[0]<=t[0]&&t[0]<=i[0]&&e[1]<=t[1]&&t[1]<=i[1]},s.prototype.overlapsRay=function(t){var e=1/t.direction[0],i=1/t.direction[1],s=(this.lowerBound[0]-t.from[0])*e,n=(this.upperBound[0]-t.from[0])*e,r=(this.lowerBound[1]-t.from[1])*i,o=(this.upperBound[1]-t.from[1])*i,a=Math.max(Math.max(Math.min(s,n),Math.min(r,o))),h=Math.min(Math.min(Math.max(s,n),Math.max(r,o)));return h<0?-1:a>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;a<s;a++){var h=e[a];n.canCollide(o,h)&&this.boundingVolumeCheck(o,h)&&i.push(o,h)}return i},s.prototype.aabbQuery=function(t,e,i){i=i||[];for(var s=t.bodies,n=0;n<s.length;n++){var r=s[n];r.aabbNeedsUpdate&&r.updateAABB(),r.aabb.overlaps(e)&&i.push(r)}return i}},{"../collision/Broadphase":8,"../math/vec2":30,"../shapes/Circle":39,"../shapes/Particle":43,"../shapes/Plane":44,"../shapes/Shape":45}],10:[function(t,e,i){function s(){this.contactEquations=[],this.frictionEquations=[],this.enableFriction=!0,this.enabledEquations=!0,this.slipForce=10,this.frictionCoefficient=.3,this.surfaceVelocity=0,this.contactEquationPool=new c({size:32}),this.frictionEquationPool=new u({size:64}),this.restitution=0,this.stiffness=p.DEFAULT_STIFFNESS,this.relaxation=p.DEFAULT_RELAXATION,this.frictionStiffness=p.DEFAULT_STIFFNESS,this.frictionRelaxation=p.DEFAULT_RELAXATION,this.enableFrictionReduction=!0,this.collidingBodiesLastStep=new d,this.contactSkinSize=.01}function n(t,e){o.set(t.vertices[0],.5*-e.length,-e.radius),o.set(t.vertices[1],.5*e.length,-e.radius),o.set(t.vertices[2],.5*e.length,e.radius),o.set(t.vertices[3],.5*-e.length,e.radius)}function r(t,e,i,s){for(var n=H,r=q,l=Y,c=z,u=t,d=e.vertices,p=null,f=0;f!==d.length+1;f++){var g=d[f%d.length],m=d[(f+1)%d.length];o.rotate(n,g,s),o.rotate(r,m,s),h(n,n,i),h(r,r,i),a(l,n,u),a(c,r,u);var y=o.crossLength(l,c);if(null===p&&(p=y),y*p<=0)return!1;p=y}return!0}var o=t("../math/vec2"),a=o.sub,h=o.add,l=o.dot,c=(t("../utils/Utils"),t("../utils/ContactEquationPool")),u=t("../utils/FrictionEquationPool"),d=t("../utils/TupleDictionary"),p=t("../equations/Equation"),f=(t("../equations/ContactEquation"),t("../equations/FrictionEquation"),t("../shapes/Circle")),g=t("../shapes/Convex"),m=t("../shapes/Shape"),y=(t("../objects/Body"),t("../shapes/Box"));e.exports=s;var v=o.fromValues(0,1),x=o.fromValues(0,0),b=o.fromValues(0,0),_=o.fromValues(0,0),w=o.fromValues(0,0),T=o.fromValues(0,0),P=o.fromValues(0,0),C=o.fromValues(0,0),S=o.fromValues(0,0),A=o.fromValues(0,0),E=o.fromValues(0,0),M=o.fromValues(0,0),R=o.fromValues(0,0),L=o.fromValues(0,0),B=o.fromValues(0,0),I=o.fromValues(0,0),O=o.fromValues(0,0),k=o.fromValues(0,0),F=o.fromValues(0,0),D=[],U=o.create(),G=o.create();s.prototype.bodiesOverlap=function(t,e){for(var i=U,s=G,n=0,r=t.shapes.length;n!==r;n++){var o=t.shapes[n];t.toWorldFrame(i,o.position);for(var a=0,h=e.shapes.length;a!==h;a++){var l=e.shapes[a];if(e.toWorldFrame(s,l.position),this[o.type|l.type](t,o,i,o.angle+t.angle,e,l,s,l.angle+e.angle,!0))return!0}}return!1},s.prototype.collidedLastStep=function(t,e){var i=0|t.id,s=0|e.id;return!!this.collidingBodiesLastStep.get(i,s)},s.prototype.reset=function(){this.collidingBodiesLastStep.reset();for(var t=this.contactEquations,e=t.length;e--;){var i=t[e],s=i.bodyA.id,n=i.bodyB.id;this.collidingBodiesLastStep.set(s,n,!0)}for(var r=this.contactEquations,o=this.frictionEquations,a=0;a<r.length;a++)this.contactEquationPool.release(r[a]);for(a=0;a<o.length;a++)this.frictionEquationPool.release(o[a]);this.contactEquations.length=this.frictionEquations.length=0},s.prototype.createContactEquation=function(t,e,i,s){var n=this.contactEquationPool.get();return n.bodyA=t,n.bodyB=e,n.shapeA=i,n.shapeB=s,n.restitution=this.restitution,n.firstImpact=!this.collidedLastStep(t,e),n.stiffness=this.stiffness,n.relaxation=this.relaxation,n.needsUpdate=!0,n.enabled=this.enabledEquations,n.offset=this.contactSkinSize,n},s.prototype.createFrictionEquation=function(t,e,i,s){var n=this.frictionEquationPool.get();return n.bodyA=t,n.bodyB=e,n.shapeA=i,n.shapeB=s,n.setSlipForce(this.slipForce),n.frictionCoefficient=this.frictionCoefficient,n.relativeVelocity=this.surfaceVelocity,n.enabled=this.enabledEquations,n.needsUpdate=!0,n.stiffness=this.frictionStiffness,n.relaxation=this.frictionRelaxation,n.contactEquations.length=0,n},s.prototype.createFrictionFromContact=function(t){var e=this.createFrictionEquation(t.bodyA,t.bodyB,t.shapeA,t.shapeB);return o.copy(e.contactPointA,t.contactPointA),o.copy(e.contactPointB,t.contactPointB),o.rotate90cw(e.t,t.normalA),e.contactEquations.push(t),e},s.prototype.createFrictionFromAverage=function(t){var e=this.contactEquations[this.contactEquations.length-1],i=this.createFrictionEquation(e.bodyA,e.bodyB,e.shapeA,e.shapeB),s=e.bodyA;e.bodyB;o.set(i.contactPointA,0,0),o.set(i.contactPointB,0,0),o.set(i.t,0,0);for(var n=0;n!==t;n++)(e=this.contactEquations[this.contactEquations.length-1-n]).bodyA===s?(o.add(i.t,i.t,e.normalA),o.add(i.contactPointA,i.contactPointA,e.contactPointA),o.add(i.contactPointB,i.contactPointB,e.contactPointB)):(o.sub(i.t,i.t,e.normalA),o.add(i.contactPointA,i.contactPointA,e.contactPointB),o.add(i.contactPointB,i.contactPointB,e.contactPointA)),i.contactEquations.push(e);var r=1/t;return o.scale(i.contactPointA,i.contactPointA,r),o.scale(i.contactPointB,i.contactPointB,r),o.normalize(i.t,i.t),o.rotate90cw(i.t,i.t),i},s.prototype[m.LINE|m.CONVEX]=s.prototype.convexLine=function(t,e,i,s,n,r,o,a,h){return!h&&0},s.prototype[m.LINE|m.BOX]=s.prototype.lineBox=function(t,e,i,s,n,r,o,a,h){return!h&&0};var N=new y({width:1,height:1}),X=o.create();s.prototype[m.CAPSULE|m.CONVEX]=s.prototype[m.CAPSULE|m.BOX]=s.prototype.convexCapsule=function(t,e,i,s,r,a,h,l,c){var u=X;o.set(u,a.length/2,0),o.rotate(u,u,l),o.add(u,u,h);var d=this.circleConvex(r,a,u,l,t,e,i,s,c,a.radius);o.set(u,-a.length/2,0),o.rotate(u,u,l),o.add(u,u,h);var p=this.circleConvex(r,a,u,l,t,e,i,s,c,a.radius);if(c&&(d||p))return!0;var f=N;return n(f,a),this.convexConvex(t,e,i,s,r,f,h,l,c)+d+p},s.prototype[m.CAPSULE|m.LINE]=s.prototype.lineCapsule=function(t,e,i,s,n,r,o,a,h){return!h&&0};var W=o.create(),j=o.create(),V=new y({width:1,height:1});s.prototype[m.CAPSULE|m.CAPSULE]=s.prototype.capsuleCapsule=function(t,e,i,s,r,a,h,l,c){for(var u=W,d=j,p=0,f=0;f<2;f++){o.set(u,(0===f?-1:1)*e.length/2,0),o.rotate(u,u,s),o.add(u,u,i);for(var g=0;g<2;g++){o.set(d,(0===g?-1:1)*a.length/2,0),o.rotate(d,d,l),o.add(d,d,h),this.enableFrictionReduction&&(x=this.enableFriction,this.enableFriction=!1);var m=this.circleCircle(t,e,u,s,r,a,d,l,c,e.radius,a.radius);if(this.enableFrictionReduction&&(this.enableFriction=x),c&&m)return!0;p+=m}}this.enableFrictionReduction&&(x=this.enableFriction,this.enableFriction=!1);var y=V;n(y,e);var v=this.convexCapsule(t,y,i,s,r,a,h,l,c);if(this.enableFrictionReduction&&(this.enableFriction=x),c&&v)return!0;if(p+=v,this.enableFrictionReduction){var x=this.enableFriction;this.enableFriction=!1}n(y,a);var b=this.convexCapsule(r,y,h,l,t,e,i,s,c);return this.enableFrictionReduction&&(this.enableFriction=x),!(!c||!b)||(p+=b,this.enableFrictionReduction&&p&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(p)),p)},s.prototype[m.LINE|m.LINE]=s.prototype.lineLine=function(t,e,i,s,n,r,o,a,h){return!h&&0},s.prototype[m.PLANE|m.LINE]=s.prototype.planeLine=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=w,y=T,E=P,M=C,R=S,L=A,B=D,I=0;o.set(p,-r.length/2,0),o.set(f,r.length/2,0),o.rotate(g,p,u),o.rotate(m,f,u),h(g,g,c),h(m,m,c),o.copy(p,g),o.copy(f,m),a(y,f,p),o.normalize(E,y),o.rotate90cw(L,E),o.rotate(R,v,s),B[0]=p,B[1]=f;for(var O=0;O<B.length;O++){var k=B[O];a(M,k,i);var F=l(M,R);if(F<0){if(d)return!0;var U=this.createContactEquation(t,n,e,r);I++,o.copy(U.normalA,R),o.normalize(U.normalA,U.normalA),o.scale(M,R,F),a(U.contactPointA,k,M),a(U.contactPointA,U.contactPointA,t.position),a(U.contactPointB,k,c),h(U.contactPointB,U.contactPointB,c),a(U.contactPointB,U.contactPointB,n.position),this.contactEquations.push(U),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(U))}}return!d&&(this.enableFrictionReduction||I&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(I)),I)},s.prototype[m.PARTICLE|m.CAPSULE]=s.prototype.particleCapsule=function(t,e,i,s,n,r,o,a,h){return this.circleLine(t,e,i,s,n,r,o,a,h,r.radius,0)},s.prototype[m.CIRCLE|m.LINE]=s.prototype.circleLine=function(t,e,i,s,n,r,c,u,d,p,f){var p=p||0,f=void 0!==f?f:e.radius,g=x,m=b,y=_,v=w,I=T,O=P,k=C,F=S,U=A,G=E,N=M,X=R,W=L,j=B,V=D;o.set(F,-r.length/2,0),o.set(U,r.length/2,0),o.rotate(G,F,u),o.rotate(N,U,u),h(G,G,c),h(N,N,c),o.copy(F,G),o.copy(U,N),a(O,U,F),o.normalize(k,O),o.rotate90cw(I,k),a(X,i,F);var H=l(X,I);a(v,F,c),a(W,i,c);var q=f+p;if(Math.abs(H)<q){o.scale(g,I,H),a(y,i,g),o.scale(m,I,l(I,W)),o.normalize(m,m),o.scale(m,m,p),h(y,y,m);var Y=l(k,y),z=l(k,F),K=l(k,U);if(Y>z&&Y<K){if(d)return!0;Z=this.createContactEquation(t,n,e,r);return o.scale(Z.normalA,g,-1),o.normalize(Z.normalA,Z.normalA),o.scale(Z.contactPointA,Z.normalA,f),h(Z.contactPointA,Z.contactPointA,i),a(Z.contactPointA,Z.contactPointA,t.position),a(Z.contactPointB,y,c),h(Z.contactPointB,Z.contactPointB,c),a(Z.contactPointB,Z.contactPointB,n.position),this.contactEquations.push(Z),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z)),1}}V[0]=F,V[1]=U;for(var J=0;J<V.length;J++){var Q=V[J];if(a(X,Q,i),o.squaredLength(X)<Math.pow(q,2)){if(d)return!0;var Z=this.createContactEquation(t,n,e,r);return o.copy(Z.normalA,X),o.normalize(Z.normalA,Z.normalA),o.scale(Z.contactPointA,Z.normalA,f),h(Z.contactPointA,Z.contactPointA,i),a(Z.contactPointA,Z.contactPointA,t.position),a(Z.contactPointB,Q,c),o.scale(j,Z.normalA,-p),h(Z.contactPointB,Z.contactPointB,j),h(Z.contactPointB,Z.contactPointB,c),a(Z.contactPointB,Z.contactPointB,n.position),this.contactEquations.push(Z),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z)),1}}return 0},s.prototype[m.CIRCLE|m.CAPSULE]=s.prototype.circleCapsule=function(t,e,i,s,n,r,o,a,h){return this.circleLine(t,e,i,s,n,r,o,a,h,r.radius)},s.prototype[m.CIRCLE|m.CONVEX]=s.prototype[m.CIRCLE|m.BOX]=s.prototype.circleConvex=function(t,e,i,s,n,l,c,u,d,p){for(var p="number"==typeof p?p:e.radius,f=x,g=b,m=_,y=w,v=T,P=E,C=M,S=L,A=B,R=I,k=O,F=!1,D=Number.MAX_VALUE,U=l.vertices,G=0;G!==U.length+1;G++){var N=U[G%U.length],X=U[(G+1)%U.length];if(o.rotate(f,N,u),o.rotate(g,X,u),h(f,f,c),h(g,g,c),a(m,g,f),o.normalize(y,m),o.rotate90cw(v,y),o.scale(A,v,-e.radius),h(A,A,i),r(A,l,c,u)){o.sub(R,f,A);var W=Math.abs(o.dot(R,v));W<D&&(o.copy(k,A),D=W,o.scale(S,v,W),o.add(S,S,A),F=!0)}}if(F){if(d)return!0;V=this.createContactEquation(t,n,e,l);return o.sub(V.normalA,k,i),o.normalize(V.normalA,V.normalA),o.scale(V.contactPointA,V.normalA,p),h(V.contactPointA,V.contactPointA,i),a(V.contactPointA,V.contactPointA,t.position),a(V.contactPointB,S,c),h(V.contactPointB,V.contactPointB,c),a(V.contactPointB,V.contactPointB,n.position),this.contactEquations.push(V),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(V)),1}if(p>0)for(G=0;G<U.length;G++){var j=U[G];if(o.rotate(C,j,u),h(C,C,c),a(P,C,i),o.squaredLength(P)<Math.pow(p,2)){if(d)return!0;var V=this.createContactEquation(t,n,e,l);return o.copy(V.normalA,P),o.normalize(V.normalA,V.normalA),o.scale(V.contactPointA,V.normalA,p),h(V.contactPointA,V.contactPointA,i),a(V.contactPointA,V.contactPointA,t.position),a(V.contactPointB,C,c),h(V.contactPointB,V.contactPointB,c),a(V.contactPointB,V.contactPointB,n.position),this.contactEquations.push(V),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(V)),1}}return 0};var H=o.create(),q=o.create(),Y=o.create(),z=o.create();s.prototype[m.PARTICLE|m.CONVEX]=s.prototype[m.PARTICLE|m.BOX]=s.prototype.particleConvex=function(t,e,i,s,n,c,u,d,p){var f=x,g=b,m=_,y=w,v=T,S=P,A=C,M=E,R=L,B=k,I=F,O=Number.MAX_VALUE,D=!1,U=c.vertices;if(!r(i,c,u,d))return 0;if(p)return!0;for(var G=0;G!==U.length+1;G++){var N=U[G%U.length],X=U[(G+1)%U.length];o.rotate(f,N,d),o.rotate(g,X,d),h(f,f,u),h(g,g,u),a(m,g,f),o.normalize(y,m),o.rotate90cw(v,y),a(M,i,f);l(M,v);a(S,f,u),a(A,i,u),o.sub(B,f,i);var W=Math.abs(o.dot(B,v));W<O&&(O=W,o.scale(R,v,W),o.add(R,R,i),o.copy(I,v),D=!0)}if(D){var j=this.createContactEquation(t,n,e,c);return o.scale(j.normalA,I,-1),o.normalize(j.normalA,j.normalA),o.set(j.contactPointA,0,0),h(j.contactPointA,j.contactPointA,i),a(j.contactPointA,j.contactPointA,t.position),a(j.contactPointB,R,u),h(j.contactPointB,j.contactPointB,u),a(j.contactPointB,j.contactPointB,n.position),this.contactEquations.push(j),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(j)),1}return 0},s.prototype[m.CIRCLE]=s.prototype.circleCircle=function(t,e,i,s,n,r,l,c,u,d,p){var f=x,d=d||e.radius,p=p||r.radius;a(f,i,l);var g=d+p;if(o.squaredLength(f)>Math.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q<F+2;q++){var Y=U.vertices[(q+U.vertices.length)%U.vertices.length];o.rotate(m,Y,W),h(m,m,N);for(var z=0,K=k-1;K<k+2;K++){var J=D.vertices[(K+D.vertices.length)%D.vertices.length],Q=D.vertices[(K+1+D.vertices.length)%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(R,P),o.normalize(R,R),a(M,m,y);$=l(R,M);(K===k&&$<=f||K!==k&&$<=0)&&z++}if(z>=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;d<t.vertices.length;d++)r=t.vertices[d],a=l(r,u),(null===h||a>h)&&(h=a),(null===c||a<c)&&(c=a);if(c>h){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;S<T;S++)p[S]<C&&(C=p[S]),p[S]>P&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S<T;S++){o.set(b,S*f,p[S]),o.set(_,(S+1)*f,p[S+1]),o.add(b,b,l),o.add(_,_,l),o.sub(x,_,b),o.rotate(x,x,Math.PI/2),o.normalize(x,x),o.scale(m,x,-d),o.add(m,m,i),o.sub(g,m,b);var E=o.dot(g,x);if(m[0]>=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)<Math.pow(d,2)){if(u)return!0;A=!0;var M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,g),o.normalize(M.normalA,M.normalA),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),a(M.contactPointA,b,l),h(M.contactPointA,M.contactPointA,l),a(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}return A?1:0};var gt=o.create(),mt=o.create(),yt=o.create(),vt=new g({vertices:[o.create(),o.create(),o.create(),o.create()]});s.prototype[m.BOX|m.HEIGHTFIELD]=s.prototype[m.CONVEX|m.HEIGHTFIELD]=s.prototype.convexHeightfield=function(t,e,i,s,n,r,a,h,l){var c=r.heights,u=r.elementWidth,d=gt,p=mt,f=yt,g=vt,m=Math.floor((t.aabb.lowerBound[0]-a[0])/u),y=Math.ceil((t.aabb.upperBound[0]-a[0])/u);m<0&&(m=0),y>=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;b<y;b++)c[b]<x&&(x=c[b]),c[b]>v&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b<y;b++){o.set(d,b*u,c[b]),o.set(p,(b+1)*u,c[b+1]),o.add(d,d,a),o.add(p,p,a);o.set(f,.5*(p[0]+d[0]),.5*(p[1]+d[1]-100)),o.sub(g.vertices[0],p,f),o.sub(g.vertices[1],d,f),o.copy(g.vertices[2],g.vertices[1]),o.copy(g.vertices[3],g.vertices[0]),g.vertices[2][1]-=100,g.vertices[3][1]-=100,_+=this.convexConvex(t,e,i,s,n,g,f,0,l)}return _}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/FrictionEquation":23,"../math/vec2":30,"../objects/Body":31,"../shapes/Box":37,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Shape":45,"../utils/ContactEquationPool":48,"../utils/FrictionEquationPool":49,"../utils/TupleDictionary":56,"../utils/Utils":57}],11:[function(t,e,i){function s(t){t=t||{},this.from=t.from?r.fromValues(t.from[0],t.from[1]):r.create(),this.to=t.to?r.fromValues(t.to[0],t.to[1]):r.create(),this.checkCollisionResponse=void 0===t.checkCollisionResponse||t.checkCollisionResponse,this.skipBackfaces=!!t.skipBackfaces,this.collisionMask=void 0!==t.collisionMask?t.collisionMask:-1,this.collisionGroup=void 0!==t.collisionGroup?t.collisionGroup:-1,this.mode=void 0!==t.mode?t.mode:s.ANY,this.callback=t.callback||function(t){},this.direction=r.create(),this.length=1,this.update()}function n(t,e,i){r.sub(a,i,t);var s=r.dot(a,e);return r.scale(h,e,s),r.add(h,h,t),r.squaredDistance(i,h)}e.exports=s;var r=t("../math/vec2");t("../collision/RaycastResult"),t("../shapes/Shape"),t("../collision/AABB");s.prototype.constructor=s,s.CLOSEST=1,s.ANY=2,s.ALL=4,s.prototype.update=function(){var t=this.direction;r.sub(t,this.to,this.from),this.length=r.length(t),r.normalize(t,t)},s.prototype.intersectBodies=function(t,e){for(var i=0,s=e.length;!t.shouldStop(this)&&i<s;i++){var n=e[i],r=n.getAABB();(r.overlapsRay(this)>=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;n<a;n++){var h=e.shapes[n];if((!i||h.collisionResponse)&&(0!=(this.collisionGroup&h.collisionMask)&&0!=(h.collisionGroup&this.collisionMask))){r.rotate(s,h.position,e.angle),r.add(s,s,e.position);var l=h.angle+e.angle;if(this.intersectShape(t,h,l,s,e),t.shouldStop(this))break}}},s.prototype.intersectShape=function(t,e,i,s,r){n(this.from,this.direction,s)>e.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<t.fraction||!t.hasHit())&&t.set(i,o,a,e,n);break;case s.ANY:t.set(i,o,a,e,n)}};var a=r.create(),h=r.create()},{"../collision/AABB":7,"../collision/RaycastResult":12,"../math/vec2":30,"../shapes/Shape":45}],12:[function(t,e,i){function s(){this.normal=n.create(),this.shape=null,this.body=null,this.faceIndex=-1,this.fraction=-1,this.isStopped=!1}var n=t("../math/vec2"),r=t("../collision/Ray");e.exports=s,s.prototype.reset=function(){n.set(this.normal,0,0),this.shape=null,this.body=null,this.faceIndex=-1,this.fraction=-1,this.isStopped=!1},s.prototype.getHitDistance=function(t){return n.distance(t.from,t.to)*this.fraction},s.prototype.hasHit=function(){return-1!==this.fraction},s.prototype.getHitPoint=function(t,e){n.lerp(t,e.from,e.to,this.fraction)},s.prototype.stop=function(){this.isStopped=!0},s.prototype.shouldStop=function(t){return this.isStopped||-1!==this.fraction&&t.mode===r.ANY},s.prototype.set=function(t,e,i,s,r){n.copy(this.normal,t),this.shape=e,this.body=i,this.fraction=s,this.faceIndex=r}},{"../collision/Ray":11,"../math/vec2":30}],13:[function(t,e,i){function s(){r.call(this,r.SAP),this.axisList=[],this.axisIndex=0;var t=this;this._addBodyHandler=function(e){t.axisList.push(e.body)},this._removeBodyHandler=function(e){var i=t.axisList.indexOf(e.body);-1!==i&&t.axisList.splice(i,1)}}var n=t("../utils/Utils"),r=t("../collision/Broadphase");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.setWorld=function(t){this.axisList.length=0,n.appendArray(this.axisList,t.bodies),t.off("addBody",this._addBodyHandler).off("removeBody",this._removeBodyHandler),t.on("addBody",this._addBodyHandler).on("removeBody",this._removeBodyHandler),this.world=t},s.sortAxisList=function(t,e){e|=0;for(var i=1,s=t.length;i<s;i++){for(var n=t[i],r=i-1;r>=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;c<h;c++){var u=e[c];if(!(u.aabb.lowerBound[s]<=l.aabb.upperBound[s]))break;r.canCollide(l,u)&&this.boundingVolumeCheck(l,u)&&i.push(l,u)}return i},s.prototype.aabbQuery=function(t,e,i){i=i||[],this.sortList();var s=this.axisIndex,n="x";1===s&&(n="y"),2===s&&(n="z");for(var r=this.axisList,o=(e.lowerBound[n],e.upperBound[n],0);o<r.length;o++){var a=r[o];a.aabbNeedsUpdate&&a.updateAABB(),a.aabb.overlaps(e)&&i.push(a)}return i}},{"../collision/Broadphase":8,"../utils/Utils":57}],14:[function(t,e,i){function s(t,e,i,s){this.type=i,s=n.defaults(s,{collideConnected:!0,wakeUpBodies:!0}),this.equations=[],this.bodyA=t,this.bodyB=e,this.collideConnected=s.collideConnected,s.wakeUpBodies&&(t&&t.wakeUp(),e&&e.wakeUp())}e.exports=s;var n=t("../utils/Utils");s.prototype.update=function(){throw new Error("method update() not implmemented in this Constraint subclass!")},s.DISTANCE=1,s.GEAR=2,s.LOCK=3,s.PRISMATIC=4,s.REVOLUTE=5,s.prototype.setStiffness=function(t){for(var e=this.equations,i=0;i!==e.length;i++){var s=e[i];s.stiffness=t,s.needsUpdate=!0}},s.prototype.setRelaxation=function(t){for(var e=this.equations,i=0;i!==e.length;i++){var s=e[i];s.relaxation=t,s.needsUpdate=!0}}},{"../utils/Utils":57}],15:[function(t,e,i){function s(t,e,i){i=a.defaults(i,{localAnchorA:[0,0],localAnchorB:[0,0]}),n.call(this,t,e,n.DISTANCE,i),this.localAnchorA=o.fromValues(i.localAnchorA[0],i.localAnchorA[1]),this.localAnchorB=o.fromValues(i.localAnchorB[0],i.localAnchorB[1]);var s=this.localAnchorA,h=this.localAnchorB;if(this.distance=0,"number"==typeof i.distance)this.distance=i.distance;else{var l=o.create(),c=o.create(),u=o.create();o.rotate(l,s,t.angle),o.rotate(c,h,e.angle),o.add(u,e.position,c),o.sub(u,u,l),o.sub(u,u,t.position),this.distance=o.length(u)}var d;d=void 0===i.maxForce?Number.MAX_VALUE:i.maxForce;var p=new r(t,e,-d,d);this.equations=[p],this.maxForce=d;var u=o.create(),f=o.create(),g=o.create(),m=this;p.computeGq=function(){var t=this.bodyA,e=this.bodyB,i=t.position,n=e.position;return o.rotate(f,s,t.angle),o.rotate(g,h,e.angle),o.add(u,n,g),o.sub(u,u,f),o.sub(u,u,i),o.length(u)-m.distance},this.setMaxForce(d),this.upperLimitEnabled=!1,this.upperLimit=1,this.lowerLimitEnabled=!1,this.lowerLimit=0,this.position=0}var n=t("./Constraint"),r=t("../equations/Equation"),o=t("../math/vec2"),a=t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s;var h=o.create(),l=o.create(),c=o.create();s.prototype.update=function(){var t=this.equations[0],e=this.bodyA,i=this.bodyB,s=(this.distance,e.position),n=i.position,r=this.equations[0],a=t.G;o.rotate(l,this.localAnchorA,e.angle),o.rotate(c,this.localAnchorB,i.angle),o.add(h,n,c),o.sub(h,h,l),o.sub(h,h,s),this.position=o.length(h);var u=!1;if(this.upperLimitEnabled&&this.position>this.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.position<this.lowerLimit&&(r.maxForce=this.maxForce,r.minForce=0,this.distance=this.lowerLimit,u=!0),!this.lowerLimitEnabled&&!this.upperLimitEnabled||u){r.enabled=!0,o.normalize(h,h);var d=o.crossLength(l,h),p=o.crossLength(c,h);a[0]=-h[0],a[1]=-h[1],a[2]=-d,a[3]=h[0],a[4]=h[1],a[5]=p}else r.enabled=!1},s.prototype.setMaxForce=function(t){var e=this.equations[0];e.minForce=-t,e.maxForce=t},s.prototype.getMaxForce=function(){return this.equations[0].maxForce}},{"../equations/Equation":22,"../math/vec2":30,"../utils/Utils":57,"./Constraint":14}],16:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,n.GEAR,i),this.ratio=void 0!==i.ratio?i.ratio:1,this.angle=void 0!==i.angle?i.angle:e.angle-this.ratio*t.angle,i.angle=this.angle,i.ratio=this.ratio,this.equations=[new r(t,e,i)],void 0!==i.maxTorque&&this.setMaxTorque(i.maxTorque)}var n=t("./Constraint"),r=(t("../equations/Equation"),t("../equations/AngleLockEquation"));t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.update=function(){var t=this.equations[0];t.ratio!==this.ratio&&t.setRatio(this.ratio),t.angle=this.angle},s.prototype.setMaxTorque=function(t){this.equations[0].setMaxTorque(t)},s.prototype.getMaxTorque=function(t){return this.equations[0].maxForce}},{"../equations/AngleLockEquation":20,"../equations/Equation":22,"../math/vec2":30,"./Constraint":14}],17:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,n.LOCK,i);var s=void 0===i.maxForce?Number.MAX_VALUE:i.maxForce,a=(i.localAngleB,new o(t,e,-s,s)),h=new o(t,e,-s,s),l=new o(t,e,-s,s),c=r.create(),u=r.create(),d=this;a.computeGq=function(){return r.rotate(c,d.localOffsetB,t.angle),r.sub(u,e.position,t.position),r.sub(u,u,c),u[0]},h.computeGq=function(){return r.rotate(c,d.localOffsetB,t.angle),r.sub(u,e.position,t.position),r.sub(u,u,c),u[1]};var p=r.create(),f=r.create();l.computeGq=function(){return r.rotate(p,d.localOffsetB,e.angle-d.localAngleB),r.scale(p,p,-1),r.sub(u,t.position,e.position),r.add(u,u,p),r.rotate(f,p,-Math.PI/2),r.normalize(f,f),r.dot(u,f)},this.localOffsetB=r.create(),i.localOffsetB?r.copy(this.localOffsetB,i.localOffsetB):(r.sub(this.localOffsetB,e.position,t.position),r.rotate(this.localOffsetB,this.localOffsetB,-t.angle)),this.localAngleB=0,"number"==typeof i.localAngleB?this.localAngleB=i.localAngleB:this.localAngleB=e.angle-t.angle,this.equations.push(a,h,l),this.setMaxForce(s)}var n=t("./Constraint"),r=t("../math/vec2"),o=t("../equations/Equation");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.setMaxForce=function(t){for(var e=this.equations,i=0;i<this.equations.length;i++)e[i].maxForce=t,e[i].minForce=-t},s.prototype.getMaxForce=function(){return this.equations[0].maxForce};var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(1,0),u=r.fromValues(0,1);s.prototype.update=function(){var t=this.equations[0],e=this.equations[1],i=this.equations[2],s=this.bodyA,n=this.bodyB;r.rotate(a,this.localOffsetB,s.angle),r.rotate(h,this.localOffsetB,n.angle-this.localAngleB),r.scale(h,h,-1),r.rotate(l,h,Math.PI/2),r.normalize(l,l),t.G[0]=-1,t.G[1]=0,t.G[2]=-r.crossLength(a,c),t.G[3]=1,e.G[0]=0,e.G[1]=-1,e.G[2]=-r.crossLength(a,u),e.G[4]=1,i.G[0]=-l[0],i.G[1]=-l[1],i.G[3]=l[0],i.G[4]=l[1],i.G[5]=r.crossLength(h,l)}},{"../equations/Equation":22,"../math/vec2":30,"./Constraint":14}],18:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,n.PRISMATIC,i);var s=a.fromValues(0,0),l=a.fromValues(1,0),c=a.fromValues(0,0);i.localAnchorA&&a.copy(s,i.localAnchorA),i.localAxisA&&a.copy(l,i.localAxisA),i.localAnchorB&&a.copy(c,i.localAnchorB),this.localAnchorA=s,this.localAnchorB=c,this.localAxisA=l;var u=this.maxForce=void 0!==i.maxForce?i.maxForce:Number.MAX_VALUE,d=new o(t,e,-u,u),p=new a.create,f=new a.create,g=new a.create,m=new a.create;if(d.computeGq=function(){return a.dot(g,m)},d.updateJacobian=function(){var i=this.G,n=t.position,r=e.position;a.rotate(p,s,t.angle),a.rotate(f,c,e.angle),a.add(g,r,f),a.sub(g,g,n),a.sub(g,g,p),a.rotate(m,l,t.angle+Math.PI/2),i[0]=-m[0],i[1]=-m[1],i[2]=-a.crossLength(p,m)+a.crossLength(m,g),i[3]=m[0],i[4]=m[1],i[5]=a.crossLength(f,m)},this.equations.push(d),!i.disableRotationalLock){var y=new h(t,e,-u,u);this.equations.push(y)}this.position=0,this.velocity=0,this.lowerLimitEnabled=void 0!==i.lowerLimit,this.upperLimitEnabled=void 0!==i.upperLimit,this.lowerLimit=void 0!==i.lowerLimit?i.lowerLimit:0,this.upperLimit=void 0!==i.upperLimit?i.upperLimit:1,this.upperLimitEquation=new r(t,e),this.lowerLimitEquation=new r(t,e),this.upperLimitEquation.minForce=this.lowerLimitEquation.minForce=0,this.upperLimitEquation.maxForce=this.lowerLimitEquation.maxForce=u,this.motorEquation=new o(t,e),this.motorEnabled=!1,this.motorSpeed=0;var v=this,x=this.motorEquation;x.computeGW;x.computeGq=function(){return 0},x.computeGW=function(){var t=this.G,e=this.bodyA,i=this.bodyB,s=e.velocity,n=i.velocity,r=e.angularVelocity,o=i.angularVelocity;return this.gmult(t,s,r,n,o)+v.motorSpeed}}var n=t("./Constraint"),r=t("../equations/ContactEquation"),o=t("../equations/Equation"),a=t("../math/vec2"),h=t("../equations/RotationalLockEquation");e.exports=s,(s.prototype=new n).constructor=s;var l=a.create(),c=a.create(),u=a.create(),d=a.create(),p=a.create(),f=a.create();s.prototype.update=function(){var t=this.equations,e=t[0],i=this.upperLimit,s=this.lowerLimit,n=this.upperLimitEquation,r=this.lowerLimitEquation,o=this.bodyA,h=this.bodyB,g=this.localAxisA,m=this.localAnchorA,y=this.localAnchorB;e.updateJacobian(),a.rotate(l,g,o.angle),a.rotate(d,m,o.angle),a.add(c,d,o.position),a.rotate(p,y,h.angle),a.add(u,p,h.position);var v=this.position=a.dot(u,l)-a.dot(c,l);if(this.motorEnabled){var x=this.motorEquation.G;x[0]=l[0],x[1]=l[1],x[2]=a.crossLength(l,p),x[3]=-l[0],x[4]=-l[1],x[5]=-a.crossLength(l,d)}if(this.upperLimitEnabled&&v>i?(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&&v<s)a.scale(r.normalA,l,1),a.sub(r.contactPointA,c,o.position),a.sub(r.contactPointB,u,h.position),a.scale(f,l,s),a.sub(r.contactPointB,r.contactPointB,f),-1===t.indexOf(r)&&t.push(r);else{var b=t.indexOf(r);-1!==b&&t.splice(b,1)}},s.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},s.prototype.disableMotor=function(){if(this.motorEnabled){var t=this.equations.indexOf(this.motorEquation);this.equations.splice(t,1),this.motorEnabled=!1}},s.prototype.setLimits=function(t,e){"number"==typeof t?(this.lowerLimit=t,this.lowerLimitEnabled=!0):(this.lowerLimit=t,this.lowerLimitEnabled=!1),"number"==typeof e?(this.upperLimit=e,this.upperLimitEnabled=!0):(this.upperLimit=e,this.upperLimitEnabled=!1)}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../math/vec2":30,"./Constraint":14}],19:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,n.REVOLUTE,i);var s=this.maxForce=void 0!==i.maxForce?i.maxForce:Number.MAX_VALUE;this.pivotA=h.create(),this.pivotB=h.create(),i.worldPivot?(h.sub(this.pivotA,i.worldPivot,t.position),h.sub(this.pivotB,i.worldPivot,e.position),h.rotate(this.pivotA,this.pivotA,-t.angle),h.rotate(this.pivotB,this.pivotB,-e.angle)):(h.copy(this.pivotA,i.localPivotA),h.copy(this.pivotB,i.localPivotB));var f=this.equations=[new r(t,e,-s,s),new r(t,e,-s,s)],g=f[0],m=f[1],y=this;g.computeGq=function(){return h.rotate(l,y.pivotA,t.angle),h.rotate(c,y.pivotB,e.angle),h.add(p,e.position,c),h.sub(p,p,t.position),h.sub(p,p,l),h.dot(p,u)},m.computeGq=function(){return h.rotate(l,y.pivotA,t.angle),h.rotate(c,y.pivotB,e.angle),h.add(p,e.position,c),h.sub(p,p,t.position),h.sub(p,p,l),h.dot(p,d)},m.minForce=g.minForce=-s,m.maxForce=g.maxForce=s,this.motorEquation=new o(t,e),this.motorEnabled=!1,this.angle=0,this.lowerLimitEnabled=!1,this.upperLimitEnabled=!1,this.lowerLimit=0,this.upperLimit=0,this.upperLimitEquation=new a(t,e),this.lowerLimitEquation=new a(t,e),this.upperLimitEquation.minForce=0,this.lowerLimitEquation.maxForce=0}var n=t("./Constraint"),r=t("../equations/Equation"),o=t("../equations/RotationalVelocityEquation"),a=t("../equations/RotationalLockEquation"),h=t("../math/vec2");e.exports=s;var l=h.create(),c=h.create(),u=h.fromValues(1,0),d=h.fromValues(0,1),p=h.create();(s.prototype=new n).constructor=s,s.prototype.setLimits=function(t,e){"number"==typeof t?(this.lowerLimit=t,this.lowerLimitEnabled=!0):(this.lowerLimit=t,this.lowerLimitEnabled=!1),"number"==typeof e?(this.upperLimit=e,this.upperLimitEnabled=!0):(this.upperLimit=e,this.upperLimitEnabled=!1)},s.prototype.update=function(){var t=this.bodyA,e=this.bodyB,i=this.pivotA,s=this.pivotB,n=this.equations,r=(n[0],n[1],n[0]),o=n[1],a=this.upperLimit,p=this.lowerLimit,f=this.upperLimitEquation,g=this.lowerLimitEquation,m=this.angle=e.angle-t.angle;if(this.upperLimitEnabled&&m>a?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m<p)g.angle=p,-1===n.indexOf(g)&&n.push(g);else{var y=n.indexOf(g);-1!==y&&n.splice(y,1)}h.rotate(l,i,t.angle),h.rotate(c,s,e.angle),r.G[0]=-1,r.G[1]=0,r.G[2]=-h.crossLength(l,u),r.G[3]=1,r.G[4]=0,r.G[5]=h.crossLength(c,u),o.G[0]=0,o.G[1]=-1,o.G[2]=-h.crossLength(l,d),o.G[3]=0,o.G[4]=1,o.G[5]=h.crossLength(c,d)},s.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},s.prototype.disableMotor=function(){if(this.motorEnabled){var t=this.equations.indexOf(this.motorEquation);this.equations.splice(t,1),this.motorEnabled=!1}},s.prototype.setMotorSpeed=function(t){if(this.motorEnabled){var e=this.equations.indexOf(this.motorEquation);this.equations[e].relativeVelocity=t}},s.prototype.getMotorSpeed=function(){return!!this.motorEnabled&&this.motorEquation.relativeVelocity}},{"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../equations/RotationalVelocityEquation":25,"../math/vec2":30,"./Constraint":14}],20:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=i.angle||0,this.ratio="number"==typeof i.ratio?i.ratio:1,this.setRatio(this.ratio)}var n=t("./Equation");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeGq=function(){return this.ratio*this.bodyA.angle-this.bodyB.angle+this.angle},s.prototype.setRatio=function(t){var e=this.G;e[2]=t,e[5]=-1,this.ratio=t},s.prototype.setMaxTorque=function(t){this.maxForce=t,this.minForce=-t}},{"../math/vec2":30,"./Equation":22}],21:[function(t,e,i){function s(t,e){n.call(this,t,e,0,Number.MAX_VALUE),this.contactPointA=r.create(),this.penetrationVec=r.create(),this.contactPointB=r.create(),this.normalA=r.create(),this.restitution=0,this.firstImpact=!1,this.shapeA=null,this.shapeB=null}var n=t("./Equation"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeB=function(t,e,i){var s=this.bodyA,n=this.bodyB,o=this.contactPointA,a=this.contactPointB,h=s.position,l=n.position,c=this.penetrationVec,u=this.normalA,d=this.G,p=r.crossLength(o,u),f=r.crossLength(a,u);d[0]=-u[0],d[1]=-u[1],d[2]=-p,d[3]=u[0],d[4]=u[1],d[5]=f,r.add(c,l,a),r.sub(c,c,h),r.sub(c,c,o);var g,m;return this.firstImpact&&0!==this.restitution?(m=0,g=1/e*(1+this.restitution)*this.computeGW()):(m=r.dot(u,c)+this.offset,g=this.computeGW()),-m*t-g*e-i*this.computeGiMf()};var o=r.create(),a=r.create(),h=r.create();s.prototype.getVelocityAlongNormal=function(){return this.bodyA.getVelocityAtPoint(o,this.contactPointA),this.bodyB.getVelocityAtPoint(a,this.contactPointB),r.subtract(h,o,a),r.dot(this.normalA,h)}},{"../math/vec2":30,"./Equation":22}],22:[function(t,e,i){function s(t,e,i,n){this.minForce=void 0===i?-Number.MAX_VALUE:i,this.maxForce=void 0===n?Number.MAX_VALUE:n,this.bodyA=t,this.bodyB=e,this.stiffness=s.DEFAULT_STIFFNESS,this.relaxation=s.DEFAULT_RELAXATION,this.G=new r.ARRAY_TYPE(6);for(var o=0;o<6;o++)this.G[o]=0;this.offset=0,this.a=0,this.b=0,this.epsilon=0,this.timeStep=1/60,this.needsUpdate=!0,this.multiplier=0,this.relativeVelocity=0,this.enabled=!0}e.exports=s;var n=t("../math/vec2"),r=t("../utils/Utils");t("../objects/Body");s.prototype.constructor=s,s.DEFAULT_STIFFNESS=1e6,s.DEFAULT_RELAXATION=4,s.prototype.update=function(){var t=this.stiffness,e=this.relaxation,i=this.timeStep;this.a=4/(i*(1+4*e)),this.b=4*e/(1+4*e),this.epsilon=4/(i*i*t*(1+4*e)),this.needsUpdate=!1},s.prototype.gmult=function(t,e,i,s,n){return t[0]*e[0]+t[1]*e[1]+t[2]*i+t[3]*s[0]+t[4]*s[1]+t[5]*n},s.prototype.computeB=function(t,e,i){var s=this.computeGW();return-this.computeGq()*t-s*e-this.computeGiMf()*i};var o=n.create(),a=n.create();s.prototype.computeGq=function(){var t=this.G,e=this.bodyA,i=this.bodyB,s=(e.position,i.position,e.angle),n=i.angle;return this.gmult(t,o,s,a,n)+this.offset},s.prototype.computeGW=function(){var t=this.G,e=this.bodyA,i=this.bodyB,s=e.velocity,n=i.velocity,r=e.angularVelocity,o=i.angularVelocity;return this.gmult(t,s,r,n,o)+this.relativeVelocity},s.prototype.computeGWlambda=function(){var t=this.G,e=this.bodyA,i=this.bodyB,s=e.vlambda,n=i.vlambda,r=e.wlambda,o=i.wlambda;return this.gmult(t,s,r,n,o)};var h=n.create(),l=n.create();s.prototype.computeGiMf=function(){var t=this.bodyA,e=this.bodyB,i=t.force,s=t.angularForce,r=e.force,o=e.angularForce,a=t.invMassSolve,c=e.invMassSolve,u=t.invInertiaSolve,d=e.invInertiaSolve,p=this.G;return n.scale(h,i,a),n.multiply(h,t.massMultiplier,h),n.scale(l,r,c),n.multiply(l,e.massMultiplier,l),this.gmult(p,h,s*u,l,o*d)},s.prototype.computeGiMGt=function(){var t=this.bodyA,e=this.bodyB,i=t.invMassSolve,s=e.invMassSolve,n=t.invInertiaSolve,r=e.invInertiaSolve,o=this.G;return o[0]*o[0]*i*t.massMultiplier[0]+o[1]*o[1]*i*t.massMultiplier[1]+o[2]*o[2]*n+o[3]*o[3]*s*e.massMultiplier[0]+o[4]*o[4]*s*e.massMultiplier[1]+o[5]*o[5]*r};var c=n.create(),u=n.create(),d=n.create();n.create(),n.create(),n.create();s.prototype.addToWlambda=function(t){var e=this.bodyA,i=this.bodyB,s=c,r=u,o=d,a=e.invMassSolve,h=i.invMassSolve,l=e.invInertiaSolve,p=i.invInertiaSolve,f=this.G;r[0]=f[0],r[1]=f[1],o[0]=f[3],o[1]=f[4],n.scale(s,r,a*t),n.multiply(s,s,e.massMultiplier),n.add(e.vlambda,e.vlambda,s),e.wlambda+=l*f[2]*t,n.scale(s,o,h*t),n.multiply(s,s,i.massMultiplier),n.add(i.vlambda,i.vlambda,s),i.wlambda+=p*f[5]*t},s.prototype.computeInvC=function(t){return 1/(this.computeGiMGt()+t)}},{"../math/vec2":30,"../objects/Body":31,"../utils/Utils":57}],23:[function(t,e,i){function s(t,e,i){r.call(this,t,e,-i,i),this.contactPointA=n.create(),this.contactPointB=n.create(),this.t=n.create(),this.contactEquations=[],this.shapeA=null,this.shapeB=null,this.frictionCoefficient=.3}var n=t("../math/vec2"),r=t("./Equation");t("../utils/Utils");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.setSlipForce=function(t){this.maxForce=t,this.minForce=-t},s.prototype.getSlipForce=function(){return this.maxForce},s.prototype.computeB=function(t,e,i){this.bodyA,this.bodyB;var s=this.contactPointA,r=this.contactPointB,o=this.t,a=this.G;return a[0]=-o[0],a[1]=-o[1],a[2]=-n.crossLength(s,o),a[3]=o[0],a[4]=o[1],a[5]=n.crossLength(r,o),-this.computeGW()*e-i*this.computeGiMf()}},{"../math/vec2":30,"../utils/Utils":57,"./Equation":22}],24:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=i.angle||0;var s=this.G;s[2]=1,s[5]=-1}var n=t("./Equation"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s;var o=r.create(),a=r.create(),h=r.fromValues(1,0),l=r.fromValues(0,1);s.prototype.computeGq=function(){return r.rotate(o,h,this.bodyA.angle+this.angle),r.rotate(a,l,this.bodyB.angle),r.dot(o,a)}},{"../math/vec2":30,"./Equation":22}],25:[function(t,e,i){function s(t,e){n.call(this,t,e,-Number.MAX_VALUE,Number.MAX_VALUE),this.relativeVelocity=1,this.ratio=1}var n=t("./Equation");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeB=function(t,e,i){var s=this.G;s[2]=-1,s[5]=this.ratio;var n=this.computeGiMf();return-this.computeGW()*e-i*n}},{"../math/vec2":30,"./Equation":22}],26:[function(t,e,i){var s=function(){};e.exports=s,s.prototype={constructor:s,on:function(t,e,i){e.context=i||this,void 0===this._listeners&&(this._listeners={});var s=this._listeners;return void 0===s[t]&&(s[t]=[]),-1===s[t].indexOf(e)&&s[t].push(e),this},has:function(t,e){if(void 0===this._listeners)return!1;var i=this._listeners;if(e){if(void 0!==i[t]&&-1!==i[t].indexOf(e))return!0}else if(void 0!==i[t])return!0;return!1},off:function(t,e){if(void 0===this._listeners)return this;var i=this._listeners,s=i[t].indexOf(e);return-1!==s&&i[t].splice(s,1),this},emit:function(t){if(void 0===this._listeners)return this;var e=this._listeners[t.type];if(void 0!==e){t.target=this;for(var i=0,s=e.length;i<s;i++){var n=e[i];n.call(n.context,t)}}return this}}},{}],27:[function(t,e,i){function s(t,e,i){if(i=i||{},!(t instanceof n&&e instanceof n))throw new Error("First two arguments must be Material instances.");this.id=s.idCounter++,this.materialA=t,this.materialB=e,this.friction=void 0!==i.friction?Number(i.friction):.3,this.restitution=void 0!==i.restitution?Number(i.restitution):0,this.stiffness=void 0!==i.stiffness?Number(i.stiffness):r.DEFAULT_STIFFNESS,this.relaxation=void 0!==i.relaxation?Number(i.relaxation):r.DEFAULT_RELAXATION,this.frictionStiffness=void 0!==i.frictionStiffness?Number(i.frictionStiffness):r.DEFAULT_STIFFNESS,this.frictionRelaxation=void 0!==i.frictionRelaxation?Number(i.frictionRelaxation):r.DEFAULT_RELAXATION,this.surfaceVelocity=void 0!==i.surfaceVelocity?Number(i.surfaceVelocity):0,this.contactSkinSize=.005}var n=t("./Material"),r=t("../equations/Equation");e.exports=s,s.idCounter=0},{"../equations/Equation":22,"./Material":28}],28:[function(t,e,i){function s(t){this.id=t||s.idCounter++}e.exports=s,s.idCounter=0},{}],29:[function(t,e,i){var s={};s.GetArea=function(t){if(t.length<6)return 0;for(var e=t.length-2,i=0,s=0;s<e;s+=2)i+=(t[s+2]-t[s])*(t[s+1]+t[s+3]);return.5*-(i+=(t[0]-t[e])*(t[e+1]+t[1]))},s.Triangulate=function(t){var e=t.length>>1;if(e<3)return[];for(var i=[],n=[],r=0;r<e;r++)n.push(r);for(var r=0,o=e;o>3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y<o;y++){var v=n[y];if(v!=a&&v!=h&&v!=l&&s._PointInTriangle(t[2*v],t[2*v+1],c,u,d,p,f,g)){m=!1;break}}}if(m)i.push(a,h,l),n.splice((r+1)%o,1),o--,r=0;else if(r++>3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;e<this.shapes.length;e++)t+=this.shapes[e].area;return t},s.prototype.getAABB=function(){return this.aabbNeedsUpdate&&this.updateAABB(),this.aabb};var u=new l,d=n.create();s.prototype.updateAABB=function(){for(var t=this.shapes,e=t.length,i=d,s=this.angle,r=0;r!==e;r++){var o=t[r],a=o.angle+s;n.rotate(i,o.position,s),n.add(i,i,this.position),o.computeAABB(u,i,a),0===r?this.aabb.copy(u):this.aabb.extend(u)}this.aabbNeedsUpdate=!1},s.prototype.updateBoundingRadius=function(){for(var t=this.shapes,e=t.length,i=0,s=0;s!==e;s++){var r=t[s],o=n.length(r.position),a=r.boundingRadius;o+a>i&&(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;o<e;o++){var a=t[o],h=n.squaredLength(a.position);r+=a.computeMomentOfInertia(i)+i*h}this.inertia=r,this.invInertia=r>0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h<this.concavePath.length;h++){u=[0,0];n.copy(u,this.concavePath[h]),this.concavePath[h]=u}var s;s=e.optimalDecomp?i.decomp():i.quickDecomp();for(var a=n.create(),h=0;h!==s.length;h++){for(var l=new o({vertices:s[h].vertices}),c=0;c!==l.vertices.length;c++){var u=l.vertices[c];n.sub(u,u,l.centerOfMass)}n.scale(a,l.centerOfMass,1),l.updateTriangles(),l.updateCenterOfMass(),l.updateBoundingRadius(),this.addShape(l,a)}return this.adjustCenterOfMass(),this.aabbNeedsUpdate=!0,!0};n.fromValues(0,0);var b=n.fromValues(0,0),_=n.fromValues(0,0),w=n.fromValues(0,0);s.prototype.adjustCenterOfMass=function(){var t=b,e=_,i=w,s=0;n.set(e,0,0);for(o=0;o!==this.shapes.length;o++){r=this.shapes[o];n.scale(t,r.position,r.area),n.add(e,e,t),s+=r.area}n.scale(i,e,1/s);for(o=0;o!==this.shapes.length;o++){var r=this.shapes[o];n.sub(r.position,r.position,i)}n.add(this.position,this.position,i);for(var o=0;this.concavePath&&o<this.concavePath.length;o++)n.sub(this.concavePath[o],this.concavePath[o],i);this.updateMassProperties(),this.updateBoundingRadius()},s.prototype.setZeroForce=function(){n.set(this.force,0,0),this.angularForce=0},s.prototype.resetConstraintVelocity=function(){var t=this,e=t.vlambda;n.set(e,0,0),t.wlambda=0},s.prototype.addConstraintVelocity=function(){var t=this,e=t.velocity;n.add(e,e,t.vlambda),t.angularVelocity+=t.wlambda},s.prototype.applyDamping=function(t){if(this.type===s.DYNAMIC){var e=this.velocity;n.scale(e,e,Math.pow(1-this.damping,t)),this.angularVelocity*=Math.pow(1-this.angularDamping,t)}},s.prototype.wakeUp=function(){var t=this.sleepState;this.sleepState=s.AWAKE,this.idleTime=0,t!==s.AWAKE&&this.emit(s.wakeUpEvent)},s.prototype.sleep=function(){this.sleepState=s.SLEEPING,this.angularVelocity=0,this.angularForce=0,n.set(this.velocity,0,0),n.set(this.force,0,0),this.emit(s.sleepEvent)},s.prototype.sleepTick=function(t,e,i){if(this.allowSleep&&this.type!==s.SLEEPING){this.wantsToSleep=!1;this.sleepState;n.squaredLength(this.velocity)+Math.pow(this.angularVelocity,2)>=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)<Math.pow(this.ccdSpeedThreshold,2))return!1;n.normalize(A,this.velocity),n.scale(E,this.velocity,t),n.add(E,E,this.position),n.sub(M,E,this.position);var e,i=this.angularVelocity*t,s=n.length(M),r=1,o=this;if(C.reset(),S.callback=function(t){t.body!==o&&(e=t.body,t.getHitPoint(E,S),n.sub(M,E,o.position),r=n.length(M)/s,t.stop())},n.copy(S.from,this.position),n.copy(S.to,E),S.update(),this.world.raycast(C,S),!e)return!1;var a=this.angle;n.copy(R,this.position);for(var h=0,l=0,c=0,u=r;u>=l&&h<this.ccdIterations;)h++,c=(u-l)/2,n.scale(P,M,r),n.add(this.position,R,P),this.angle=a+i*r,this.updateAABB(),this.aabb.overlaps(e.aabb)&&this.world.narrowphase.bodiesOverlap(this,e)?l=c:u=c;return r=c,n.copy(this.position,R),this.angle=a,n.scale(P,M,r),n.add(this.position,this.position,P),this.fixedRotation||(this.angle+=i*r),!0},s.prototype.getVelocityAtPoint=function(t,e){return n.crossVZ(t,e,this.angularVelocity),n.subtract(t,this.velocity,t),t},s.sleepyEvent={type:"sleepy"},s.sleepEvent={type:"sleep"},s.wakeUpEvent={type:"wakeup"},s.DYNAMIC=1,s.STATIC=2,s.KINEMATIC=4,s.AWAKE=0,s.SLEEPY=1,s.SLEEPING=2},{"../collision/AABB":7,"../collision/Ray":11,"../collision/RaycastResult":12,"../events/EventEmitter":26,"../math/vec2":30,"../shapes/Convex":40,"poly-decomp":5}],32:[function(t,e,i){function s(t,e,i){i=i||{},r.call(this,t,e,i),this.localAnchorA=n.fromValues(0,0),this.localAnchorB=n.fromValues(0,0),i.localAnchorA&&n.copy(this.localAnchorA,i.localAnchorA),i.localAnchorB&&n.copy(this.localAnchorB,i.localAnchorB),i.worldAnchorA&&this.setWorldAnchorA(i.worldAnchorA),i.worldAnchorB&&this.setWorldAnchorB(i.worldAnchorB);var s=n.create(),o=n.create();this.getWorldAnchorA(s),this.getWorldAnchorB(o);var a=n.distance(s,o);this.restLength="number"==typeof i.restLength?i.restLength:a}var n=t("../math/vec2"),r=t("./Spring");t("../utils/Utils");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.setWorldAnchorA=function(t){this.bodyA.toLocalFrame(this.localAnchorA,t)},s.prototype.setWorldAnchorB=function(t){this.bodyB.toLocalFrame(this.localAnchorB,t)},s.prototype.getWorldAnchorA=function(t){this.bodyA.toWorldFrame(t,this.localAnchorA)},s.prototype.getWorldAnchorB=function(t){this.bodyB.toWorldFrame(t,this.localAnchorB)};var o=n.create(),a=n.create(),h=n.create(),l=n.create(),c=n.create(),u=n.create(),d=n.create(),p=n.create(),f=n.create();s.prototype.applyForce=function(){var t=this.stiffness,e=this.damping,i=this.restLength,s=this.bodyA,r=this.bodyB,g=o,m=a,y=h,v=l,x=f,b=c,_=u,w=d,T=p;this.getWorldAnchorA(b),this.getWorldAnchorB(_),n.sub(w,b,s.position),n.sub(T,_,r.position),n.sub(g,_,b);var P=n.len(g);n.normalize(m,g),n.sub(y,r.velocity,s.velocity),n.crossZV(x,r.angularVelocity,T),n.add(y,y,x),n.crossZV(x,s.angularVelocity,w),n.sub(y,y,x),n.scale(v,m,-t*(P-i)-e*n.dot(y,m)),n.sub(s.force,s.force,v),n.add(r.force,r.force,v);var C=n.crossLength(w,v),S=n.crossLength(T,v);s.angularForce-=C,r.angularForce+=S}},{"../math/vec2":30,"../utils/Utils":57,"./Spring":34}],33:[function(t,e,i){function s(t,e,i){i=i||{},n.call(this,t,e,i),this.restAngle="number"==typeof i.restAngle?i.restAngle:e.angle-t.angle}t("../math/vec2");var n=t("./Spring");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.applyForce=function(){var t=this.stiffness,e=this.damping,i=this.restAngle,s=this.bodyA,n=this.bodyB,r=-t*(n.angle-s.angle-i)-e*(n.angularVelocity-s.angularVelocity)*0;s.angularForce-=r,n.angularForce+=r}},{"../math/vec2":30,"./Spring":34}],34:[function(t,e,i){function s(t,e,i){i=n.defaults(i,{stiffness:100,damping:1}),this.stiffness=i.stiffness,this.damping=i.damping,this.bodyA=t,this.bodyB=e}t("../math/vec2");var n=t("../utils/Utils");e.exports=s,s.prototype.applyForce=function(){}},{"../math/vec2":30,"../utils/Utils":57}],35:[function(t,e,i){function s(t,e){e=e||{},this.chassisBody=t,this.wheels=[],this.groundBody=new h({mass:0}),this.world=null;var i=this;this.preStepCallback=function(){i.update()}}function n(t,e){e=e||{},this.vehicle=t,this.forwardEquation=new a(t.chassisBody,t.groundBody),this.sideEquation=new a(t.chassisBody,t.groundBody),this.steerValue=0,this.engineForce=0,this.setSideFriction(void 0!==e.sideFriction?e.sideFriction:5),this.localForwardVector=r.fromValues(0,1),e.localForwardVector&&r.copy(this.localForwardVector,e.localForwardVector),this.localPosition=r.fromValues(0,0),e.localPosition&&r.copy(this.localPosition,e.localPosition),o.apply(this,t.chassisBody,t.groundBody),this.equations.push(this.forwardEquation,this.sideEquation),this.setBrakeForce(0)}var r=t("../math/vec2"),o=(t("../utils/Utils"),t("../constraints/Constraint")),a=t("../equations/FrictionEquation"),h=t("../objects/Body");e.exports=s,s.prototype.addToWorld=function(t){this.world=t,t.addBody(this.groundBody),t.on("preStep",this.preStepCallback);for(var e=0;e<this.wheels.length;e++){var i=this.wheels[e];t.addConstraint(i)}},s.prototype.removeFromWorld=function(){var t=this.world;t.removeBody(this.groundBody),t.off("preStep",this.preStepCallback);for(var e=0;e<this.wheels.length;e++){var i=this.wheels[e];t.removeConstraint(i)}this.world=null},s.prototype.addWheel=function(t){var e=new n(this,t);return this.wheels.push(e),e},s.prototype.update=function(){for(var t=0;t<this.wheels.length;t++)this.wheels[t].update()},(n.prototype=new o).setBrakeForce=function(t){this.forwardEquation.setSlipForce(t)},n.prototype.setSideFriction=function(t){this.sideEquation.setSlipForce(t)};var l=r.create(),c=r.create();n.prototype.getSpeed=function(){return this.vehicle.chassisBody.vectorToWorldFrame(c,this.localForwardVector),this.vehicle.chassisBody.getVelocityAtPoint(l,c),r.dot(l,c)};var u=r.create();n.prototype.update=function(){this.vehicle.chassisBody.vectorToWorldFrame(this.forwardEquation.t,this.localForwardVector),r.rotate(this.sideEquation.t,this.localForwardVector,Math.PI/2),this.vehicle.chassisBody.vectorToWorldFrame(this.sideEquation.t,this.sideEquation.t),r.rotate(this.forwardEquation.t,this.forwardEquation.t,this.steerValue),r.rotate(this.sideEquation.t,this.sideEquation.t,this.steerValue),this.vehicle.chassisBody.toWorldFrame(this.forwardEquation.contactPointB,this.localPosition),r.copy(this.sideEquation.contactPointB,this.forwardEquation.contactPointB),this.vehicle.chassisBody.vectorToWorldFrame(this.forwardEquation.contactPointA,this.localPosition),r.copy(this.sideEquation.contactPointA,this.forwardEquation.contactPointA),r.normalize(u,this.forwardEquation.t),r.scale(u,u,this.engineForce),this.vehicle.chassisBody.applyForce(u,this.forwardEquation.contactPointA)}},{"../constraints/Constraint":14,"../equations/FrictionEquation":23,"../math/vec2":30,"../objects/Body":31,"../utils/Utils":57}],36:[function(t,e,i){var s=e.exports={AABB:t("./collision/AABB"),AngleLockEquation:t("./equations/AngleLockEquation"),Body:t("./objects/Body"),Broadphase:t("./collision/Broadphase"),Capsule:t("./shapes/Capsule"),Circle:t("./shapes/Circle"),Constraint:t("./constraints/Constraint"),ContactEquation:t("./equations/ContactEquation"),ContactEquationPool:t("./utils/ContactEquationPool"),ContactMaterial:t("./material/ContactMaterial"),Convex:t("./shapes/Convex"),DistanceConstraint:t("./constraints/DistanceConstraint"),Equation:t("./equations/Equation"),EventEmitter:t("./events/EventEmitter"),FrictionEquation:t("./equations/FrictionEquation"),FrictionEquationPool:t("./utils/FrictionEquationPool"),GearConstraint:t("./constraints/GearConstraint"),GSSolver:t("./solver/GSSolver"),Heightfield:t("./shapes/Heightfield"),Line:t("./shapes/Line"),LockConstraint:t("./constraints/LockConstraint"),Material:t("./material/Material"),Narrowphase:t("./collision/Narrowphase"),NaiveBroadphase:t("./collision/NaiveBroadphase"),Particle:t("./shapes/Particle"),Plane:t("./shapes/Plane"),Pool:t("./utils/Pool"),RevoluteConstraint:t("./constraints/RevoluteConstraint"),PrismaticConstraint:t("./constraints/PrismaticConstraint"),Ray:t("./collision/Ray"),RaycastResult:t("./collision/RaycastResult"),Box:t("./shapes/Box"),RotationalVelocityEquation:t("./equations/RotationalVelocityEquation"),SAPBroadphase:t("./collision/SAPBroadphase"),Shape:t("./shapes/Shape"),Solver:t("./solver/Solver"),Spring:t("./objects/Spring"),TopDownVehicle:t("./objects/TopDownVehicle"),LinearSpring:t("./objects/LinearSpring"),RotationalSpring:t("./objects/RotationalSpring"),Utils:t("./utils/Utils"),World:t("./world/World"),vec2:t("./math/vec2"),version:t("../package.json").version};Object.defineProperty(s,"Rectangle",{get:function(){return console.warn("The Rectangle class has been renamed to Box."),this.Box}})},{"../package.json":6,"./collision/AABB":7,"./collision/Broadphase":8,"./collision/NaiveBroadphase":9,"./collision/Narrowphase":10,"./collision/Ray":11,"./collision/RaycastResult":12,"./collision/SAPBroadphase":13,"./constraints/Constraint":14,"./constraints/DistanceConstraint":15,"./constraints/GearConstraint":16,"./constraints/LockConstraint":17,"./constraints/PrismaticConstraint":18,"./constraints/RevoluteConstraint":19,"./equations/AngleLockEquation":20,"./equations/ContactEquation":21,"./equations/Equation":22,"./equations/FrictionEquation":23,"./equations/RotationalVelocityEquation":25,"./events/EventEmitter":26,"./material/ContactMaterial":27,"./material/Material":28,"./math/vec2":30,"./objects/Body":31,"./objects/LinearSpring":32,"./objects/RotationalSpring":33,"./objects/Spring":34,"./objects/TopDownVehicle":35,"./shapes/Box":37,"./shapes/Capsule":38,"./shapes/Circle":39,"./shapes/Convex":40,"./shapes/Heightfield":41,"./shapes/Line":42,"./shapes/Particle":43,"./shapes/Plane":44,"./shapes/Shape":45,"./solver/GSSolver":46,"./solver/Solver":47,"./utils/ContactEquationPool":48,"./utils/FrictionEquationPool":49,"./utils/Pool":55,"./utils/Utils":57,"./world/World":61}],37:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&"number"==typeof arguments[1]&&(t={width:arguments[0],height:arguments[1]},console.warn("The Rectangle has been renamed to Box and its constructor signature has changed. Please use the following format: new Box({ width: 1, height: 1, ... })")),t=t||{};var e=this.width=t.width||1,i=this.height=t.height||1,s=[n.fromValues(-e/2,-i/2),n.fromValues(e/2,-i/2),n.fromValues(e/2,i/2),n.fromValues(-e/2,i/2)],a=[n.fromValues(1,0),n.fromValues(0,1)];t.vertices=s,t.axes=a,t.type=r.BOX,o.call(this,t)}var n=t("../math/vec2"),r=t("./Shape"),o=t("./Convex");e.exports=s,(s.prototype=new o).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.width,i=this.height;return t*(i*i+e*e)/12},s.prototype.updateBoundingRadius=function(){var t=this.width,e=this.height;this.boundingRadius=Math.sqrt(t*t+e*e)/2};n.create(),n.create(),n.create(),n.create();s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)},s.prototype.updateArea=function(){this.area=this.width*this.height}},{"../math/vec2":30,"./Convex":40,"./Shape":45}],38:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&"number"==typeof arguments[1]&&(t={length:arguments[0],radius:arguments[1]},console.warn("The Capsule constructor signature has changed. Please use the following format: new Capsule({ radius: 1, length: 1 })")),t=t||{},this.length=t.length||1,this.radius=t.radius||1,t.type=n.CAPSULE,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,i=this.length+e,s=2*e;return t*(s*s+i*i)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius+this.length/2},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius+2*this.radius*this.length};var o=r.create();s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(o,this.length/2,0),0!==i&&r.rotate(o,o,i),r.set(t.upperBound,Math.max(o[0]+s,-o[0]+s),Math.max(o[1]+s,-o[1]+s)),r.set(t.lowerBound,Math.min(o[0]-s,-o[0]-s),Math.min(o[1]-s,-o[1]-s)),r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e)};var a=r.create(),h=r.create(),l=r.create(),c=r.create(),u=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){for(var n=e.from,o=e.to,d=(e.direction,a),p=h,f=l,g=c,m=this.length/2,y=0;y<2;y++){var v=this.radius*(2*y-1);if(r.set(f,-m,v),r.set(g,m,v),r.toGlobalFrame(f,f,i,s),r.toGlobalFrame(g,g,i,s),(T=r.getLineSegmentsIntersectionFraction(n,o,f,g))>=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;i<e.length;i++){var s=r.create();r.copy(s,e[i]),this.vertices.push(s)}if(this.axes=[],t.axes)for(i=0;i<t.axes.length;i++){var o=r.create();r.copy(o,t.axes[i]),this.axes.push(o)}else for(i=0;i<this.vertices.length;i++){var a=this.vertices[i],h=this.vertices[(i+1)%this.vertices.length],l=r.create();r.sub(l,h,a),r.rotate90cw(l,l),r.normalize(l,l),this.axes.push(l)}if(this.centerOfMass=r.fromValues(0,0),this.triangles=[],this.vertices.length&&(this.updateTriangles(),this.updateCenterOfMass()),this.boundingRadius=0,t.type=n.CONVEX,n.call(this,t),this.updateBoundingRadius(),this.updateArea(),this.area<0)throw new Error("Convex vertices must be given in conter-clockwise winding.")}var n=t("./Shape"),r=t("../math/vec2"),o=t("../math/polyk");t("poly-decomp");e.exports=s,(s.prototype=new n).constructor=s;var a=r.create(),h=r.create();s.prototype.projectOntoLocalAxis=function(t,e){for(var i,s,n=null,o=null,t=a,h=0;h<this.vertices.length;h++)i=this.vertices[h],s=r.dot(i,t),(null===n||s>n)&&(n=s),(null===o||s<o)&&(o=s);if(o>n){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;e<this.vertices.length;e++){var i=this.vertices[e];t.push(i[0],i[1])}for(var s=o.Triangulate(t),e=0;e<s.length;e+=3){var n=s[e],r=s[e+1],a=s[e+2];this.triangles.push([n,r,a])}};var l=r.create(),c=r.create(),u=r.create(),d=r.create(),p=r.create();r.create(),r.create(),r.create(),r.create();s.prototype.updateCenterOfMass=function(){var t=this.triangles,e=this.vertices,i=this.centerOfMass,n=l,o=u,a=d,h=p,f=c;r.set(i,0,0);for(var g=0,m=0;m!==t.length;m++){var y=t[m],o=e[y[0]],a=e[y[1]],h=e[y[2]];r.centroid(n,o,a,h);var v=s.triangleArea(o,a,h);g+=v,r.scale(f,n,v),r.add(i,i,f)}r.scale(i,i,1/g)},s.prototype.computeMomentOfInertia=function(t){for(var e=0,i=0,s=this.vertices.length,n=s-1,o=0;o<s;n=o,o++){var a=this.vertices[n],h=this.vertices[o],l=Math.abs(r.crossLength(a,h));e+=l*(r.dot(h,h)+r.dot(h,a)+r.dot(a,a)),i+=l}return t/6*(e/i)},s.prototype.updateBoundingRadius=function(){for(var t=this.vertices,e=0,i=0;i!==t.length;i++){var s=r.squaredLength(t[i]);s>e&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c<l&&!t.shouldStop(e);c++){var u=h[c],d=h[(c+1)%l],p=r.getLineSegmentsIntersectionFraction(n,o,u,d);p>=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),n<i&&(i=n)}this.maxValue=e,this.minValue=i},s.prototype.computeMomentOfInertia=function(t){return Number.MAX_VALUE},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.updateArea=function(){for(var t=this.heights,e=0,i=0;i<t.length-1;i++)e+=(t[i]+t[i+1])/2*this.elementWidth;this.area=e};var o=[r.create(),r.create(),r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){r.set(o[0],0,this.maxValue),r.set(o[1],this.elementWidth*this.heights.length,this.maxValue),r.set(o[2],this.elementWidth*this.heights.length,this.minValue),r.set(o[3],0,this.minValue),t.setFromPoints(o,e,i)},s.prototype.getLineSegment=function(t,e,i){var s=this.heights,n=this.elementWidth;r.set(t,i*n,s[i]),r.set(e,(i+1)*n,s[i+1])},s.prototype.getSegmentIndex=function(t){return Math.floor(t[0]/this.elementWidth)},s.prototype.getClampedSegmentIndex=function(t){var e=this.getSegmentIndex(t);return e=Math.min(this.heights.length,Math.max(e,0))};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.create(),u=r.create();r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,d=(e.direction,a),p=h,f=l,g=c,m=u;r.toLocalFrame(g,n,i,s),r.toLocalFrame(m,o,i,s);var y=this.getClampedSegmentIndex(g),v=this.getClampedSegmentIndex(m);if(y>v){var x=y;y=v,v=x}for(var b=0;b<this.heights.length-1;b++){this.getLineSegment(p,f,b);var _=r.getLineSegmentsIntersectionFraction(g,m,p,f);if(_>=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)<f*f)){var g=r.dot(d,c);r.sub(u,n,i);var m=-r.dot(d,u)/g/e.length;e.reportIntersection(t,m,d,-1)}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],45:[function(t,e,i){function s(t){t=t||{},this.body=null,this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.angle=t.angle||0,this.type=t.type||0,this.id=s.idCounter++,this.boundingRadius=0,this.collisionGroup=void 0!==t.collisionGroup?t.collisionGroup:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.collisionMask=void 0!==t.collisionMask?t.collisionMask:1,this.material=t.material||null,this.area=0,this.sensor=void 0!==t.sensor&&t.sensor,this.type&&this.updateBoundingRadius(),this.updateArea()}e.exports=s;var n=t("../math/vec2");s.idCounter=0,s.CIRCLE=1,s.PARTICLE=2,s.PLANE=4,s.CONVEX=8,s.LINE=16,s.BOX=32,s.CAPSULE=64,s.HEIGHTFIELD=128,s.prototype.computeMomentOfInertia=function(t){},s.prototype.updateBoundingRadius=function(){},s.prototype.updateArea=function(){},s.prototype.computeAABB=function(t,e,i){},s.prototype.raycast=function(t,e,i,s){}},{"../math/vec2":30}],46:[function(t,e,i){function s(t){o.call(this,t,o.GS),t=t||{},this.iterations=t.iterations||10,this.tolerance=t.tolerance||1e-7,this.arrayStep=30,this.lambda=new a.ARRAY_TYPE(this.arrayStep),this.Bs=new a.ARRAY_TYPE(this.arrayStep),this.invCs=new a.ARRAY_TYPE(this.arrayStep),this.useZeroRHS=!1,this.frictionIterations=void 0!==t.frictionIterations?0:t.frictionIterations,this.usedIterations=0}function n(t){for(var e=t.length;e--;)t[e]=0}var r=t("../math/vec2"),o=t("./Solver"),a=t("../utils/Utils"),h=t("../equations/FrictionEquation");e.exports=s,(s.prototype=new o).constructor=s,s.prototype.solve=function(t,e){this.sortEquations();var i=0,o=this.iterations,l=this.frictionIterations,c=this.equations,u=c.length,d=Math.pow(this.tolerance*u,2),p=e.bodies,f=e.bodies.length,g=(r.add,r.set,this.useZeroRHS),m=this.lambda;if(this.usedIterations=0,u)for(x=0;x!==f;x++)(T=p[x]).updateSolveMassProperties();m.length<u&&(m=this.lambda=new a.ARRAY_TYPE(u+this.arrayStep),this.Bs=new a.ARRAY_TYPE(u+this.arrayStep),this.invCs=new a.ARRAY_TYPE(u+this.arrayStep)),n(m);for(var y=this.invCs,v=this.Bs,m=this.lambda,x=0;x!==c.length;x++)((b=c[x]).timeStep!==t||b.needsUpdate)&&(b.timeStep=t,b.update()),v[x]=b.computeB(b.a,b.b,t),y[x]=b.computeInvC(b.epsilon);var b,_,w;if(0!==u){for(x=0;x!==f;x++){var T=p[x];T.resetConstraintVelocity()}if(l){for(i=0;i!==l;i++){for(_=0,w=0;w!==u;w++){b=c[w];A=s.iterateEquation(w,b,b.epsilon,v,y,m,g,t,i);_+=Math.abs(A)}if(this.usedIterations++,_*_<=d)break}for(s.updateMultipliers(c,m,1/t),w=0;w!==u;w++){var P=c[w];if(P instanceof h){for(var C=0,S=0;S!==P.contactEquations.length;S++)C+=P.contactEquations[S].multiplier;C*=P.frictionCoefficient/P.contactEquations.length,P.maxForce=C,P.minForce=-C}}}for(i=0;i!==o;i++){for(_=0,w=0;w!==u;w++){b=c[w];var A=s.iterateEquation(w,b,b.epsilon,v,y,m,g,t,i);_+=Math.abs(A)}if(this.usedIterations++,_*_<=d)break}for(x=0;x!==f;x++)p[x].addConstraintVelocity();s.updateMultipliers(c,m,1/t)}},s.updateMultipliers=function(t,e,i){for(var s=t.length;s--;)t[s].multiplier=e[s]*i},s.iterateEquation=function(t,e,i,s,n,r,o,a,h){var l=s[t],c=n[t],u=r[t],d=e.computeGWlambda(),p=e.maxForce,f=e.minForce;o&&(l=0);var g=c*(l-d-i*u),m=u+g;return m<f*a?g=f*a-u:m>p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length<t;)e.push(this.create());return this},s.prototype.get=function(){var t=this.objects;return t.length?t.pop():this.create()},s.prototype.release=function(t){return this.destroy(t),this.objects.push(t),this}},{}],56:[function(t,e,i){function s(){this.data={},this.keys=[]}var n=t("./Utils");e.exports=s,s.prototype.getKey=function(t,e){return t|=0,e|=0,(0|t)==(0|e)?-1:0|((0|t)>(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<n;s++)t[s]=t[s+i];t.length=n},s.ARRAY_TYPE="undefined"!=typeof P2_ARRAY_TYPE?P2_ARRAY_TYPE:"undefined"!=typeof Float32Array?Float32Array:Array,s.extend=function(t,e){for(var i in e)t[i]=e[i]},s.defaults=function(t,e){t=t||{};for(var i in e)i in t||(t[i]=e[i]);return t}},{}],58:[function(t,e,i){function s(){this.equations=[],this.bodies=[]}var n=t("../objects/Body");e.exports=s,s.prototype.reset=function(){this.equations.length=this.bodies.length=0};var r=[];s.prototype.getBodies=function(t){var e=t||[],i=this.equations;r.length=0;for(var s=0;s!==i.length;s++){var n=i[s];-1===r.indexOf(n.bodyA.id)&&(e.push(n.bodyA),r.push(n.bodyA.id)),-1===r.indexOf(n.bodyB.id)&&(e.push(n.bodyB),r.push(n.bodyB.id))}return e},s.prototype.wantsToSleep=function(){for(var t=0;t<this.bodies.length;t++){var e=this.bodies[t];if(e.type===n.DYNAMIC&&!e.wantsToSleep)return!1}return!0},s.prototype.sleep=function(){for(var t=0;t<this.bodies.length;t++)this.bodies[t].sleep();return!0}},{"../objects/Body":31}],59:[function(t,e,i){function s(t){this.nodePool=new n({size:16}),this.islandPool=new r({size:8}),this.equations=[],this.islands=[],this.nodes=[],this.queue=[]}t("../math/vec2"),t("./Island"),t("./IslandNode");var n=t("./../utils/IslandNodePool"),r=t("./../utils/IslandPool"),o=t("../objects/Body");e.exports=s,s.getUnvisitedNode=function(t){for(var e=t.length,i=0;i!==e;i++){var s=t[i];if(!s.visited&&s.body.type===o.DYNAMIC)return s}return!1},s.prototype.visit=function(t,e,i){e.push(t.body);for(var s=t.equations.length,n=0;n!==s;n++){var r=t.equations[n];-1===i.indexOf(r)&&i.push(r)}},s.prototype.bfs=function(t,e,i){var n=this.queue;for(n.length=0,n.push(t),t.visited=!0,this.visit(t,e,i);n.length;)for(var r,a=n.pop();r=s.getUnvisitedNode(a.neighbors);)r.visited=!0,this.visit(r,e,i),r.body.type===o.DYNAMIC&&n.push(r)},s.prototype.split=function(t){for(var e=t.bodies,i=this.nodes,n=this.equations;i.length;)this.nodePool.release(i.pop());for(h=0;h!==e.length;h++){var r=this.nodePool.get();r.body=e[h],i.push(r)}for(var o=0;o!==n.length;o++){var a=n[o],h=e.indexOf(a.bodyA),l=e.indexOf(a.bodyB),c=i[h],u=i[l];c.neighbors.push(u),u.neighbors.push(c),c.equations.push(a),u.equations.push(a)}for(var d=this.islands,h=0;h<d.length;h++)this.islandPool.release(d[h]);d.length=0;for(var p;p=s.getUnvisitedNode(i);){var f=this.islandPool.get();this.bfs(p,f.bodies,f.equations),d.push(f)}return d}},{"../math/vec2":30,"../objects/Body":31,"./../utils/IslandNodePool":50,"./../utils/IslandPool":51,"./Island":58,"./IslandNode":60}],60:[function(t,e,i){function s(t){this.body=t,this.neighbors=[],this.equations=[],this.visited=!1}e.exports=s,s.prototype.reset=function(){this.equations.length=0,this.neighbors.length=0,this.visited=!1,this.body=null}},{}],61:[function(t,e,i){function s(t){u.apply(this),t=t||{},this.springs=[],this.bodies=[],this.disabledBodyCollisionPairs=[],this.solver=t.solver||new n,this.narrowphase=new y(this),this.islandManager=new b,this.gravity=r.fromValues(0,-9.78),t.gravity&&r.copy(this.gravity,t.gravity),this.frictionGravity=r.length(this.gravity)||10,this.useWorldGravityAsFrictionGravity=!0,this.useFrictionGravityOnZeroGravity=!0,this.broadphase=t.broadphase||new m,this.broadphase.setWorld(this),this.constraints=[],this.defaultMaterial=new p,this.defaultContactMaterial=new f(this.defaultMaterial,this.defaultMaterial),this.lastTimeStep=1/60,this.applySpringForces=!0,this.applyDamping=!0,this.applyGravity=!0,this.solveConstraints=!0,this.contactMaterials=[],this.time=0,this.accumulator=0,this.stepping=!1,this.bodiesToBeRemoved=[],this.islandSplit=void 0===t.islandSplit||!!t.islandSplit,this.emitImpactEvent=!0,this._constraintIdCounter=0,this._bodyIdCounter=0,this.postStepEvent={type:"postStep"},this.addBodyEvent={type:"addBody",body:null},this.removeBodyEvent={type:"removeBody",body:null},this.addSpringEvent={type:"addSpring",spring:null},this.impactEvent={type:"impact",bodyA:null,bodyB:null,shapeA:null,shapeB:null,contactEquation:null},this.postBroadphaseEvent={type:"postBroadphase",pairs:null},this.sleepMode=s.NO_SLEEPING,this.beginContactEvent={type:"beginContact",shapeA:null,shapeB:null,bodyA:null,bodyB:null,contactEquations:[]},this.endContactEvent={type:"endContact",shapeA:null,shapeB:null,bodyA:null,bodyB:null},this.preSolveEvent={type:"preSolve",contactEquations:null,frictionEquations:null},this.overlappingShapesLastState={keys:[]},this.overlappingShapesCurrentState={keys:[]},this.overlapKeeper=new x}var n=t("../solver/GSSolver"),r=(t("../solver/Solver"),t("../collision/Ray"),t("../math/vec2")),o=t("../shapes/Circle"),a=t("../shapes/Convex"),h=(t("../shapes/Line"),t("../shapes/Plane")),l=t("../shapes/Capsule"),c=t("../shapes/Particle"),u=t("../events/EventEmitter"),d=t("../objects/Body"),p=(t("../shapes/Shape"),t("../objects/LinearSpring"),t("../material/Material")),f=t("../material/ContactMaterial"),g=(t("../constraints/DistanceConstraint"),t("../constraints/Constraint"),t("../constraints/LockConstraint"),t("../constraints/RevoluteConstraint"),t("../constraints/PrismaticConstraint"),t("../constraints/GearConstraint"),t("../../package.json"),t("../collision/Broadphase"),t("../collision/AABB")),m=t("../collision/SAPBroadphase"),y=t("../collision/Narrowphase"),v=t("../utils/Utils"),x=t("../utils/OverlapKeeper"),b=t("./IslandManager");t("../objects/RotationalSpring");e.exports=s,s.prototype=new Object(u.prototype),s.prototype.constructor=s,s.NO_SLEEPING=1,s.BODY_SLEEPING=2,s.ISLAND_SLEEPING=4,s.prototype.addConstraint=function(t){this.constraints.push(t)},s.prototype.addContactMaterial=function(t){this.contactMaterials.push(t)},s.prototype.removeContactMaterial=function(t){var e=this.contactMaterials.indexOf(t);-1!==e&&v.splice(this.contactMaterials,e,1)},s.prototype.getContactMaterial=function(t,e){for(var i=this.contactMaterials,s=0,n=i.length;s!==n;s++){var r=i[s];if(r.materialA.id===t.id&&r.materialB.id===e.id||r.materialA.id===e.id&&r.materialB.id===t.id)return r}return!1},s.prototype.removeConstraint=function(t){var e=this.constraints.indexOf(t);-1!==e&&v.splice(this.constraints,e,1)};r.create(),r.create(),r.create(),r.create(),r.create(),r.create();var _=r.create(),w=r.fromValues(0,0),T=r.fromValues(0,0);r.fromValues(0,0),r.fromValues(0,0);s.prototype.step=function(t,e,i){if(i=i||10,0===(e=e||0))this.internalStep(t),this.time+=t;else{this.accumulator+=e;for(var s=0;this.accumulator>=t&&s<i;)this.internalStep(t),this.time+=t,this.accumulator-=t,s++;for(var n=this.accumulator%t/t,o=0;o!==this.bodies.length;o++){var a=this.bodies[o];r.lerp(a.interpolatedPosition,a.previousPosition,a.position,n),a.interpolatedAngle=a.previousAngle+n*(a.angle-a.previousAngle)}}};var P=[];s.prototype.internalStep=function(t){this.stepping=!0;var e=this.springs.length,i=this.springs,n=this.bodies,o=this.gravity,a=this.solver,h=this.bodies.length,l=this.broadphase,c=this.narrowphase,u=this.constraints,p=_,f=(r.scale,r.add),g=(r.rotate,this.islandManager);if(this.overlapKeeper.tick(),this.lastTimeStep=t,this.useWorldGravityAsFrictionGravity){var m=r.length(this.gravity);0===m&&this.useFrictionGravityOnZeroGravity||(this.frictionGravity=m)}if(this.applyGravity)for(T=0;T!==h;T++){var y=(x=n[T]).force;x.type===d.DYNAMIC&&x.sleepState!==d.SLEEPING&&(r.scale(p,o,x.mass*x.gravityScale),f(y,y,p))}if(this.applySpringForces)for(T=0;T!==e;T++)i[T].applyForce();if(this.applyDamping)for(T=0;T!==h;T++){var x=n[T];x.type===d.DYNAMIC&&x.applyDamping(t)}for(var b=l.getCollisionPairs(this),w=this.disabledBodyCollisionPairs,T=w.length-2;T>=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);H=u.length;for(T=0;T!==H;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T<this.islandManager.islands.length;T++){var K=this.islandManager.islands[T];K.wantsToSleep()&&K.sleep()}}this.stepping=!1;for(var J=this.bodiesToBeRemoved,T=0;T!==J.length;T++)this.removeBody(J[T]);J.length=0,this.emit(this.postStepEvent)},s.prototype.runNarrowphase=function(t,e,i,s,n,o,a,h,l,c,u){if(0!=(i.collisionGroup&a.collisionMask)&&0!=(a.collisionGroup&i.collisionMask)){r.rotate(w,s,e.angle),r.rotate(T,h,o.angle),r.add(w,w,e.position),r.add(T,T,o.position);var p=n+e.angle,f=l+o.angle;t.enableFriction=c.friction>0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type<a.type?m.call(t,e,i,w,p,o,a,T,f,v):m.call(t,o,a,T,f,e,i,w,p,v);var b=t.frictionEquations.length-x;if(y){if(e.allowSleep&&e.type===d.DYNAMIC&&e.sleepState===d.SLEEPING&&o.sleepState===d.AWAKE&&o.type!==d.STATIC&&r.squaredLength(o.velocity)+Math.pow(o.angularVelocity,2)>=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;P<t.contactEquations.length;P++)_.contactEquations.push(t.contactEquations[P]);this.emit(_)}if("number"==typeof y&&b>1)for(var P=t.frictionEquations.length-b;P<t.frictionEquations.length;P++){var C=t.frictionEquations[P];C.setSlipForce(C.getSlipForce()/b)}}}}},s.prototype.addSpring=function(t){this.springs.push(t);var e=this.addSpringEvent;e.spring=t,this.emit(e),e.spring=null},s.prototype.removeSpring=function(t){var e=this.springs.indexOf(t);-1!==e&&v.splice(this.springs,e,1)},s.prototype.addBody=function(t){if(-1===this.bodies.indexOf(t)){this.bodies.push(t),t.world=this;var e=this.addBodyEvent;e.body=t,this.emit(e),e.body=null}},s.prototype.removeBody=function(t){if(this.stepping)this.bodiesToBeRemoved.push(t);else{t.world=null;var e=this.bodies.indexOf(t);-1!==e&&(v.splice(this.bodies,e,1),this.removeBodyEvent.body=t,t.resetConstraintVelocity(),this.emit(this.removeBodyEvent),this.removeBodyEvent.body=null)}},s.prototype.getBodyById=function(t){for(var e=this.bodies,i=0;i<e.length;i++){var s=e[i];if(s.id===t)return s}return!1},s.prototype.disableBodyCollision=function(t,e){this.disabledBodyCollisionPairs.push(t,e)},s.prototype.enableBodyCollision=function(t,e){for(var i=this.disabledBodyCollisionPairs,s=0;s<i.length;s+=2)if(i[s]===t&&i[s+1]===e||i[s+1]===t&&i[s]===e)return void i.splice(s,2)},s.prototype.clear=function(){this.time=0,this.solver&&this.solver.equations.length&&this.solver.removeAllEquations();for(var t=this.constraints,e=t.length-1;e>=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))<i*i)&&m.push(x)}return m},s.prototype.setGlobalStiffness=function(t){for(var e=this.constraints,i=0;i!==e.length;i++)for(var s=e[i],n=0;n!==s.equations.length;n++){var r=s.equations[n];r.stiffness=t,r.needsUpdate=!0}for(var o=this.contactMaterials,i=0;i!==o.length;i++)(s=o[i]).stiffness=s.frictionStiffness=t;(s=this.defaultContactMaterial).stiffness=s.frictionStiffness=t},s.prototype.setGlobalRelaxation=function(t){for(n=0;n!==this.constraints.length;n++)for(var e=this.constraints[n],i=0;i!==e.equations.length;i++){var s=e.equations[i];s.relaxation=t,s.needsUpdate=!0}for(var n=0;n!==this.contactMaterials.length;n++)(e=this.contactMaterials[n]).relaxation=e.frictionRelaxation=t;(e=this.defaultContactMaterial).relaxation=e.frictionRelaxation=t};var A=new g,E=[];s.prototype.raycast=function(t,e){return e.getAABB(A),this.broadphase.aabbQuery(this,A,E),e.intersectBodies(t,E),E.length=0,t.hasHit()}},{"../../package.json":6,"../collision/AABB":7,"../collision/Broadphase":8,"../collision/Narrowphase":10,"../collision/Ray":11,"../collision/SAPBroadphase":13,"../constraints/Constraint":14,"../constraints/DistanceConstraint":15,"../constraints/GearConstraint":16,"../constraints/LockConstraint":17,"../constraints/PrismaticConstraint":18,"../constraints/RevoluteConstraint":19,"../events/EventEmitter":26,"../material/ContactMaterial":27,"../material/Material":28,"../math/vec2":30,"../objects/Body":31,"../objects/LinearSpring":32,"../objects/RotationalSpring":33,"../shapes/Capsule":38,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Line":42,"../shapes/Particle":43,"../shapes/Plane":44,"../shapes/Shape":45,"../solver/GSSolver":46,"../solver/Solver":47,"../utils/OverlapKeeper":52,"../utils/Utils":57,"./IslandManager":59}]},{},[36])(36)}),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,c=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),(c=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[c]),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 c=i*(r=l.d)-s*n;if(i||s){var u=Math.sqrt(i*i+s*s);this.worldRotation=s>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<t.length;i++)for(var n=t[i].passes,r=0;r<n.length;r++)e.push(n[r]);this._filterBlock={target:this,filterPasses:e}}this._filters=t,this.blendMode&&this.blendMode===s.blendModes.MULTIPLY&&(this.blendMode=s.blendModes.NORMAL)}},cacheAsBitmap:{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap!==t&&(t?this._generateCachedSprite():this._destroyCachedSprite(),this._cacheAsBitmap=t)}}}),s.DisplayObjectContainer=function(){s.DisplayObject.call(this),this.children=[],this.ignoreChildInput=!1},s.DisplayObjectContainer.prototype=Object.create(s.DisplayObject.prototype),s.DisplayObjectContainer.prototype.constructor=s.DisplayObjectContainer,s.DisplayObjectContainer.prototype.addChild=function(t){return this.addChildAt(t,this.children.length)},s.DisplayObjectContainer.prototype.addChildAt=function(t,e){if(e>=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;n<s.length;n++)s[n].parent=void 0;return s}if(0===i&&0===this.children.length)return[];throw new Error("removeChildren: Range Error, numeric values are outside the acceptable range")},s.DisplayObjectContainer.prototype.updateTransform=function(){if(this.visible&&(this.displayObjectUpdateTransform(),!this._cacheAsBitmap))for(var t=0;t<this.children.length;t++)this.children[t].updateTransform()},s.DisplayObjectContainer.prototype.displayObjectContainerUpdateTransform=s.DisplayObjectContainer.prototype.updateTransform,s.DisplayObjectContainer.prototype.getBounds=function(t){var e=t&&t instanceof s.DisplayObject,i=!0;e?i=t instanceof s.DisplayObjectContainer&&t.contains(this):t=this;var n;if(e){var r=t.worldTransform;for(t.worldTransform=Phaser.identityMatrix,n=0;n<t.children.length;n++)t.children[n].updateTransform()}var o,a,h,l=1/0,c=1/0,u=-1/0,d=-1/0,p=!1;for(n=0;n<this.children.length;n++)this.children[n].visible&&(p=!0,l=l<(o=this.children[n].getBounds()).x?l:o.x,c=c<o.y?c:o.y,a=o.width+o.x,h=o.height+o.y,u=u>a?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M<c?M:c)?L:c)?I:c,u=B>(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<t.children.length;n++)t.children[n].updateTransform();if(!i){var O=t.getBounds();f.x-=O.x,f.y-=O.y}return f},s.DisplayObjectContainer.prototype.getLocalBounds=function(){return this.getBounds(this)},s.DisplayObjectContainer.prototype.contains=function(t){return!!t&&(t===this||this.contains(t.parent))},s.DisplayObjectContainer.prototype._renderWebGL=function(t){if(this.visible&&!(this.alpha<=0))if(this._cacheAsBitmap)this._renderCachedSprite(t);else{var e;if(this._mask||this._filters){for(this._filters&&(t.spriteBatch.flush(),t.filterManager.pushFilter(this._filterBlock)),this._mask&&(t.spriteBatch.stop(),t.maskManager.pushMask(this.mask,t),t.spriteBatch.start()),e=0;e<this.children.length;e++)this.children[e]._renderWebGL(t);t.spriteBatch.stop(),this._mask&&t.maskManager.popMask(this._mask,t),this._filters&&t.filterManager.popFilter(),t.spriteBatch.start()}else for(e=0;e<this.children.length;e++)this.children[e]._renderWebGL(t)}},s.DisplayObjectContainer.prototype._renderCanvas=function(t){if(!1!==this.visible&&0!==this.alpha)if(this._cacheAsBitmap)this._renderCachedSprite(t);else{this._mask&&t.maskManager.pushMask(this._mask,t);for(var e=0;e<this.children.length;e++)this.children[e]._renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},Object.defineProperty(s.DisplayObjectContainer.prototype,"width",{get:function(){return this.getLocalBounds().width*this.scale.x},set:function(t){var e=this.getLocalBounds().width;this.scale.x=0!==e?t/e:1,this._width=t}}),Object.defineProperty(s.DisplayObjectContainer.prototype,"height",{get:function(){return this.getLocalBounds().height*this.scale.y},set:function(t){var e=this.getLocalBounds().height;this.scale.y=0!==e?t/e:1,this._height=t}}),s.Sprite=function(t){s.DisplayObjectContainer.call(this),this.anchor=new s.Point(s.Sprite.defaultAnchor.x,s.Sprite.defaultAnchor.y),this.texture=t||s.Texture.emptyTexture,this._width=0,this._height=0,this.tint=16777215,this.cachedTint=-1,this.tintedTexture=null,this.blendMode=s.blendModes.NORMAL,this.shader=null,this.exists=!0,this.texture.baseTexture.hasLoaded&&this.onTextureUpdate(),this.renderable=!0},s.Sprite.defaultAnchor={x:0,y:0},s.Sprite.prototype=Object.create(s.DisplayObjectContainer.prototype),s.Sprite.prototype.constructor=s.Sprite,Object.defineProperty(s.Sprite.prototype,"width",{get:function(){return this.scale.x*this.texture.frame.width},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(s.Sprite.prototype,"height",{get:function(){return this.scale.y*this.texture.frame.height},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),s.Sprite.prototype.setTexture=function(t,e){e&&this.texture.baseTexture.destroy(),this.texture.baseTexture.skipRender=!1,this.texture=t,this.texture.valid=!0,this.cachedTint=-1},s.Sprite.prototype.onTextureUpdate=function(){this._width&&(this.scale.x=this._width/this.texture.frame.width),this._height&&(this.scale.y=this._height/this.texture.frame.height)},s.Sprite.prototype.getBounds=function(t){var e=this.texture.frame.width,i=this.texture.frame.height,s=e*(1-this.anchor.x),n=e*-this.anchor.x,r=i*(1-this.anchor.y),o=i*-this.anchor.y,a=t||this.worldTransform,h=a.a,l=a.b,c=a.c,u=a.d,d=a.tx,p=a.ty,f=-1/0,g=-1/0,m=1/0,y=1/0;if(0===l&&0===c){if(h<0){h*=-1;v=s;s=-n,n=-v}if(u<0){u*=-1;var v=r;r=-o,o=-v}m=h*n+d,f=h*s+d,y=u*o+p,g=u*r+p}else{var x=h*n+c*o+d,b=u*o+l*n+p,_=h*s+c*o+d,w=u*o+l*s+p,T=h*s+c*r+d,P=u*r+l*s+p,C=h*n+c*r+d,S=u*r+l*n+p;m=C<(m=T<(m=_<(m=x<m?x:m)?_:m)?T:m)?C:m,y=S<(y=P<(y=w<(y=b<y?b:y)?w:y)?P:y)?S:y,f=C>(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e<this.children.length;e++)this.children[e].updateTransform();var i=this.getBounds();for(this.worldTransform=t,e=0;e<this.children.length;e++)this.children[e].updateTransform();return i},s.Sprite.prototype._renderWebGL=function(t,e){if(this.visible&&!(this.alpha<=0)&&this.renderable){var i=this.worldTransform;if(e&&(i=e),this._mask||this._filters){var s=t.spriteBatch;this._filters&&(s.flush(),t.filterManager.pushFilter(this._filterBlock)),this._mask&&(s.stop(),t.maskManager.pushMask(this.mask,t),s.start()),s.render(this);for(n=0;n<this.children.length;n++)this.children[n]._renderWebGL(t);s.stop(),this._mask&&t.maskManager.popMask(this._mask,t),this._filters&&t.filterManager.popFilter(),s.start()}else{t.spriteBatch.render(this);for(var n=0;n<this.children.length;n++)this.children[n]._renderWebGL(t,i)}}},s.Sprite.prototype._renderCanvas=function(t,e){if(!(!this.visible||0===this.alpha||!this.renderable||this.texture.crop.width<1||this.texture.crop.height<1)){var i=this.worldTransform;if(e&&(i=e),this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,t.context.globalCompositeOperation=s.blendModesCanvas[t.currentBlendMode]),this._mask&&t.maskManager.pushMask(this._mask,t),this.texture.valid){var n=this.texture.baseTexture.resolution/t.resolution;t.context.globalAlpha=this.worldAlpha,t.smoothProperty&&t.scaleMode!==this.texture.baseTexture.scaleMode&&(t.scaleMode=this.texture.baseTexture.scaleMode,t.context[t.smoothProperty]=t.scaleMode===s.scaleModes.LINEAR);var r=this.texture.trim?this.texture.trim.x-this.anchor.x*this.texture.trim.width:this.anchor.x*-this.texture.frame.width,o=this.texture.trim?this.texture.trim.y-this.anchor.y*this.texture.trim.height:this.anchor.y*-this.texture.frame.height,a=i.tx*t.resolution+t.shakeX,h=i.ty*t.resolution+t.shakeY,l=this.texture.crop.width,c=this.texture.crop.height;if(this.texture.rotated){var u=i.a,d=i.b,p=i.c,f=i.d,g=l;a=i.c*c+a,h=i.d*c+h,i.a=6.123233995736766e-17*u-p,i.b=6.123233995736766e-17*d-f,i.c=u+6.123233995736766e-17*p,i.d=d+6.123233995736766e-17*f,l=c,c=g}if(t.roundPixels?(t.context.setTransform(i.a,i.b,i.c,i.d,0|a,0|h),r|=0,o|=0):t.context.setTransform(i.a,i.b,i.c,i.d,a,h),r/=n,o/=n,l|=0,c|=0,l&&c){if(16777215!==this.tint)(this.texture.requiresReTint||this.cachedTint!==this.tint)&&(this.tintedTexture=s.CanvasTinter.getTintedTexture(this,this.tint),this.cachedTint=this.tint,this.texture.requiresReTint=!1),t.context.drawImage(this.tintedTexture,0,0,l,c,r,o,l/n,c/n);else{var m=this.texture.crop.x,y=this.texture.crop.y;t.context.drawImage(this.texture.baseTexture.source,m,y,l,c,r,o,l/n,c/n)}for(v=0;v<this.children.length;v++)this.children[v]._renderCanvas(t);this._mask&&t.maskManager.popMask(t)}}else{for(var v=0;v<this.children.length;v++)this.children[v]._renderCanvas(t);this._mask&&t.maskManager.popMask(t)}}},s.initDefaultShaders=function(){},s.CompileVertexShader=function(t,e){return s._CompileShader(t,e,t.VERTEX_SHADER)},s.CompileFragmentShader=function(t,e){return s._CompileShader(t,e,t.FRAGMENT_SHADER)},s._CompileShader=function(t,e,i){var s=e;Array.isArray(e)&&(s=e.join("\n"));var n=t.createShader(i);return t.shaderSource(n,s),t.compileShader(n),t.getShaderParameter(n,t.COMPILE_STATUS)?n:(window.console.log(t.getShaderInfoLog(n)),null)},s.compileProgram=function(t,e,i){var n=s.CompileFragmentShader(t,i),r=s.CompileVertexShader(t,e),o=t.createProgram();return t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),t.getProgramParameter(o,t.LINK_STATUS)||(window.console.log(t.getProgramInfoLog(o)),window.console.log("Could not initialise shaders")),o},s.PixiShader=function(t){this._UID=Phaser._UID++,this.gl=t,this.program=null,this.fragmentSrc=null,this.textureCount=0,this.firstRun=!0,this.dirty=!0,this.attributes=[],this.init()},s.PixiShader.prototype.constructor=s.PixiShader,s.PixiShader.prototype.initMultitexShader=function(){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;++i)e+="\tif (vTextureIndex == "+i+".0) {gl_FragColor = texture2D(uSamplerArray["+i+"], vTextureCoord) * vColor;return;}\n";this.fragmentSrc=["// PixiShader Fragment Shader.","precision lowp float;","bool isnan( float val ) {  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true; }","varying vec2 vTextureCoord;","varying vec4 vColor;","varying float vTextureIndex;","uniform sampler2D uSamplerArray["+this.MAX_TEXTURES+"];","const vec4 BLUE = vec4(1.0, 0.0, 1.0, 1.0);","const vec4 RED = vec4(1.0, 0.0, 0.0, 1.0);","void main(void) {",e,"   if(vTextureIndex >= "+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<this.MAX_TEXTURES;++a)t.activeTexture(t.TEXTURE0+a),t.bindTexture(t.TEXTURE_2D,o),r.push(a);t.activeTexture(t.TEXTURE0),t.uniform1iv(this.uSamplerArray,r),-1===this.colorAttribute&&(this.colorAttribute=2),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.colorAttribute,this.aTextureIndex];for(var h in this.uniforms)this.uniforms[h].uniformLocation=t.getUniformLocation(n,h);this.initUniforms(),this.program=n},s.PixiShader.prototype.initDefaultShader=function(){null===this.fragmentSrc&&(this.fragmentSrc=["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {","   gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"]);var t=this.gl,e=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.dimensions=t.getUniformLocation(e,"dimensions"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),-1===this.colorAttribute&&(this.colorAttribute=2),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.colorAttribute,this.aTextureIndex];for(var i in this.uniforms)this.uniforms[i].uniformLocation=t.getUniformLocation(e,i);this.initUniforms(),this.program=e},s.PixiShader.prototype.init=function(t){s._enableMultiTextureToggle&&!t?this.initMultitexShader():this.initDefaultShader()},s.PixiShader.prototype.initUniforms=function(){this.textureCount=1;var t,e=this.gl;for(var i in this.uniforms){var s=(t=this.uniforms[i]).type;"sampler2D"===s?(t._init=!1,null!==t.value&&this.initSampler2D(t)):"mat2"===s||"mat3"===s||"mat4"===s?(t.glMatrix=!0,t.glValueLength=1,"mat2"===s?t.glFunc=e.uniformMatrix2fv:"mat3"===s?t.glFunc=e.uniformMatrix3fv:"mat4"===s&&(t.glFunc=e.uniformMatrix4fv)):(t.glFunc=e["uniform"+s],t.glValueLength="2f"===s||"2i"===s?2:"3f"===s||"3i"===s?3:"4f"===s||"4i"===s?4:1)}},s.PixiShader.prototype.initSampler2D=function(t){if(t.value&&t.value.baseTexture&&t.value.baseTexture.hasLoaded){var e=this.gl;if(e.activeTexture(e.TEXTURE0+this.textureCount),e.bindTexture(e.TEXTURE_2D,t.value.baseTexture._glTextures[e.id]),t.textureData){var i=t.textureData,s=i.magFilter?i.magFilter:e.LINEAR,n=i.minFilter?i.minFilter:e.LINEAR,r=i.wrapS?i.wrapS:e.CLAMP_TO_EDGE,o=i.wrapT?i.wrapT:e.CLAMP_TO_EDGE,a=i.luminance?e.LUMINANCE:e.RGBA;if(i.repeat&&(r=e.REPEAT,o=e.REPEAT),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!!i.flipY),i.width){var h=i.width?i.width:512,l=i.height?i.height:2,c=i.border?i.border:0;e.texImage2D(e.TEXTURE_2D,0,a,h,l,c,a,e.UNSIGNED_BYTE,null)}else e.texImage2D(e.TEXTURE_2D,0,a,e.RGBA,e.UNSIGNED_BYTE,t.value.baseTexture.source);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,o)}e.uniform1i(t.uniformLocation,this.textureCount),t._init=!0,this.textureCount++}},s.PixiShader.prototype.syncUniforms=function(){this.textureCount=1;var t,e=this.gl;for(var i in this.uniforms)1===(t=this.uniforms[i]).glValueLength?!0===t.glMatrix?t.glFunc.call(e,t.uniformLocation,t.transpose,t.value):t.glFunc.call(e,t.uniformLocation,t.value):2===t.glValueLength?t.glFunc.call(e,t.uniformLocation,t.value.x,t.value.y):3===t.glValueLength?t.glFunc.call(e,t.uniformLocation,t.value.x,t.value.y,t.value.z):4===t.glValueLength?t.glFunc.call(e,t.uniformLocation,t.value.x,t.value.y,t.value.z,t.value.w):"sampler2D"===t.type&&(t._init?(e.activeTexture(e["TEXTURE"+this.textureCount]),t.value.baseTexture._dirty[e.id]?s.instances[e.id].updateTexture(t.value.baseTexture):e.bindTexture(e.TEXTURE_2D,t.value.baseTexture._glTextures[e.id]),e.uniform1i(t.uniformLocation,this.textureCount),this.textureCount++):this.initSampler2D(t))},s.PixiShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attributes=null},s.PixiShader.defaultVertexSrc=["// PixiShader Vertex Shader","// With multi-texture rendering","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute vec4 aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying vec4 vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {","   if (aTextureIndex > 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;++i)e+="\tif (vTextureIndex == "+i+".0) { gl_FragColor = texture2D(uSamplerArray["+i+"], vTextureCoord) * vColor;return;}\n";this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","bool isnan( float val ) {  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true; }","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSamplerArray["+this.MAX_TEXTURES+"];","const vec4 BLUE = vec4(1.0, 0.0, 1.0, 1.0);","const vec4 RED = vec4(1.0, 0.0, 0.0, 1.0);","void main(void) {",e,"   if(vTextureIndex >= "+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;++r)t.activeTexture(t.TEXTURE0+r),t.bindTexture(t.TEXTURE_2D,n),i.push(r);t.activeTexture(t.TEXTURE0),t.uniform1iv(this.uSampler,i)}this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.dimensions=t.getUniformLocation(e,"dimensions"),this.uMatrix=t.getUniformLocation(e,"uMatrix"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aPositionCoord=t.getAttribLocation(e,"aPositionCoord"),this.aScale=t.getAttribLocation(e,"aScale"),this.aRotation=t.getAttribLocation(e,"aRotation"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),-1===this.colorAttribute&&(this.colorAttribute=2),this.attributes=[this.aVertexPosition,this.aPositionCoord,this.aScale,this.aRotation,this.aTextureCoord,this.colorAttribute,this.aTextureIndex],this.program=e},s.PixiFastShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attributes=null},s.StripShader=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);return;}\n",i=1;i<this.MAX_TEXTURES;++i)e+="\tif (vTextureIndex == "+i+".0) { gl_FragColor = texture2D(uSamplerArray["+i+"], vTextureCoord) ;return;}\n";this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","bool isnan( float val ) {  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true; }","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSamplerArray["+this.MAX_TEXTURES+"];","const vec4 BLUE = vec4(1.0, 0.0, 1.0, 1.0);","const vec4 RED = vec4(1.0, 0.0, 0.0, 1.0);","void main(void) {",e,"   if(vTextureIndex >= "+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<this.MAX_TEXTURES;++r)t.activeTexture(t.TEXTURE0+r),t.bindTexture(t.TEXTURE_2D,n),i.push(r);t.activeTexture(t.TEXTURE0),t.uniform1iv(this.uSampler,i)}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.program=e},s.StripShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},s.PrimitiveShader=function(t){this._UID=Phaser._UID++,this.gl=t,this.program=null,this.fragmentSrc=["precision mediump float;","varying vec4 vColor;","void main(void) {","   gl_FragColor = vColor;","}"],this.vertexSrc=["attribute vec2 aVertexPosition;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform float flipY;","uniform vec3 tint;","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 * -flipY) + flipY , 0.0, 1.0);","   vColor = aColor * vec4(tint * alpha, alpha);","}"],this.init()},s.PrimitiveShader.prototype.constructor=s.PrimitiveShader,s.PrimitiveShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.tintColor=t.getUniformLocation(e,"tint"),this.flipY=t.getUniformLocation(e,"flipY"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.attributes=[this.aVertexPosition,this.colorAttribute],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.program=e},s.PrimitiveShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attributes=null},s.ComplexPrimitiveShader=function(t){this._UID=Phaser._UID++,this.gl=t,this.program=null,this.fragmentSrc=["precision mediump float;","varying vec4 vColor;","void main(void) {","   gl_FragColor = vColor;","}"],this.vertexSrc=["attribute vec2 aVertexPosition;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform vec3 tint;","uniform float alpha;","uniform vec3 color;","uniform float flipY;","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 * -flipY) + flipY , 0.0, 1.0);","   vColor = vec4(color * alpha * tint, alpha);","}"],this.init()},s.ComplexPrimitiveShader.prototype.constructor=s.ComplexPrimitiveShader,s.ComplexPrimitiveShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.tintColor=t.getUniformLocation(e,"tint"),this.color=t.getUniformLocation(e,"color"),this.flipY=t.getUniformLocation(e,"flipY"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.attributes=[this.aVertexPosition,this.colorAttribute],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.program=e},s.ComplexPrimitiveShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},s.glContexts=[],s.instances=[],s._enableMultiTextureToggle=!1,s.WebGLRenderer=function(t,e){this.game=t,s.defaultRenderer||(s.defaultRenderer=this),this.extensions={},this.type=Phaser.WEBGL,this.resolution=t.resolution,this.transparent=t.transparent,this.autoResize=!1,this.preserveDrawingBuffer=t.preserveDrawingBuffer,this.clearBeforeRender=t.clearBeforeRender,this.width=t.width,this.height=t.height,this.view=t.canvas,this._contextOptions={alpha:this.transparent,antialias:t.antialias,failIfMajorPerformanceCaveat:e.failIfMajorPerformanceCaveat,premultipliedAlpha:this.transparent&&"notMultiplied"!==this.transparent,stencil:!0,preserveDrawingBuffer:this.preserveDrawingBuffer},this.projection=new s.Point,this.offset=new s.Point,this.shaderManager=new s.WebGLShaderManager,this.spriteBatch=new s.WebGLSpriteBatch(t),this.maskManager=new s.WebGLMaskManager,this.filterManager=new s.WebGLFilterManager,this.stencilManager=new s.WebGLStencilManager,this.blendModeManager=new s.WebGLBlendModeManager,this.renderSession={},this.currentBatchedTextures=[],this.renderSession.game=this.game,this.renderSession.gl=this.gl,this.renderSession.drawCount=0,this.renderSession.shaderManager=this.shaderManager,this.renderSession.maskManager=this.maskManager,this.renderSession.filterManager=this.filterManager,this.renderSession.blendModeManager=this.blendModeManager,this.renderSession.spriteBatch=this.spriteBatch,this.renderSession.stencilManager=this.stencilManager,this.renderSession.renderer=this,this.renderSession.resolution=this.resolution,this.renderSession.roundPixels=e.roundPixels||!1,this.renderSession.maxTextureAvailableSpace=null,this.initContext(),this.mapBlendModes()},s.WebGLRenderer.prototype.constructor=s.WebGLRenderer,s.WebGLRenderer.prototype.initContext=function(){var t=this.view.getContext("webgl",this._contextOptions)||this.view.getContext("experimental-webgl",this._contextOptions);if(this.gl=t,!t)throw new Error("This browser does not support webGL. Try using the canvas renderer");this.maxTextures=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this.maxTextureSize=this.gl.getParameter(t.MAX_TEXTURE_SIZE),this.glContextId=t.id=s.WebGLRenderer.glContextId++,s.glContexts[this.glContextId]=t,s.instances[this.glContextId]=this,t.disable(t.DEPTH_TEST),t.disable(t.CULL_FACE),t.enable(t.BLEND),this.shaderManager.setContext(t),this.spriteBatch.setContext(t),this.maskManager.setContext(t),this.filterManager.setContext(t),this.blendModeManager.setContext(t),this.stencilManager.setContext(t),this.renderSession.gl=this.gl,this.resize(this.width,this.height),this.extensions.compression={};var e=t.getExtension("WEBGL_compressed_texture_etc1")||t.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"),i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),n=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");e&&(this.extensions.compression.ETC1=e),i&&(this.extensions.compression.PVRTC=i),n&&(this.extensions.compression.S3TC=n)},s.WebGLRenderer.prototype.setTexturePriority=function(t){if(s._enableMultiTextureToggle){for(var e=function(t){return--t,t|=t>>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.currentBatchedTextures.length;h++)(a=this.currentBatchedTextures[h])in o?o[a].base.textureIndex=0:console.warn('setTexturePriority: There is no image "%s" in the image cache.',a);var l=r-e(Math.max(this.width,this.height));this.currentBatchedTextures.length=0;for(var c=0;c<t.length;++c)if((a=t[c])in o){var u=o[a].base;(l-=e(Math.max(u.width,u.height)))<=0?(u.textureIndex=0,console.warn('setTexturePriority: Image "%s" was given textureIndex=0 because there is no available texture space (%s).',a,l)):u.textureIndex=1+c%(n-1),this.currentBatchedTextures.push(a)}else console.warn('setTexturePriority: There is no image "%s" in the image cache.',a);return this.renderSession.maxTextureAvailableSpace=l,this.currentBatchedTextures}console.warn("setTexturePriority error: Multi Texture support hasn't been enabled in the Phaser Game Config.")},s.WebGLRenderer.prototype.render=function(t){if(!this.contextLost){var e=this.gl;e.viewport(0,0,this.width,this.height),e.bindFramebuffer(e.FRAMEBUFFER,null),this.game.clearBeforeRender&&(e.clearColor(t._bgColor.r,t._bgColor.g,t._bgColor.b,t._bgColor.a),e.clear(e.COLOR_BUFFER_BIT)),this.offset.x=this.game.camera._shake.x,this.offset.y=this.game.camera._shake.y,this.renderDisplayObject(t,this.projection)}},s.WebGLRenderer.prototype.renderDisplayObject=function(t,e,i,n){this.renderSession.blendModeManager.setBlendMode(s.blendModes.NORMAL),this.renderSession.drawCount=0,this.renderSession.flipY=i?-1:1,this.renderSession.projection=e,this.renderSession.offset=this.offset,this.spriteBatch.begin(this.renderSession),this.filterManager.begin(this.renderSession,i),t._renderWebGL(this.renderSession,n),this.spriteBatch.end()},s.WebGLRenderer.prototype.resize=function(t,e){this.width=t*this.resolution,this.height=e*this.resolution,this.view.width=this.width,this.view.height=this.height,this.autoResize&&(this.view.style.width=this.width/this.resolution+"px",this.view.style.height=this.height/this.resolution+"px"),this.gl.viewport(0,0,this.width,this.height),this.projection.x=this.width/2/this.resolution,this.projection.y=-this.height/2/this.resolution},s.WebGLRenderer.prototype.updateCompressedTexture=function(t){if(!t.hasLoaded)return!1;var e=this.gl,i=t.source;return t._glTextures[e.id]||(t._glTextures[e.id]=e.createTexture()),e.activeTexture(e.TEXTURE0+t.textureIndex),e.bindTexture(e.TEXTURE_2D,t._glTextures[e.id]),e.compressedTexImage2D(e.TEXTURE_2D,0,i.glExtensionFormat,i.width,i.height,0,i.textureData),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t.mipmap&&Phaser.Math.isPowerOfTwo(t.width,t.height)?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR_MIPMAP_LINEAR:e.NEAREST_MIPMAP_NEAREST),e.generateMipmap(e.TEXTURE_2D)):e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t._powerOf2?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT)):(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)),t._dirty[e.id]=!1,!0},s.WebGLRenderer.prototype.updateTexture=function(t){if(!t.hasLoaded)return!1;if(t.source.compressionAlgorithm)return this.updateCompressedTexture(t);var e=this.gl;return t._glTextures[e.id]||(t._glTextures[e.id]=e.createTexture()),e.activeTexture(e.TEXTURE0+t.textureIndex),e.bindTexture(e.TEXTURE_2D,t._glTextures[e.id]),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultipliedAlpha),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.source),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t.mipmap&&Phaser.Math.isPowerOfTwo(t.width,t.height)?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR_MIPMAP_LINEAR:e.NEAREST_MIPMAP_NEAREST),e.generateMipmap(e.TEXTURE_2D)):e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===s.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t._powerOf2?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT)):(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)),t._dirty[e.id]=!1,!0},s.WebGLRenderer.prototype.destroy=function(){s.glContexts[this.glContextId]=null,this.projection=null,this.offset=null,this.shaderManager.destroy(),this.spriteBatch.destroy(),this.maskManager.destroy(),this.filterManager.destroy(),this.shaderManager=null,this.spriteBatch=null,this.maskManager=null,this.filterManager=null,this.gl=null,this.renderSession=null,Phaser.CanvasPool.remove(this),s.instances[this.glContextId]=null,s.WebGLRenderer.glContextId--},s.WebGLRenderer.prototype.mapBlendModes=function(){var t=this.gl;if(!s.blendModesWebGL){var e=[],i=s.blendModes;e[i.NORMAL]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.ADD]=[t.SRC_ALPHA,t.DST_ALPHA],e[i.MULTIPLY]=[t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA],e[i.SCREEN]=[t.SRC_ALPHA,t.ONE],e[i.OVERLAY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.DARKEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.LIGHTEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.COLOR_DODGE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.COLOR_BURN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.HARD_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.SOFT_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.DIFFERENCE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.EXCLUSION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.HUE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.SATURATION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.COLOR]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],e[i.LUMINOSITY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],s.blendModesWebGL=e}},s.WebGLRenderer.prototype.getMaxTextureUnit=function(){var t=this.gl;return t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)},s.enableMultiTexture=function(){s._enableMultiTextureToggle=!0},s.WebGLRenderer.glContextId=0,s.WebGLRenderer.textureArray=[],s.WebGLBlendModeManager=function(){this.currentBlendMode=99999},s.WebGLBlendModeManager.prototype.constructor=s.WebGLBlendModeManager,s.WebGLBlendModeManager.prototype.setContext=function(t){this.gl=t},s.WebGLBlendModeManager.prototype.setBlendMode=function(t){if(this.currentBlendMode===t)return!1;this.currentBlendMode=t;var e=s.blendModesWebGL[this.currentBlendMode];return e&&this.gl.blendFunc(e[0],e[1]),!0},s.WebGLBlendModeManager.prototype.destroy=function(){this.gl=null},s.WebGLMaskManager=function(){},s.WebGLMaskManager.prototype.constructor=s.WebGLMaskManager,s.WebGLMaskManager.prototype.setContext=function(t){this.gl=t},s.WebGLMaskManager.prototype.pushMask=function(t,e){var i=e.gl;t.dirty&&s.WebGLGraphics.updateGraphics(t,i),void 0!==t._webGL[i.id]&&void 0!==t._webGL[i.id].data&&0!==t._webGL[i.id].data.length&&e.stencilManager.pushStencil(t,t._webGL[i.id].data[0],e)},s.WebGLMaskManager.prototype.popMask=function(t,e){var i=this.gl;void 0!==t._webGL[i.id]&&void 0!==t._webGL[i.id].data&&0!==t._webGL[i.id].data.length&&e.stencilManager.popStencil(t,t._webGL[i.id].data[0],e)},s.WebGLMaskManager.prototype.destroy=function(){this.gl=null},s.WebGLStencilManager=function(){this.stencilStack=[],this.reverse=!0,this.count=0},s.WebGLStencilManager.prototype.setContext=function(t){this.gl=t},s.WebGLStencilManager.prototype.pushStencil=function(t,e,i){var s=this.gl;this.bindGraphics(t,e,i),0===this.stencilStack.length&&(s.enable(s.STENCIL_TEST),s.clear(s.STENCIL_BUFFER_BIT),this.reverse=!0,this.count=0),this.stencilStack.push(e);var n=this.count;s.colorMask(!1,!1,!1,!1),s.stencilFunc(s.ALWAYS,0,255),s.stencilOp(s.KEEP,s.KEEP,s.INVERT),1===e.mode?(s.drawElements(s.TRIANGLE_FAN,e.indices.length-4,s.UNSIGNED_SHORT,0),this.reverse?(s.stencilFunc(s.EQUAL,255-n,255),s.stencilOp(s.KEEP,s.KEEP,s.DECR)):(s.stencilFunc(s.EQUAL,n,255),s.stencilOp(s.KEEP,s.KEEP,s.INCR)),s.drawElements(s.TRIANGLE_FAN,4,s.UNSIGNED_SHORT,2*(e.indices.length-4)),this.reverse?s.stencilFunc(s.EQUAL,255-(n+1),255):s.stencilFunc(s.EQUAL,n+1,255),this.reverse=!this.reverse):(this.reverse?(s.stencilFunc(s.EQUAL,n,255),s.stencilOp(s.KEEP,s.KEEP,s.INCR)):(s.stencilFunc(s.EQUAL,255-n,255),s.stencilOp(s.KEEP,s.KEEP,s.DECR)),s.drawElements(s.TRIANGLE_STRIP,e.indices.length,s.UNSIGNED_SHORT,0),this.reverse?s.stencilFunc(s.EQUAL,n+1,255):s.stencilFunc(s.EQUAL,255-(n+1),255)),s.colorMask(!0,!0,!0,!0),s.stencilOp(s.KEEP,s.KEEP,s.KEEP),this.count++},s.WebGLStencilManager.prototype.bindGraphics=function(t,e,i){this._currentGraphics=t;var s,n=this.gl,r=i.projection,o=i.offset;1===e.mode?(s=i.shaderManager.complexPrimitiveShader,i.shaderManager.setShader(s),n.uniform1f(s.flipY,i.flipY),n.uniformMatrix3fv(s.translationMatrix,!1,t.worldTransform.toArray(!0)),n.uniform2f(s.projectionVector,r.x,-r.y),n.uniform2f(s.offsetVector,-o.x,-o.y),n.uniform3fv(s.tintColor,Phaser.Color.hexToRGBArray(t.tint)),n.uniform3fv(s.color,e.color),n.uniform1f(s.alpha,t.worldAlpha*e.alpha),n.bindBuffer(n.ARRAY_BUFFER,e.buffer),n.vertexAttribPointer(s.aVertexPosition,2,n.FLOAT,!1,8,0),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.indexBuffer)):(s=i.shaderManager.primitiveShader,i.shaderManager.setShader(s),n.uniformMatrix3fv(s.translationMatrix,!1,t.worldTransform.toArray(!0)),n.uniform1f(s.flipY,i.flipY),n.uniform2f(s.projectionVector,r.x,-r.y),n.uniform2f(s.offsetVector,-o.x,-o.y),n.uniform3fv(s.tintColor,Phaser.Color.hexToRGBArray(t.tint)),n.uniform1f(s.alpha,t.worldAlpha),n.bindBuffer(n.ARRAY_BUFFER,e.buffer),n.vertexAttribPointer(s.aVertexPosition,2,n.FLOAT,!1,24,0),n.vertexAttribPointer(s.colorAttribute,4,n.FLOAT,!1,24,8),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,e.indexBuffer))},s.WebGLStencilManager.prototype.popStencil=function(t,e,i){var s=this.gl;if(this.stencilStack.pop(),this.count--,0===this.stencilStack.length)s.disable(s.STENCIL_TEST);else{var n=this.count;this.bindGraphics(t,e,i),s.colorMask(!1,!1,!1,!1),1===e.mode?(this.reverse=!this.reverse,this.reverse?(s.stencilFunc(s.EQUAL,255-(n+1),255),s.stencilOp(s.KEEP,s.KEEP,s.INCR)):(s.stencilFunc(s.EQUAL,n+1,255),s.stencilOp(s.KEEP,s.KEEP,s.DECR)),s.drawElements(s.TRIANGLE_FAN,4,s.UNSIGNED_SHORT,2*(e.indices.length-4)),s.stencilFunc(s.ALWAYS,0,255),s.stencilOp(s.KEEP,s.KEEP,s.INVERT),s.drawElements(s.TRIANGLE_FAN,e.indices.length-4,s.UNSIGNED_SHORT,0),this.reverse?s.stencilFunc(s.EQUAL,n,255):s.stencilFunc(s.EQUAL,255-n,255)):(this.reverse?(s.stencilFunc(s.EQUAL,n+1,255),s.stencilOp(s.KEEP,s.KEEP,s.DECR)):(s.stencilFunc(s.EQUAL,255-(n+1),255),s.stencilOp(s.KEEP,s.KEEP,s.INCR)),s.drawElements(s.TRIANGLE_STRIP,e.indices.length,s.UNSIGNED_SHORT,0),this.reverse?s.stencilFunc(s.EQUAL,n,255):s.stencilFunc(s.EQUAL,255-n,255)),s.colorMask(!0,!0,!0,!0),s.stencilOp(s.KEEP,s.KEEP,s.KEEP)}},s.WebGLStencilManager.prototype.destroy=function(){this.stencilStack=null,this.gl=null},s.WebGLShaderManager=function(){this.maxAttibs=10,this.attribState=[],this.tempAttribState=[];for(var t=0;t<this.maxAttibs;t++)this.attribState[t]=!1;this.stack=[]},s.WebGLShaderManager.prototype.constructor=s.WebGLShaderManager,s.WebGLShaderManager.prototype.setContext=function(t){this.gl=t,this.primitiveShader=new s.PrimitiveShader(t),this.complexPrimitiveShader=new s.ComplexPrimitiveShader(t),this.defaultShader=new s.PixiShader(t),this.fastShader=new s.PixiFastShader(t),this.stripShader=new s.StripShader(t),this.creatureShader=s.CreatureShader?new s.CreatureShader(t):null,this.setShader(this.defaultShader)},s.WebGLShaderManager.prototype.setAttribs=function(t){var e;for(e=0;e<this.tempAttribState.length;e++)this.tempAttribState[e]=!1;for(e=0;e<t.length;e++){var i=t[e];this.tempAttribState[i]=!0}var s=this.gl;for(e=0;e<this.attribState.length;e++)this.attribState[e]!==this.tempAttribState[e]&&(this.attribState[e]=this.tempAttribState[e],this.tempAttribState[e]?s.enableVertexAttribArray(e):s.disableVertexAttribArray(e))},s.WebGLShaderManager.prototype.setShader=function(t){return this._currentId!==t._UID&&(this._currentId=t._UID,this.currentShader=t,this.gl.useProgram(t.program),this.setAttribs(t.attributes),!0)},s.WebGLShaderManager.prototype.destroy=function(){this.attribState=null,this.tempAttribState=null,this.primitiveShader.destroy(),this.complexPrimitiveShader.destroy(),this.defaultShader.destroy(),this.fastShader.destroy(),this.stripShader.destroy(),this.creatureShader&&this.creatureShader.destroy(),this.gl=null},s.WebGLSpriteBatch=function(t){this.game=t,this.vertSize=5,this.size=2e3,this.vertexSize=24;var e=this.vertexSize*this.size*4,i=6*this.size;this.vertices=new ArrayBuffer(e),this.positions=new Float32Array(this.vertices),this.colors=new Uint32Array(this.vertices),this.indices=new Uint16Array(i),this.lastIndexCount=0;for(var s=0,n=0;s<i;s+=6,n+=4)this.indices[s+0]=n+0,this.indices[s+1]=n+1,this.indices[s+2]=n+2,this.indices[s+3]=n+0,this.indices[s+4]=n+2,this.indices[s+5]=n+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=null},s.WebGLSpriteBatch.prototype.setContext=function(t){if(this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this.gl=t,s._enableMultiTextureToggle){for(var e="\tif (vTextureIndex == 0.0) {gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i<this.MAX_TEXTURES;++i)e+="\tif (vTextureIndex == "+i+".0) {gl_FragColor = texture2D(uSamplerArray["+i+"], vTextureCoord) * vColor;return;}\n";this.defaultShader=new Phaser.Filter(this.game,void 0,["//WebGLSpriteBatch Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","varying float vTextureIndex;","uniform sampler2D uSamplerArray["+this.MAX_TEXTURES+"];","void main(void) {",e,"\tgl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;","}"])}else this.defaultShader=new Phaser.Filter(this.game,void 0,["//WebGLSpriteBatch Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {","   gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"]);this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertices,t.DYNAMIC_DRAW),this.currentBlendMode=99999;var n=new s.PixiShader(t);n.fragmentSrc=this.defaultShader.fragmentSrc,n.uniforms={},n.init(),this.defaultShader.shaders[t.id]=n},s.WebGLSpriteBatch.prototype.begin=function(t){this.renderSession=t,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},s.WebGLSpriteBatch.prototype.end=function(){this.flush()},s.WebGLSpriteBatch.prototype.render=function(t,e){var i=t.texture,n=i.baseTexture,r=this.gl;s.WebGLRenderer.textureArray[n.textureIndex]!=n&&(this.flush(),r.activeTexture(r.TEXTURE0+n.textureIndex),r.bindTexture(r.TEXTURE_2D,n._glTextures[r.id]),s.WebGLRenderer.textureArray[n.textureIndex]=n);var o=t.worldTransform;e&&(o=e),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=i.crop.height;if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m<y;m++){r=(h=this.sprites[m]).tilingTexture?h.tilingTexture.baseTexture:h.texture.baseTexture,f=d!==(o=h.blendMode),g=p!==(a=h.shader||this.defaultShader);var v=r.skipRender;if(v&&h.children.length>0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s<i;s+=6,n+=4)this.indices[s+0]=n+0,this.indices[s+1]=n+1,this.indices[s+2]=n+2,this.indices[s+3]=n+0,this.indices[s+4]=n+2,this.indices[s+5]=n+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(t)},s.WebGLFastSpriteBatch.prototype.constructor=s.WebGLFastSpriteBatch,s.WebGLFastSpriteBatch.prototype.setContext=function(t){this.gl=t,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertices,t.DYNAMIC_DRAW)},s.WebGLFastSpriteBatch.prototype.begin=function(t,e){this.renderSession=e,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=t.worldTransform.toArray(!0),this.start()},s.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.render=function(t){var e=t.children,i=e[0];if(i.texture._uvs){this.currentBaseTexture=i.texture.baseTexture,i.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(i.blendMode));for(var s=0,n=e.length;s<n;s++)this.renderSprite(e[s]);this.flush()}},s.WebGLFastSpriteBatch.prototype.renderSprite=function(t){var e=t.texture.baseTexture,i=this.gl,n=t.texture.baseTexture.textureIndex;if((s.WebGLRenderer.textureArray[n]==e||!e._glTextures[i.id]||t.texture.baseTexture.skipRender||(this.flush(),i.activeTexture(i.TEXTURE0+n),i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]),s.WebGLRenderer.textureArray[n]=e,t.texture._uvs))&&t.visible){var r,o,a,h,l,c,u,d,p=this.vertices;if(r=t.texture._uvs,o=t.texture.frame.width,a=t.texture.frame.height,t.texture.trim){var f=t.texture.trim;h=(l=f.x-t.anchor.x*f.width)+t.texture.crop.width,c=(u=f.y-t.anchor.y*f.height)+t.texture.crop.height}else h=o*(1-t.anchor.x),l=o*-t.anchor.x,c=a*(1-t.anchor.y),u=a*-t.anchor.y;d=4*this.currentBatchSize*this.vertSize,p[d++]=l,p[d++]=u,p[d++]=t.position.x,p[d++]=t.position.y,p[d++]=t.scale.x,p[d++]=t.scale.y,p[d++]=t.rotation,p[d++]=r.x0,p[d++]=r.y1,p[d++]=t.alpha,p[d++]=n,p[d++]=h,p[d++]=u,p[d++]=t.position.x,p[d++]=t.position.y,p[d++]=t.scale.x,p[d++]=t.scale.y,p[d++]=t.rotation,p[d++]=r.x1,p[d++]=r.y1,p[d++]=t.alpha,p[d++]=n,p[d++]=h,p[d++]=c,p[d++]=t.position.x,p[d++]=t.position.y,p[d++]=t.scale.x,p[d++]=t.scale.y,p[d++]=t.rotation,p[d++]=r.x2,p[d++]=r.y2,p[d++]=t.alpha,p[d++]=n,p[d++]=l,p[d++]=c,p[d++]=t.position.x,p[d++]=t.position.y,p[d++]=t.scale.x,p[d++]=t.scale.y,p[d++]=t.rotation,p[d++]=r.x3,p[d++]=r.y3,p[d++]=t.alpha,p[d++]=n,++this.currentBatchSize>=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l<e.filterPasses.length-1;l++){var c=e.filterPasses[l];t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,a.texture),this.applyFilterPass(c,i,i.width,i.height);var u=a;a=h,h=u}t.enable(t.BLEND),n=a,this.texturePool.push(h)}var d=e.filterPasses[e.filterPasses.length-1];this.offsetX-=i.x,this.offsetY-=i.y;var p=this.width,f=this.height,g=0,m=0,y=this.buffer;if(0===this.filterStack.length)t.colorMask(!0,!0,!0,!0);else{var v=this.filterStack[this.filterStack.length-1];p=(i=v._filterArea).width,f=i.height,g=i.x,m=i.y,y=v._glFilterTexture.frameBuffer}r.x=p/2,r.y=-f/2,o.x=g,o.y=m;var x=(i=e._filterArea).x-g,b=i.y-m;t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=x,this.vertexArray[1]=b+i.height,this.vertexArray[2]=x+i.width,this.vertexArray[3]=b+i.height,this.vertexArray[4]=x,this.vertexArray[5]=b,this.vertexArray[6]=x+i.width,this.vertexArray[7]=b,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),t.viewport(0,0,p*this.renderSession.resolution,f*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,y),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n.texture),this.renderSession.stencilManager&&this.renderSession.stencilManager.destroy(),this.renderSession.stencilManager=e._previous_stencil_mgr,e._previous_stencil_mgr=null,this.renderSession.stencilManager.count>0?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<this.texturePool.length;e++)this.texturePool[e].destroy();this.texturePool=null,t.deleteBuffer(this.vertexBuffer),t.deleteBuffer(this.uvBuffer),t.deleteBuffer(this.colorBuffer),t.deleteBuffer(this.indexBuffer)};var n={36054:"Incomplete attachment",36055:"Missing attachment",36057:"Incomplete dimensions",36061:"Framebuffer unsupported"};return s.FilterTexture=function(t,i,n,r,o){o="number"==typeof o?o:0,this.gl=t,this.frameBuffer=e(t,i,n,r||s.scaleModes.DEFAULT,o),this.texture=this.frameBuffer.targetTexture,this.width=i,this.height=n,this.renderBuffer=this.frameBuffer.renderBuffer},s.FilterTexture.prototype.constructor=s.FilterTexture,s.FilterTexture.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},s.FilterTexture.prototype.resize=function(t,e){if(this.width!==t||this.height!==e){this.width=t,this.height=e;var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.texture),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,t,e,0,i.RGBA,i.UNSIGNED_BYTE,null),i.bindRenderbuffer(i.RENDERBUFFER,this.renderBuffer),i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,t,e)}},s.FilterTexture.prototype.destroy=function(){var t=this.gl;t.deleteFramebuffer(this.frameBuffer),t.deleteTexture(this.texture),this.frameBuffer=null,this.texture=null},s.CanvasBuffer=function(t,e){this.width=t,this.height=e,this.canvas=Phaser.CanvasPool.create(this,this.width,this.height),this.context=this.canvas.getContext("2d"),this.canvas.width=t,this.canvas.height=e},s.CanvasBuffer.prototype.constructor=s.CanvasBuffer,s.CanvasBuffer.prototype.clear=function(){this.context.setTransform(1,0,0,1,0,0),this.context.clearRect(0,0,this.width,this.height)},s.CanvasBuffer.prototype.resize=function(t,e){this.width=this.canvas.width=t,this.height=this.canvas.height=e},s.CanvasBuffer.prototype.destroy=function(){Phaser.CanvasPool.remove(this)},s.CanvasMaskManager=function(){},s.CanvasMaskManager.prototype.constructor=s.CanvasMaskManager,s.CanvasMaskManager.prototype.pushMask=function(t,e){var i=e.context;i.save();var n=t.alpha,r=t.worldTransform,o=e.resolution;i.setTransform(r.a*o,r.b*o,r.c*o,r.d*o,r.tx*o,r.ty*o),s.CanvasGraphics.renderGraphicsMask(t,i),i.clip(),t.worldAlpha=n},s.CanvasMaskManager.prototype.popMask=function(t){t.context.restore()},s.CanvasTinter=function(){},s.CanvasTinter.getTintedTexture=function(t,e){var i=t.tintedTexture||Phaser.CanvasPool.create(this);return s.CanvasTinter.tintMethod(t.texture,e,i),i},s.CanvasTinter.tintWithMultiply=function(t,e,i){var s=i.getContext("2d"),n=t.crop,r=n.width,o=n.height;t.rotated&&(r=o,o=n.width),i.width===r&&i.height===o||(i.width=r,i.height=o),s.clearRect(0,0,r,o),s.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),s.fillRect(0,0,r,o),s.globalCompositeOperation="multiply",s.drawImage(t.baseTexture.source,n.x,n.y,r,o,0,0,r,o),s.globalCompositeOperation="destination-atop",s.drawImage(t.baseTexture.source,n.x,n.y,r,o,0,0,r,o)},s.CanvasTinter.tintWithPerPixel=function(t,e,i){var n=i.getContext("2d"),r=t.crop,o=r.width,a=r.height;t.rotated&&(o=a,a=r.width),i.width===o&&i.height===a||(i.width=o,i.height=a),n.globalCompositeOperation="copy",n.drawImage(t.baseTexture.source,r.x,r.y,o,a,0,0,o,a);for(var h=Phaser.Color.hexToRGBArray(e),l=h[0],c=h[1],u=h[2],d=n.getImageData(0,0,o,a),p=d.data,f=0;f<p.length;f+=4)if(p[f+0]*=l,p[f+1]*=c,p[f+2]*=u,!s.CanvasTinter.canHandleAlpha){var g=p[f+3];p[f+0]/=255/g,p[f+1]/=255/g,p[f+2]/=255/g}n.putImageData(d,0,0)},s.CanvasRenderer=function(t,e){if(this.game=t,s.defaultRenderer||(s.defaultRenderer=this),this.type=Phaser.CANVAS,this.resolution=t.resolution,this.clearBeforeRender=t.clearBeforeRender,this.transparent=t.transparent,this.autoResize=!1,this.width=t.width*this.resolution,this.height=t.height*this.resolution,this.view=t.canvas,this.context=this.view.getContext("2d",{alpha:this.transparent}),!this.context)throw new Error("Failed to create a Canvas 2d context.");this.refresh=!0,this.count=0,this.maskManager=new s.CanvasMaskManager,this.renderSession={context:this.context,maskManager:this.maskManager,scaleMode:null,smoothProperty:Phaser.Canvas.getSmoothingPrefix(this.context),roundPixels:e.roundPixels||!1},this.mapBlendModes(),this.resize(this.width,this.height)},s.CanvasRenderer.prototype.constructor=s.CanvasRenderer,s.CanvasRenderer.prototype.render=function(t){this.context.setTransform(1,0,0,1,0,0),this.context.globalAlpha=1,this.renderSession.currentBlendMode=0,this.renderSession.shakeX=this.game.camera._shake.x,this.renderSession.shakeY=this.game.camera._shake.y,this.context.globalCompositeOperation="source-over",navigator.isCocoonJS&&this.view.screencanvas&&(this.context.fillStyle="black",this.context.clear()),this.clearBeforeRender&&(this.transparent?this.context.clearRect(0,0,this.width,this.height):t._bgColor&&(this.context.fillStyle=t._bgColor.rgba,this.context.fillRect(0,0,this.width,this.height))),this.renderDisplayObject(t)},s.CanvasRenderer.prototype.setTexturePriority=function(){},s.CanvasRenderer.prototype.destroy=function(t){void 0===t&&(t=!0),t&&this.view.parent&&this.view.parent.removeChild(this.view),this.view=null,this.context=null,this.maskManager=null,this.renderSession=null},s.CanvasRenderer.prototype.resize=function(t,e){this.width=t*this.resolution,this.height=e*this.resolution,this.view.width=this.width,this.view.height=this.height,this.autoResize&&(this.view.style.width=this.width/this.resolution+"px",this.view.style.height=this.height/this.resolution+"px"),this.renderSession.smoothProperty&&(this.context[this.renderSession.smoothProperty]=this.renderSession.scaleMode===s.scaleModes.LINEAR)},s.CanvasRenderer.prototype.renderDisplayObject=function(t,e,i){this.renderSession.context=e||this.context,this.renderSession.resolution=this.resolution,t._renderCanvas(this.renderSession,i)},s.CanvasRenderer.prototype.mapBlendModes=function(){if(!s.blendModesCanvas){var t=[],e=s.blendModes,i=this.game.device.canUseMultiply;t[e.NORMAL]="source-over",t[e.ADD]="lighter",t[e.MULTIPLY]=i?"multiply":"source-over",t[e.SCREEN]=i?"screen":"source-over",t[e.OVERLAY]=i?"overlay":"source-over",t[e.DARKEN]=i?"darken":"source-over",t[e.LIGHTEN]=i?"lighten":"source-over",t[e.COLOR_DODGE]=i?"color-dodge":"source-over",t[e.COLOR_BURN]=i?"color-burn":"source-over",t[e.HARD_LIGHT]=i?"hard-light":"source-over",t[e.SOFT_LIGHT]=i?"soft-light":"source-over",t[e.DIFFERENCE]=i?"difference":"source-over",t[e.EXCLUSION]=i?"exclusion":"source-over",t[e.HUE]=i?"hue":"source-over",t[e.SATURATION]=i?"saturation":"source-over",t[e.COLOR]=i?"color":"source-over",t[e.LUMINOSITY]=i?"luminosity":"source-over",s.blendModesCanvas=t}},s.BaseTexture=function(t,e,i){this.resolution=i||1,this.width=100,this.height=100,this.scaleMode=e||s.scaleModes.DEFAULT,this.hasLoaded=!1,this.source=t,this.premultipliedAlpha=!0,this._glTextures=[],this.mipmap=!1,this.textureIndex=0,this._dirty=[!0,!0,!0,!0],t&&((this.source.complete||this.source.getContext)&&this.source.width&&this.source.height&&(this.hasLoaded=!0,this.width=this.source.naturalWidth||this.source.width,this.height=this.source.naturalHeight||this.source.height,this.dirty()),this.skipRender=!1,this._powerOf2=!1)},s.BaseTexture.prototype.constructor=s.BaseTexture,s.BaseTexture.prototype.forceLoaded=function(t,e){this.hasLoaded=!0,this.width=t,this.height=e,this.dirty()},s.BaseTexture.prototype.destroy=function(){this.source&&Phaser.CanvasPool.removeByCanvas(this.source),this.source=null,this.unloadFromGPU()},s.BaseTexture.prototype.dirty=function(){for(var t=0;t<this._glTextures.length;t++)this._dirty[t]=!0},s.BaseTexture.prototype.unloadFromGPU=function(){this.dirty();for(var t=this._glTextures.length-1;t>=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){var t=this,e=e||{VERSION:"2.11.1",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n<i;n++)n in e&&t.call(s,e[n],n,e)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var i=function(t){var e=new Array;window[t]=function(t){if("number"==typeof t){Array.call(this,t),this.length=t;for(e=0;e<this.length;e++)this[e]=0}else{Array.call(this,t.length),this.length=t.length;for(var e=0;e<this.length;e++)this[e]=t[e]}},window[t].prototype=e,window[t].constructor=window[t]};i("Float32Array"),i("Uint32Array"),i("Uint16Array"),i("Int16Array"),i("ArrayBuffer")}window.console||(window.console={},window.console.log=window.console.assert=function(){},window.console.warn=window.console.assert=function(){}),Object.assign||(Object.assign=function(t,e){"use strict";if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),s=Object.prototype.hasOwnProperty,n=1;n<arguments.length;n++){var r=arguments[n];if(null!=r)for(var o in r)s.call(r,o)&&(i[o]=r[o])}return i}),e.Utils={defaults:function(t,e){for(var i=Object.keys(e),s=0,n=i.length;s<n;s++){var r=i[s];void 0===t[r]&&(t[r]=e[r])}return t},reverseString:function(t){return t.split("").reverse().join("")},getProperty:function(t,e){var i=e.split(".");switch(i.length){case 1:return t[e];case 2:return t[i[0]][i[1]];case 3:return t[i[0]][i[1]][i[2]];case 4:return t[i[0]][i[1]][i[2]][i[3]];default:return this._getProperty(t,e)}},setProperties:function(t,e){for(var i in e)this.setProperty(t,i,e[i]);return t},setProperty:function(t,e,i){var s=e.split(".");switch(s.length){case 1:t[e]=i;break;case 2:t[s[0]][s[1]]=i;break;case 3:t[s[0]][s[1]][s[2]]=i;break;case 4:t[s[0]][s[1]][s[2]][s[3]]=i;break;default:this._setProperty(t,e,i)}},_getProperty:function(t,e){for(var i=e.split("."),s=i.length,n=0,r=t;n<s;){var o=i[n];if(null==r)return;r=r[o],n++}return r},_setProperty:function(t,e,i){var s=e.split("."),n=s.length,r=0,o=t,a=s[0];if(1===n)t[e]=i;else{for(;r<n-1;)o=o[a],a=s[++r];o[a]=i}return t},chanceRoll:function(t){return void 0===t&&(t=50),t>0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h<l;h++)if(null!=(t=arguments[h]))for(i in t)s=a[i],a!==(n=t[i])&&(c&&n&&(e.Utils.isPlainObject(n)||(r=Array.isArray(n)))?(r?(r=!1,o=s&&Array.isArray(s)?s:[]):o=s&&e.Utils.isPlainObject(s)?s:{},a[i]=e.Utils.extend(c,o,n)):void 0!==n&&(a[i]=n));return a},mixinPrototype:function(t,e,i){void 0===i&&(i=!1);for(var s=Object.keys(e),n=0;n<s.length;n++){var r=s[n],o=e[r];!i&&r in t||(!o||"function"!=typeof o.get&&"function"!=typeof o.set?t[r]=o:"function"==typeof o.clone?t[r]=o.clone():Object.defineProperty(t,r,o))}},mixin:function(t,i){if(!t||"object"!=typeof t)return i;for(var s in t){var n=t[s];if(!n.childNodes&&!n.cloneNode){var r=typeof t[s];t[s]&&"object"===r?typeof i[s]===r?i[s]=e.Utils.mixin(t[s],i[s]):i[s]=e.Utils.mixin(t[s],new n.constructor):i[s]=t[s]}}return i}},e.Circle=function(t,i,s){t=t||0,i=i||0,s=s||0,this.x=t,this.y=i,this._diameter=s,this._radius=0,s>0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o<t;)this.circumferencePoint(e.Math.linear(i,s,o/t),n,r[o]||(r[o]=new e.Point)),o+=1;return r},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+")}]"}},e.Circle.prototype.constructor=e.Circle,Object.defineProperty(e.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(t){t>0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){t<this.x?(this._radius=0,this._diameter=0):this.radius=t-this.x}}),Object.defineProperty(e.Circle.prototype,"top",{get:function(){return this.y-this._radius},set:function(t){t>this.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t<this.y?(this._radius=0,this._diameter=0):this.radius=t-this.y}}),Object.defineProperty(e.Circle.prototype,"area",{get:function(){return this._radius>0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Ellipse.prototype,"top",{get:function(){return this.y},set:function(t){this.y=t}}),Object.defineProperty(e.Ellipse.prototype,"bottom",{get:function(){return this.y+this.height},set:function(t){t<this.y?this.height=0:this.height=t-this.y}}),Object.defineProperty(e.Ellipse.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Ellipse.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),Object.defineProperty(e.Ellipse.prototype,"empty",{get:function(){return 0===this.width||0===this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Ellipse.contains=function(t,e,i){if(t.width<=0||t.height<=0)return!1;var s=(e-t.x)/t.width-.5,n=(i-t.y)/t.height-.5;return s*=s,n*=n,s+n<.25},e.Ellipse.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.width/2,l=t.height/2,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Ellipse=e.Ellipse,e.Line=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.start=new e.Point(t,i),this.end=new e.Point(s,n),this.type=e.LINE},e.Line.prototype={setTo:function(t,e,i,s){return this.start.setTo(t,e),this.end.setTo(i,s),this},fromPoints:function(t,e){return this.setTo(t.x,t.y,e.x,e.y),this},fromSprite:function(t,e,i){return void 0===i&&(i=!1),i?this.setTo(t.centerX,t.centerY,e.centerX,e.centerY):this.fromPoints(t,e)},fromAngle:function(t,e,i,s){return this.start.setTo(t,e),this.end.setTo(t+Math.cos(i)*s,e+Math.sin(i)*s),this},rotate:function(t,e){var i=(this.start.x+this.end.x)/2,s=(this.start.y+this.end.y)/2;return this.start.rotate(i,s,t,e),this.end.rotate(i,s,t,e),this},rotateAround:function(t,e,i,s){return this.start.rotate(t,e,i,s),this.end.rotate(t,e,i,s),this},intersects:function(t,i,s){return e.Line.intersectsPoints(this.start,this.end,t.start,t.end,i,s)},reflect:function(t){return e.Line.reflect(this,t)},midPoint:function(t){return void 0===t&&(t=new e.Point),t.x=(this.start.x+this.end.x)/2,t.y=(this.start.y+this.end.y)/2,t},centerOn:function(t,e){var i=t-(this.start.x+this.end.x)/2,s=e-(this.start.y+this.end.y)/2;this.start.add(i,s),this.end.add(i,s)},pointOnLine:function(t,i,s){return e.Math.fuzzyEqual((t-this.start.x)*(this.end.y-this.start.y),(this.end.x-this.start.x)*(i-this.start.y),s||0)},pointOnSegment:function(t,e,i){var s=Math.min(this.start.x,this.end.x),n=Math.max(this.start.x,this.end.x),r=Math.min(this.start.y,this.end.y),o=Math.max(this.start.y,this.end.y);return this.pointOnLine(t,e,i)&&t>=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i<n?1:-1,l=s<r?1:-1,c=o-a;e.push([i,s]);for(var u=1;i!==n||s!==r;){var d=c<<1;d>-a&&(c-=a,i+=h),d<o&&(c+=o,s+=l),u%t==0&&e.push([i,s]),u++}return e},clone:function(t){return void 0===t||null===t?t=new e.Line(this.start.x,this.start.y,this.end.x,this.end.y):t.setTo(this.start.x,this.start.y,this.end.x,this.end.y),t}},Object.defineProperty(e.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(e.Line.prototype,"angle",{get:function(){return e.Point.angle(this.end,this.start)}}),Object.defineProperty(e.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(e.Line.prototype,"perpSlope",{get:function(){return-(this.end.x-this.start.x)/(this.end.y-this.start.y)}}),Object.defineProperty(e.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(e.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(e.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(e.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(e.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(e.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(e.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(e.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(e.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(e.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(e.Line.prototype,"normalAngle",{get:function(){return e.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),e.Line.intersectsPoints=function(t,i,s,n,r,o){void 0===r&&(r=!0),void 0===o&&(o=new e.Point);var a=i.y-t.y,h=n.y-s.y,l=t.x-i.x,c=s.x-n.x,u=i.x*t.y-t.x*i.y,d=n.x*s.y-s.x*n.y,p=a*c-h*l;if(0===p)return null;if(o.x=(l*d-c*u)/p,o.y=(h*u-a*d)/p,r){var f=(n.y-s.y)*(i.x-t.x)-(n.x-s.x)*(i.y-t.y),g=((n.x-s.x)*(t.y-s.y)-(n.y-s.y)*(t.x-s.x))/f,m=((i.x-t.x)*(t.y-s.y)-(i.y-t.y)*(t.x-s.x))/f;return g>=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i<o&&n>=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&&r>=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);f<u&&(u=f,s.copyFrom(o))}return null!=f?s:null},e.Line.reflect=function(t,e){return 2*e.normalAngle-3.141592653589793-t.angle},e.Matrix=function(t,i,s,n,r,o){void 0!==t&&null!==t||(t=1),void 0!==i&&null!==i||(i=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=i,this.c=s,this.d=n,this.tx=r,this.ty=o,this.type=e.MATRIX},e.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 e.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,i){return void 0===i&&(i=new e.Point),i.x=this.a*t.x+this.c*t.y+this.tx,i.y=this.b*t.x+this.d*t.y+this.ty,i},applyInverse:function(t,i){void 0===i&&(i=new e.Point);var s=1/(this.a*this.d+this.c*-this.b),n=t.x,r=t.y;return i.x=this.d*s*n+-this.c*s*r+(this.ty*this.c-this.tx*this.d)*s,i.y=this.a*s*r+-this.b*s*n+(-this.ty*this.a+this.tx*this.b)*s,i},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)}},e.identityMatrix=new e.Matrix,e.Point=function(t,i){t=t||0,i=i||0,this.x=t,this.y=i,this.type=e.POINT},e.Point.prototype={copyFrom:function(t){return this.setTo(t.x,t.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(t,i){return e.Point.set(this,t,i)},set:function(t,i){return e.Point.set(this,t,i)},setToPolar:function(t,i,s){return null==i&&(i=1),s&&(t=e.Math.degToRad(t)),this.setTo(Math.cos(t)*i,Math.sin(t)*i)},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,i){return this.x=e.Math.clamp(this.x,t,i),this},clampY:function(t,i){return this.y=e.Math.clamp(this.y,t,i),this},clamp:function(t,i){return this.x=e.Math.clamp(this.x,t,i),this.y=e.Math.clamp(this.y,t,i),this},clip:function(t){var e=t.left,i=t.top,s=t.right,n=t.bottom;return this.x<e?this.x=e:this.x>s&&(this.x=s),this.y<i?this.y=i:this.y>n&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()<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))},round:function(){return this.setTo(Math.round(this.x),Math.round(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},e.Point.prototype.constructor=e.Point,e.Point.add=function(t,i,s){return void 0===s&&(s=new e.Point),s.x=t.x+i.x,s.y=t.y+i.y,s},e.Point.subtract=function(t,i,s){return void 0===s&&(s=new e.Point),s.x=t.x-i.x,s.y=t.y-i.y,s},e.Point.multiply=function(t,i,s){return void 0===s&&(s=new e.Point),s.x=t.x*i.x,s.y=t.y*i.y,s},e.Point.divide=function(t,i,s){return void 0===s&&(s=new e.Point),s.x=t.x/i.x,s.y=t.y/i.y,s},e.Point.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.Point.equalsXY=function(t,e,i){return t.x===e&&t.y===i},e.Point.fuzzyEquals=function(t,i,s){return e.Math.fuzzyEquals(t.x,i.x,s)&&e.Math.fuzzyEquals(t.y,i.y,s)},e.Point.fuzzyEqualsXY=function(t,i,s,n){return e.Math.fuzzyEquals(t.x,i,n)&&e.Math.fuzzyEquals(t.y,s,n)},e.Point.angle=function(t,e){return Math.atan2(t.y-e.y,t.x-e.x)},e.Point.negative=function(t,i){return void 0===i&&(i=new e.Point),i.setTo(-t.x,-t.y)},e.Point.multiplyAdd=function(t,i,s,n){return void 0===n&&(n=new e.Point),n.setTo(t.x+i.x*s,t.y+i.y*s)},e.Point.interpolate=function(t,i,s,n){return void 0===n&&(n=new e.Point),n.setTo(t.x+(i.x-t.x)*s,t.y+(i.y-t.y)*s)},e.Point.perp=function(t,i){return void 0===i&&(i=new e.Point),i.setTo(-t.y,t.x)},e.Point.rperp=function(t,i){return void 0===i&&(i=new e.Point),i.setTo(t.y,-t.x)},e.Point.distance=function(t,i,s){var n=e.Math.distance(t.x,t.y,i.x,i.y);return s?Math.round(n):n},e.Point.project=function(t,i,s){void 0===s&&(s=new e.Point);var n=t.dot(i)/i.getMagnitudeSq();return 0!==n&&s.setTo(n*i.x,n*i.y),s},e.Point.projectUnit=function(t,i,s){void 0===s&&(s=new e.Point);var n=t.dot(i);return 0!==n&&s.setTo(n*i.x,n*i.y),s},e.Point.normalRightHand=function(t,i){return void 0===i&&(i=new e.Point),i.setTo(-1*t.y,t.x)},e.Point.normalize=function(t,i){void 0===i&&(i=new e.Point);var s=t.getMagnitude();return 0!==s&&i.setTo(t.x/s,t.y/s),i},e.Point.rotate=function(t,i,s,n,r,o){if(r&&(n=e.Math.degToRad(n)),void 0===o){t.subtract(i,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+i,t.y=c+s}else{var u=n+Math.atan2(t.y-s,t.x-i);t.x=i+o*Math.cos(u),t.y=s+o*Math.sin(u)}return t},e.Point.centroid=function(t,i){if(void 0===i&&(i=new e.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 i.copyFrom(t[0]),i;for(var n=0;n<s;n++)e.Point.add(i,t[n],i);return i.divide(s,s),i},e.Point.parse=function(t,i,s){i=i||"x",s=s||"y";var n=new e.Point;return t[i]&&(n.x=parseFloat(t[i],10)),t[s]&&(n.y=parseFloat(t[s],10)),n},e.Point.trunc=function(t){return t.x=e.Math.trunc(t.x),t.y=e.Math.trunc(t.y),t},e.Point.isPoint=function(t){return null!=t&&"number"==typeof t.x&&"number"==typeof t.y},e.Point.set=function(t,e,i){return t.x=e||0,t.y=i||(0!==i?t.x:0),t},e.Point.sortClockwise=function(t,e){e||(e=this.centroid(t));var i=e.x,s=e.y;return t.sort(function(t,e){if(t.x-i>=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e<this._points.length;e++)"number"==typeof this._points[e]?(t.push(this._points[e]),t.push(this._points[e+1]),e++):(t.push(this._points[e].x),t.push(this._points[e].y));return t},flatten:function(){return this._points=this.toNumberArray(),this.flattened=!0,this},clone:function(t){var i=this._points.slice();return void 0===t||null===t?t=new e.Polygon(i):t.setTo(i),t},contains:function(t,e){var i=!1;if(this.flattened)for(var s=-2,n=this._points.length-2;(s+=2)<this._points.length;n=s){var r=this._points[s],o=this._points[s+1],a=this._points[n],h=this._points[n+1];(o<=e&&e<h||h<=e&&e<o)&&t<(a-r)*(e-o)/(h-o)+r&&(i=!i)}else for(var s=-1,n=this._points.length-1;++s<this._points.length;n=s){var r=this._points[s].x,o=this._points[s].y,a=this._points[n].x,h=this._points[n].y;(o<=e&&e<h||h<=e&&e<o)&&t<(a-r)*(e-o)/(h-o)+r&&(i=!i)}return i},setTo:function(t){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i<s;i++){if("number"==typeof t[i]){n=new PIXI.Point(t[i],t[i+1]);i++}else if(Array.isArray(t[i]))n=new PIXI.Point(t[i][0],t[i][1]);else var n=new PIXI.Point(t[i].x,t[i].y);this._points.push(n),n.y<e&&(e=n.y)}this.calculateArea(e)}return this},calculateArea:function(t){for(var e,i,s,n,r=0,o=this._points.length;r<o;r++)e=this._points[r],i=r===o-1?this._points[0]:this._points[r+1],s=(e.y-t+(i.y-t))/2,n=e.x-i.x,this.area+=s*n;return this.area}},e.Polygon.prototype.constructor=e.Polygon,Object.defineProperty(e.Polygon.prototype,"points",{get:function(){return this._points}}),PIXI.Polygon=e.Polygon,e.Rectangle=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.RECTANGLE},e.Rectangle.prototype={offset:function(t,e){return this.x+=t,this.y+=e,this},offsetPoint:function(t){return this.offset(t.x,t.y)},setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},scale:function(t,e){return void 0===e&&(e=t),this.width*=t,this.height*=e,this},centerOn:function(t,e){return this.centerX=t,this.centerY=e,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyFromBounds:function(t){return this.setTo(t.left,t.top,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},inflate:function(t,i){return e.Rectangle.inflate(this,t,i)},size:function(t){return e.Rectangle.size(this,t)},resize:function(t,e){return this.width=t,this.height=e,this},clone:function(t){return e.Rectangle.clone(this,t)},contains:function(t,i){return e.Rectangle.contains(this,t,i)},containsRect:function(t){return e.Rectangle.containsRect(t,this)},equals:function(t){return e.Rectangle.equals(this,t)},intersection:function(t,i){return e.Rectangle.intersection(this,t,i)},intersects:function(t){return e.Rectangle.intersects(this,t)},intersectsRaw:function(t,i,s,n,r){return e.Rectangle.intersectsRaw(this,t,i,s,n,r)},union:function(t,i){return e.Rectangle.union(this,t,i)},random:function(t){return void 0===t&&(t=new e.Point),t.x=this.randomX,t.y=this.randomY,t},getPoint:function(t,i){switch(void 0===i&&(i=new e.Point),t){default:case e.TOP_LEFT:return i.set(this.x,this.y);case e.TOP_CENTER:return i.set(this.centerX,this.y);case e.TOP_RIGHT:return i.set(this.right,this.y);case e.LEFT_CENTER:return i.set(this.x,this.centerY);case e.CENTER:return i.set(this.centerX,this.centerY);case e.RIGHT_CENTER:return i.set(this.right,this.centerY);case e.BOTTOM_LEFT:return i.set(this.x,this.bottom);case e.BOTTOM_CENTER:return i.set(this.centerX,this.bottom);case e.BOTTOM_RIGHT:return i.set(this.right,this.bottom)}},sides:function(t,i,s,n){arguments.length||(t=new e.Line,i=new e.Line,s=new e.Line,n=new e.Line);var r=this.x,o=this.y,a=this.right,h=this.bottom;return t.setTo(r,o,a,o),i.setTo(a,o,a,h),s.setTo(r,h,a,h),n.setTo(r,o,r,h),arguments.length?null:[t,i,s,n]},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(e.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(e.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(e.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(t){t<=this.y?this.height=0:this.height=t-this.y}}),Object.defineProperty(e.Rectangle.prototype,"bottomLeft",{get:function(){return new e.Point(this.x,this.bottom)},set:function(t){this.x=t.x,this.bottom=t.y}}),Object.defineProperty(e.Rectangle.prototype,"bottomRight",{get:function(){return new e.Point(this.right,this.bottom)},set:function(t){this.right=t.x,this.bottom=t.y}}),Object.defineProperty(e.Rectangle.prototype,"left",{get:function(){return this.x},set:function(t){t>=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e<t.right&&i>=t.y&&i<t.bottom)},e.Rectangle.containsRaw=function(t,e,i,s,n,r){return n>=t&&n<t+i&&r>=e&&r<e+s},e.Rectangle.containsPoint=function(t,i){return e.Rectangle.contains(t,i.x,i.y)},e.Rectangle.containsRect=function(t,e){return!(t.volume>e.volume)&&(t.x>=e.x&&t.y>=e.y&&t.right<e.right&&t.bottom<e.bottom)},e.Rectangle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height},e.Rectangle.sameDimensions=function(t,e){return t.width===e.width&&t.height===e.height},e.Rectangle.intersection=function(t,i,s){return void 0===s&&(s=new e.Rectangle),e.Rectangle.intersects(t,i)&&(s.x=Math.max(t.x,i.x),s.y=Math.max(t.y,i.y),s.width=Math.min(t.right,i.right)-s.x,s.height=Math.min(t.bottom,i.bottom)-s.y),s},e.Rectangle.intersects=function(t,e){return!(t.width<=0||t.height<=0||e.width<=0||e.height<=0)&&!(t.right<e.x||t.bottom<e.y||t.x>e.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||i<t.left-r||s>t.bottom+r||n<t.top-r)},e.Rectangle.union=function(t,i,s){return void 0===s&&(s=new e.Rectangle),s.setTo(Math.min(t.x,i.x),Math.min(t.y,i.y),Math.max(t.right,i.right)-Math.min(t.left,i.left),Math.max(t.bottom,i.bottom)-Math.min(t.top,i.top))},e.Rectangle.aabb=function(t,i){void 0===i&&(i=new e.Rectangle);var s=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY;return t.forEach(function(t){t.x>s&&(s=t.x),t.x<n&&(n=t.x),t.y>r&&(r=t.y),t.y<o&&(o=t.y)}),i.setTo(n,o,s-n,r-o),i},PIXI.Rectangle=e.Rectangle,e.EmptyRectangle=new e.Rectangle(0,0,0,0),e.RoundedRectangle=function(t,i,s,n,r){void 0===t&&(t=0),void 0===i&&(i=0),void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=20),this.x=t,this.y=i,this.width=s,this.height=n,this.radius=r||20,this.type=e.ROUNDEDRECTANGLE},e.RoundedRectangle.prototype={clone:function(){return new e.RoundedRectangle(this.x,this.y,this.width,this.height,this.radius)},contains:function(t,e){if(this.width<=0||this.height<=0)return!1;var i=this.x;if(t>=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edge<this.deadzone.left?this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.left,this.lerp.x):this._edge>this.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._edge<this.deadzone.top?this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.top,this.lerp.y):this._edge>this.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n<arguments.length;n++)s.push(arguments[n]);return this._registerListener(t,!1,e,i,s)},addOnce:function(t,e,i){this.validateListener(t,"addOnce");var s=[];if(arguments.length>3)for(var n=3;n<arguments.length;n++)s.push(arguments[n]);return this._registerListener(t,!0,e,i,s)},remove:function(t,e){this.validateListener(t,"remove");var i=this._indexOfListener(t,e);return-1!==i&&(this._bindings[i]._destroy(),this._bindings.splice(i,1)),t},removeAll:function(t){if(void 0===t&&(t=null),this._bindings){for(var e=this._bindings.length;e--;)t?this._bindings[e].context===t&&(this._bindings[e]._destroy(),this._bindings.splice(e,1)):this._bindings[e]._destroy();t||(this._bindings.length=0)}},getNumListeners:function(){return this._bindings?this._bindings.length:0},halt:function(){this._shouldPropagate=!1},dispatch:function(){if(this.active&&(this._bindings||this.memorize)){var t=Array.prototype.slice.call(arguments);this.memorize&&(this._prevParams=t);var e=this._bindings?this._bindings.length:0;if(e){var i=this._bindings.slice();this._shouldPropagate=!0;do{e--}while(i[e]&&this._shouldPropagate&&!1!==i[e].execute(t))}}},forget:function(){this._prevParams&&(this._prevParams=null)},dispose:function(){this.removeAll(),this._bindings=null,this._prevParams&&(this._prevParams=null)},toString:function(){return"[Phaser.Signal active:"+this.active+" numListeners:"+this.getNumListeners()+"]"}},Object.defineProperty(e.Signal.prototype,"boundDispatch",{get:function(){var t=this;return this._boundDispatch||(this._boundDispatch=function(){return t.dispatch.apply(t,arguments)})}}),e.Signal.prototype.constructor=e.Signal,e.SignalBinding=function(t,e,i,s,n,r){this._listener=e,i&&(this._isOnce=!0),null!=s&&(this.context=s),this._signal=t,n&&(this._priority=n),r&&r.length&&(this._args=r)},e.SignalBinding.prototype={context:null,_isOnce:!1,_priority:0,_args:null,callCount:0,active:!0,params:null,execute:function(t){var e,i;return this.active&&this._listener&&(i=this.params?this.params.concat(t):t,this._args&&(i=i.concat(this._args)),e=this._listener.apply(this.context,i),this.callCount++,this._isOnce&&this.detach()),e},detach:function(){return this.isBound()?this._signal.remove(this._listener,this.context):null},isBound:function(){return!!this._signal&&!!this._listener},isOnce:function(){return this._isOnce},getListener:function(){return this._listener},getSignal:function(){return this._signal},_destroy:function(){delete this._signal,delete this._listener,delete this.context},toString:function(){return"[Phaser.SignalBinding isOnce:"+this._isOnce+", isBound:"+this.isBound()+", active:"+this.active+"]"}},e.SignalBinding.prototype.constructor=e.SignalBinding,e.Filter=function(t,i,s){this.game=t,this.type=e.WEBGL_FILTER,this.passes=[this],this.shaders=[],this.dirty=!0,this.padding=0,this.prevPoint=new e.Point;var n=new Date;if(this.uniforms={resolution:{type:"2f",value:{x:256,y:256}},time:{type:"1f",value:0},mouse:{type:"2f",value:{x:0,y:0}},date:{type:"4fv",value:[n.getFullYear(),n.getMonth(),n.getDate(),60*n.getHours()*60+60*n.getMinutes()+n.getSeconds()]},sampleRate:{type:"1f",value:44100},iChannel0:{type:"sampler2D",value:null,textureData:{repeat:!0}},iChannel1:{type:"sampler2D",value:null,textureData:{repeat:!0}},iChannel2:{type:"sampler2D",value:null,textureData:{repeat:!0}},iChannel3:{type:"sampler2D",value:null,textureData:{repeat:!0}}},i)for(var r in i)this.uniforms[r]=i[r];"string"==typeof s&&(s=s.split("\n")),this.fragmentSrc=s||[]},e.Filter.prototype={init:function(){},setResolution:function(t,e){this.uniforms.resolution.value.x=t,this.uniforms.resolution.value.y=e},update:function(t){if(t){var e=t.x/this.game.width,i=1-t.y/this.game.height;e===this.prevPoint.x&&i===this.prevPoint.y||(this.uniforms.mouse.value.x=e.toFixed(2),this.uniforms.mouse.value.y=i.toFixed(2),this.prevPoint.set(e,i))}this.uniforms.time.value=this.game.time.totalElapsedSeconds()},addToWorld:function(t,i,s,n,r,o){void 0===r&&(r=0),void 0===o&&(o=0),void 0!==s&&null!==s?this.width=s:s=this.width,void 0!==n&&null!==n?this.height=n:n=this.height;var a=this.game.add.image(t,i,e.Cache.DEFAULT);return a.width=s,a.height=n,a.anchor.set(r,o),a.filters=[this],a},syncUniforms:function(){for(var t=0;t<this.shaders.length;t++)this.shaders[t].dirty=!0},destroy:function(){this.passes.length=0,this.shaders.length=0,this.fragmentSrc.length=0,this.game=null,this.uniforms=null,this.prevPoint=null}},e.Filter.prototype.constructor=e.Filter,Object.defineProperty(e.Filter.prototype,"width",{get:function(){return this.uniforms.resolution.value.x},set:function(t){this.uniforms.resolution.value.x=t}}),Object.defineProperty(e.Filter.prototype,"height",{get:function(){return this.uniforms.resolution.value.y},set:function(t){this.uniforms.resolution.value.y=t}}),e.Plugin=function(t,e){void 0===e&&(e=null),this.game=t,this.parent=e,this.active=!1,this.visible=!1,this.hasPreUpdate=!1,this.hasUpdate=!1,this.hasPostUpdate=!1,this.hasRender=!1,this.hasPostRender=!1},e.Plugin.prototype={preUpdate:function(){},update:function(){},render:function(){},postRender:function(){},destroy:function(){this.game=null,this.parent=null,this.active=!1,this.visible=!1}},e.Plugin.prototype.constructor=e.Plugin,e.PluginManager=function(t){this.game=t,this.plugins=[],this._len=0,this._i=0},e.PluginManager.prototype={add:function(t){var e=Array.prototype.slice.call(arguments,1),i=!1;return"function"==typeof t?t=new t(this.game,this):(t.game=this.game,t.parent=this),"function"==typeof t.preUpdate&&(t.hasPreUpdate=!0,i=!0),"function"==typeof t.update&&(t.hasUpdate=!0,i=!0),"function"==typeof t.postUpdate&&(t.hasPostUpdate=!0,i=!0),"function"==typeof t.render&&(t.hasRender=!0,i=!0),"function"==typeof t.postRender&&(t.hasPostRender=!0,i=!0),i?((t.hasPreUpdate||t.hasUpdate||t.hasPostUpdate)&&(t.active=!0),(t.hasRender||t.hasPostRender)&&(t.visible=!0),this._len=this.plugins.push(t),"function"==typeof t.init&&t.init.apply(t,e),t):null},remove:function(t,e){for(void 0===e&&(e=!0),this._i=this._len;this._i--;)if(this.plugins[this._i]===t)return e&&t.destroy(),this.plugins.splice(this._i,1),void this._len--},removeAll:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].destroy();this.plugins.length=0,this._len=0},preUpdate:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].active&&this.plugins[this._i].hasPreUpdate&&this.plugins[this._i].preUpdate()},update:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].active&&this.plugins[this._i].hasUpdate&&this.plugins[this._i].update()},postUpdate:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].active&&this.plugins[this._i].hasPostUpdate&&this.plugins[this._i].postUpdate()},render:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].visible&&this.plugins[this._i].hasRender&&this.plugins[this._i].render()},postRender:function(){for(this._i=this._len;this._i--;)this.plugins[this._i].visible&&this.plugins[this._i].hasPostRender&&this.plugins[this._i].postRender()},destroy:function(){this.removeAll(),this.game=null}},e.PluginManager.prototype.constructor=e.PluginManager,e.Stage=function(t){this.game=t,PIXI.DisplayObjectContainer.call(this),this.name="_stage_root",this.disableVisibilityChange=!1,this.exists=!0,this.worldTransform=new e.Matrix,this.stage=this,this.currentRenderOrderID=0,this._hiddenVar="hidden",this._onChange=null,this._bgColor={r:0,g:0,b:0,a:0,color:0,rgba:"#000000"},this.game.transparent||(this._bgColor.a=1),t.config&&this.parseConfig(t.config)},e.Stage.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Stage.prototype.constructor=e.Stage,e.Stage.prototype.parseConfig=function(t){t.disableVisibilityChange&&(this.disableVisibilityChange=t.disableVisibilityChange),t.backgroundColor&&this.setBackgroundColor(t.backgroundColor)},e.Stage.prototype.boot=function(){e.DOM.getOffset(this.game.canvas,this.offset),e.Canvas.setUserSelect(this.game.canvas,"none"),e.Canvas.setTouchAction(this.game.canvas,"none"),this.checkVisibility()},e.Stage.prototype.preUpdate=function(){this.currentRenderOrderID=0;for(var t=0;t<this.children.length;){var e=this.children[t];e.preUpdate(),this===e.parent&&t++}},e.Stage.prototype.update=function(){for(var t=this.children.length;t--;)this.children[t].update()},e.Stage.prototype.postUpdate=function(){this.game.camera.update(),this.game.camera.target&&(this.game.camera.target.postUpdate(),this.updateTransform(),this.game.camera.updateTarget());for(var t=0;t<this.children.length;t++)this.children[t].postUpdate();this.updateTransform()},e.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var t=0;t<this.children.length;t++)this.children[t].updateTransform()},e.Stage.prototype.checkVisibility=function(){void 0!==document.hidden?this._hiddenVar="visibilitychange":void 0!==document.webkitHidden?this._hiddenVar="webkitvisibilitychange":void 0!==document.mozHidden?this._hiddenVar="mozvisibilitychange":void 0!==document.msHidden?this._hiddenVar="msvisibilitychange":this._hiddenVar=null;var t=this;this._onChange=function(e){return t.visibilityChange(e)},this._onChangePause=function(){return t._onChange({type:"pause"})},this._onChangeResume=function(){return t._onChange({type:"resume"})},this._onClick=function(e){void 0===document.hasFocus||document.hasFocus()||t.visibilityChange(e)},this._hiddenVar&&document.addEventListener(this._hiddenVar,this._onChange,!1),window.onblur=this._onChange,window.onfocus=this._onChange,window.onpagehide=this._onChange,window.onpageshow=this._onChange,window.addEventListener("click",this._onClick),this.game.device.cocoonJSApp&&CocoonJS.App&&(CocoonJS.App.onSuspended&&CocoonJS.App.onSuspended.addEventListener(this._onChangePause),CocoonJS.App.onActivated&&CocoonJS.App.onActivated.addEventListener(this._onChangeResume),CocoonJS.App.on&&(CocoonJS.App.on("activated",this._onChangeResume),CocoonJS.App.on("suspended",this._onChangePause)))},e.Stage.prototype.visibilityChange=function(t){switch(t.type){case"blur":case"pagehide":return void this.game.focusLoss(t);case"click":case"focus":case"pageshow":return void this.game.focusGain(t)}this.disableVisibilityChange||(document.hidden||document.mozHidden||document.msHidden||document.webkitHidden||"pause"===t.type?this.game.gamePaused(t):this.game.gameResumed(t))},e.Stage.prototype.setBackgroundColor=function(t){this.game.transparent||(e.Color.valueToColor(t,this._bgColor),e.Color.updateColor(this._bgColor),this._bgColor.r/=255,this._bgColor.g/=255,this._bgColor.b/=255,this._bgColor.a=1)},e.Stage.prototype.destroy=function(){this._hiddenVar&&document.removeEventListener(this._hiddenVar,this._onChange,!1),window.onpagehide=null,window.onpageshow=null,window.onblur=null,window.onfocus=null,window.removeEventListener("click",this._onClick)},e.Stage.prototype.add=function(t,e,i){return t.parent===this?t:(t.body&&t.parent&&t.parent.hash&&t.parent.removeFromHash(t),void 0===i?this.addChild(t):this.addChildAt(t,i),t)},Object.defineProperty(e.Stage.prototype,"backgroundColor",{get:function(){return this._bgColor.color},set:function(t){this.setBackgroundColor(t)}}),Object.defineProperty(e.Stage.prototype,"smoothed",{get:function(){return PIXI.scaleModes.DEFAULT===PIXI.scaleModes.LINEAR},set:function(t){PIXI.scaleModes.DEFAULT=t?PIXI.scaleModes.LINEAR:PIXI.scaleModes.NEAREST}}),e.Group=function(t,i,s,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=e.Physics.ARCADE),this.game=t,void 0===i&&(i=t.world),this.name=s||"group",this.z=0,PIXI.DisplayObjectContainer.call(this),n?(this.game.stage.addChild(this),this.z=this.game.stage.children.length):i&&(i.addChild(this),this.z=i.children.length),this.type=e.GROUP,this.physicsType=e.GROUP,this.alive=!0,this.exists=!0,this.ignoreDestroy=!1,this.pendingDestroy=!1,this.classType=e.Sprite,this.cursor=null,this.inputEnableChildren=!1,this.updateOnlyExistingChildren=!1,this.onChildInputDown=new e.Signal,this.onChildInputUp=new e.Signal,this.onChildInputOver=new e.Signal,this.onChildInputOut=new e.Signal,this.enableBody=r,this.enableBodyDebug=!1,this.physicsBodyType=o,this.physicsSortDirection=null,this.onDestroy=new e.Signal,this.cursorIndex=0,this.fixedToCamera=!1,this.cameraOffset=new e.Point,this.hash=[],this._sortProperty="z"},e.Group.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Group.prototype.constructor=e.Group,e.Group.RETURN_NONE=0,e.Group.RETURN_TOTAL=1,e.Group.RETURN_CHILD=2,e.Group.RETURN_ALL=3,e.Group.SORT_ASCENDING=-1,e.Group.SORT_DESCENDING=1,e.Group.prototype.add=function(t,e,i){return void 0===e&&(e=!1),t.parent===this?t:(t.body&&t.parent&&t.parent.hash&&t.parent.removeFromHash(t),void 0===i?(t.z=this.children.length,this.addChild(t)):(this.addChildAt(t,i),this.updateZ()),this.enableBody&&t.hasOwnProperty("body")&&null===t.body?this.game.physics.enable(t,this.physicsBodyType):t.body&&this.addToHash(t),!this.inputEnableChildren||t.input&&!t.inputEnabled||(t.inputEnabled=!0),!e&&t.events&&t.events.onAddedToGroup$dispatch(t,this),null===this.cursor&&(this.cursor=t),t)},e.Group.prototype.addAt=function(t,e,i){return this.add(t,i,e)},e.Group.prototype.addToHash=function(t){return t.parent===this&&-1===this.hash.indexOf(t)&&(this.hash.push(t),!0)},e.Group.prototype.removeFromHash=function(t){if(t){var e=this.hash.indexOf(t);if(-1!==e)return this.hash.splice(e,1),!0}return!1},e.Group.prototype.addMultiple=function(t,i){if(t instanceof e.Group)t.moveAll(this,i);else if(Array.isArray(t))for(var s=0;s<t.length;s++)this.add(t[s],i);return t},e.Group.prototype.getAt=function(t){return t<0||t>=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;h<t;h++){var l=o.create(0,0,e,i,s);n&&n.call(r||l,l,h),a.push(l)}})}),a},e.Group.prototype.updateZ=function(){for(var t=this.children.length;t--;)this.children[t].z=t},e.Group.prototype.align=function(t,i,s,n,r,o){if(void 0===r&&(r=e.TOP_LEFT),void 0===o&&(o=0),0===this.children.length||o>this.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;c<this.children.length;c++){var u=this.children[c];if(u.alignIn)if(u.alignIn(a,r),-1===t)a.y+=n,a.y===l&&(a.x+=s,a.y=0);else if(-1===i)a.x+=s,a.x===h&&(a.x=0,a.y+=n);else if(a.x+=s,a.x===h&&(a.x=0,a.y+=n,a.y===l))return!0}return!0},e.Group.prototype.resetCursor=function(t){if(void 0===t&&(t=0),t>this.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)<this.children.length&&(this.remove(t,!1,!0),this.add(t,!0)),t},e.Group.prototype.bringChildToTop=e.Group.prototype.bringToTop,e.Group.prototype.sendToBack=function(t){return t.parent===this&&this.getIndex(t)>0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)<this.children.length-1){var e=this.getIndex(t),i=this.getAt(e+1);i&&this.swap(t,i)}return t},e.Group.prototype.moveDown=function(t){if(t.parent===this&&this.getIndex(t)>0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){for(var e=0;e<this.children.length;e++)if(this.children[e].name===t)return this.children[e];return null},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o<this.children.length;o++)(!i||i&&this.children[o].alive)&&(!s||s&&this.children[o].visible)&&this.setProperty(this.children[o],t,e,n,r)},e.Group.prototype.setAllChildren=function(t,i,s,n,r,o){void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=!1),r=r||0;for(var a=0;a<this.children.length;a++)(!s||s&&this.children[a].alive)&&(!n||n&&this.children[a].visible)&&(this.children[a]instanceof e.Group?this.children[a].setAllChildren(t,i,s,n,r,o):this.setProperty(this.children[a],t.split("."),i,r,o))},e.Group.prototype.checkAll=function(t,e,i,s,n){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===n&&(n=!1);for(var r=0;r<this.children.length;r++){var o=this.children[r];if((!i||i&&o.alive)&&(!s||s&&o.visible)&&!this.checkProperty(o,t,e,n))return!1}return!0},e.Group.prototype.checkAny=function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1);for(var n=0;n<this.children.length;n++){var r=this.children[n];if((!i||i&&r.alive)&&(!s||s&&r.visible)&&this.checkProperty(r,t,e))return!0}return!1},e.Group.prototype.addAll=function(t,e,i,s){this.setAll(t,e,i,s,1)},e.Group.prototype.subAll=function(t,e,i,s){this.setAll(t,e,i,s,2)},e.Group.prototype.multiplyAll=function(t,e,i,s){this.setAll(t,e,i,s,3)},e.Group.prototype.divideAll=function(t,e,i,s){this.setAll(t,e,i,s,4)},e.Group.prototype.kill=function(){this.alive=!1,this.exists=!1,this.visible=!1},e.Group.prototype.killAll=function(){this.callAllExists("kill",!0)},e.Group.prototype.revive=function(){this.alive=!0,this.exists=!0,this.visible=!0},e.Group.prototype.reviveAll=function(){this.callAllExists("revive",!1)},e.Group.prototype.resetAll=function(t,e,i,s,n){this.forEach(this.resetChild,this,n,t,e,i,s)},e.Group.prototype.callAllExists=function(t,e){var i;if(arguments.length>2){i=[];for(s=2;s<arguments.length;s++)i.push(arguments[s])}for(var s=0;s<this.children.length;s++)this.children[s].exists===e&&this.children[s][t]&&this.children[s][t].apply(this.children[s],i)},e.Group.prototype.callbackFromArray=function(t,e,i){if(1===i){if(t[e[0]])return t[e[0]]}else if(2===i){if(t[e[0]][e[1]])return t[e[0]][e[1]]}else if(3===i){if(t[e[0]][e[1]][e[2]])return t[e[0]][e[1]][e[2]]}else if(4===i){if(t[e[0]][e[1]][e[2]][e[3]])return t[e[0]][e[1]][e[2]][e[3]]}else if(t[e])return t[e];return!1},e.Group.prototype.callAll=function(t,e){if(void 0!==t){var i=(t=t.split(".")).length;if(void 0===e||null===e||""===e)e=null;else if("string"==typeof e)var s=(e=e.split(".")).length;var n;if(arguments.length>2){n=[];for(a=2;a<arguments.length;a++)n.push(arguments[a])}for(var r=null,o=null,a=0;a<this.children.length;a++)r=this.callbackFromArray(this.children[a],t,i),e&&r?(o=this.callbackFromArray(this.children[a],e,s),r&&r.apply(o,n)):r&&r.apply(this.children[a],n)}},e.Group.prototype.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(!this.exists||!this.parent.exists)return this.renderOrderID=-1,!1;for(var t=0;t<this.children.length;){var e=this.children[t];e.preUpdate(),this===e.parent&&t++}return!0},e.Group.prototype.update=function(){for(var t=this.children.length;t--;){var e=this.children.length;t>=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t<this.children.length;t++)this.children[t].postUpdate()},e.Group.prototype.filter=function(t,i){for(var s=-1,n=this.children.length,r=[];++s<n;){var o=this.children[s];(!i||i&&o.exists)&&t(o,s,this.children)&&r.push(o)}return new e.ArraySet(r)},e.Group.prototype.forEach=function(t,e,i){if(void 0===i&&(i=!1),arguments.length<=3)for(n=0;n<this.children.length;n++)(!i||i&&this.children[n].exists)&&t.call(e,this.children[n]);else{for(var s=[null],n=3;n<arguments.length;n++)s.push(arguments[n]);for(n=0;n<this.children.length;n++)(!i||i&&this.children[n].exists)&&(s[0]=this.children[n],t.apply(e,s))}},e.Group.prototype.forEachExists=function(t,i){var s;if(arguments.length>2){s=[null];for(var n=2;n<arguments.length;n++)s.push(arguments[n])}this.iterate("exists",!0,e.Group.RETURN_TOTAL,t,i,s)},e.Group.prototype.forEachAlive=function(t,i){var s;if(arguments.length>2){s=[null];for(var n=2;n<arguments.length;n++)s.push(arguments[n])}this.iterate("alive",!0,e.Group.RETURN_TOTAL,t,i,s)},e.Group.prototype.forEachDead=function(t,i){var s;if(arguments.length>2){s=[null];for(var n=2;n<arguments.length;n++)s.push(arguments[n])}this.iterate("alive",!1,e.Group.RETURN_TOTAL,t,i,s)},e.Group.prototype.sort=function(t,i){this.children.length<2||(void 0===t&&(t="z"),void 0===i&&(i=e.Group.SORT_ASCENDING),this._sortProperty=t,i===e.Group.SORT_ASCENDING?this.children.sort(this.ascendingSortHandler.bind(this)):this.children.sort(this.descendingSortHandler.bind(this)),this.updateZ())},e.Group.prototype.customSort=function(t,e){this.children.length<2||(this.children.sort(t.bind(e)),this.updateZ())},e.Group.prototype.ascendingSortHandler=function(t,e){return t[this._sortProperty]<e[this._sortProperty]?-1:t[this._sortProperty]>e[this._sortProperty]?1:t.z<e.z?-1:1},e.Group.prototype.descendingSortHandler=function(t,e){return t[this._sortProperty]<e[this._sortProperty]?1:t[this._sortProperty]>e[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l<this.children.length;l++)if(this.children[l][t]===i){if(a++,n&&(o?(o[0]=this.children[l],n.apply(r,o)):n.call(r,this.children[l])),s===e.Group.RETURN_CHILD)return this.children[l];s===e.Group.RETURN_ALL&&h.push(this.children[l])}return s===e.Group.RETURN_TOTAL?a:s===e.Group.RETURN_ALL?h:null},e.Group.prototype.getFirst=function(t,i){return this.iterate(t,i,e.Group.RETURN_CHILD)},e.Group.prototype.getFirstExists=function(t,e,i,s,n,r){void 0===e&&(e=!1),"boolean"!=typeof t&&(t=!0);var o=this.getFirst("exists",t);return null===o&&e?this.create(i,s,n,r):this.resetChild(o,i,s,n,r)},e.Group.prototype.getFirstAlive=function(t,e,i,s,n){void 0===t&&(t=!1);var r=this.getFirst("alive",!0);return null===r&&t?this.create(e,i,s,n):this.resetChild(r,e,i,s,n)},e.Group.prototype.getFirstDead=function(t,e,i,s,n){void 0===t&&(t=!1);var r=this.getFirst("alive",!1);return null===r&&t?this.create(e,i,s,n):this.resetChild(r,e,i,s,n)},e.Group.prototype.resetChild=function(t,e,i,s,n){return null===t?null:(void 0===e&&(e=null),void 0===i&&(i=null),null!==e&&null!==i&&t.reset(e,i),void 0!==s&&t.loadTexture(s,n),t)},e.Group.prototype.getTop=function(){if(this.children.length>0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;a<this.children.length;a++){var h=this.children[a];h.exists&&(r=Math.abs(e.Point.distance(t,h)))<n&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.getFurthestFrom=function(t,i,s){for(var n=0,r=0,o=null,a=0;a<this.children.length;a++){var h=this.children[a];h.exists&&(r=Math.abs(e.Point.distance(t,h)))>n&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r<s;r++){var o=this.children[r];t?o[t]===e&&n.push(o):n.push(o)}return n},e.Group.prototype.remove=function(t,e,i){if(void 0===e&&(e=!1),void 0===i&&(i=!1),0===this.children.length||-1===this.children.indexOf(t))return!1;i||!t.events||t.destroyPhase||t.events.onRemovedFromGroup$dispatch(t,this);var s=this.removeChild(t);return this.removeFromHash(t),this.updateZ(),this.cursor===t&&this.next(),e&&s&&s.destroy(!0),!0},e.Group.prototype.moveAll=function(t,i){if(void 0===i&&(i=!1),this.children.length>0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(t<this._width&&(t=this._width),e<this._height&&(e=this._height)),this.bounds.width=t,this.bounds.height=e,this.game.camera.setBoundsToWorld(),this.game.physics.setBoundsToWorld()},e.World.prototype.shutdown=function(){this.destroy(!0,!0)},e.World.prototype.wrap=function(t,e,i,s,n){void 0===e&&(e=0),void 0===i&&(i=!1),void 0===s&&(s=!0),void 0===n&&(n=!0),i?(t.getBounds(),s&&(t.x+t._currentBounds.width<this.bounds.x?t.x=this.bounds.right:t.x>this.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.height<this.bounds.top?t.y=this.bounds.bottom:t.y>this.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+e<this.bounds.x?t.x=this.bounds.right+e:s&&t.x-e>this.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+e<this.bounds.top?t.y=this.bounds.bottom+e:n&&t.y-e>this.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t<this.game.width&&(t=this.game.width),this.bounds.width=t,this._width=t,this._definedSize=!0}}),Object.defineProperty(e.World.prototype,"height",{get:function(){return this.bounds.height},set:function(t){t<this.game.height&&(t=this.game.height),this.bounds.height=t,this._height=t,this._definedSize=!0}}),Object.defineProperty(e.World.prototype,"centerX",{get:function(){return this.bounds.halfWidth+this.bounds.x}}),Object.defineProperty(e.World.prototype,"centerY",{get:function(){return this.bounds.halfHeight+this.bounds.y}}),Object.defineProperty(e.World.prototype,"randomX",{get:function(){return this.bounds.x<0?this.game.rnd.between(this.bounds.x,this.bounds.width-Math.abs(this.bounds.x)):this.game.rnd.between(this.bounds.x,this.bounds.width)}}),Object.defineProperty(e.World.prototype,"randomY",{get:function(){return this.bounds.y<0?this.game.rnd.between(this.bounds.y,this.bounds.height-Math.abs(this.bounds.y)):this.game.rnd.between(this.bounds.y,this.bounds.height)}}),e.Game=function(t,i,s,n,r,o,a,h){return this.id=e.GAMES.push(this)-1,this.config=null,this.physicsConfig=h,this.parent="",this.width=800,this.height=600,this.resolution=1,this._width=800,this._height=600,this.transparent=!1,this.antialias=!0,this.multiTexture=!1,this.preserveDrawingBuffer=!1,this.clearBeforeRender=!0,this.renderer=null,this.renderType=e.AUTO,this.state=null,this.isBooted=!1,this.isRunning=!1,this.raf=null,this.add=null,this.make=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.net=null,this.scale=null,this.sound=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.physics=null,this.plugins=null,this.rnd=null,this.device=e.Device,this.camera=null,this.canvas=null,this.context=null,this.debug=null,this.particles=null,this.create=null,this.lockRender=!1,this.pendingDestroy=!1,this.stepping=!1,this.pendingStep=!1,this.stepCount=0,this.onPause=null,this.onResume=null,this.onBlur=null,this.onFocus=null,this._paused=!1,this._codePaused=!1,this.currentUpdateID=0,this.updatesThisFrame=1,this.rendersThisFrame=1,this._deltaTime=0,this._lastCount=0,this._spiraling=0,this._kickstart=!0,this.fpsProblemNotifier=new e.Signal,this.forceSingleUpdate=!0,this.forceSingleRender=!0,this.dropFrames=!1,this._nextFpsNotification=0,1===arguments.length&&"object"==typeof arguments[0]?this.parseConfig(arguments[0]):(this.config={enableDebug:!0},void 0!==t&&(this._width=t),void 0!==i&&(this._height=i),void 0!==s&&(this.renderType=s),void 0!==n&&(this.parent=n),void 0!==o&&(this.transparent=o),void 0!==a&&(this.antialias=a),this.rnd=new e.RandomDataGenerator([(Date.now()*Math.random()).toString()]),this.state=new e.StateManager(this,r)),this.device.whenReady(this.boot,this),this},e.Game.prototype={parseConfig:function(t){this.config=t,void 0===t.enableDebug&&(this.config.enableDebug=!0),t.width&&(this._width=t.width),t.height&&(this._height=t.height),t.renderer&&(this.renderType=t.renderer),t.parent&&(this.parent=t.parent),void 0!==t.transparent&&(this.transparent=t.transparent),void 0!==t.antialias&&(this.antialias=t.antialias),void 0!==t.clearBeforeRender&&(this.clearBeforeRender=t.clearBeforeRender),void 0!==t.multiTexture&&(this.multiTexture=t.multiTexture),t.resolution&&(this.resolution=t.resolution),void 0!==t.preserveDrawingBuffer&&(this.preserveDrawingBuffer=t.preserveDrawingBuffer),t.physicsConfig&&(this.physicsConfig=t.physicsConfig);var i=[(Date.now()*Math.random()).toString()];t.seed&&(i=t.seed),this.rnd=new e.RandomDataGenerator(i);var s=null;t.state&&(s=t.state),this.state=new e.StateManager(this,s)},boot:function(){this.isBooted||(this.onPause=new e.Signal,this.onResume=new e.Signal,this.onBlur=new e.Signal,this.onFocus=new e.Signal,this.isBooted=!0,PIXI.game=this,this.math=e.Math,this.scale=new e.ScaleManager(this,this._width,this._height),this.stage=new e.Stage(this),this.setUpRenderer(),this.world=new e.World(this),this.add=new e.GameObjectFactory(this),this.make=new e.GameObjectCreator(this),this.cache=new e.Cache(this),this.load=new e.Loader(this),this.time=new e.Time(this),this.tweens=new e.TweenManager(this),this.input=new e.Input(this),this.sound=new e.SoundManager(this),this.physics=new e.Physics(this,this.physicsConfig),this.particles=new e.Particles(this),this.create=new e.Create(this),this.plugins=new e.PluginManager(this),this.net=new e.Net(this),this.time.boot(),this.stage.boot(),this.world.boot(),this.scale.boot(),this.input.boot(this.config),this.sound.boot(),this.state.boot(),this.config.enableDebug?(this.debug=new e.Utils.Debug(this),this.debug.boot()):this.debug={preUpdate:function(){},update:function(){},reset:function(){},isDisabled:!0},this.showDebugHeader(),this.isRunning=!0,this.config&&this.config.forceSetTimeOut?this.raf=new e.RequestAnimationFrame(this,this.config.forceSetTimeOut):this.raf=new e.RequestAnimationFrame(this,!1),this._kickstart=!0,this.focusWindow(),this.config.disableStart||(this.cache.isReady?this.raf.start():this.cache.onReady.addOnce(function(){this.raf.start()},this)))},showDebugHeader:function(){if(!window.PhaserGlobal||!window.PhaserGlobal.hideBanner){var t=e.VERSION,i="Canvas",s="HTML Audio",n=1;if(this.renderType===e.WEBGL?(i="WebGL",n++):this.renderType===e.HEADLESS&&(i="Headless"),this.device.webAudio&&(s="WebAudio",n++),this.device.ie)window.console&&console.log("Phaser v"+t+" | Pixi.js | "+i+" | "+s+" | http://phaser.io");else{for(var r=["%c %c %c Phaser CE v"+t+" | Pixi.js | "+i+" | "+s+"  %c %c %c http://phaser.io %c♥%c♥%c♥","background: #fb8cb3","background: #d44a52","color: #ffffff; background: #871905;","background: #d44a52","background: #fb8cb3","background: #ffffff"],o=0;o<3;o++)o<n?r.push("color: #ff2424; background: #fff"):r.push("color: #959595; background: #fff");console.log.apply(console,r)}}},setUpRenderer:function(){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas 2d context, aborting.");if(this.config.canvas?this.canvas=this.config.canvas:this.canvas=e.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.config.crisp&&e.Canvas.setImageRenderingCrisp(this.canvas),this.renderType===e.WEBGL||this.renderType===e.WEBGL_MULTI||this.renderType===e.AUTO&&this.device.webGL){(this.multiTexture||this.renderType===e.WEBGL_MULTI)&&(PIXI.enableMultiTexture(),this.multiTexture=!0);try{this.renderer=new PIXI.WebGLRenderer(this,this.config),this.renderType=e.WEBGL,this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1)}catch(t){if(PIXI.defaultRenderer=null,this.renderer=null,this.multiTexture=!1,PIXI._enableMultiTextureToggle=!1,this.renderType===e.WEBGL)throw t}}this.renderer||(this.renderer=new PIXI.CanvasRenderer(this,this.config),this.context=this.renderer.context,this.renderType===e.AUTO&&(this.renderType=e.CANVAS)),this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===e.CANVAS),this.renderType!==e.HEADLESS&&(this.stage.smoothed=this.antialias,e.Canvas.addToDOM(this.canvas,this.parent,!1),e.Canvas.setTouchAction(this.canvas))},contextLost:function(t){t.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(t){if(this.pendingDestroy)this.destroy();else{if(this.time.update(t),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i<this._lastCount&&(this._spiraling=0),this._lastCount=i,this.rendersThisFrame>0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter<this.pollRate)this._pollCounter++;else{this.speed.x=this.position.x-this._oldPosition.x,this.speed.y=this.position.y-this._oldPosition.y,this._oldPosition.copyFrom(this.position),this.mousePointer.update(),this.gamepad&&this.gamepad.active&&this.gamepad.update();for(var t=0;t<this.pointers.length;t++)this.pointers[t].update();this._pollCounter=0}},pauseUpdate:function(){this.gamepad&&this.gamepad.active&&this.gamepad.update()},reset:function(t){if(this.game.isBooted&&!this.resetLocked){void 0===t&&(t=!1),this.mousePointer.reset(),this.keyboard&&this.keyboard.reset(t);for(var i=0;i<this.pointers.length;i++)this.pointers[i].reset();"none"!==this.game.canvas.style.cursor&&(this.game.canvas.style.cursor=""),t&&(this.onDown.dispose(),this.onUp.dispose(),this.onTap.dispose(),this.onHold.dispose(),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.moveCallbacks=[]),this._pollCounter=0}},resetSpeed:function(t,e){this._oldPosition.setTo(t,e),this.speed.setTo(0,0)},startPointer:function(t){if(this.maxPointers>=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;e<this.pointers.length;e++){var i=this.pointers[e];if(!i.active)return i.start(t)}return null},updatePointer:function(t){if(this.pointer1.active&&this.pointer1.identifier===t.identifier)return this.pointer1.move(t);if(this.pointer2.active&&this.pointer2.identifier===t.identifier)return this.pointer2.move(t);for(var e=2;e<this.pointers.length;e++){var i=this.pointers[e];if(i.active&&i.identifier===t.identifier)return i.move(t)}return null},stopPointer:function(t){if(this.pointer1.active&&this.pointer1.identifier===t.identifier)return this.pointer1.stop(t);if(this.pointer2.active&&this.pointer2.identifier===t.identifier)return this.pointer2.stop(t);for(var e=2;e<this.pointers.length;e++){var i=this.pointers[e];if(i.active&&i.identifier===t.identifier)return i.stop(t)}return null},countActivePointers:function(t){void 0===t&&(t=this.pointers.length);for(var e=t,i=0;i<this.pointers.length&&e>0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e<this.pointers.length;e++){var i=this.pointers[e];if(i.active===t)return i}return null},getPointerFromIdentifier:function(t){for(var e=0;e<this.pointers.length;e++){var i=this.pointers[e];if(i.identifier===t)return i}return null},getPointerFromId:function(t){for(var e=0;e<this.pointers.length;e++){var i=this.pointers[e];if(i.pointerId===t)return i}return null},getLocalPosition:function(t,i,s){void 0===s&&(s=new e.Point);var n=t.worldTransform,r=1/(n.a*n.d+n.c*-n.b);return s.setTo(n.d*r*i.x+-n.c*r*i.y+(n.ty*n.c-n.tx*n.d)*r,n.a*r*i.y+-n.b*r*i.x+(-n.ty*n.a+n.tx*n.b)*r)},hitTest:function(t,i,s){if(!t.worldVisible)return!1;if(this.getLocalPosition(t,i,this._localPoint),s.copyFrom(this._localPoint),t.hitArea&&t.hitArea.contains)return t.hitArea.contains(this._localPoint.x,this._localPoint.y);if(e.Creature&&t instanceof e.Creature){var n=Math.abs(t.width),r=Math.abs(t.height),o=t.x-n*t.anchorX;if(this.game.camera.x+i.x>=o&&this.game.camera.x+i.x<o+n){a=t.y-r*t.anchorY;if(this.game.camera.y+i.y>=a&&this.game.camera.y+i.y<a+r)return!0}}else if(t instanceof e.TileSprite){var n=t.width,r=t.height,o=-n*t.anchor.x;if(this._localPoint.x>=o&&this._localPoint.x<o+n){a=-r*t.anchor.y;if(this._localPoint.y>=a&&this._localPoint.y<a+r)return!0}}else if(t instanceof PIXI.Sprite){var n=t.texture.frame.width/t.texture.baseTexture.resolution,r=t.texture.frame.height/t.texture.baseTexture.resolution,o=-n*t.anchor.x;if(this._localPoint.x>=o&&this._localPoint.x<o+n){var a=-r*t.anchor.y;if(this._localPoint.y>=a&&this._localPoint.y<a+r)return!0}}else if(t instanceof e.Graphics)for(l=0;l<t.graphicsData.length;l++){var h=t.graphicsData[l];if(h.fill&&(h.shape&&h.shape.contains(this._localPoint.x,this._localPoint.y)))return!0}for(var l=0;l<t.children.length;l++)if(this.hitTest(t.children[l],i,s))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},e.Input.prototype.constructor=e.Input,Object.defineProperty(e.Input.prototype,"x",{get:function(){return this._x},set:function(t){this._x=Math.floor(t)}}),Object.defineProperty(e.Input.prototype,"y",{get:function(){return this._y},set:function(t){this._y=Math.floor(t)}}),Object.defineProperty(e.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounter<this.pollRate}}),Object.defineProperty(e.Input.prototype,"totalInactivePointers",{get:function(){return this.pointers.length-this.countActivePointers()}}),Object.defineProperty(e.Input.prototype,"totalActivePointers",{get:function(){return this.countActivePointers()}}),Object.defineProperty(e.Input.prototype,"worldX",{get:function(){return this.game.camera.view.x+this.x}}),Object.defineProperty(e.Input.prototype,"worldY",{get:function(){return this.game.camera.view.y+this.y}}),e.Mouse=function(t){this.game=t,this.input=t.input,this.callbackContext=this.game,this.mouseDownCallback=null,this.mouseUpCallback=null,this.mouseOutCallback=null,this.mouseOverCallback=null,this.capture=!1,this.active=!1,this.enabled=!0,this.stopOnGameOut=!1,this.event=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null,this._onMouseOut=null,this._onMouseOver=null},e.Mouse.NO_BUTTON=-1,e.Mouse.LEFT_BUTTON=0,e.Mouse.MIDDLE_BUTTON=1,e.Mouse.RIGHT_BUTTON=2,e.Mouse.BACK_BUTTON=3,e.Mouse.FORWARD_BUTTON=4,e.Mouse.WHEEL_UP=1,e.Mouse.WHEEL_DOWN=-1,e.Mouse.prototype={start:function(){var t=this.game.device;if(t.isAndroidStockBrowser()&&this.input.touch.active)return!1;if(null!==this._onMouseDown)return!1;var e=this;this._onMouseDown=function(t){return e.onMouseDown(t)},this._onMouseMove=function(t){return e.onMouseMove(t)},this._onMouseUp=function(t){return e.onMouseUp(t)},this._onMouseUpGlobal=function(t){return e.onMouseUpGlobal(t)},this._onMouseOutGlobal=function(t){return e.onMouseOutGlobal(t)},this._onMouseOut=function(t){return e.onMouseOut(t)},this._onMouseOver=function(t){return e.onMouseOver(t)};var i=this.game.canvas;return i.addEventListener("mousedown",this._onMouseDown,!0),i.addEventListener("mousemove",this._onMouseMove,!0),i.addEventListener("mouseup",this._onMouseUp,!0),t.cocoonJS||(window.addEventListener("mouseup",this._onMouseUpGlobal,!0),window.addEventListener("mouseout",this._onMouseOutGlobal,!0),i.addEventListener("mouseover",this._onMouseOver,!0),i.addEventListener("mouseout",this._onMouseOut,!0)),this.active=!0,!0},onMouseDown:function(t){this.event=t,this.capture&&t.preventDefault(),this.mouseDownCallback&&this.mouseDownCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=0,this.input.mousePointer.start(t))},onMouseMove:function(t){this.event=t,this.capture&&t.preventDefault(),this.mouseMoveCallback&&this.mouseMoveCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=0,this.input.mousePointer.move(t))},onMouseUp:function(t){this.event=t,this.capture&&t.preventDefault(),this.mouseUpCallback&&this.mouseUpCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=0,this.input.mousePointer.stop(t))},onMouseUpGlobal:function(t){this.input.mousePointer.withinGame||(this.mouseUpCallback&&this.mouseUpCallback.call(this.callbackContext,t),t.identifier=0,this.input.mousePointer.stop(t))},onMouseOutGlobal:function(t){this.event=t,this.capture&&t.preventDefault(),this.input.mousePointer.withinGame=!1,this.input.enabled&&this.enabled&&(this.input.mousePointer.stop(t),this.input.mousePointer.resetButtons())},onMouseOut:function(t){if(this.event=t,this.capture&&t.preventDefault(),this.input.mousePointer.withinGame=!1,this.mouseOutCallback&&this.mouseOutCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled){this.stopOnGameOut&&(t.identifier=0,this.input.mousePointer.stop(t));for(var e=this.input.interactiveItems.list,i=e.length;i--;){var s=e[i];s.enabled&&s._pointerOutHandler(this.input.mousePointer)}}},onMouseOver:function(t){this.event=t,this.capture&&t.preventDefault(),this.input.mousePointer.withinGame=!0,this.mouseOverCallback&&this.mouseOverCallback.call(this.callbackContext,t)},releasePointerLock:function(){return console.warn("Deprecated. Please use `input.pointerLock.exit()` instead."),this.input.pointerLock.exit()},requestPointerLock:function(){return console.warn("Deprecated. Please use `input.pointerLock.request()` instead."),this.input.pointerLock.request()},stop:function(){var t=this.game.canvas;t.removeEventListener("mousedown",this._onMouseDown,!0),t.removeEventListener("mousemove",this._onMouseMove,!0),t.removeEventListener("mouseup",this._onMouseUp,!0),t.removeEventListener("mouseover",this._onMouseOver,!0),t.removeEventListener("mouseout",this._onMouseOut,!0),window.removeEventListener("mouseup",this._onMouseUpGlobal,!0),window.removeEventListener("mouseout",this._onMouseOutGlobal,!0),this.active=!1}},e.Mouse.prototype.constructor=e.Mouse,Object.defineProperty(e.Mouse.prototype,"locked",{get:function(){return this.input.pointerLock.locked}}),Object.defineProperty(e.Mouse.prototype,"pointerLock",{get:function(){return this.input.pointerLock.onChange}}),Object.defineProperty(e.Mouse.prototype,"mouseWheelCallback",{get:function(){return this.input.mouseWheel.callback},set:function(t){this.input.mouseWheel.callback=t}}),Object.defineProperty(e.Mouse.prototype,"wheelDelta",{get:function(){return this.input.mouseWheel.delta}}),e.MouseWheel=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.preventDefault=!0,this.active=!1,this.callback=null,this.callbackContext=t,this.delta=0,this.wheelEventName=t.device.wheelEvent,this.boundOnWheelHandler=this.onWheelHandler.bind(this),this.eventProxy=null},e.MouseWheel.UP=1,e.MouseWheel.DOWN=-1,e.MouseWheel.prototype.start=function(){return!(!this.wheelEventName||this.active)&&(this.element.addEventListener(this.wheelEventName,this.boundOnWheelHandler,!0),"mousewheel"===this.wheelEventName?this.eventProxy=new e.WheelEventProxy(-.025,1):"DOMMouseScroll"===this.wheelEventName&&(this.eventProxy=new e.WheelEventProxy(1,1)),this.active=!0,!0)},e.MouseWheel.prototype.stop=function(){this.active&&(this.element.removeEventListener(this.wheelEventName,this.boundOnWheelHandler,!0),this.active=!1)},e.MouseWheel.prototype.onWheelHandler=function(t){this.eventProxy&&(t=this.eventProxy.bindEvent(t)),this.preventDefault&&t.preventDefault(),this.delta=e.Math.clamp(-t.deltaY,-1,1),this.callback&&this.callback.call(this.callbackContext,t)},e.MSPointer=function(t){this.game=t,this.input=t.input,this.callbackContext=this.game,this.pointerDownCallback=null,this.pointerMoveCallback=null,this.pointerUpCallback=null,this.capture=!1,this.event=null,this.active=!1,this.enabled=!0,this._onMSPointerDown=null,this._onMSPointerMove=null,this._onMSPointerUp=null,this._onMSPointerUpGlobal=null,this._onMSPointerOut=null,this._onMSPointerOver=null},e.MSPointer.prototype={start:function(){if(!this.game.device.mspointer)return!1;if(null!==this._onMSPointerDown)return!1;var t=this;this._onMSPointerDown=function(e){return t.onPointerDown(e)},this._onMSPointerMove=function(e){return t.onPointerMove(e)},this._onMSPointerUp=function(e){return t.onPointerUp(e)},this._onMSPointerUpGlobal=function(e){return t.onPointerUpGlobal(e)},this._onMSPointerOut=function(e){return t.onPointerOut(e)},this._onMSPointerOver=function(e){return t.onPointerOver(e)};var e=this.game.canvas;return e.addEventListener("MSPointerDown",this._onMSPointerDown,!1),e.addEventListener("MSPointerMove",this._onMSPointerMove,!1),e.addEventListener("MSPointerUp",this._onMSPointerUp,!1),e.addEventListener("pointerdown",this._onMSPointerDown,!1),e.addEventListener("pointermove",this._onMSPointerMove,!1),e.addEventListener("pointerup",this._onMSPointerUp,!1),e.style["-ms-content-zooming"]="none",e.style["-ms-touch-action"]="none",this.game.device.cocoonJS||(window.addEventListener("MSPointerUp",this._onMSPointerUpGlobal,!0),e.addEventListener("MSPointerOver",this._onMSPointerOver,!0),e.addEventListener("MSPointerOut",this._onMSPointerOut,!0),window.addEventListener("pointerup",this._onMSPointerUpGlobal,!0),e.addEventListener("pointerover",this._onMSPointerOver,!0),e.addEventListener("pointerout",this._onMSPointerOut,!0)),this.active=!0,!0},onPointerDown:function(t){this.game.input.executeTouchLockCallbacks(!1,t),this.event=t,this.capture&&t.preventDefault(),this.pointerDownCallback&&this.pointerDownCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=t.pointerId,"mouse"===t.pointerType||4===t.pointerType?this.input.mousePointer.start(t):this.input.startPointer(t))},onPointerMove:function(t){this.event=t,this.capture&&t.preventDefault(),this.pointerMoveCallback&&this.pointerMoveCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=t.pointerId,"mouse"===t.pointerType||4===t.pointerType?this.input.mousePointer.move(t):this.input.updatePointer(t))},onPointerUp:function(t){this.game.input.executeTouchLockCallbacks(!0,t),this.event=t,this.capture&&t.preventDefault(),this.pointerUpCallback&&this.pointerUpCallback.call(this.callbackContext,t),this.input.enabled&&this.enabled&&(t.identifier=t.pointerId,"mouse"===t.pointerType||4===t.pointerType?this.input.mousePointer.stop(t):this.input.stopPointer(t))},onPointerUpGlobal:function(t){if("mouse"!==t.pointerType&&4!==t.pointerType||this.input.mousePointer.withinGame){var e=this.input.getPointerFromIdentifier(t.identifier);e&&e.withinGame&&this.onPointerUp(t)}else this.onPointerUp(t)},onPointerOut:function(t){if(this.event=t,this.capture&&t.preventDefault(),"mouse"===t.pointerType||4===t.pointerType)this.input.mousePointer.withinGame=!1;else{var e=this.input.getPointerFromIdentifier(t.identifier);e&&(e.withinGame=!1)}this.input.mouse.mouseOutCallback&&this.input.mouse.mouseOutCallback.call(this.input.mouse.callbackContext,t),this.input.enabled&&this.enabled&&this.input.mouse.stopOnGameOut&&(t.identifier=0,e?e.stop(t):this.input.mousePointer.stop(t))},onPointerOver:function(t){if(this.event=t,this.capture&&t.preventDefault(),"mouse"===t.pointerType||4===t.pointerType)this.input.mousePointer.withinGame=!0;else{var e=this.input.getPointerFromIdentifier(t.identifier);e&&(e.withinGame=!0)}this.input.mouse.mouseOverCallback&&this.input.mouse.mouseOverCallback.call(this.input.mouse.callbackContext,t)},stop:function(){var t=this.game.canvas;t.removeEventListener("MSPointerDown",this._onMSPointerDown,!1),t.removeEventListener("MSPointerMove",this._onMSPointerMove,!1),t.removeEventListener("MSPointerUp",this._onMSPointerUp,!1),t.removeEventListener("pointerdown",this._onMSPointerDown,!1),t.removeEventListener("pointermove",this._onMSPointerMove,!1),t.removeEventListener("pointerup",this._onMSPointerUp,!1),window.removeEventListener("MSPointerUp",this._onMSPointerUpGlobal,!0),t.removeEventListener("MSPointerOver",this._onMSPointerOver,!0),t.removeEventListener("MSPointerOut",this._onMSPointerOut,!0),window.removeEventListener("pointerup",this._onMSPointerUpGlobal,!0),t.removeEventListener("pointerover",this._onMSPointerOver,!0),t.removeEventListener("pointerout",this._onMSPointerOut,!0),this.active=!1}},e.MSPointer.prototype.constructor=e.MSPointer,e.DeviceButton=function(t,i){this.parent=t,this.game=t.game,this.event=null,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1,this.value=0,this.buttonCode=i,this.onDown=new e.Signal,this.onUp=new e.Signal,this.onFloat=new e.Signal},e.DeviceButton.prototype={start:function(t,e){this.isDown||(this.isDown=!0,this.isUp=!1,this.timeDown=this.game.time.time,this.repeats=0,this.event=t,this.value=e,t&&(this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.ctrlKey=t.ctrlKey),this.onDown.dispatch(this,e))},stop:function(t,e){this.isUp||(this.isDown=!1,this.isUp=!0,this.timeUp=this.game.time.time,this.event=t,this.value=e,t&&(this.altKey=t.altKey,this.shiftKey=t.shiftKey,this.ctrlKey=t.ctrlKey),this.onUp.dispatch(this,e))},startStop:function(t,e,i){t?this.start(e,i):this.stop(e,i)},padFloat:function(t){this.isDown=!1,this.isUp=!1,this.value=t,this.onFloat.dispatch(this,t)},justPressed:function(t){return t=t||250,this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){t===e.Mouse.LEFT_BUTTON&&this.leftButton.start(i),t===e.Mouse.RIGHT_BUTTON&&this.rightButton.start(i),t===e.Mouse.MIDDLE_BUTTON&&this.middleButton.start(i),t===e.Mouse.BACK_BUTTON&&this.backButton.start(i),t===e.Mouse.FORWARD_BUTTON&&this.forwardButton.start(i)},processButtonsUp:function(t,i){t===e.Mouse.LEFT_BUTTON&&this.leftButton.stop(i),t===e.Mouse.RIGHT_BUTTON&&this.rightButton.stop(i),t===e.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(i),t===e.Mouse.BACK_BUTTON&&this.backButton.stop(i),t===e.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(i)},processButtonsUpDown:function(t,i){var s="down"===i.type.toLowerCase().substr(-4),n="move"===i.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?s&&i.ctrlKey&&0===i.button?this.rightButton.start(i):s?this.processButtonsDown(i.button,i):n||this.processButtonsUp(i.button,i):s?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime<i.doubleTapRate;i.onTap.dispatch(this,s,t),this.previousTapTime=this.timeUp}return this.isMouse?this.updateButtons(t):(this.isDown=!1,this.isUp=!0),this.id>0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.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;r<n.length;r++)if(n[r].name===t){n.splice(r,1);break}n.push({name:t,targetObject:this.targetObject,callback:e,callbackContext:i,callbackArgs:s})}},processClickTrampolines:function(){var t=this._clickTrampolines;if(t){for(var e=0;e<t.length;e++){var i=t[e];i.targetObject===this._trampolineTargetObject&&i.callback.apply(i.callbackContext,i.callbackArgs)}this._clickTrampolines=null,this._trampolineTargetObject=null}},reset:function(){!1===this.isMouse&&(this.active=!1),this.pointerId=null,this.identifier=null,this.dirty=!1,this.totalTouches=0,this._holdSent=!1,this._history.length=0,this._stateReset=!0,this.resetButtons(),this.targetObject&&this.targetObject._releasedHandler(this),this.targetObject=null},resetMovement:function(){this.movementX=0,this.movementY=0}},e.Pointer.prototype.constructor=e.Pointer,Object.defineProperty(e.Pointer.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),Object.defineProperty(e.Pointer.prototype,"worldX",{get:function(){return this.game.world.camera.x+this.x}}),Object.defineProperty(e.Pointer.prototype,"worldY",{get:function(){return this.game.world.camera.y+this.y}}),e.PointerMode={CURSOR:1,CONTACT:2},e.PointerModes={},e.PointerModes[e.PointerMode.CURSOR]="CURSOR",e.PointerModes[e.PointerMode.CONTACT]="CONTACT",e.Touch=function(t){this.game=t,this.active=!1,this.enabled=!0,this.callbackContext=this.game,this.touchStartCallback=null,this.touchMoveCallback=null,this.touchEndCallback=null,this.touchEnterCallback=null,this.touchLeaveCallback=null,this.touchCancelCallback=null,this.preventDefault=!0,this.event=null,this._onTouchStart=null,this._onTouchMove=null,this._onTouchEnd=null,this._onTouchEnter=null,this._onTouchLeave=null,this._onTouchCancel=null,this._onTouchMove=null},e.Touch.prototype={start:function(){if(!this.game.device.touch)return!1;if(null!==this._onTouchStart)return!1;var t=this;return this._onTouchStart=function(e){return t.onTouchStart(e)},this._onTouchMove=function(e){return t.onTouchMove(e)},this._onTouchEnd=function(e){return t.onTouchEnd(e)},this._onTouchEnter=function(e){return t.onTouchEnter(e)},this._onTouchLeave=function(e){return t.onTouchLeave(e)},this._onTouchCancel=function(e){return t.onTouchCancel(e)},this.game.canvas.addEventListener("touchstart",this._onTouchStart,!1),this.game.canvas.addEventListener("touchmove",this._onTouchMove,!1),this.game.canvas.addEventListener("touchend",this._onTouchEnd,!1),this.game.canvas.addEventListener("touchcancel",this._onTouchCancel,!1),this.game.device.cocoonJS||(this.game.canvas.addEventListener("touchenter",this._onTouchEnter,!1),this.game.canvas.addEventListener("touchleave",this._onTouchLeave,!1)),this.active=!0,!0},consumeDocumentTouches:function(){this._documentTouchMove=function(t){t.preventDefault()},document.addEventListener("touchmove",this._documentTouchMove,!1)},onTouchStart:function(t){if(this.game.input.executeTouchLockCallbacks(!1,t),this.event=t,this.game.input.enabled&&this.enabled){this.touchStartCallback&&this.touchStartCallback.call(this.callbackContext,t),this.preventDefault&&t.preventDefault();for(var e=0;e<t.changedTouches.length;e++)this.game.input.startPointer(t.changedTouches[e])}},onTouchCancel:function(t){if(this.event=t,this.touchCancelCallback&&this.touchCancelCallback.call(this.callbackContext,t),this.game.input.enabled&&this.enabled){this.preventDefault&&t.preventDefault();for(var e=0;e<t.changedTouches.length;e++)this.game.input.stopPointer(t.changedTouches[e])}},onTouchEnter:function(t){this.event=t,this.touchEnterCallback&&this.touchEnterCallback.call(this.callbackContext,t),this.game.input.enabled&&this.enabled&&this.preventDefault&&t.preventDefault()},onTouchLeave:function(t){this.event=t,this.touchLeaveCallback&&this.touchLeaveCallback.call(this.callbackContext,t),this.preventDefault&&t.preventDefault()},onTouchMove:function(t){this.event=t,this.touchMoveCallback&&this.touchMoveCallback.call(this.callbackContext,t),this.preventDefault&&t.preventDefault();for(var e=0;e<t.changedTouches.length;e++)this.game.input.updatePointer(t.changedTouches[e])},onTouchEnd:function(t){this.game.input.executeTouchLockCallbacks(!0,t),this.event=t,this.touchEndCallback&&this.touchEndCallback.call(this.callbackContext,t),this.preventDefault&&t.preventDefault();for(var e=0;e<t.changedTouches.length;e++)this.game.input.stopPointer(t.changedTouches[e])},stop:function(){this.game.device.touch&&(this.game.canvas.removeEventListener("touchstart",this._onTouchStart),this.game.canvas.removeEventListener("touchmove",this._onTouchMove),this.game.canvas.removeEventListener("touchend",this._onTouchEnd),this.game.canvas.removeEventListener("touchenter",this._onTouchEnter),this.game.canvas.removeEventListener("touchleave",this._onTouchLeave),this.game.canvas.removeEventListener("touchcancel",this._onTouchCancel),this.active=!1)}},e.Touch.prototype.constructor=e.Touch,e.InputHandler=function(t){this.sprite=t,this.game=t.game,this.enabled=!1,this.checked=!1,this.priorityID=0,this.useHandCursor=!1,this._setHandCursor=!1,this.isDragged=!1,this.allowHorizontalDrag=!0,this.allowVerticalDrag=!0,this.bringToTop=!1,this.snapOffset=null,this.snapOnDrag=!1,this.snapOnRelease=!1,this.snapX=0,this.snapY=0,this.snapOffsetX=0,this.snapOffsetY=0,this.pixelPerfectOver=!1,this.pixelPerfectClick=!1,this.pixelPerfectAlpha=255,this.draggable=!1,this.boundsRect=null,this.boundsSprite=null,this.scaleLayer=!1,this.dragOffset=new e.Point,this.dragFromCenter=!1,this.dragStopBlocksInputUp=!1,this.dragStartPoint=new e.Point,this.dragDistanceThreshold=0,this.dragTimeThreshold=0,this.downPoint=new e.Point,this.snapPoint=new e.Point,this._dragPoint=new e.Point,this._dragPhase=!1,this._pendingDrag=!1,this._dragTimePass=!1,this._dragDistancePass=!1,this._wasEnabled=!1,this._tempPoint=new e.Point,this._pointerData=[],this._pointerData.push({id:0,x:0,y:0,camX:0,camY:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1})},e.InputHandler.prototype={start:function(t,i){if(t=t||0,void 0===i&&(i=!1),!1===this.enabled){this.game.input.interactiveItems.add(this),this.useHandCursor=i,this.priorityID=t;for(var s=0;s<10;s++)this._pointerData[s]={id:s,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new e.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1;for(var t=0;t<10;t++)this._pointerData[t]={id:t,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){!1!==this.enabled&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(t,e,i){return void 0===i&&(i=!0),!(!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityID<this.game.input.minPriorityID||this.sprite.parent&&this.sprite.parent.ignoreChildInput)&&(!(!i&&(this.pixelPerfectClick||this.pixelPerfectOver))&&(this.priorityID>t||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,t<this.sprite.texture.crop.x||t>this.sprite.texture.crop.right||e<this.sprite.texture.crop.y||e>this.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)<e},justOut:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOut&&this.game.time.time-this._pointerData[t].timeOut<e},justPressed:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isDown&&this.downDuration(t)<e},justReleased:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isUp&&this.game.time.time-this._pointerData[t].timeUp<e},overDuration:function(t){return t=t||0,this._pointerData[t].isOver?this.game.time.time-this._pointerData[t].timeOver:-1},downDuration:function(t){return t=t||0,this._pointerData[t].isDown?this.game.time.time-this._pointerData[t].timeDown:-1},enableDrag:function(t,i,s,n,r,o){void 0===t&&(t=!1),void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===n&&(n=255),void 0===r&&(r=null),void 0===o&&(o=null),this._dragPoint=new e.Point,this.draggable=!0,this.bringToTop=i,this.dragOffset=new e.Point,this.dragFromCenter=t,this.pixelPerfectClick=s,this.pixelPerfectAlpha=n,r&&(this.boundsRect=r),o&&(this.boundsSprite=o)},disableDrag:function(){if(this._pointerData)for(var t=0;t<10;t++)this._pointerData[t].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1,this._pendingDrag=!1},startDrag:function(t){var i=this.sprite.x,s=this.sprite.y,n=this.globalToLocal(t);if(this.isDragged=!0,this._draggedPointerID=t.id,this._pointerData[t.id].camX=this.game.camera.x,this._pointerData[t.id].camY=this.game.camera.y,this._pointerData[t.id].isDragged=!0,this.sprite.fixedToCamera){if(this.dragFromCenter){var r=this.sprite.getBounds(),o=this.globalToLocal(new e.Point(r.centerX,r.centerY));this.sprite.cameraOffset.x=n.x+(this.sprite.cameraOffset.x-o.x),this.sprite.cameraOffset.y=n.y+(this.sprite.cameraOffset.y-o.y)}this._dragPoint.setTo(this.sprite.cameraOffset.x-t.x,this.sprite.cameraOffset.y-t.y)}else{if(this.dragFromCenter){var r=this.sprite.getBounds(),o=this.globalToLocal(new e.Point(r.centerX,r.centerY));this.sprite.x=n.x+(this.sprite.x-o.x),this.sprite.y=n.y+(this.sprite.y-o.y)}this._dragPoint.setTo(this.sprite.x-n.x,this.sprite.y-n.y)}this.updateDrag(t,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(i,s),this.sprite.events.onDragStart$dispatch(this.sprite,t,i,s),this._pendingDrag=!1},globalToLocalX:function(t){return this.scaleLayer&&(t-=this.game.scale.grid.boundsFluid.x,t*=this.game.scale.grid.scaleFluidInversed.x),t},globalToLocalY:function(t){return this.scaleLayer&&(t-=this.game.scale.grid.boundsFluid.y,t*=this.game.scale.grid.scaleFluidInversed.y),t},globalToLocal:function(t){return this.sprite.parent?this.game.input.getLocalPosition(this.sprite.parent,{x:t.x,y:t.y}):t},stopDrag:function(t){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[t.id].isDragged=!1,this._dragPhase=!1,this._pendingDrag=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(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.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.sprite.events.onDragStop$dispatch(this.sprite,t),!1===this.checkPointerOver(t)&&this._pointerOutHandler(t)},setDragLock:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!0),this.allowHorizontalDrag=t,this.allowVerticalDrag=e},enableSnap:function(t,e,i,s,n,r){void 0===i&&(i=!0),void 0===s&&(s=!1),void 0===n&&(n=0),void 0===r&&(r=0),this.snapX=t,this.snapY=e,this.snapOffsetX=n,this.snapOffsetY=r,this.snapOnDrag=i,this.snapOnRelease=s},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.x<this.boundsRect.left?this.sprite.cameraOffset.x=this.boundsRect.left:this.sprite.cameraOffset.x+this.sprite.width>this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.y<this.boundsRect.top?this.sprite.cameraOffset.y=this.boundsRect.top:this.sprite.cameraOffset.y+this.sprite.height>this.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.left<this.boundsRect.left?this.sprite.x=this.boundsRect.x+this.sprite.offsetX:this.sprite.right>this.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.top<this.boundsRect.top?this.sprite.y=this.boundsRect.top+this.sprite.offsetY:this.sprite.bottom>this.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.x<this.boundsSprite.cameraOffset.x?this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x:this.sprite.cameraOffset.x+this.sprite.width>this.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.y<this.boundsSprite.cameraOffset.y?this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y:this.sprite.cameraOffset.y+this.sprite.height>this.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.left<this.boundsSprite.left?this.sprite.x=this.boundsSprite.left+this.sprite.offsetX:this.sprite.right>this.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.top<this.boundsSprite.top?this.sprite.y=this.boundsSprite.top+this.sprite.offsetY:this.sprite.bottom>this.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i<t.length&&(typeof t[i]!==this._prevRawGamepadTypes[i]&&(e=!0,this._prevRawGamepadTypes[i]=typeof t[i]),t[i]&&this._rawPads.push(t[i]),3!==i);i++);for(var s=0;s<this._gamepads.length;s++)this._gamepads[s]._rawPad=this._rawPads[s];if(e){for(var n,r={rawIndices:{},padIndices:{}},o=0;o<this._gamepads.length;o++)if((n=this._gamepads[o]).connected)for(var a=0;a<this._rawPads.length;a++)this._rawPads[a].index===n.index&&(r.rawIndices[n.index]=!0,r.padIndices[o]=!0);for(var h=0;h<this._gamepads.length;h++)if(n=this._gamepads[h],!r.padIndices[h]){this._rawPads.length<1&&n.disconnect();for(var l=0;l<this._rawPads.length&&!r.padIndices[h];l++){var c=this._rawPads[l];if(c){if(r.rawIndices[c.index]){n.disconnect();continue}n.connect(c),r.rawIndices[c.index]=!0,r.padIndices[h]=!0}else n.disconnect()}}}}}},setDeadZones:function(t){for(var e=0;e<this._gamepads.length;e++)this._gamepads[e].deadZone=t},stop:function(){this._active=!1,window.removeEventListener("gamepadconnected",this._onGamepadConnected),window.removeEventListener("gamepaddisconnected",this._onGamepadDisconnected)},reset:function(){this.update();for(var t=0;t<this._gamepads.length;t++)this._gamepads[t].reset()},justPressed:function(t,e){for(var i=0;i<this._gamepads.length;i++)if(!0===this._gamepads[i].justPressed(t,e))return!0;return!1},justReleased:function(t,e){for(var i=0;i<this._gamepads.length;i++)if(!0===this._gamepads[i].justReleased(t,e))return!0;return!1},isDown:function(t){for(var e=0;e<this._gamepads.length;e++)if(!0===this._gamepads[e].isDown(t))return!0;return!1},destroy:function(){this.stop();for(var t=0;t<this._gamepads.length;t++)this._gamepads[t].destroy()}},e.Gamepad.prototype.constructor=e.Gamepad,Object.defineProperty(e.Gamepad.prototype,"active",{get:function(){return this._active}}),Object.defineProperty(e.Gamepad.prototype,"supported",{get:function(){return this._gamepadSupportAvailable}}),Object.defineProperty(e.Gamepad.prototype,"padsConnected",{get:function(){return this._rawPads.length}}),Object.defineProperty(e.Gamepad.prototype,"pad1",{get:function(){return this._gamepads[0]}}),Object.defineProperty(e.Gamepad.prototype,"pad2",{get:function(){return this._gamepads[1]}}),Object.defineProperty(e.Gamepad.prototype,"pad3",{get:function(){return this._gamepads[2]}}),Object.defineProperty(e.Gamepad.prototype,"pad4",{get:function(){return this._gamepads[3]}}),e.Gamepad.BUTTON_0=0,e.Gamepad.BUTTON_1=1,e.Gamepad.BUTTON_2=2,e.Gamepad.BUTTON_3=3,e.Gamepad.BUTTON_4=4,e.Gamepad.BUTTON_5=5,e.Gamepad.BUTTON_6=6,e.Gamepad.BUTTON_7=7,e.Gamepad.BUTTON_8=8,e.Gamepad.BUTTON_9=9,e.Gamepad.BUTTON_10=10,e.Gamepad.BUTTON_11=11,e.Gamepad.BUTTON_12=12,e.Gamepad.BUTTON_13=13,e.Gamepad.BUTTON_14=14,e.Gamepad.BUTTON_15=15,e.Gamepad.AXIS_0=0,e.Gamepad.AXIS_1=1,e.Gamepad.AXIS_2=2,e.Gamepad.AXIS_3=3,e.Gamepad.AXIS_4=4,e.Gamepad.AXIS_5=5,e.Gamepad.AXIS_6=6,e.Gamepad.AXIS_7=7,e.Gamepad.AXIS_8=8,e.Gamepad.AXIS_9=9,e.Gamepad.XBOX360_A=0,e.Gamepad.XBOX360_B=1,e.Gamepad.XBOX360_X=2,e.Gamepad.XBOX360_Y=3,e.Gamepad.XBOX360_LEFT_BUMPER=4,e.Gamepad.XBOX360_RIGHT_BUMPER=5,e.Gamepad.XBOX360_LEFT_TRIGGER=6,e.Gamepad.XBOX360_RIGHT_TRIGGER=7,e.Gamepad.XBOX360_BACK=8,e.Gamepad.XBOX360_START=9,e.Gamepad.XBOX360_STICK_LEFT_BUTTON=10,e.Gamepad.XBOX360_STICK_RIGHT_BUTTON=11,e.Gamepad.XBOX360_DPAD_LEFT=14,e.Gamepad.XBOX360_DPAD_RIGHT=15,e.Gamepad.XBOX360_DPAD_UP=12,e.Gamepad.XBOX360_DPAD_DOWN=13,e.Gamepad.XBOX360_STICK_LEFT_X=0,e.Gamepad.XBOX360_STICK_LEFT_Y=1,e.Gamepad.XBOX360_STICK_RIGHT_X=2,e.Gamepad.XBOX360_STICK_RIGHT_Y=3,e.Gamepad.PS3XC_X=0,e.Gamepad.PS3XC_CIRCLE=1,e.Gamepad.PS3XC_SQUARE=2,e.Gamepad.PS3XC_TRIANGLE=3,e.Gamepad.PS3XC_L1=4,e.Gamepad.PS3XC_R1=5,e.Gamepad.PS3XC_L2=6,e.Gamepad.PS3XC_R2=7,e.Gamepad.PS3XC_SELECT=8,e.Gamepad.PS3XC_START=9,e.Gamepad.PS3XC_STICK_LEFT_BUTTON=10,e.Gamepad.PS3XC_STICK_RIGHT_BUTTON=11,e.Gamepad.PS3XC_DPAD_UP=12,e.Gamepad.PS3XC_DPAD_DOWN=13,e.Gamepad.PS3XC_DPAD_LEFT=14,e.Gamepad.PS3XC_DPAD_RIGHT=15,e.Gamepad.PS3XC_STICK_LEFT_X=0,e.Gamepad.PS3XC_STICK_LEFT_Y=1,e.Gamepad.PS3XC_STICK_RIGHT_X=2,e.Gamepad.PS3XC_STICK_RIGHT_Y=3,e.SinglePad=function(t,e){this.game=t,this.index=null,this.connected=!1,this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this.deadZone=.26,this._padParent=e,this._rawPad=null,this._prevTimestamp=null,this._buttons=[],this._buttonsLen=0,this._axes=[],this._axesLen=0},e.SinglePad.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)},getButton:function(t){return this._buttons[t]?this._buttons[t]:null},pollStatus:function(){if(this.connected&&this.game.input.enabled&&this.game.input.gamepad.enabled&&(!this._rawPad.timestamp||this._rawPad.timestamp!==this._prevTimestamp)){for(var t=0;t<this._buttonsLen;t++){var e=isNaN(this._rawPad.buttons[t])?this._rawPad.buttons[t].value:this._rawPad.buttons[t];e!==this._buttons[t].value&&(1===e?this.processButtonDown(t,e):0===e?this.processButtonUp(t,e):this.processButtonFloat(t,e))}for(var i=0;i<this._axesLen;i++){var s=this._rawPad.axes[i];s>0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;s<this._axesLen;s++)this._axes[s]=t.axes[s];for(var n in t.buttons)n=parseInt(n,10),this._buttons[n]=new e.DeviceButton(this,n);i&&this._padParent.onConnectCallback&&this._padParent.onConnectCallback.call(this._padParent.callbackContext,this.index),i&&this.onConnectCallback&&this.onConnectCallback.call(this.callbackContext)},disconnect:function(){var t=this.connected,e=this.index;this.connected=!1,this.index=null,this._rawPad=void 0;for(var i=0;i<this._buttonsLen;i++)this._buttons[i].destroy();this._buttons=[],this._buttonsLen=0,this._axes=[],this._axesLen=0,t&&this._padParent.onDisconnectCallback&&this._padParent.onDisconnectCallback.call(this._padParent.callbackContext,e),t&&this.onDisconnectCallback&&this.onDisconnectCallback.call(this.callbackContext)},destroy:function(){this._rawPad=void 0;for(var t=0;t<this._buttonsLen;t++)this._buttons[t].destroy();this._buttons=[],this._buttonsLen=0,this._axes=[],this._axesLen=0,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null},processAxisChange:function(t,e){this._axes[t]!==e&&(this._axes[t]=e,this._padParent.onAxisCallback&&this._padParent.onAxisCallback.call(this._padParent.callbackContext,this,t,e),this.onAxisCallback&&this.onAxisCallback.call(this.callbackContext,this,t,e))},processButtonDown:function(t,e){this._buttons[t]&&this._buttons[t].start(null,e),this._padParent.onDownCallback&&this._padParent.onDownCallback.call(this._padParent.callbackContext,t,e,this.index),this.onDownCallback&&this.onDownCallback.call(this.callbackContext,t,e)},processButtonUp:function(t,e){this._padParent.onUpCallback&&this._padParent.onUpCallback.call(this._padParent.callbackContext,t,e,this.index),this.onUpCallback&&this.onUpCallback.call(this.callbackContext,t,e),this._buttons[t]&&this._buttons[t].stop(null,e)},processButtonFloat:function(t,e){this._padParent.onFloatCallback&&this._padParent.onFloatCallback.call(this._padParent.callbackContext,t,e,this.index),this.onFloatCallback&&this.onFloatCallback.call(this.callbackContext,t,e),this._buttons[t]&&this._buttons[t].padFloat(e)},axis:function(t){return!!this._axes[t]&&this._axes[t]},isDown:function(t){return!!this._buttons[t]&&this._buttons[t].isDown},isUp:function(t){return!!this._buttons[t]&&this._buttons[t].isUp},justReleased:function(t,e){if(this._buttons[t])return this._buttons[t].justReleased(e)},justPressed:function(t,e){if(this._buttons[t])return this._buttons[t].justPressed(e)},buttonValue:function(t){return this._buttons[t]?this._buttons[t].value:null},reset:function(){for(var t=0;t<this._axes.length;t++)this._axes[t]=0}},e.SinglePad.prototype.constructor=e.SinglePad,e.Key=function(t,i){this.game=t,this._enabled=!0,this.event=null,this.isDown=!1,this.isUp=!0,this.altKey=!1,this.ctrlKey=!1,this.shiftKey=!1,this.timeDown=0,this.duration=0,this.timeUp=-2500,this.durationUp=-2500,this.repeats=0,this.keyCode=i,this.onDown=new e.Signal,this.onHoldCallback=null,this.onHoldContext=null,this.onUp=new e.Signal,this._justDown=!1,this._justUp=!1},e.Key.prototype={update:function(){this._enabled&&(this.isDown?(this.duration=this.game.time.time-this.timeDown,this.repeats++,this.onHoldCallback&&this.onHoldCallback.call(this.onHoldContext,this)):this.durationUp=this.game.time.time-this.timeUp)},processKeyDown:function(t){this._enabled&&(this.event=t,this.isDown||(this.altKey=t.altKey,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.isDown=!0,this.isUp=!1,this.timeDown=this.game.time.time,this.duration=0,this.durationUp=this.game.time.time-this.timeUp,this.repeats=0,this._justDown=!0,this.onDown.dispatch(this)))},processKeyUp:function(t){this._enabled&&(this.event=t,this.isUp||(this.isDown=!1,this.isUp=!0,this.timeUp=this.game.time.time,this.duration=this.game.time.time-this.timeDown,this.durationUp=0,this._justUp=!0,this.onUp.dispatch(this)))},reset:function(t){void 0===t&&(t=!0),this.isDown=!1,this.isUp=!0,this.timeUp=this.game.time.time,this.duration=0,this.durationUp=-2500,this._enabled=!0,this._justDown=!1,this._justUp=!1,t&&(this.onDown.removeAll(),this.onUp.removeAll(),this.onHoldCallback=null,this.onHoldContext=null)},downDuration:function(t){return void 0===t&&(t=50),this.isDown&&this.duration<t},upDuration:function(t){return void 0===t&&(t=50),!this.isDown&&this.game.time.time-this.timeUp<t},justPressed:function(){return this.isDown&&0===this.duration},justReleased:function(){return!this.isDown&&0===this.durationUp}},Object.defineProperty(e.Key.prototype,"justDown",{get:function(){var t=this._justDown;return this._justDown=!1,t}}),Object.defineProperty(e.Key.prototype,"justUp",{get:function(){var t=this._justUp;return this._justUp=!1,t}}),Object.defineProperty(e.Key.prototype,"enabled",{get:function(){return this._enabled},set:function(t){(t=!!t)!==this._enabled&&(t||this.reset(!1),this._enabled=t)}}),e.Key.prototype.constructor=e.Key,e.Keyboard=function(t){this.game=t,this.active=!1,this.enabled=!0,this.event=null,this.pressEvent=null,this.callbackContext=this,this.onDownCallback=null,this.onPressCallback=null,this.onUpCallback=null,this._keys=[],this._capture=[],this._onKeyDown=null,this._onKeyPress=null,this._onKeyUp=null,this._i=0,this._k=0},e.Keyboard.prototype={addCallbacks:function(t,e,i,s){this.callbackContext=t,void 0!==e&&null!==e&&(this.onDownCallback=e),void 0!==i&&null!==i&&(this.onUpCallback=i),void 0!==s&&null!==s&&(this.onPressCallback=s)},removeCallbacks:function(){this.callbackContext=this,this.onDownCallback=null,this.onUpCallback=null,this.onPressCallback=null},addKey:function(t){return this._keys[t]||(this._keys[t]=new e.Key(this.game,t),this.addKeyCapture(t)),this._keys[t]},addKeys:function(t){var e={};for(var i in t)e[i]=this.addKey(t[i]);return e},removeKey:function(t){this._keys[t]&&(this._keys[t]=null,this.removeKeyCapture(t))},createCursorKeys:function(){return this.addKeys({up:e.KeyCode.UP,down:e.KeyCode.DOWN,left:e.KeyCode.LEFT,right:e.KeyCode.RIGHT})},start:function(){if(this.game.device.cocoonJS)return!1;if(this.active)return!1;var t=this;return this._onKeyDown=function(e){return t.processKeyDown(e)},this._onKeyUp=function(e){return t.processKeyUp(e)},this._onKeyPress=function(e){return t.processKeyPress(e)},window.addEventListener("keydown",this._onKeyDown,!1),window.addEventListener("keyup",this._onKeyUp,!1),window.addEventListener("keypress",this._onKeyPress,!1),this.active=!0,!0},stop:function(){window.removeEventListener("keydown",this._onKeyDown),window.removeEventListener("keyup",this._onKeyUp),window.removeEventListener("keypress",this._onKeyPress),this._onKeyDown=null,this._onKeyUp=null,this._onKeyPress=null,this.active=!1},destroy:function(){this.stop(),this.clearCaptures(),this._keys.length=0,this._i=0},addKeyCapture:function(t){if("object"==typeof t)for(var e in t)this._capture[t[e]]=!0;else this._capture[t]=!0},removeKeyCapture:function(t){delete this._capture[t]},clearCaptures:function(){this._capture={}},update:function(){for(this._i=this._keys.length;this._i--;)this._keys[this._i]&&this._keys[this._i].update()},processKeyDown:function(t){if(this.event=t,this.game.input.enabled&&this.enabled){var i=t.keyCode;this._capture[i]&&t.preventDefault(),this._keys[i]||(this._keys[i]=new e.Key(this.game,i)),this._keys[i].processKeyDown(t),this._k=i,this.onDownCallback&&this.onDownCallback.call(this.callbackContext,t)}},processKeyPress:function(t){this.pressEvent=t,this.game.input.enabled&&this.enabled&&this.onPressCallback&&this.onPressCallback.call(this.callbackContext,String.fromCharCode(t.charCode),t)},processKeyUp:function(t){if(this.event=t,this.game.input.enabled&&this.enabled){var i=t.keyCode;this._capture[i]&&t.preventDefault(),this._keys[i]||(this._keys[i]=new e.Key(this.game,i)),this._keys[i].processKeyUp(t),this.onUpCallback&&this.onUpCallback.call(this.callbackContext,t)}},reset:function(t){void 0===t&&(t=!0),this.event=null;for(var e=this._keys.length;e--;)this._keys[e]&&this._keys[e].reset(t)},downDuration:function(t,e){return this._keys[t]?this._keys[t].downDuration(e):null},upDuration:function(t,e){return this._keys[t]?this._keys[t].upDuration(e):null},justPressed:function(t){return this._keys[t]?this._keys[t].justPressed():null},justReleased:function(t){return this._keys[t]?this._keys[t].justReleased():null},isDown:function(t){return this._keys[t]?this._keys[t].isDown:null}},Object.defineProperty(e.Keyboard.prototype,"lastChar",{get:function(){return this.event&&32===this.event.charCode?"":this.pressEvent?String.fromCharCode(this.pressEvent.charCode):null}}),Object.defineProperty(e.Keyboard.prototype,"lastKey",{get:function(){return this._keys[this._k]}}),e.Keyboard.prototype.constructor=e.Keyboard,e.KeyCode={A:"A".charCodeAt(0),B:"B".charCodeAt(0),C:"C".charCodeAt(0),D:"D".charCodeAt(0),E:"E".charCodeAt(0),F:"F".charCodeAt(0),G:"G".charCodeAt(0),H:"H".charCodeAt(0),I:"I".charCodeAt(0),J:"J".charCodeAt(0),K:"K".charCodeAt(0),L:"L".charCodeAt(0),M:"M".charCodeAt(0),N:"N".charCodeAt(0),O:"O".charCodeAt(0),P:"P".charCodeAt(0),Q:"Q".charCodeAt(0),R:"R".charCodeAt(0),S:"S".charCodeAt(0),T:"T".charCodeAt(0),U:"U".charCodeAt(0),V:"V".charCodeAt(0),W:"W".charCodeAt(0),X:"X".charCodeAt(0),Y:"Y".charCodeAt(0),Z:"Z".charCodeAt(0),ZERO:"0".charCodeAt(0),ONE:"1".charCodeAt(0),TWO:"2".charCodeAt(0),THREE:"3".charCodeAt(0),FOUR:"4".charCodeAt(0),FIVE:"5".charCodeAt(0),SIX:"6".charCodeAt(0),SEVEN:"7".charCodeAt(0),EIGHT:"8".charCodeAt(0),NINE:"9".charCodeAt(0),NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_ADD:107,NUMPAD_ENTER:108,NUMPAD_SUBTRACT:109,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,COLON:186,EQUALS:187,COMMA:188,UNDERSCORE:189,PERIOD:190,QUESTION_MARK:191,TILDE:192,OPEN_BRACKET:219,BACKWARD_SLASH:220,CLOSED_BRACKET:221,QUOTES:222,BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CONTROL:17,ALT:18,CAPS_LOCK:20,ESC:27,SPACEBAR:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS:43,MINUS:44,INSERT:45,DELETE:46,HELP:47,NUM_LOCK:144};for(var s in e.KeyCode)e.KeyCode.hasOwnProperty(s)&&!s.match(/[a-z]/)&&(e.Keyboard[s]=e.KeyCode[s]);e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},e.Component.Bounds=function(){},e.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.skipTypeChecks=!1,e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;i<t.length;i++){var s=t[i],n=!1;"Destroy"===s&&(n=!0),e.Utils.mixinPrototype(this,e.Component[s].prototype,n),this.components[s]=!0}},e.Component.Core.init=function(t,i,s,n,r){if(!e.Component.Core.skipTypeChecks){if(!(t instanceof e.Game))throw new Error("The value passed as the `game` argument ("+t+") is not an instance of Phaser.Game.");"number"!=typeof i&&(console.warn("The `x` argument value (%s) should be a number.",i),i=0),"number"!=typeof s&&(console.warn("The `y` argument value (%s) should be a number.",s),s=0)}this.game=t,this.key=n,this.data={},this.position.set(i,s),this.world=new e.Point(i,s),this.previousPosition=new e.Point(i,s),this.events=new e.Events(this),this._bounds=new e.Rectangle,this.components.PhysicsBody&&(this.body=this.body),this.components.Animation&&(this.animations=new e.AnimationManager(this)),this.components.LoadTexture&&null!==n&&this.loadTexture(n,r),this.components.FixedToCamera&&(this.cameraOffset=new e.Point(i,s))},e.Component.Core.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.exists&&this.parent.exists?(this.world.setTo(this.game.camera.x+this.worldTransform.tx,this.game.camera.y+this.worldTransform.ty),this.visible&&(this.renderOrderID=this.game.stage.currentRenderOrderID++),this.animations&&this.animations.update(),this.body&&this.body.preUpdate(),this.preUpdateChildren(),!0):(this.renderOrderID=-1,!1))},e.Component.Core.prototype={game:null,name:"",data:{},components:{},z:0,events:void 0,animations:void 0,key:"",world:null,debug:!1,previousPosition:null,previousRotation:0,renderOrderID:0,fresh:!0,pendingDestroy:!1,_bounds:null,_exists:!0,exists:{get:function(){return this._exists},set:function(t){t?(this._exists=!0,this.body&&this.body.type===e.Physics.P2JS&&this.body.addToWorld(),this.visible=!0):(this._exists=!1,this.body&&this.body.type===e.Physics.P2JS&&this.body.removeFromWorld(),this.visible=!1)}},preUpdateChildren:function(){for(var t=0;t<this.children.length;){var e=this.children[t];e.preUpdate(),this===e.parent&&t++}},update:function(){},postUpdate:function(){this.customRender&&this.key.render(),this.components.PhysicsBody&&e.Component.PhysicsBody.postUpdate.call(this),this.components.FixedToCamera&&e.Component.FixedToCamera.postUpdate.call(this);for(var t=0;t<this.children.length;t++)this.children[t].postUpdate()}},e.Component.Crop=function(){},e.Component.Crop.prototype={cropRect:null,_crop:null,crop:function(t,i){void 0===i&&(i=!1),t?(i&&null!==this.cropRect?this.cropRect.setTo(t.x,t.y,t.width,t.height):i&&null===this.cropRect?this.cropRect=new e.Rectangle(t.x,t.y,t.width,t.height):this.cropRect=t,this.updateCrop()):(this._crop=null,this.cropRect=null,this.resetFrame())},updateCrop:function(){if(this.cropRect){var t=this.texture.crop.x,i=this.texture.crop.y,s=this.texture.crop.width,n=this.texture.crop.height;this._crop=e.Rectangle.clone(this.cropRect,this._crop),this._crop.x+=this._frame.x,this._crop.y+=this._frame.y;var r=Math.max(this._frame.x,this._crop.x),o=Math.max(this._frame.y,this._crop.y),a=Math.min(this._frame.right,this._crop.right)-r,h=Math.min(this._frame.bottom,this._crop.bottom)-o;this.texture.crop.x=r,this.texture.crop.y=o,this.texture.crop.width=a,this.texture.crop.height=h,this.texture.frame.width=Math.min(a,this.cropRect.width),this.texture.frame.height=Math.min(h,this.cropRect.height),this.texture.width=this.texture.frame.width,this.texture.height=this.texture.frame.height,this.texture._updateUvs(),16777215===this.tint||t===r&&i===o&&s===a&&n===h||(this.texture.requiresReTint=!0)}}},e.Component.Delta=function(){},e.Component.Delta.prototype={deltaX:{get:function(){return this.world.x-this.previousPosition.x}},deltaY:{get:function(){return this.world.y-this.previousPosition.y}},deltaZ:{get:function(){return this.rotation-this.previousRotation}}},e.Component.Destroy=function(){},e.Component.Destroy.prototype={destroyPhase:!1,destroy:function(t,i){if(null!==this.game&&!this.destroyPhase){void 0===t&&(t=!0),void 0===i&&(i=!1),this.destroyPhase=!0,this.events&&this.events.onDestroy$dispatch(this),this.parent&&(this.parent instanceof e.Group?this.parent.remove(this):this.parent.removeChild(this)),this.input&&this.input.destroy(),this.animations&&this.animations.destroy(),this.body&&this.body.destroy(),this.events&&this.events.destroy(),this.game.tweens.removeFrom(this);var s=this.children.length;if(t)for(;s--;)this.children[s].destroy(t);else for(;s--;)this.removeChild(this.children[s]);this._crop&&(this._crop=null,this.cropRect=null),this._frame&&(this._frame=null),e.Video&&this.key instanceof e.Video&&this.key.onChangeSource.remove(this.resizeFrame,this),e.BitmapText&&this._glyphs&&(this._glyphs=[]),this.alive=!1,this.exists=!1,this.visible=!1,this.filters=null,this.mask=null,this.game=null,this.data={},this.renderable=!1,this.transformCallback&&(this.transformCallback=null,this.transformCallbackContext=null),this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),i&&this.texture.destroy(!0),this.destroyPhase=!1,this.pendingDestroy=!1}}},e.Events=function(t){this.parent=t},e.Events.prototype={destroy:function(){this._parent=null,this._onDestroy&&this._onDestroy.dispose(),this._onAddedToGroup&&this._onAddedToGroup.dispose(),this._onRemovedFromGroup&&this._onRemovedFromGroup.dispose(),this._onKilled&&this._onKilled.dispose(),this._onRevived&&this._onRevived.dispose(),this._onEnterBounds&&this._onEnterBounds.dispose(),this._onOutOfBounds&&this._onOutOfBounds.dispose(),this._onInputOver&&this._onInputOver.dispose(),this._onInputOut&&this._onInputOut.dispose(),this._onInputDown&&this._onInputDown.dispose(),this._onInputUp&&this._onInputUp.dispose(),this._onDragStart&&this._onDragStart.dispose(),this._onDragUpdate&&this._onDragUpdate.dispose(),this._onDragStop&&this._onDragStop.dispose(),this._onAnimationStart&&this._onAnimationStart.dispose(),this._onAnimationComplete&&this._onAnimationComplete.dispose(),this._onAnimationLoop&&this._onAnimationLoop.dispose()},onAddedToGroup:null,onRemovedFromGroup:null,onDestroy:null,onKilled:null,onRevived:null,onOutOfBounds:null,onEnterBounds:null,onInputOver:null,onInputOut:null,onInputDown:null,onInputUp:null,onDragStart:null,onDragUpdate:null,onDragStop:null,onAnimationStart:null,onAnimationComplete:null,onAnimationLoop:null},e.Events.prototype.constructor=e.Events;for(var n in e.Events.prototype)e.Events.prototype.hasOwnProperty(n)&&0===n.indexOf("on")&&null===e.Events.prototype[n]&&function(t,i){"use strict";Object.defineProperty(e.Events.prototype,t,{get:function(){return this[i]||(this[i]=new e.Signal)}}),e.Events.prototype[t+"$dispatch"]=function(){return this[i]?this[i].dispatch.apply(this[i],arguments):null}}(n,"_"+n);e.Component.FixedToCamera=function(){},e.Component.FixedToCamera.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)},e.Component.FixedToCamera.prototype={_fixedToCamera:!1,fixedToCamera:{get:function(){return this._fixedToCamera},set:function(t){t?(this._fixedToCamera=!0,this.cameraOffset.set(this.x,this.y)):this._fixedToCamera=!1}},cameraOffset:new e.Point},e.Component.Health=function(){},e.Component.Health.prototype={health:1,maxHealth:100,damage:function(t){return this.alive&&(this.health-=t,this.health<=0&&this.kill()),this},setHealth:function(t){return this.health=t,this.health>this.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.a<this.scaleMin.x&&(t.a=this.scaleMin.x),t.d<this.scaleMin.y&&(t.d=this.scaleMin.y)),this.scaleMax&&(t.a>this.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r){void 0===r&&(r=this.world);var o=new e.Creature(this.game,t,i,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n<this.children.length;n++){var r=this.children[n];if(r.visible){var o=r.texture,a=o.frame;if(e.globalAlpha=this.worldAlpha*r.alpha,r.rotation%(2*Math.PI)==0)s&&(e.setTransform(i.a,i.b,i.c,i.d,i.tx,i.ty),s=!1),e.drawImage(o.baseTexture.source,a.x,a.y,a.width,a.height,r.anchor.x*(-a.width*r.scale.x)+r.position.x+.5+t.shakeX|0,r.anchor.y*(-a.height*r.scale.y)+r.position.y+.5+t.shakeY|0,a.width*r.scale.x,a.height*r.scale.y);else{s||(s=!0),r.displayObjectUpdateTransform();var h=r.worldTransform,l=h.tx*t.resolution+t.shakeX,c=h.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(h.a,h.b,h.c,h.d,0|l,0|c):e.setTransform(h.a,h.b,h.c,h.d,l,c),e.drawImage(o.baseTexture.source,a.x,a.y,a.width,a.height,r.anchor.x*-a.width+.5|0,r.anchor.y*-a.height+.5|0,a.width,a.height)}}}}},e.BitmapData=function(t,i,s,n,r){void 0!==s&&0!==s||(s=256),void 0!==n&&0!==n||(n=256),void 0===r&&(r=!1),this.game=t,this.key=i,this.width=s,this.height=n,this.canvas=e.Canvas.create(this,s,n,null,r),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.smoothProperty=t.renderType===e.CANVAS?t.renderer.renderSession.smoothProperty:e.Canvas.getSmoothingPrefix(this.context),this.imageData=this.context.getImageData(0,0,s,n),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas,null,this.game.resolution),this.texture=new PIXI.Texture(this.baseTexture),this.frameData=new e.FrameData,this.textureFrame=this.frameData.addFrame(new e.Frame(0,0,0,s,n,"bitmapData")),this.texture.frame=this.textureFrame,this.type=e.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new e.Point,this._size=new e.Point,this._scale=new e.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new e.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new e.Circle,this._swapCanvas=void 0},e.BitmapData.prototype={move:function(t,e,i){return 0!==t&&this.moveH(t,i),0!==e&&this.moveV(e,i),this},moveH:function(t,i){void 0===i&&(i=!0),void 0===this._swapCanvas&&(this._swapCanvas=e.CanvasPool.create(this,this.width,this.height));var s=this._swapCanvas.getContext("2d"),n=this.height,r=this.canvas;if(s.clearRect(0,0,this.width,this.height),t<0){t=Math.abs(t);o=this.width-t;i&&s.drawImage(r,0,0,t,n,o,0,t,n),s.drawImage(r,t,0,o,n,0,0,o,n)}else{var o=this.width-t;i&&s.drawImage(r,o,0,t,n,0,0,t,n),s.drawImage(r,0,0,o,n,t,0,o,n)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(t,i){void 0===i&&(i=!0),void 0===this._swapCanvas&&(this._swapCanvas=e.CanvasPool.create(this,this.width,this.height));var s=this._swapCanvas.getContext("2d"),n=this.width,r=this.canvas;if(s.clearRect(0,0,this.width,this.height),t<0){t=Math.abs(t);o=this.height-t;i&&s.drawImage(r,0,0,n,t,0,o,n,t),s.drawImage(r,0,t,n,o,0,0,n,o)}else{var o=this.height-t;i&&s.drawImage(r,0,o,n,t,0,0,n,t),s.drawImage(r,0,0,n,o,0,t,n,o)}return this.clear(),this.copy(this._swapCanvas)},add:function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++)t[e].loadTexture&&t[e].loadTexture(this);else t.loadTexture(this);return this},load:function(t){if("string"==typeof t&&(t=this.game.cache.getImage(t)),t)return this.resize(t.width,t.height),this.cls(),this.draw(t),this.update(),this},clear:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.width),void 0===s&&(s=this.height),this.context.clearRect(t,e,i,s),this.dirty=!0,this},fill:function(t,e,i,s){return void 0===s&&(s=1),this.context.fillStyle="rgba("+t+","+e+","+i+","+s+")",this.context.fillRect(0,0,this.width,this.height),this.dirty=!0,this},generateTexture:function(t,e,i){var s=this.game.cache,n=new Image;if(e&&(n.onload=function(){var r=s.addImage(t,"",n),o=new PIXI.Texture(r.base);e.call(i||null,o),n.onload=null}),n.src=this.canvas.toDataURL("image/png"),!e){var r=s.addImage(t,"",n);return new PIXI.Texture(r.base)}return null},resize:function(t,e){return t===this.width&&e===this.height||(this.width=t,this.height=e,this.canvas.width=t,this.canvas.height=e,void 0!==this._swapCanvas&&(this._swapCanvas.width=t,this._swapCanvas.height=e),this.baseTexture.width=t,this.baseTexture.height=e,this.textureFrame.width=t,this.textureFrame.height=e,this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.update(),this.dirty=!0),this},update:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=Math.max(1,this.width)),void 0===s&&(s=Math.max(1,this.height)),this.imageData=this.context.getImageData(t,e,i,s),this.data=this.imageData.data,this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data,this},processPixelRGB:function(t,i,s,n,r,o){void 0===s&&(s=0),void 0===n&&(n=0),void 0===r&&(r=this.width),void 0===o&&(o=this.height);for(var a=s+r,h=n+o,l=e.Color.createColor(),c={r:0,g:0,b:0,a:0},u=!1,d=n;d<h;d++)for(var p=s;p<a;p++)e.Color.unpackPixel(this.getPixel32(p,d),l),!1!==(c=t.call(i,l,p,d))&&null!==c&&void 0!==c&&(this.setPixel32(p,d,c.r,c.g,c.b,c.a,!1),u=!0);return u&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=0),void 0===n&&(n=this.width),void 0===r&&(r=this.height);for(var o=i+n,a=s+r,h=0,l=0,c=!1,u=s;u<a;u++)for(var d=i;d<o;d++)h=this.getPixel32(d,u),(l=t.call(e,h,d,u))!==h&&(this.pixels[u*this.width+d]=l,c=!0);return c&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(t,i,s,n,r,o,a,h,l){var c=0,u=0,d=this.width,p=this.height,f=e.Color.packPixel(t,i,s,n);void 0!==l&&l instanceof e.Rectangle&&(c=l.x,u=l.y,d=l.width,p=l.height);for(var g=0;g<p;g++)for(var m=0;m<d;m++)this.getPixel32(c+m,u+g)===f&&this.setPixel32(c+m,u+g,r,o,a,h,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(t,i,s,n){var r=t||0===t,o=i||0===i,a=s||0===s;if(r||o||a){void 0===n&&(n=new e.Rectangle(0,0,this.width,this.height));for(var h=e.Color.createColor(),l=n.y;l<n.bottom;l++)for(var c=n.x;c<n.right;c++)e.Color.unpackPixel(this.getPixel32(c,l),h,!0),r&&(h.h=t),o&&(h.s=i),a&&(h.l=s),e.Color.HSLtoRGB(h.h,h.s,h.l,h),this.setPixel32(c,l,h.r,h.g,h.b,h.a,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this}},shiftHSL:function(t,i,s,n){if(void 0!==t&&null!==t||(t=!1),void 0!==i&&null!==i||(i=!1),void 0!==s&&null!==s||(s=!1),t||i||s){void 0===n&&(n=new e.Rectangle(0,0,this.width,this.height));for(var r=e.Color.createColor(),o=n.y;o<n.bottom;o++)for(var a=n.x;a<n.right;a++)e.Color.unpackPixel(this.getPixel32(a,o),r,!0),t&&(r.h=this.game.math.wrap(r.h+t,0,1)),i&&(r.s=this.game.math.clamp(r.s+i,0,1)),s&&(r.l=this.game.math.clamp(r.l+s,0,1)),e.Color.HSLtoRGB(r.h,r.s,r.l,r),this.setPixel32(a,o,r.r,r.g,r.b,r.a,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this}},setPixel32:function(t,i,s,n,r,o,a){return void 0===a&&(a=!0),t>=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;n<t.children.length;n++)t.children[n].exists&&this.copyTransform(t.children[n],i,s)},drawFull:function(t,i,s){if(!1===t.worldVisible||0===t.worldAlpha||t.hasOwnProperty("exists")&&!1===t.exists)return this;if(t.type!==e.GROUP&&t.type!==e.EMITTER&&t.type!==e.BITMAPTEXT)if(t.type===e.GRAPHICS){var n=t.getBounds();this.ctx.save(),this.ctx.translate(n.x,n.y),PIXI.CanvasGraphics.renderGraphics(t,this.ctx),this.ctx.restore()}else this.copy(t,null,null,null,null,t.worldPosition.x,t.worldPosition.y,null,null,t.worldRotation,null,null,t.worldScale.x,t.worldScale.y,t.worldAlpha,i,s);if(t.children)for(var r=0;r<t.children.length;r++)this.drawFull(t.children[r],i,s);return this},shadow:function(t,e,i,s){var n=this.context;return void 0===t||null===t?n.shadowColor="rgba(0,0,0,0)":(n.shadowColor=t,n.shadowBlur=0===e?0:e||5,n.shadowOffsetX=0===i?0:i||10,n.shadowOffsetY=0===s?0:s||10),this},alphaMask:function(t,e,i,s){return void 0===s||null===s?this.draw(e).blendSourceAtop():this.draw(e,s.x,s.y,s.width,s.height).blendSourceAtop(),void 0===i||null===i?this.draw(t).blendReset():this.draw(t,i.x,i.y,i.width,i.height).blendReset(),this},extract:function(t,e,i,s,n,r,o,a,h){return void 0===n&&(n=255),void 0===r&&(r=!1),void 0===o&&(o=e),void 0===a&&(a=i),void 0===h&&(h=s),r&&t.resize(this.width,this.height),this.processPixelRGB(function(r,l,c){return r.r===e&&r.g===i&&r.b===s&&t.setPixel32(l,c,o,a,h,n,!1),!1},this),t.context.putImageData(t.imageData,0,0),t.dirty=!0,t},rect:function(t,e,i,s,n){return void 0!==n&&(this.context.fillStyle=n),this.context.fillRect(t,e,i,s),this},text:function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s="14px Courier"),void 0===n&&(n="rgb(255,255,255)"),void 0===r&&(r=!0);var o=this.context,a=o.font;return o.font=s,r&&(o.fillStyle="rgb(0,0,0)",o.fillText(t,e+1,i+1)),o.fillStyle=n,o.fillText(t,e,i),o.font=a,this},circle:function(t,e,i,s){var n=this.context;return void 0!==s&&(n.fillStyle=s),n.beginPath(),n.arc(t,e,i,0,2*Math.PI,!1),n.closePath(),n.fill(),this},line:function(t,e,i,s,n,r){void 0===n&&(n="#fff"),void 0===r&&(r=1);var o=this.context;return o.beginPath(),o.moveTo(t,e),o.lineTo(i,s),o.lineWidth=r,o.strokeStyle=n,o.stroke(),o.closePath(),this},polygon:function(t,e,i,s){void 0===s&&(s="#fff"),void 0===i&&(i=0);var n=this.context;e&&(n.fillStyle=e),i&&(n.lineWidth=i,n.strokeStyle=s),n.beginPath(),n.moveTo(t[0].x,t[0].y);for(var r=1,o=t.length;r<o;r++){var a=t[r];n.lineTo(a.x,a.y)}return n.closePath(),e&&n.fill(),i&&n.stroke(),this},textureLine:function(t,i,s){if(void 0===s&&(s="repeat-x"),"string"!=typeof i||(i=this.game.cache.getImage(i))){var n=t.length;"no-repeat"===s&&n>i.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n<t.height;n++){s=(i+n)*this.width+e;for(var r=0;r<t.width;r++)this.pixels[s+r]=t.pixels[n*t.width+r]}return this}},Object.defineProperty(e.BitmapData.prototype,"smoothed",{get:function(){e.Canvas.getSmoothingEnabled(this.context)},set:function(t){e.Canvas.setSmoothingEnabled(this.context,t)}}),Object.defineProperty(e.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(t){this.context.globalCompositeOperation=t}}),e.BitmapData.getTransform=function(t,e,i,s,n,r){return"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),"number"!=typeof i&&(i=1),"number"!=typeof s&&(s=1),"number"!=typeof n&&(n=0),"number"!=typeof r&&(r=0),{sx:i,sy:s,scaleX:i,scaleY:s,skewX:n,skewY:r,translateX:t,translateY:e,tx:t,ty:e}},e.BitmapData.prototype.constructor=e.BitmapData,e.EarCut={},e.EarCut.Triangulate=function(t,i,s){s=s||2;var n=i&&i.length,r=n?i[0]*s:t.length,o=e.EarCut.linkedList(t,0,r,s,!0),a=[];if(!o)return a;var h,l,c,u,d,p,f;if(n&&(o=e.EarCut.eliminateHoles(t,i,o,s)),t.length>80*s){h=c=t[0],l=u=t[1];for(var g=s;g<r;g+=s)d=t[g],p=t[g+1],d<h&&(h=d),p<l&&(l=p),d>c&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o<s;o+=n)l+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;if(r===l>0)for(o=i;o<s;o+=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);else for(o=s-n;o>=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.x<o.x?r.x<a.x?r.x:a.x:o.x<a.x?o.x:a.x,l=r.y<o.y?r.y<a.y?r.y:a.y:o.y<a.y?o.y:a.y,c=r.x>o.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.length;r<o;r++)a=i[r]*n,h=r<o-1?i[r+1]*n:t.length,(l=e.EarCut.linkedList(t,a,h,n,!1))===l.next&&(l.steiner=!0),c.push(e.EarCut.getLeftmost(l));for(c.sort(e.EarCut.compareX),r=0;r<c.length;r++)e.EarCut.eliminateHole(c[r],s),s=e.EarCut.filterPoints(s,s.next);return s},e.EarCut.compareX=function(t,e){return t.x-e.x},e.EarCut.eliminateHole=function(t,i){if(i=e.EarCut.findHoleBridge(t,i)){var s=e.EarCut.splitPolygon(i,t);e.EarCut.filterPoints(s,s.next)}},e.EarCut.findHoleBridge=function(t,i){var s,n=i,r=t.x,o=t.y,a=-1/0;do{if(o<=n.y&&o>=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.next.x?n:n.next)}n=n.next}while(n!==i);if(!s)return null;if(t.x===s.x)return s.prev;var l,c=s,u=1/0;for(n=s.next;n!==c;)r>=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(o<s.y?r:a,o,s.x,s.y,o<s.y?a:r,o,n.x,n.y)&&((l=Math.abs(o-n.y)/(r-n.x))<u||l===u&&n.x>s.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e<l&&(a++,s=s.nextZ);e++);for(h=l;a>0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i},e.EarCut.pointInTriangle=function(t,e,i,s,n,r,o,a){return(n-o)*(e-a)-(t-o)*(r-a)>=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l<h.data.length;l++)1===h.data[l].mode?(s=h.data[l],i.stencilManager.pushStencil(t,s,i),n.drawElements(n.TRIANGLE_FAN,4,n.UNSIGNED_SHORT,2*(s.indices.length-4)),i.stencilManager.popStencil(t,s,i)):(s=h.data[l],i.shaderManager.setShader(a),a=i.shaderManager.primitiveShader,n.uniformMatrix3fv(a.translationMatrix,!1,t.worldTransform.toArray(!0)),n.uniform1f(a.flipY,1),n.uniform2f(a.projectionVector,r.x,-r.y),n.uniform2f(a.offsetVector,-o.x,-o.y),n.uniform3fv(a.tintColor,e.Color.hexToRGBArray(t.tint)),n.uniform1f(a.alpha,t.worldAlpha),n.bindBuffer(n.ARRAY_BUFFER,s.buffer),n.vertexAttribPointer(a.aVertexPosition,2,n.FLOAT,!1,24,0),n.vertexAttribPointer(a.colorAttribute,4,n.FLOAT,!1,24,8),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,s.indexBuffer),n.drawElements(n.TRIANGLE_STRIP,s.indices.length,n.UNSIGNED_SHORT,0))},PIXI.WebGLGraphics.updateGraphics=function(t,i){var s=t._webGL[i.id];s||(s=t._webGL[i.id]={lastIndex:0,data:[],gl:i}),t.dirty=!1;var n;if(t.clearDirty){for(t.clearDirty=!1,n=0;n<s.data.length;n++){var r=s.data[n];r.reset(),PIXI.WebGLGraphics.graphicsDataPool.push(r)}s.data=[],s.lastIndex=0}var o;for(n=s.lastIndex;n<t.graphicsData.length;n++){var a=t.graphicsData[n];a.type===e.POLYGON?(a.points=a.shape.points.slice(),a.shape.closed&&(a.points[0]===a.points[a.points.length-2]&&a.points[1]===a.points[a.points.length-1]||a.points.push(a.points[0],a.points[1])),a.fill&&a.points.length>=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n<s.data.length;n++)(o=s.data[n]).dirty&&o.upload()},PIXI.WebGLGraphics.switchMode=function(t,e){var i;return t.data.length?(i=t.data[t.data.length-1]).mode===e&&1!==e||((i=PIXI.WebGLGraphics.graphicsDataPool.pop()||new PIXI.WebGLGraphicsData(t.gl)).mode=e,t.data.push(i)):((i=PIXI.WebGLGraphics.graphicsDataPool.pop()||new PIXI.WebGLGraphicsData(t.gl)).mode=e,t.data.push(i)),i.dirty=!0,i},PIXI.WebGLGraphics.buildRectangle=function(t,i){var s=t.shape,n=s.x,r=s.y,o=s.width,a=s.height;if(t.fill){var h=e.Color.hexToRGBArray(t.fillColor),l=t.fillAlpha,c=h[0]*l,u=h[1]*l,d=h[2]*l,p=i.points,f=i.indices,g=p.length/6;p.push(n,r),p.push(c,u,d,l),p.push(n+o,r),p.push(c,u,d,l),p.push(n,r+a),p.push(c,u,d,l),p.push(n+o,r+a),p.push(c,u,d,l),f.push(g,g,g+1,g+2,g+3,g+3)}if(t.lineWidth){var m=t.points;t.points=[n,r,n+o,r,n+o,r+a,n,r+a,n,r],PIXI.WebGLGraphics.buildLine(t,i),t.points=m}},PIXI.WebGLGraphics.buildRoundedRectangle=function(t,i){var s=t.shape,n=s.x,r=s.y,o=s.width,a=s.height,h=s.radius,l=[];if(l.push(n,r+h),l=l.concat(PIXI.WebGLGraphics.quadraticBezierCurve(n,r+a-h,n,r+a,n+h,r+a)),l=l.concat(PIXI.WebGLGraphics.quadraticBezierCurve(n+o-h,r+a,n+o,r+a,n+o,r+a-h)),l=l.concat(PIXI.WebGLGraphics.quadraticBezierCurve(n+o,r+h,n+o,r,n+o-h,r)),l=l.concat(PIXI.WebGLGraphics.quadraticBezierCurve(n+h,r,n,r,n,r+h)),t.fill){var c=e.Color.hexToRGBArray(t.fillColor),u=t.fillAlpha,d=c[0]*u,p=c[1]*u,f=c[2]*u,g=i.points,m=i.indices,y=g.length/6,v=e.EarCut.Triangulate(l,null,2),x=0;for(x=0;x<v.length;x+=3)m.push(v[x]+y),m.push(v[x]+y),m.push(v[x+1]+y),m.push(v[x+2]+y),m.push(v[x+2]+y);for(x=0;x<l.length;x++)g.push(l[x],l[++x],d,p,f,u)}if(t.lineWidth){var b=t.points;t.points=l,PIXI.WebGLGraphics.buildLine(t,i),t.points=b}},PIXI.WebGLGraphics.quadraticBezierCurve=function(t,e,i,s,n,r){function o(t,e,i){return t+(e-t)*i}for(var a,h,l,c,u,d,p=[],f=0,g=0;g<=20;g++)a=o(t,i,f=g/20),h=o(e,s,f),l=o(i,n,f),c=o(s,r,f),u=o(a,l,f),d=o(h,c,f),p.push(u,d);return p},PIXI.WebGLGraphics.buildCircle=function(t,i){var s,n,r=t.shape,o=r.x,a=r.y;t.type===e.CIRCLE?(s=r.radius,n=r.radius):(s=r.width,n=r.height);var h=2*Math.PI/40,l=0;if(t.fill){var c=e.Color.hexToRGBArray(t.fillColor),u=t.fillAlpha,d=c[0]*u,p=c[1]*u,f=c[2]*u,g=i.points,m=i.indices,y=g.length/6;for(m.push(y),l=0;l<41;l++)g.push(o,a,d,p,f,u),g.push(o+Math.sin(h*l)*s,a+Math.cos(h*l)*n,d,p,f,u),m.push(y++,y++);m.push(y-1)}if(t.lineWidth){var v=t.points;for(t.points=[],l=0;l<41;l++)t.points.push(o+Math.sin(h*l)*s,a+Math.cos(h*l)*n);PIXI.WebGLGraphics.buildLine(t,i),t.points=v}},PIXI.WebGLGraphics.buildLine=function(t,i){var s=0,n=t.points;if(0!==n.length){if(t.lineWidth%2)for(s=0;s<n.length;s++)n[s]+=.5;var r=new PIXI.Point(n[0],n[1]),o=new PIXI.Point(n[n.length-2],n[n.length-1]);if(r.x===o.x&&r.y===o.y){(n=n.slice()).pop(),n.pop();var a=(o=new PIXI.Point(n[n.length-2],n[n.length-1])).x+.5*(r.x-o.x),h=o.y+.5*(r.y-o.y);n.unshift(a,h),n.push(a,h)}var l,c,u,d,p,f,g,m,y,v,x,b,_,w,T,P,C,S,A,E,M,R,L=i.points,B=i.indices,I=n.length/2,O=n.length,k=L.length/6,F=t.lineWidth/2,D=e.Color.hexToRGBArray(t.lineColor),U=t.lineAlpha,G=D[0]*U,N=D[1]*U,X=D[2]*U;for(u=n[0],d=n[1],p=n[2],y=-(d-(f=n[3])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(u-y,d-v,G,N,X,U),L.push(u+y,d+v,G,N,X,U),s=1;s<I-1;s++)u=n[2*(s-1)],d=n[2*(s-1)+1],p=n[2*s],f=n[2*s+1],g=n[2*(s+1)],m=n[2*(s+1)+1],y=-(d-f),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,x=-(f-m),b=p-g,x/=R=Math.sqrt(x*x+b*b),b/=R,C=(-y+u)*(-v+f)-(-y+p)*(-v+d),E=(-(x*=F)+g)*(-(b*=F)+f)-(-x+p)*(-b+m),M=(T=-v+d-(-v+f))*(A=-x+p-(-x+g))-(S=-b+m-(-b+f))*(P=-y+p-(-y+u)),Math.abs(M)<.1?(M+=10.1,L.push(p-y,f-v,G,N,X,U),L.push(p+y,f+v,G,N,X,U)):((l=(P*E-A*C)/M)-p)*(l-p)+((c=(S*C-T*E)/M)-f)+(c-f)>19600?(_=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;s<O;s++)B.push(k++);B.push(k-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(t,i){var s=t.points.slice();if(!(s.length<6)){var n=i.indices;i.points=s,i.alpha=t.fillAlpha,i.color=e.Color.hexToRGBArray(t.fillColor);for(var r,o,a=1/0,h=-1/0,l=1/0,c=-1/0,u=0;u<s.length;u+=2)r=s[u],o=s[u+1],a=r<a?r:a,h=r>h?r:h,l=o<l?o:l,c=o>c?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;u<d;u++)n.push(u)}},PIXI.WebGLGraphics.buildPoly=function(t,i){var s=t.points;if(!(s.length<6)){var n=i.points,r=i.indices,o=s.length/2,a=e.Color.hexToRGBArray(t.fillColor),h=t.fillAlpha,l=a[0]*h,c=a[1]*h,u=a[2]*h,d=e.EarCut.Triangulate(s,null,2);if(!d)return!1;var p=n.length/6,f=0;for(f=0;f<d.length;f+=3)r.push(d[f]+p),r.push(d[f]+p),r.push(d[f+1]+p),r.push(d[f+2]+p),r.push(d[f+2]+p);for(f=0;f<o;f++)n.push(s[2*f],s[2*f+1],l,c,u,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(t){this.gl=t,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var t=this.gl;this.glPoints=new Float32Array(this.points),t.bindBuffer(t.ARRAY_BUFFER,this.buffer),t.bufferData(t.ARRAY_BUFFER,this.glPoints,t.STATIC_DRAW),this.glIndicies=new Uint16Array(this.indices),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.glIndicies,t.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(t,i){var s=t.worldAlpha;t.dirty&&(this.updateGraphicsTint(t),t.dirty=!1);for(var n=0;n<t.graphicsData.length;n++){var r=t.graphicsData[n],o=r.shape,a=r._fillTint,h=r._lineTint;if(i.lineWidth=r.lineWidth,r.type===e.POLYGON){i.beginPath();var l=o.points;i.moveTo(l[0],l[1]);for(var c=1;c<l.length/2;c++)i.lineTo(l[2*c],l[2*c+1]);o.closed&&i.lineTo(l[0],l[1]),l[0]===l[l.length-2]&&l[1]===l[l.length-1]&&i.closePath(),r.fill&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}else if(r.type===e.RECTANGLE)(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fillRect(o.x,o.y,o.width,o.height)),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.strokeRect(o.x,o.y,o.width,o.height));else if(r.type===e.CIRCLE)i.beginPath(),i.arc(o.x,o.y,o.radius,0,2*Math.PI),i.closePath(),r.fill&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke());else if(r.type===e.ELLIPSE){var u=2*o.width,d=2*o.height,p=o.x-u/2,f=o.y-d/2;i.beginPath();var g=u/2*.5522848,m=d/2*.5522848,y=p+u,v=f+d,x=p+u/2,b=f+d/2;i.moveTo(p,b),i.bezierCurveTo(p,b-m,x-g,f,x,f),i.bezierCurveTo(x+g,f,y,b-m,y,b),i.bezierCurveTo(y,b+m,x+g,v,x,v),i.bezierCurveTo(x-g,v,p,b+m,p,b),i.closePath(),r.fill&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}else if(r.type===e.ROUNDEDRECTANGLE){var _=o.x,w=o.y,T=o.width,P=o.height,C=o.radius,S=Math.min(T,P)/2|0;C=C>S?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;n<s;n++){var r=t.graphicsData[n],o=r.shape;if(r.type===e.POLYGON){var a=o.points;i.moveTo(a[0],a[1]);for(var h=1;h<a.length/2;h++)i.lineTo(a[2*h],a[2*h+1]);a[0]===a[a.length-2]&&a[1]===a[a.length-1]&&i.closePath()}else if(r.type===e.RECTANGLE)i.rect(o.x,o.y,o.width,o.height),i.closePath();else if(r.type===e.CIRCLE)i.arc(o.x,o.y,o.radius,0,2*Math.PI),i.closePath();else if(r.type===e.ELLIPSE){var l=2*o.width,c=2*o.height,u=o.x-l/2,d=o.y-c/2,p=l/2*.5522848,f=c/2*.5522848,g=u+l,m=d+c,y=u+l/2,v=d+c/2;i.moveTo(u,v),i.bezierCurveTo(u,v-f,y-p,d,y,d),i.bezierCurveTo(y+p,d,g,v-f,g,v),i.bezierCurveTo(g,v+f,y+p,m,y,m),i.bezierCurveTo(y-p,m,u,v+f,u,v),i.closePath()}else if(r.type===e.ROUNDEDRECTANGLE){var x=o.x,b=o.y,_=o.width,w=o.height,T=o.radius,P=Math.min(_,w)/2|0;T=T>P?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n<t.graphicsData.length;n++){var r=t.graphicsData[n],o=0|r.fillColor,a=0|r.lineColor;r._fillTint=((o>>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t<this.children.length;t++)this.children[t].postUpdate()},e.Graphics.prototype.destroy=function(t){this.clear(),e.Component.Destroy.prototype.destroy.call(this,t)},e.Graphics.prototype.drawTriangle=function(t,i){void 0===i&&(i=!1);var s=new e.Polygon(t);if(i){var n=new e.Point(this.game.camera.x-t[0].x,this.game.camera.y-t[0].y),r=new e.Point(t[1].x-t[0].x,t[1].y-t[0].y),o=new e.Point(t[1].x-t[2].x,t[1].y-t[2].y).cross(r);n.dot(o)>0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;n<i.length/3;n++)h.push(t[i[3*n]]),h.push(t[i[3*n+1]]),h.push(t[i[3*n+2]]),3===h.length&&(this.drawTriangle(h,s),h=[]);else for(n=0;n<i.length;n++)r.x=t[2*i[n]],r.y=t[2*i[n]+1],h.push(r.copyTo({})),3===h.length&&(this.drawTriangle(h,s),h=[]);else if(t[0]instanceof e.Point)for(n=0;n<t.length/3;n++)this.drawTriangle([t[3*n],t[3*n+1],t[3*n+2]],s);else for(n=0;n<t.length/6;n++)r.x=t[6*n+0],r.y=t[6*n+1],o.x=t[6*n+2],o.y=t[6*n+3],a.x=t[6*n+4],a.y=t[6*n+5],this.drawTriangle([r,o,a],s)},e.Graphics.prototype.lineStyle=function(t,i,s){return this.lineWidth=t||0,this.lineColor=i||0,this.lineAlpha=void 0===s?1:s,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new e.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},e.Graphics.prototype.moveTo=function(t,i){return this.drawShape(new e.Polygon([t,i])),this},e.Graphics.prototype.lineTo=function(t,e){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(t,e),this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.quadraticCurveTo=function(t,e,i,s){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var n,r,o=this.currentPath.shape.points;0===o.length&&this.moveTo(0,0);for(var a=o[o.length-2],h=o[o.length-1],l=0,c=1;c<=20;++c)n=a+(t-a)*(l=c/20),r=h+(e-h)*l,o.push(n+(t+(i-t)*l-n)*l,r+(e+(s-e)*l-r)*l);return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.bezierCurveTo=function(t,e,i,s,n,r){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var o,a,h,l,c,u=this.currentPath.shape.points,d=u[u.length-2],p=u[u.length-1],f=0,g=1;g<=20;++g)h=(a=(o=1-(f=g/20))*o)*o,c=(l=f*f)*f,u.push(h*d+3*a*f*t+3*o*l*i+c*n,h*p+3*a*f*e+3*o*l*s+c*r);return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arcTo=function(t,e,i,s,n){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(t,e):this.moveTo(t,e);var r=this.currentPath.shape.points,o=r[r.length-2],a=r[r.length-1]-e,h=o-t,l=s-e,c=i-t,u=Math.abs(a*c-h*l);if(u<1e-8||0===n)r[r.length-2]===t&&r[r.length-1]===e||r.push(t,e);else{var d=a*a+h*h,p=l*l+c*c,f=a*l+h*c,g=n*Math.sqrt(d)/u,m=n*Math.sqrt(p)/u,y=g*f/d,v=m*f/p,x=g*c+m*h,b=g*l+m*a,_=h*(m+y),w=a*(m+y),T=c*(g+v),P=l*(g+v),C=Math.atan2(w-b,_-x),S=Math.atan2(P-b,T-x);this.arc(x+t,b+e,n,C,S,h*l>c*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;s<i.length;++s)i[s]=arguments[s]}return this.drawShape(new e.Polygon(i)),this},e.Graphics.prototype.clear=function(){return this.lineWidth=0,this.filling=!1,this.dirty=!0,this._boundsDirty=!0,this.clearDirty=!0,this.graphicsData=[],this.updateLocalBounds(),this},e.Graphics.prototype.generateTexture=function(t,e,i){void 0===t&&(t=1),void 0===e&&(e=PIXI.scaleModes.DEFAULT),void 0===i&&(i=0);var s=this.getBounds();s.width+=i,s.height+=i;var n=new PIXI.CanvasBuffer(s.width*t,s.height*t),r=PIXI.Texture.fromCanvas(n.canvas,e);return r.baseTexture.resolution=t,n.context.scale(t,t),n.context.translate(-s.x,-s.y),PIXI.CanvasGraphics.renderGraphics(this,n.context),r},e.Graphics.prototype._renderWebGL=function(t){if(!1!==this.visible&&0!==this.alpha&&!0!==this.isMask){if(this._cacheAsBitmap)return(this.dirty||this.cachedSpriteDirty)&&(this._generateCachedSprite(),this.updateCachedSpriteTexture(),this.cachedSpriteDirty=!1,this.dirty=!1),this._cachedSprite.worldAlpha=this.worldAlpha,void PIXI.Sprite.prototype._renderWebGL.call(this._cachedSprite,t);if(t.spriteBatch.stop(),t.blendModeManager.setBlendMode(this.blendMode),this._mask&&t.maskManager.pushMask(this._mask,t),this._filters&&t.filterManager.pushFilter(this._filterBlock),this.blendMode!==t.spriteBatch.currentBlendMode){t.spriteBatch.currentBlendMode=this.blendMode;var e=PIXI.blendModesWebGL[t.spriteBatch.currentBlendMode];t.spriteBatch.gl.blendFunc(e[0],e[1])}if(this.webGLDirty&&(this.dirty=!0,this.webGLDirty=!1),PIXI.WebGLGraphics.renderGraphics(this,t),this.children.length){t.spriteBatch.start();for(var i=0;i<this.children.length;i++)this.children[i]._renderWebGL(t);t.spriteBatch.stop()}this._filters&&t.filterManager.popFilter(),this._mask&&t.maskManager.popMask(this.mask,t),t.drawCount++,t.spriteBatch.start()}},e.Graphics.prototype._renderCanvas=function(t){if(!1!==this.visible&&0!==this.alpha&&!0!==this.isMask){if(this._prevTint!==this.tint&&(this.dirty=!0,this._prevTint=this.tint),this._cacheAsBitmap)return(this.dirty||this.cachedSpriteDirty)&&(this._generateCachedSprite(),this.updateCachedSpriteTexture(),this.cachedSpriteDirty=!1,this.dirty=!1),this._cachedSprite.alpha=this.alpha,void PIXI.Sprite.prototype._renderCanvas.call(this._cachedSprite,t);var e=t.context,i=this.worldTransform;this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,e.globalCompositeOperation=PIXI.blendModesCanvas[t.currentBlendMode]),this._mask&&t.maskManager.pushMask(this._mask,t);var s=t.resolution,n=i.tx*t.resolution+t.shakeX,r=i.ty*t.resolution+t.shakeY;e.setTransform(i.a*s,i.b*s,i.c*s,i.d*s,n,r),PIXI.CanvasGraphics.renderGraphics(this,e);for(var o=0;o<this.children.length;o++)this.children[o]._renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},e.Graphics.prototype.getBounds=function(t){if(this._currentBounds)return this._currentBounds;if(this.isMask)return e.EmptyRectangle;this.dirty&&(this.updateLocalBounds(),this.webGLDirty=!0,this.cachedSpriteDirty=!0,this.dirty=!1);var i=this._localBounds,s=i.x,n=i.width+i.x,r=i.y,o=i.height+i.y,a=t||this.worldTransform,h=a.a,l=a.b,c=a.c,u=a.d,d=a.tx,p=a.ty,f=h*n+c*o+d,g=u*o+l*n+p,m=h*s+c*o+d,y=u*o+l*s+p,v=h*s+c*r+d,x=u*r+l*s+p,b=h*n+c*r+d,_=u*r+l*n+p,w=f,T=g,P=f,C=g;return P=m<P?m:P,P=v<P?v:P,P=b<P?b:P,C=y<C?y:C,C=x<C?x:C,C=_<C?_:C,w=m>w?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;i<this.children.length;i++)this.children[i].updateTransform();var s=this.getBounds();for(this.worldTransform=t,i=0;i<this.children.length;i++)this.children[i].updateTransform();return s},e.Graphics.prototype.containsPoint=function(t,i){void 0===i&&(i=new e.Point),this.worldTransform.applyInverse(t,i);for(var s=this.graphicsData,n=0;n<s.length;n++){var r=s[n];if(r.fill&&(r.shape&&r.shape.contains(i.x,i.y)))return!0}return!1},e.Graphics.prototype.updateLocalBounds=function(){var t=1/0,i=-1/0,s=1/0,n=-1/0;if(this.graphicsData.length)for(var r,o,a,h,l,c,u=0;u<this.graphicsData.length;u++){var d=this.graphicsData[u],p=d.type,f=d.lineWidth;if(r=d.shape,p===e.RECTANGLE||p===e.ROUNDEDRECTANGLE)a=r.x-f/2,h=r.y-f/2,l=r.width+f,c=r.height+f,t=a<t?a:t,i=a+l>i?a+l:i,s=h<s?h:s,n=h+c>n?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-l<t?a-l:t,i=a+l>i?a+l:i,s=h-c<s?h-c:s,n=h+c>n?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-l<t?a-l:t,i=a+l>i?a+l:i,s=h-c<s?h-c:s,n=h+c>n?h+c:n;else{o=r.points;for(var g=0;g<o.length;g++)o[g]instanceof e.Point?(a=o[g].x,h=o[g].y):(a=o[g],h=o[g+1],g<o.length-1&&g++),t=a-f<t?a-f:t,i=a+f>i?a+f:i,s=h-f<s?h-f:s,n=h+f>n?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n<t.children.length;n++)t.children[n].updateTransform();var r=this.renderer.gl;r.viewport(0,0,this.width*this.resolution,this.height*this.resolution),r.bindFramebuffer(r.FRAMEBUFFER,this.textureBuffer.frameBuffer),i&&this.textureBuffer.clear(),this.renderer.spriteBatch.dirty=!0,this.renderer.renderDisplayObject(t,this.projection,this.textureBuffer.frameBuffer,e),this.renderer.spriteBatch.dirty=!0,r.bindFramebuffer(r.FRAMEBUFFER,null)}},e.RenderTexture.prototype._renderCanvas=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),e&&s.append(e);for(var n=0;n<t.children.length;n++)t.children[n].updateTransform();i&&this.textureBuffer.clear();var r=this.renderer.resolution;this.renderer.resolution=this.resolution,this.renderer.renderDisplayObject(t,this.textureBuffer.context,e),this.renderer.resolution=r}},e.RenderTexture.prototype.getImage=function(){var t=new Image;return t.src=this.getBase64(),t},e.RenderTexture.prototype.getBase64=function(){return this.getCanvas().toDataURL()},e.RenderTexture.prototype.getCanvas=function(){if(this.renderer.type===e.WEBGL){var t=this.renderer.gl,i=this.textureBuffer.width,s=this.textureBuffer.height,n=new Uint8Array(4*i*s);t.bindFramebuffer(t.FRAMEBUFFER,this.textureBuffer.frameBuffer),t.readPixels(0,0,i,s,t.RGBA,t.UNSIGNED_BYTE,n),t.bindFramebuffer(t.FRAMEBUFFER,null);var r=new PIXI.CanvasBuffer(i,s),o=r.context.getImageData(0,0,i,s);return o.data.set(n),r.context.putImageData(o,0,0),r.canvas}return this.textureBuffer.canvas},e.Text=function(t,i,s,n,r){i=i||0,s=s||0,n=void 0===n||null===n?"":n.toString(),this.canvas=e.CanvasPool.create(this),e.Sprite.call(this,t,i,s,PIXI.Texture.fromCanvas(this.canvas)),this.type=e.TEXT,this.physicsType=e.SPRITE,this.padding=new e.Point,this.textBounds=null,this.context=this.canvas.getContext("2d"),this.colors=[],this.strokeColors=[],this.fontStyles=[],this.fontWeights=[],this.autoRound=!1,this.useAdvancedWrap=!1,this.splitRegExp=/(?:\r\n|\r|\n)/,this.characterLimitSize=-1,this.characterLimitSuffix="",this._testString="|MÉq",this._res=t.renderer.resolution,this._text=n,this._fontComponents=null,this._lineSpacing=0,this._charCount=0,this._width=0,this._height=0,this.style={},this.setStyle(r||{}),""!==n&&this.updateText()},e.Text.prototype=Object.create(e.Sprite.prototype),e.Text.prototype.constructor=e.Text,e.Text.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Text.prototype.update=function(){},e.Text.prototype.destroy=function(t){this.texture.destroy(!0),e.Component.Destroy.prototype.destroy.call(this,t)},e.Text.prototype.setShadow=function(t,e,i,s,n,r){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i="rgba(0, 0, 0, 1)"),void 0===s&&(s=0),void 0===n&&(n=!0),void 0===r&&(r=!0),this.style.shadowOffsetX=t,this.style.shadowOffsetY=e,this.style.shadowColor=i,this.style.shadowBlur=s,this.style.shadowStroke=n,this.style.shadowFill=r,this.dirty=!0,this},e.Text.prototype.setStyle=function(t,e){void 0===e&&(e=!1);var i=Object.assign({},t);i.font=t.font||"bold 20pt Arial",i.backgroundColor=t.backgroundColor||null,i.fill=t.fill||"black",i.align=(t.align||"left").toLowerCase(),i.boundsAlignH=(t.boundsAlignH||"left").toLowerCase(),i.boundsAlignV=(t.boundsAlignV||"top").toLowerCase(),i.stroke=t.stroke||"black",i.strokeThickness=Number(t.strokeThickness)||0,i.wordWrap=t.wordWrap||!1,i.wordWrapWidth=t.wordWrapWidth||100,i.maxLines=t.maxLines||0,i.shadowOffsetX=t.shadowOffsetX||0,i.shadowOffsetY=t.shadowOffsetY||0,i.shadowColor=t.shadowColor||"rgba(0,0,0,0)",i.shadowBlur=t.shadowBlur||0,i.tabs=t.tabs||0;var s=this.fontToComponents(i.font);return i.fontStyle&&(s.fontStyle=i.fontStyle),i.fontVariant&&(s.fontVariant=i.fontVariant),i.fontWeight&&(s.fontWeight=i.fontWeight),i.fontSize&&("number"==typeof i.fontSize&&(i.fontSize=i.fontSize+"px"),s.fontSize=i.fontSize),this._fontComponents=s,i.font=this.componentsToFont(this._fontComponents),this.style=i,this.dirty=!0,e&&this.updateText(),this},e.Text.prototype.updateText=function(){this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font;var t=this.text;this.characterLimitSize>-1&&this.characterLimitSize<t.length&&(t=this.text.substring(0,this.characterLimitSize)+this.characterLimitSuffix),this.style.wordWrap&&(t=this.runWordWrap(this.text));var e=t.split(this.splitRegExp),i=this.style.tabs,s=[],n=0,r=this.determineFontProperties(this.style.font),o=e.length;this.style.maxLines>0&&this.style.maxLines<e.length&&(o=this.style.maxLines),this._charCount=0;for(var a=0;a<o;a++){if(0===i){l=this.style.strokeThickness+this.padding.x;this.colors.length>0||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;u<h.length;u++){var d=0;d=this.colors.length>0||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;u<h.length;u++)this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a<o;a++)m=this.style.strokeThickness/2,y=this.style.strokeThickness/2+a*p+r.ascent,a>0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h<n.length;h++)h>0&&(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;h<n.length;h++){var l=Math.ceil(this.context.measureText(n[h]).width);o=this.game.math.snapToCeil(e,r),s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i),e=o+l}},e.Text.prototype.updateShadow=function(t){t?(this.context.shadowOffsetX=this.style.shadowOffsetX,this.context.shadowOffsetY=this.style.shadowOffsetY,this.context.shadowColor=this.style.shadowColor,this.context.shadowBlur=this.style.shadowBlur):(this.context.shadowOffsetX=0,this.context.shadowOffsetY=0,this.context.shadowColor=0,this.context.shadowBlur=0)},e.Text.prototype.measureLine=function(t){for(var e=0,i=0;i<t.length;i++){var s=t[i];if(this.fontWeights.length>0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s<t.length;s++){var n=t[s];if(this.fontWeights.length>0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;o<r;o++){var a=n[o],h="";if(a=a.replace(/^ *|\s*$/gi,""),e.measureText(a).width<i)s+=a+"\n";else{for(var l=i,c=a.split(" "),u=0;u<c.length;u++){var d=c[u],p=d+" ",f=e.measureText(p).width;if(f>l){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;s<i.length;s++){for(var n=this.style.wordWrapWidth,r=i[s].split(" "),o=0;o<r.length;o++){var a=this.context.measureText(r[o]).width,h=a+this.context.measureText(" ").width;h>n?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}s<i.length-1&&(e+="\n")}return e},e.Text.prototype.updateFont=function(t){var e=this.componentsToFont(t);this.style.font!==e&&(this.style.font=e,this.dirty=!0,this.parent&&this.updateTransform())},e.Text.prototype.fontToComponents=function(t){var e=t.match(/^\s*(?:\b(normal|italic|oblique|inherit)?\b)\s*(?:\b(normal|small-caps|inherit)?\b)\s*(?:\b(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit)?\b)\s*(?:\b(xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller|0|\d*(?:[.]\d*)?(?:%|[a-z]{2,5}))?\b)\s*(.*)\s*$/);if(e){var i=e[5].trim();return/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(i)||/['",]/.exec(i)||(i="'"+i+"'"),{font:t,fontStyle:e[1]||"normal",fontVariant:e[2]||"normal",fontWeight:e[3]||"normal",fontSize:e[4]||"medium",fontFamily:i}}return console.warn("Phaser.Text - unparsable CSS font: "+t),{font:t}},e.Text.prototype.componentsToFont=function(t){var e,i=[];return(e=t.fontStyle)&&"normal"!==e&&i.push(e),(e=t.fontVariant)&&"normal"!==e&&i.push(e),(e=t.fontWeight)&&"normal"!==e&&i.push(e),(e=t.fontSize)&&"medium"!==e&&i.push(e),(e=t.fontFamily)&&i.push(e),i.length||i.push(t.font),i.join(" ")},e.Text.prototype.setText=function(t,e){return void 0===e&&(e=!1),(t=t.toString()||"")===this._text?this:(this.text=t,e?this.updateText():this.dirty=!0,this)},e.Text.prototype.parseList=function(t){if(!Array.isArray(t))return this;for(var e="",i=0;i<t.length;i++)Array.isArray(t[i])?(e+=t[i].join("\t"),i<t.length-1&&(e+="\n")):(e+=t[i],i<t.length-1&&(e+="\t"));return this.text=e,this.dirty=!0,this},e.Text.prototype.setTextBounds=function(t,i,s,n){return void 0===t?this.textBounds=null:(this.textBounds?this.textBounds.setTo(t,i,s,n):this.textBounds=new e.Rectangle(t,i,s,n),this.style.wordWrapWidth>s&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;l<a;l++){for(c=0;c<p;c+=4)if(255!==u[f+c]){g=!0;break}if(g)break;f+=p}for(i.ascent=a-l,f=d-p,g=!1,l=h;l>a;l--){for(c=0;c<p;c+=4)if(255!==u[f+c]){g=!0;break}if(g)break;f-=p}i.descent=l-a,i.descent+=6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i}return i},e.Text.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,t)},e.Text.prototype.setCharacterLimit=function(t,e){this.characterLimitSuffix=void 0===e?"":e,this.characterLimitSize=t,this.updateText()},Object.defineProperty(e.Text.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(t){t=t||"bold 20pt Arial",this._fontComponents=this.fontToComponents(t),this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(t){t=(t=t||"Arial").trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(t)||/['",]/.exec(t)||(t="'"+t+"'"),this._fontComponents.fontFamily=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontSize",{get:function(){var t=this._fontComponents.fontSize;return t&&/(?:^0$|px$)/.exec(t)?parseInt(t,10):t},set:function(t){"number"==typeof(t=t||"0")&&(t+="px"),this._fontComponents.fontSize=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontWeight=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontStyle=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(t){t=t||"normal",this._fontComponents.fontVariant=t,this.updateFont(this._fontComponents)}}),Object.defineProperty(e.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(t){t!==this.style.fill&&(this.style.fill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"align",{get:function(){return this.style.align},set:function(t){(t=t.toLowerCase())!==this.style.align&&(this.style.align=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"resolution",{get:function(){return this._res},set:function(t){t!==this._res&&(this._res=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(t){t!==this.style.tabs&&(this.style.tabs=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignH&&(this.style.boundsAlignH=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(t){(t=t.toLowerCase())!==this.style.boundsAlignV&&(this.style.boundsAlignV=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(t){t!==this.style.stroke&&(this.style.stroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(t){t!==this.style.strokeThickness&&(this.style.strokeThickness=Number(t),this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(t){t!==this.style.wordWrap&&(this.style.wordWrap=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(t){t!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(t){t!==this._lineSpacing&&(this._lineSpacing=parseFloat(t),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(e.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(t){t!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(t){t!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(t){t!==this.style.shadowColor&&(this.style.shadowColor=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(t){t!==this.style.shadowBlur&&(this.style.shadowBlur=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(t){t!==this.style.shadowStroke&&(this.style.shadowStroke=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(t){t!==this.style.shadowFill&&(this.style.shadowFill=t,this.dirty=!0)}}),Object.defineProperty(e.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*(this.texture.frame.width/this.resolution)},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}}),Object.defineProperty(e.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*(this.texture.frame.height/this.resolution)},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}),Object.defineProperty(e.Text.prototype,"testString",{get:function(){return this._testString},set:function(t){this._testString=t,this.updateText()}}),e.Text.fontPropertiesCache={},e.Text.fontPropertiesCanvas=document.createElement("canvas"),e.Text.fontPropertiesContext=e.Text.fontPropertiesCanvas.getContext("2d"),e.BitmapText=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||"",r=r||"",o=o||32,a=a||"left",PIXI.DisplayObjectContainer.call(this),this.type=e.BITMAPTEXT,this.physicsType=e.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new e.Point,this._prevAnchor=new e.Point,this._glyphs=[],this._maxWidth=0,this._text=r.toString()||"",this._data=t.cache.getBitmapFont(n),this._font=n,this._fontSize=o,this._align=a,this._tint=16777215,this.updateText(),this.dirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.BitmapText.prototype.constructor=e.BitmapText,e.Component.Core.install.call(e.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.BitmapText.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.BitmapText.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.BitmapText.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.BitmapText.prototype.preUpdateCore=e.Component.Core.preUpdate,e.BitmapText.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.BitmapText.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===e.Physics.ARCADE&&(this.textWidth===this.body.sourceWidth&&this.textHeight===this.body.sourceHeight||this.body.setSize(this.textWidth,this.textHeight))},e.BitmapText.prototype.setText=function(t){this.text=t},e.BitmapText.prototype.scanLine=function(t,e,i){for(var s=0,n=0,r=-1,o=0,a=null,h=this._maxWidth>0?this._maxWidth:null,l=[],c=0;c<i.length;c++){var u=c===i.length-1;if(/(?:\r\n|\r|\n)/.test(i.charAt(c)))return{width:n,text:i.substr(0,c),end:u,chars:l};var d=i.charCodeAt(c),p=t.chars[d],f=0;void 0===p&&(d=32,p=t.chars[d]);var g=a&&p.kerning[a]?p.kerning[a]:0;if(/(\s)/.test(i.charAt(c))&&(r=c,o=n),f=(g+p.texture.width+p.xOffset)*e,h&&n+f>=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;r<n.length;r++){for(var o="",a=n[r],h=0;h<a.length;h++)o=i.chars[a.charCodeAt(h)]?o.concat(a[h]):o.concat(e);n[r]=o}return n.join("\n")},e.BitmapText.prototype.updateText=function(){var t=this._data.font;if(t){var e=this.text,i=this._fontSize/t.size,s=[],n=0;this.textWidth=0;do{(c=this.scanLine(t,i,e)).y=n,s.push(c),c.width>this.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;l<s.length;l++){var c=s[l];"right"===this._align?o=this.textWidth-c.width:"center"===this._align&&(o=(this.textWidth-c.width)/2);for(var u=0;u<c.text.length;u++){var d=c.text.charCodeAt(u),p=t.chars[d];void 0===p&&(d=32,p=t.chars[d]);var f=this._glyphs[r];f?f.texture=p.texture:((f=new PIXI.Sprite(p.texture)).name=c.text[u],this._glyphs.push(f)),f.position.x=c.chars[u]+o-a,f.position.y=c.y+p.yOffset*i-h,f.scale.set(i),f.tint=this.tint,f.texture.requiresReTint=!0,f.cachedTint=16777215,f.parent||this.addChild(f),r++}}for(l=r;l<this._glyphs.length;l++)this.removeChild(this._glyphs[l])}},e.BitmapText.prototype.purgeGlyphs=function(){for(var t=this._glyphs.length,e=[],i=0;i<this._glyphs.length;i++)this._glyphs[i].parent!==this?this._glyphs[i].destroy():e.push(this._glyphs[i]);return this._glyphs=[],this._glyphs=e,this.updateText(),t-e.length},e.BitmapText.prototype.updateTransform=function(){!this.dirty&&this.anchor.equals(this._prevAnchor)||(this.updateText(),this.dirty=!1,this._prevAnchor.copyFrom(this.anchor)),PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)},Object.defineProperty(e.BitmapText.prototype,"align",{get:function(){return this._align},set:function(t){t===this._align||"left"!==t&&"center"!==t&&"right"!==t||(this._align=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"tint",{get:function(){return this._tint},set:function(t){t!==this._tint&&(this._tint=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"font",{get:function(){return this._font},set:function(t){t!==this._font&&(this._font=t.trim(),this._data=this.game.cache.getBitmapFont(this._font),this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"fontSize",{get:function(){return this._fontSize},set:function(t){(t=parseInt(t,10))!==this._fontSize&&t>0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f<r.length;f++){var g=this.frameData.addFrame(new e.Frame(f,u,d,this.characterWidth,this.characterHeight));this.grabData[r.charCodeAt(f)]=g.index,++p===this.characterPerRow?(p=0,u=this.offsetX,d+=this.characterHeight+this.characterSpacingY):u+=this.characterWidth+this.characterSpacingX}t.cache.updateFrameData(i,this.frameData),this.stamp=new e.Image(t,0,0,i,0),e.RenderTexture.call(this,t,100,100,"",e.scaleModes.NEAREST),this.type=e.RETROFONT},e.RetroFont.prototype=Object.create(e.RenderTexture.prototype),e.RetroFont.prototype.constructor=e.RetroFont,e.RetroFont.ALIGN_LEFT="left",e.RetroFont.ALIGN_RIGHT="right",e.RetroFont.ALIGN_CENTER="center",e.RetroFont.TEXT_SET1=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n<s.length;n++)t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-s[n].length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-s[n].length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(s[n],t,i,this.customSpacingX),i+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n<t.length;n++)if(" "===t.charAt(n))e+=this.characterWidth+s;else if(this.grabData[t.charCodeAt(n)]>=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;i<e.length;i++)e[i].length>t&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i<this._text.length;i++){var s=this._text[i],n=s.charCodeAt(0);(this.grabData[n]>=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,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;a<o;a++)r=a/(o-1),e[n=4*a]=r,e[n+1]=0,e[n+2]=r,e[n+3]=1,s[n=2*a]=1,s[n+1]=1,i[n=2*a]=n,i[n+1]=n+1}},e.Rope.prototype.updateTransform=function(){var t=this.points;if(!(t.length<1)){var e,i=t[0],s={x:0,y:0};this.count-=.2;for(var n,r,o,a,h=this.vertices,l=t.length,c=0;c<l;c++)n=t[c],r=4*c,e=c<t.length-1?t[c+1]:n,s.y=-(e.x-i.x),s.x=e.y-i.y,10*(1-c/(l-1))>1&&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)}},e.Rope.prototype.setTexture=function(t){this.texture=t},e.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())},e.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)},e.Rope.prototype._renderStrip=function(t){var i=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===e.Rope.TRIANGLE_STRIP?i.TRIANGLE_STRIP:i.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),i.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),i.uniform2f(r.projectionVector,s.x,-s.y),i.uniform2f(r.offsetVector,-n.x,-n.y),i.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,i.bindBuffer(i.ARRAY_BUFFER,this._vertexBuffer),i.bufferData(i.ARRAY_BUFFER,this.vertices,i.STATIC_DRAW),i.vertexAttribPointer(r.aVertexPosition,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,this._uvBuffer),i.bufferData(i.ARRAY_BUFFER,this.uvs,i.STATIC_DRAW),i.vertexAttribPointer(r.aTextureCoord,2,i.FLOAT,!1,0,0),i.activeTexture(i.TEXTURE0),this.texture.baseTexture._dirty[i.id]?t.renderer.updateTexture(this.texture.baseTexture):i.bindTexture(i.TEXTURE_2D,this.texture.baseTexture._glTextures[i.id]),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._indexBuffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,this.indices,i.STATIC_DRAW)):(i.bindBuffer(i.ARRAY_BUFFER,this._vertexBuffer),i.bufferSubData(i.ARRAY_BUFFER,0,this.vertices),i.vertexAttribPointer(r.aVertexPosition,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,this._uvBuffer),i.vertexAttribPointer(r.aTextureCoord,2,i.FLOAT,!1,0,0),i.activeTexture(i.TEXTURE0),this.texture.baseTexture._dirty[i.id]?t.renderer.updateTexture(this.texture.baseTexture):i.bindTexture(i.TEXTURE_2D,this.texture.baseTexture._glTextures[i.id]),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),i.drawElements(o,this.indices.length,i.UNSIGNED_SHORT,0)},e.Rope.prototype._renderCanvas=function(t){var i=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?i.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):i.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===e.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(i):this._renderCanvasTriangles(i)},e.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n<s-2;n++){var r=2*n;this._renderCanvasDrawTriangle(t,e,i,r,r+2,r+4)}},e.Rope.prototype._renderCanvasTriangles=function(t){var e=this.vertices,i=this.uvs,s=this.indices,n=s.length;this.count++;for(var r=0;r<n;r+=3){var o=2*s[r],a=2*s[r+1],h=2*s[r+2];this._renderCanvasDrawTriangle(t,e,i,o,a,h)}},e.Rope.prototype._renderCanvasDrawTriangle=function(t,e,i,s,n,r){var o=this.texture.baseTexture.source,a=this.texture.width,h=this.texture.height,l=e[s],c=e[n],u=e[r],d=e[s+1],p=e[n+1],f=e[r+1],g=i[s]*a,m=i[n]*a,y=i[r]*a,v=i[s+1]*h,x=i[n+1]*h,b=i[r+1]*h;if(this.canvasPadding>0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;n<s-2;n++){var r=2*n,o=i[r],a=i[r+2],h=i[r+4],l=i[r+1],c=i[r+3],u=i[r+5];e.moveTo(o,l),e.lineTo(a,c),e.lineTo(h,u)}e.fillStyle="#FF0000",e.fill(),e.closePath()},e.Rope.prototype.getBounds=function(t){for(var i=t||this.worldTransform,s=i.a,n=i.b,r=i.c,o=i.d,a=i.tx,h=i.ty,l=-1/0,c=-1/0,u=1/0,d=1/0,p=this.vertices,f=0;f<p.length;f+=2){var g=p[f],m=p[f+1],y=s*g+r*m+a,v=o*m+n*g+h;u=y<u?y:u,d=v<d?v:d,l=y>l?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],c=0;c<this.points.length;c++)t=4*c,i=this.vertices[t]*this.scale.x,s=this.vertices[t+1]*this.scale.y,n=this.vertices[t+4]*this.scale.x,r=this.vertices[t+3]*this.scale.y,o=e.Math.difference(i,n),a=e.Math.difference(s,r),i+=this.world.x,s+=this.world.y,h=new e.Rectangle(i,s,o,a),l.push(h);return l}}),e.TileSprite=function(t,i,s,n,r,o,a){i=i||0,s=s||0,n=n||256,r=r||256,o=o||null,a=a||null,PIXI.Sprite.call(this,new PIXI.Texture(e.Cache.DEFAULT.baseTexture),n,r),this.type=e.TILESPRITE,this.physicsType=e.SPRITE,this._scroll=new e.Point,this.tileScale=new e.Point(1,1),this.tileScaleOffset=new e.Point(1,1),this.tilePosition=new e.Point,this.textureDebug=!1,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0,this._width=n,this._height=r,e.Component.Core.init.call(this,t,i,s,o,a)},e.TileSprite.prototype=Object.create(PIXI.Sprite.prototype),e.TileSprite.prototype.constructor=e.TileSprite,e.Component.Core.install.call(e.TileSprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","Smoothed"]),e.TileSprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.TileSprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.TileSprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.TileSprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TileSprite.prototype.preUpdate=function(){return 0!==this._scroll.x&&(this.tilePosition.x+=this._scroll.x*this.game.time.physicsElapsed),0!==this._scroll.y&&(this.tilePosition.y+=this._scroll.y*this.game.time.physicsElapsed),!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.TileSprite.prototype.autoScroll=function(t,e){return this._scroll.set(t,e),this},e.TileSprite.prototype.stopScroll=function(){return this._scroll.set(0,0),this},e.TileSprite.prototype.destroy=function(t){e.Component.Destroy.prototype.destroy.call(this,t),PIXI.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},e.TileSprite.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this.tilePosition.x=0,this.tilePosition.y=0,this},e.TileSprite.prototype.setTexture=function(t){return this.texture!==t&&(this.texture=t,this.refreshTexture=!0,this.cachedTint=16777215),this},e.TileSprite.prototype._renderWebGL=function(t){if(this.visible&&this.renderable&&0!==this.alpha){if(this._mask&&(t.spriteBatch.stop(),t.maskManager.pushMask(this.mask,t),t.spriteBatch.start()),this._filters&&(t.spriteBatch.flush(),t.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,t),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(this.tilingTexture.baseTexture.textureIndex=this.texture.baseTexture.textureIndex,t.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}t.spriteBatch.renderTilingSprite(this);for(var e=0;e<this.children.length;e++)this.children[e]._renderWebGL(t);var i=!1;this._filters&&(i=!0,t.spriteBatch.stop(),t.filterManager.popFilter()),this._mask&&(i||t.spriteBatch.stop(),t.maskManager.popMask(this._mask,t)),i&&t.spriteBatch.start()}},e.TileSprite.prototype._renderCanvas=function(t){if(this.visible&&this.renderable&&0!==this.alpha){var e=t.context;this._mask&&t.maskManager.pushMask(this._mask,t),e.globalAlpha=this.worldAlpha;var i=this.worldTransform,s=t.resolution,n=i.tx*s+t.shakeX,r=i.ty*s+t.shakeY;if(e.setTransform(i.a*s,i.b*s,i.c*s,i.d*s,n,r),16777215===this.tint||!this.texture.requiresReTint&&this.cachedTint===this.tint||(this.tintedTexture=PIXI.CanvasTinter.getTintedTexture(this,this.tint),this.cachedTint=this.tint,this.texture.requiresReTint=!1,this.refreshTexture=!0),this.refreshTexture){if(this.generateTilingTexture(!1,t),!this.tilingTexture)return;this.tilePattern=e.createPattern(this.tilingTexture.baseTexture.source,"repeat")}var o=t.currentBlendMode;this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,e.globalCompositeOperation=PIXI.blendModesCanvas[t.currentBlendMode]);var a=this.tilePosition,h=this.tileScale;a.x%=this.tilingTexture.baseTexture.width,a.y%=this.tilingTexture.baseTexture.height,e.scale(h.x,h.y),e.translate(a.x+this.anchor.x*-this._width,a.y+this.anchor.y*-this._height),e.fillStyle=this.tilePattern,n=-a.x,r=-a.y;var l=this._width/h.x,c=this._height/h.y;t.roundPixels&&(n|=0,r|=0,l|=0,c|=0),e.fillRect(n,r,l,c),e.scale(1/h.x,1/h.y),e.translate(-a.x+this.anchor.x*this._width,-a.y+this.anchor.y*this._height),this._mask&&t.maskManager.popMask(t);for(var u=0;u<this.children.length;u++)this.children[u]._renderCanvas(t);o!==this.blendMode&&(t.currentBlendMode=o,e.globalCompositeOperation=PIXI.blendModesCanvas[o])}},e.TileSprite.prototype.onTextureUpdate=function(){},e.TileSprite.prototype.generateTilingTexture=function(t){if(this.texture.baseTexture.hasLoaded){var i=this.texture,s=i.frame,n=this._frame.sourceSizeW||this._frame.width,r=this._frame.sourceSizeH||this._frame.height,o=0,a=0;this._frame.trimmed&&(o=this._frame.spriteSourceSizeX,a=this._frame.spriteSourceSizeY),t&&(n=e.Math.getNextPowerOfTwo(n),r=e.Math.getNextPowerOfTwo(r)),this.canvasBuffer?(this.canvasBuffer.resize(n,r),this.tilingTexture.baseTexture.width=n,this.tilingTexture.baseTexture.height=r,this.tilingTexture.needsUpdate=!0):(this.canvasBuffer=new PIXI.CanvasBuffer(n,r),this.tilingTexture=PIXI.Texture.fromCanvas(this.canvasBuffer.canvas),this.tilingTexture.isTiling=!0,this.tilingTexture.needsUpdate=!0),this.textureDebug&&(this.canvasBuffer.context.strokeStyle="#00ff00",this.canvasBuffer.context.strokeRect(0,0,n,r));var h=i.crop.width,l=i.crop.height;h===n&&l===r||(h=n,l=r);var c=this.tintedTexture?this.tintedTexture:i.baseTexture.source;this.canvasBuffer.context.drawImage(c,i.crop.x,i.crop.y,i.crop.width,i.crop.height,o,a,h,l),this.tileScaleOffset.x=s.width/n,this.tileScaleOffset.y=s.height/r,this.refreshTexture=!1,this.tilingTexture.baseTexture._powerOf2=!0}},e.TileSprite.prototype.getBounds=function(){var t=this._width,e=this._height,i=t*(1-this.anchor.x),s=t*-this.anchor.x,n=e*(1-this.anchor.y),r=e*-this.anchor.y,o=this.worldTransform,a=o.a,h=o.b,l=o.c,c=o.d,u=o.tx,d=o.ty,p=a*s+l*r+u,f=c*r+h*s+d,g=a*i+l*r+u,m=c*r+h*i+d,y=a*i+l*n+u,v=c*n+h*i+d,x=a*s+l*n+u,b=c*n+h*s+d,_=-1/0,w=-1/0,T=1/0,P=1/0;T=x<(T=y<(T=g<(T=p<T?p:T)?g:T)?y:T)?x:T,P=b<(P=v<(P=m<(P=f<P?f:P)?m:P)?v:P)?b:P,_=x>(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i<t.length;i++)if(!t[i].parent)return i;return-1},remove:function(t){for(var i=e.CanvasPool.pool,s=0;s<i.length;s++)i[s].parent===t&&(i[s].parent=null,i[s].canvas.width=1,i[s].canvas.height=1)},removeByCanvas:function(t){for(var i=e.CanvasPool.pool,s=0;s<i.length;s++)i[s].canvas===t&&(i[s].parent=null,i[s].canvas.width=1,i[s].canvas.height=1)},getTotal:function(){for(var t=e.CanvasPool.pool,i=0,s=0;s<t.length;s++)t[s].parent&&i++;return i},getFree:function(){for(var t=e.CanvasPool.pool,i=0,s=0;s<t.length;s++)t[s].parent||i++;return i},log:function(){console.log("CanvasPool: %s used, %s free, %s total",this.getTotal(),this.getFree(),this.pool.length)}},e.CanvasPool.pool=[],Object.defineProperty(e.CanvasPool,"length",{get:function(){return this.pool.length}}),e.Device=function(){this.deviceReadyAt=0,this.initialized=!1,this.desktop=!1,this.iOS=!1,this.iOSVersion=0,this.cocoonJS=!1,this.cocoonJSApp=!1,this.cordova=!1,this.node=!1,this.nodeWebkit=!1,this.electron=!1,this.ejecta=!1,this.crosswalk=!1,this.android=!1,this.chromeOS=!1,this.linux=!1,this.macOS=!1,this.windows=!1,this.windowsPhone=!1,this.canvas=!1,this.canvasBitBltShift=null,this.canHandleAlpha=!1,this.canUseMultiply=!1,this.webGL=!1,this.file=!1,this.fileSystem=!1,this.localStorage=!1,this.worker=!1,this.css3D=!1,this.pointerLock=!1,this.typedArray=!1,this.vibration=!1,this.getUserMedia=!0,this.quirksMode=!1,this.touch=!1,this.mspointer=!1,this.wheelEvent=null,this.arora=!1,this.chrome=!1,this.chromeVersion=0,this.epiphany=!1,this.firefox=!1,this.firefoxVersion=0,this.ie=!1,this.ieVersion=0,this.trident=!1,this.tridentVersion=0,this.edge=!1,this.mobileSafari=!1,this.midori=!1,this.opera=!1,this.safari=!1,this.safariVersion=0,this.webApp=!1,this.silk=!1,this.audioData=!1,this.webAudio=!1,this.ogg=!1,this.opus=!1,this.mp3=!1,this.wav=!1,this.m4a=!1,this.webm=!1,this.dolby=!1,this.oggVideo=!1,this.h264Video=!1,this.mp4Video=!1,this.webmVideo=!1,this.vp9Video=!1,this.hlsVideo=!1,this.iPhone=!1,this.iPhone4=!1,this.iPad=!1,this.pixelRatio=0,this.littleEndian=!1,this.LITTLE_ENDIAN=!1,this.support32bit=!1,this.fullscreen=!1,this.requestFullscreen="",this.cancelFullscreen="",this.fullscreenKeyboard=!1},e.Device=new e.Device,e.Device.onInitialized=new e.Signal,e.Device.whenReady=function(t,e,i){var s=this._readyCheck;if(this.deviceReadyAt||!s)t.call(e,this);else if(s._monitor||i)s._queue=s._queue||[],s._queue.push([t,e]);else{s._monitor=s.bind(this),s._queue=s._queue||[],s._queue.push([t,e]);var n=void 0!==window.cordova,r=navigator.isCocoonJS;"complete"===document.readyState||"interactive"===document.readyState?window.setTimeout(s._monitor,0):n&&!r?document.addEventListener("deviceready",s._monitor,!1):(document.addEventListener("DOMContentLoaded",s._monitor,!1),window.addEventListener("load",s._monitor,!1))}},e.Device._readyCheck=function(){var t=this._readyCheck;if(document.body){if(!this.deviceReadyAt){this.deviceReadyAt=Date.now(),document.removeEventListener("deviceready",t._monitor),document.removeEventListener("DOMContentLoaded",t._monitor),window.removeEventListener("load",t._monitor),this._initialize(),this.initialized=!0,this.onInitialized.dispatch(this);for(var e;e=t._queue.shift();){var i=e[0],s=e[1];i.call(s,this)}this._readyCheck=null,this._initialize=null,this.onInitialized=null}}else window.setTimeout(t._monitor,20)},e.Device._initialize=function(){function t(){var t=new ArrayBuffer(4),e=new Uint8Array(t),i=new Uint32Array(t);return e[0]=161,e[1]=178,e[2]=195,e[3]=212,3569595041===i[0]||2712847316!==i[0]&&null}function i(){if(void 0===Uint8ClampedArray)return!1;var t=e.CanvasPool.create(this,1,1).getContext("2d");if(!t)return!1;var i=t.createImageData(1,1);return e.CanvasPool.remove(this),i.data instanceof Uint8ClampedArray}var s=this;!function(){var t=navigator.userAgent;/Playstation Vita/.test(t)?s.vita=!0:/Kindle/.test(t)||/\bKF[A-Z][A-Z]+/.test(t)||/Silk.*Mobile Safari/.test(t)?s.kindle=!0:/Android/.test(t)?s.android=!0:/CrOS/.test(t)?s.chromeOS=!0:/iP[ao]d|iPhone/i.test(t)?(s.iOS=!0,navigator.appVersion.match(/OS (\d+)/),s.iOSVersion=parseInt(RegExp.$1,10)):/Linux/.test(t)?s.linux=!0:/Mac OS/.test(t)?s.macOS=!0:/Windows/.test(t)&&(s.windows=!0),(/Windows Phone/i.test(t)||/IEMobile/i.test(t))&&(s.android=!1,s.iOS=!1,s.macOS=!1,s.windows=!0,s.windowsPhone=!0);var e=/Silk/.test(t);(s.windows||s.macOS||s.linux&&!e||s.chromeOS)&&(s.desktop=!0),(s.windowsPhone||/Windows NT/i.test(t)&&/Touch/i.test(t))&&(s.desktop=!1)}(),function(){var t=navigator.userAgent;if(/Arora/.test(t)?s.arora=!0:/Edge\/\d+/.test(t)?s.edge=!0:/Chrome\/(\d+)/.test(t)&&!s.windowsPhone?(s.chrome=!0,s.chromeVersion=parseInt(RegExp.$1,10)):/Epiphany/.test(t)?s.epiphany=!0:/Firefox\D+(\d+)/.test(t)?(s.firefox=!0,s.firefoxVersion=parseInt(RegExp.$1,10)):/AppleWebKit/.test(t)&&s.iOS?s.mobileSafari=!0:/MSIE (\d+\.\d+);/.test(t)?(s.ie=!0,s.ieVersion=parseInt(RegExp.$1,10)):/Midori/.test(t)?s.midori=!0:/Opera/.test(t)?s.opera=!0:/Safari\/(\d+)/.test(t)&&!s.windowsPhone?(s.safari=!0,/Version\/(\d+)\./.test(t)&&(s.safariVersion=parseInt(RegExp.$1,10))):/Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(t)&&(s.ie=!0,s.trident=!0,s.tridentVersion=parseInt(RegExp.$1,10),s.ieVersion=parseInt(RegExp.$3,10)),/Silk/.test(t)&&(s.silk=!0),navigator.standalone&&(s.webApp=!0),void 0!==window.cordova&&(s.cordova=!0),"undefined"!=typeof process&&"undefined"!=typeof require&&(s.node=!0),s.node&&"object"==typeof process.versions&&(s.nodeWebkit=!!process.versions["node-webkit"],s.electron=!!process.versions.electron),navigator.isCocoonJS&&(s.cocoonJS=!0),s.cocoonJS)try{s.cocoonJSApp="undefined"!=typeof CocoonJS}catch(t){s.cocoonJSApp=!1}void 0!==window.ejecta&&(s.ejecta=!0),/Crosswalk/.test(t)&&(s.crosswalk=!0)}(),function(){s.audioData=!!window.Audio,s.webAudio=!(!window.AudioContext&&!window.webkitAudioContext);var t=document.createElement("audio");try{if(t.canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,"")&&(s.ogg=!0),(t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,"")||t.canPlayType("audio/opus;").replace(/^no$/,""))&&(s.opus=!0),t.canPlayType("audio/mpeg;").replace(/^no$/,"")&&(s.mp3=!0),t.canPlayType('audio/wav; codecs="1"').replace(/^no$/,"")&&(s.wav=!0),(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/aac;").replace(/^no$/,""))&&(s.m4a=!0),t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")&&(s.webm=!0),""!==t.canPlayType('audio/mp4;codecs="ec-3"')))if(s.edge)s.dolby=!0;else if(s.safari&&s.safariVersion>=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i<t.length;i++)if(e[t[i]]){s.fullscreen=!0,s.requestFullscreen=t[i];break}var n=["cancelFullScreen","exitFullscreen","webkitCancelFullScreen","webkitExitFullscreen","msCancelFullScreen","msExitFullscreen","mozCancelFullScreen","mozExitFullscreen"];if(s.fullscreen)for(i=0;i<n.length;i++)if(document[n[i]]){s.cancelFullscreen=n[i];break}window.Element&&Element.ALLOW_KEYBOARD_INPUT&&(s.fullscreenKeyboard=!0)}(),("ontouchstart"in document.documentElement||window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i<e.length;i++)t.style["image-rendering"]=e[i];return t.style.msInterpolationMode="nearest-neighbor",t},setImageRenderingBicubic:function(t){return t.style["image-rendering"]="auto",t.style.msInterpolationMode="bicubic",t}},e.RequestAnimationFrame=function(t,e){void 0===e&&(e=!1),this.game=t,this.isRunning=!1,this.forceSetTimeOut=e;for(var i=["ms","moz","webkit","o"],s=0;s<i.length&&!window.requestAnimationFrame;s++)window.requestAnimationFrame=window[i[s]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[i[s]+"CancelAnimationFrame"]||window[i[s]+"CancelRequestAnimationFrame"];this._isSetTimeOut=!1,this._onLoop=null,this._timeOutID=null},e.RequestAnimationFrame.prototype={start:function(){this.isRunning=!0;var t=this;!window.requestAnimationFrame||this.forceSetTimeOut?(this._isSetTimeOut=!0,this._onLoop=function(){return t.updateSetTimeout()},this._timeOutID=window.setTimeout(this._onLoop,0)):(this._isSetTimeOut=!1,this._onLoop=function(e){return t.updateRAF(e)},this._timeOutID=window.requestAnimationFrame(this._onLoop))},updateRAF:function(t){this.isRunning&&(this.game.update(Math.floor(t)),this._timeOutID=window.requestAnimationFrame(this._onLoop))},updateSetTimeout:function(){this.isRunning&&(this.game.update(Date.now()),this._timeOutID=window.setTimeout(this._onLoop,this.game.time.timeToCall))},stop:function(){this._isSetTimeOut?clearTimeout(this._timeOutID):window.cancelAnimationFrame(this._timeOutID),this.isRunning=!1},isSetTimeOut:function(){return this._isSetTimeOut},isRAF:function(){return!1===this._isSetTimeOut}},e.RequestAnimationFrame.prototype.constructor=e.RequestAnimationFrame,e.Math={PI2:2*Math.PI,HALF_PI:.5*Math.PI,DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI,degToRad:function(t){return t*e.Math.DEG_TO_RAD},radToDeg:function(t){return t*e.Math.RAD_TO_DEG},getNextPowerOfTwo:function(t){if(t>0&&0==(t&t-1))return t;for(var e=1;e<t;)e<<=1;return e},isPowerOfTwo:function(t,e){return t>0&&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)<i},fuzzyLessThan:function(t,e,i){return void 0===i&&(i=1e-4),t<e+i},fuzzyGreaterThan:function(t,e,i){return void 0===i&&(i=1e-4),t>e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i<e;i++)t+=+arguments[i];return t/e},shear:function(t){return t%1},snapTo:function(t,e,i){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.round(t/e),i+t)},snapToFloor:function(t,e,i){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.floor(t/e),i+t)},snapToCeil:function(t,e,i){return void 0===i&&(i=0),0===e?t:(t-=i,t=e*Math.ceil(t/e),i+t)},roundTo:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var s=Math.pow(i,-e);return Math.round(t*s)/s},floorTo:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var s=Math.pow(i,-e);return Math.floor(t*s)/s},ceilTo:function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=10);var s=Math.pow(i,-e);return Math.ceil(t*s)/s},trunc:function(t){return isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t},rotateToAngle:function(t,i,s){return void 0===s&&(s=.05),t===i?t:(Math.abs(i-t)<=s||Math.abs(i-t)>=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(i<t?i+=e.Math.PI2:i-=e.Math.PI2),i>t?t+=s:i<t&&(t-=s)),t)},getShortestAngle:function(t,e){var i=e-t;return 0===i?0:i-360*Math.floor((i- -180)/360)},angleBetween:function(t,e,i,s){return Math.atan2(s-e,i-t)},angleBetweenY:function(t,e,i,s){return Math.atan2(i-t,s-e)},angleBetweenPoints:function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},angleBetweenPointsY:function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},reverseAngle:function(t){return this.normalizeAngle(t+Math.PI,!0)},normalizeAngle:function(t){return(t%=2*Math.PI)>=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;e<s;e++)t[e]<t[i]&&(i=e);return t[i]},max: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;e<s;e++)t[e]>t[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;i<n;i++)e[i][t]<e[s][t]&&(s=i);return e[s][t]},maxProperty: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;i<n;i++)e[i][t]>e[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[i<n+1?i:n+1],t[i<n+2?i:n+2],s-n)},linear:function(t,e,i){return(e-t)*i+t},bernstein:function(t,e){return this.factorial(t)/this.factorial(e)/this.factorial(t-e)},factorial:function(t){if(0===t)return 1;for(var e=t;--t;)e*=t;return e},catmullRom:function(t,e,i,s,n){var r=.5*(i-t),o=.5*(s-e),a=n*n;return(2*e-2*i+r+o)*(n*a)+(-3*e+3*i-2*r-o)*a+r*n+e},difference:function(t,e){return Math.abs(t-e)},roundAwayFromZero:function(t){return t>0?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;l<t;l++)n+=(r-=n*o)*o,a[l]=r,h[l]=n;return{sin:h,cos:a,length:t}},hypot:function(t,e){return Math.sqrt(t*t+e*e)},distance:function(t,e,i,s){var n=t-i,r=e-s;return Math.sqrt(n*n+r*r)},distanceSq:function(t,e,i,s){var n=t-i,r=e-s;return n*n+r*r},distancePow:function(t,e,i,s,n){return void 0===n&&(n=2),Math.sqrt(Math.pow(i-t,n)+Math.pow(s-e,n))},clamp:function(t,e,i){return t<e?e:i<t?i:t},clampBottom:function(t,e){return t<e?e:t},within:function(t,e,i){return Math.abs(t-e)<=i},mapLinear:function(t,e,i,s,n){return s+(t-e)*(n-s)/(i-e)},smoothstep:function(t,e,i){return(t=Math.max(0,Math.min(1,(t-e)/(i-e))))*t*(3-2*t)},smootherstep:function(t,e,i){return(t=Math.max(0,Math.min(1,(t-e)/(i-e))))*t*t*(t*(6*t-15)+10)},sign:function(t){return t<0?-1:t>0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:t<i||i>t?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e<t.length&&null!=t[e];e++){var i=t[e];this.s0-=this.hash(i),this.s0+=~~(this.s0<0),this.s1-=this.hash(i),this.s1+=~~(this.s1<0),this.s2-=this.hash(i),this.s2+=~~(this.s2<0)}},hash:function(t){var e,i,s;for(s=4022871197,t=t.toString(),i=0;i<t.length;i++)e=.02519603282416938*(s+=t.charCodeAt(i)),e-=s=e>>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.level<this.maxLevels)for(null==this.nodes[0]&&this.split();i<this.objects.length;)-1!==(e=this.getIndex(this.objects[i]))?this.nodes[e].insert(this.objects.splice(i,1)[0]):i++}else this.nodes[e].insert(t)},getIndex:function(t){var e=-1;return t.x<this.bounds.right&&t.right<this.bounds.right?t.y<this.bounds.bottom&&t.bottom<this.bounds.bottom?e=1:t.y>this.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.y<this.bounds.bottom&&t.bottom<this.bounds.bottom?e=0:t.y>this.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t<this._tweens.length;t++)this._tweens[t].pendingDelete=!0;this._add=[]},removeFrom:function(t,i){void 0===i&&(i=!0);if(Array.isArray(t))for(s=0,n=t.length;s<n;s++)this.removeFrom(t[s]);else if(t.type===e.GROUP&&i)for(var s=0,n=t.children.length;s<n;s++)this.removeFrom(t.children[s]);else{for(s=0,n=this._tweens.length;s<n;s++)t===this._tweens[s].target&&this.remove(this._tweens[s]);for(s=0,n=this._add.length;s<n;s++)t===this._add[s].target&&this.remove(this._add[s])}},add:function(t){t._manager=this,this._add.push(t)},create:function(t){return new e.Tween(t,this.game,this)},remove:function(t){var e=this._tweens.indexOf(t);-1!==e?this._tweens[e].pendingDelete=!0:-1!==(e=this._add.indexOf(t))&&(this._add[e].pendingDelete=!0)},update:function(){var t=this._add.length,e=this._tweens.length;if(0===e&&0===t)return!1;for(var i=0;i<e;)this._tweens[i].update(this.game.time.time)?i++:(this._tweens.splice(i,1),e--);return t>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;i<this.timeline.length;i++)for(var e in this.timeline[i].vEnd)this.properties[e]=this.target[e]||0,Array.isArray(this.properties[e])||(this.properties[e]*=1);for(var i=0;i<this.timeline.length;i++)this.timeline[i].loadValues();return this.manager.add(this),this.isRunning=!0,(t<0||t>this.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;s<this.timeline.length;s++)this.timeline[s][t]=e;else this.timeline[i][t]=e;return this},delay:function(t,e){return this.updateTweenData("delay",t,e)},repeat:function(t,e,i){return void 0===e&&(e=0),this.updateTweenData("repeatCounter",t,i),this.updateTweenData("repeatTotal",t,i),this.updateTweenData("repeatDelay",e,i)},repeatDelay:function(t,e){return this.updateTweenData("repeatDelay",t,e)},yoyo:function(t,e,i){return void 0===e&&(e=0),this.updateTweenData("yoyo",t,i),this.updateTweenData("yoyoDelay",e,i)},yoyoDelay:function(t,e){return this.updateTweenData("yoyoDelay",t,e)},easing:function(t,e){return"string"==typeof t&&this.manager.easeMap[t]&&(t=this.manager.easeMap[t]),this.updateTweenData("easingFunction",t,e)},interpolation:function(t,i,s){return void 0===i&&(i=e.Math),this.updateTweenData("interpolationFunction",t,s),this.updateTweenData("interpolationContext",i,s)},repeatAll:function(t){return void 0===t&&(t=0),this.repeatCounter=t,this},chain:function(){for(var t=arguments.length;t--;)t>0?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;t<this.timeline.length;t++)this.timeline[t].isRunning||(this.timeline[t].startTime+=this.game.time.time-this._pausedTime)}},_resume:function(){this._codePaused||this.resume()},update:function(t){if(this.pendingDelete||!this.target)return!1;if(this.isPaused)return!0;var i=this.timeline[this.current].update(t);if(i===e.TweenData.PENDING)return!0;if(i===e.TweenData.RUNNING)return this._hasStarted||(this.onStart.dispatch(this.target,this),this._hasStarted=!0),null!==this._onUpdateCallback&&this._onUpdateCallback.call(this._onUpdateCallbackContext,this,this.timeline[this.current].value,this.timeline[this.current]),this.isRunning;if(i===e.TweenData.LOOPED)return-1===this.timeline[this.current].repeatCounter?this.onLoop.dispatch(this.target,this):this.onRepeat.dispatch(this.target,this),!0;if(i===e.TweenData.COMPLETE){var s=!1;return this.reverse?--this.current<0&&(this.current=this.timeline.length-1,s=!0):++this.current===this.timeline.length&&(this.current=0,s=!0),s?-1===this.repeatCounter?(this.timeline[this.current].start(),this.onLoop.dispatch(this.target,this),!0):this.repeatCounter>0?(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;s<this.timeline.length;s++)for(var i in this.timeline[s].vEnd)this.properties[i]=this.target[i]||0,Array.isArray(this.properties[i])||(this.properties[i]*=1);for(s=0;s<this.timeline.length;s++)this.timeline[s].loadValues();for(var s=0;s<this.timeline.length;s++)e=e.concat(this.timeline[s].generateData(t));return e}},Object.defineProperty(e.Tween.prototype,"totalDuration",{get:function(){for(var t=0,e=0;e<this.timeline.length;e++)t+=this.timeline[e].duration;return t}}),e.Tween.prototype.constructor=e.Tween,e.TweenData=function(t){this.parent=t,this.game=t.game,this.vStart={},this.vStartCache={},this.vEnd={},this.vEndCache={},this.duration=1e3,this.percent=0,this.value=0,this.repeatCounter=0,this.repeatDelay=0,this.repeatTotal=0,this.interpolate=!1,this.yoyo=!1,this.yoyoDelay=0,this.inReverse=!1,this.delay=0,this.dt=0,this.startTime=null,this.easingFunction=e.Easing.Default,this.interpolationFunction=e.Math.linearInterpolation,this.interpolationContext=e.Math,this.isRunning=!1,this.isFrom=!1},e.TweenData.PENDING=0,e.TweenData.RUNNING=1,e.TweenData.LOOPED=2,e.TweenData.COMPLETE=3,e.TweenData.prototype={to:function(t,e,i,s,n,r){return this.vEnd=t,this.duration=e,this.easingFunction=i,this.delay=s,this.repeatTotal=n,this.yoyo=r,this.isFrom=!1,this},from:function(t,e,i,s,n,r){return this.vEnd=t,this.duration=e,this.easingFunction=i,this.delay=s,this.repeatTotal=n,this.yoyo=r,this.isFrom=!0,this},start:function(){if(this.startTime=this.game.time.time+this.delay,this.parent.reverse?this.dt=this.duration:this.dt=0,this.delay>0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t<this.startTime)return e.TweenData.RUNNING}else{if(!(t>=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){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-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t<this._timers.length;t++)this._timers[t].destroy();this._timers=[],this.events.removeAll()},refresh:function(){var t=this.time;this.time=Date.now(),this.elapsedMS=this.time-t},update:function(t){var e=this.time;this.time=Date.now(),this.elapsedMS=this.time-e,this.prevTime=this.now,this.now=t,this.elapsed=this.now-this.prevTime,this.game.raf._isSetTimeOut&&(this.timeToCall=Math.floor(Math.max(0,1e3/this._desiredFps-(this.timeExpected-t))),this.timeExpected=t+this.timeToCall),this.advancedTiming&&this.updateAdvancedTiming(),this.game.paused||(this.events.update(this.time),this._timers.length&&this.updateTimers())},updateTimers:function(){for(var t=0,e=this._timers.length;t<e;)this._timers[t].update(this.time)?t++:(this._timers.splice(t,1),e--)},updateAdvancedTiming:function(){if(this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e<this.events.length;e++)this.events[e].tick=this.events[e].delay+this._started}},stop:function(t){this.running=!1,void 0===t&&(t=!0),t&&(this.events.length=0)},remove:function(t){for(var e=0;e<this.events.length;e++)if(this.events[e]===t)return this.events[e].pendingDelete=!0,!0;return!1},order:function(){this.events.length>0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.tick<e.tick?-1:t.tick>e.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<this._len&&this.running;){var e=this.events[this._i];if(!(this._now>=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;e<this.events.length;e++)if(!this.events[e].pendingDelete){var i=this.events[e].tick-t;i<0&&(i=0),this.events[e].tick=this._now+i}var s=this.nextTick-t;this.nextTick=s<0?this._now:this._now+s},resume:function(){if(this.paused){var t=this.game.time.time;this._pauseTotal+=t-this._now,this._now=t,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.expired=!0,this.events=[],this._len=0,this._i=0}},Object.defineProperty(e.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(e.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;i<t.length;i++)if(!0===e){if(t[i]>this._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(e.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(e.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)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s<this._frames.length;s++)this._frameData.getFrame(this._frames[s]).name===t&&(i=s);else if("number"==typeof t)if(e)i=t;else for(var s=0;s<this._frames.length;s++)this._frames[s]===t&&(i=s);if(i){var n=this.isReversed?-1:1;this._frameIndex=i-n,this._timeNextFrame=this.game.time.time,this.update()}},stop:function(t,e){void 0===t&&(t=!1),void 0===e&&(e=!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,t&&(this.currentFrame=this._frameData.getFrame(this._frames[0]),this._parent.setFrame(this.currentFrame)),e&&(this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this))},onPause:function(){this.isPlaying&&(this._frameDiff=this._timeNextFrame-this.game.time.time)},onResume:function(){this.isPlaying&&(this._timeNextFrame=this.game.time.time+this._frameDiff)},update:function(){return!this.isPaused&&(!!(this.isPlaying&&this.game.time.time>=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.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i<s)for(h=i;h<=s;h++)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);else for(var h=i;h>=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;i<this._frames.length;i++)t._frames.push(this._frames[i].clone());for(var s in this._frameNames)this._frameNames.hasOwnProperty(s)&&t._frameNames.push(this._frameNames[s]);return t},getFrameRange:function(t,e,i){void 0===i&&(i=[]);for(var s=t;s<=e;s++)i.push(this._frames[s]);return i},getFrames:function(t,e,i){if(void 0===e&&(e=!0),void 0===i&&(i=[]),void 0===t||0===t.length)for(s=0;s<this._frames.length;s++)i.push(this._frames[s]);else for(var s=0;s<t.length;s++)e?i.push(this.getFrame(t[s])):i.push(this.getFrameByName(t[s]));return i},getFrameIndexes:function(t,e,i){if(void 0===e&&(e=!0),void 0===i&&(i=[]),void 0===t||0===t.length)for(s=0;s<this._frames.length;s++)i.push(this._frames[s].index);else for(var s=0;s<t.length;s++)e&&this._frames[t[s]]?i.push(this._frames[t[s]].index):this.getFrameByName(t[s])&&i.push(this.getFrameByName(t[s]).index);return i},destroy:function(){this._frames=null,this._frameNames=null}},e.FrameData.prototype.constructor=e.FrameData,Object.defineProperty(e.FrameData.prototype,"total",{get:function(){return this._frames.length}}),e.AnimationParser={spriteSheet:function(t,i,s,n,r,o,a,h){void 0===r&&(r=-1),void 0===o&&(o=0),void 0===a&&(a=0),void 0===h&&(h=0);var l=i;if("string"==typeof i?l=t.cache.getImage(i):i=l.name,null===l)return null;if(s<=0||n<=0)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' frameWidth (%s) or frameHeight (%s) must be positive",i,s,n),null;var c=l.width,u=l.height;if(0===c||0===u)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' width (%s) or height (%s) is zero",i,c,u),null;if(c<s||u<n)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' width (%s) or height (%s) is less than the given frameWidth (%s) or frameHeight (%s)",i,c,u,s,n),null;var d=Math.floor((c-o)/(s+a)),p=Math.floor((u-o)/(n+a)),f=d*p,g=f,m=f-1,y=0,v=m;if(h>f||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;T<g&&!(T>v);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o<r.length;o++)s=n.addFrame(new e.Frame(o,r[o].frame.x,r[o].frame.y,r[o].frame.w,r[o].frame.h,r[o].filename)),r[o].trimmed&&s.setTrim(r[o].trimmed,r[o].sourceSize.w,r[o].sourceSize.h,r[o].spriteSourceSize.x,r[o].spriteSourceSize.y,r[o].spriteSourceSize.w,r[o].spriteSourceSize.h),r[o].rotated&&(s.rotated=!0);return n},JSONDataPyxel:function(t,i){if(["layers","tilewidth","tileheight","tileswide","tileshigh"].forEach(function(t){if(!i[t])return console.warn('Phaser.AnimationParser.JSONDataPyxel: Invalid Pyxel Tilemap JSON given, missing "'+t+'" key.'),void console.log(i)}),1!==i.layers.length)return console.warn("Phaser.AnimationParser.JSONDataPyxel: Too many layers, this parser only supports flat Tilemaps."),void console.log(i);for(var s=new e.FrameData,n=i.tileheight,r=i.tilewidth,o=i.layers[0].tiles,a=0;a<o.length;a++)s.addFrame(new e.Frame(a,o[a].x,o[a].y,r,n,"frame_"+a)).setTrim(!1);return s},JSONDataHash:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONDataHash: Invalid Texture Atlas JSON given, missing 'frames' object"),void console.log(i);var s,n=new e.FrameData,r=i.frames,o=0;for(var a in r)s=n.addFrame(new e.Frame(o,r[a].frame.x,r[a].frame.y,r[a].frame.w,r[a].frame.h,a)),r[a].trimmed&&s.setTrim(r[a].trimmed,r[a].sourceSize.w,r[a].sourceSize.h,r[a].spriteSourceSize.x,r[a].spriteSourceSize.y,r[a].spriteSourceSize.w,r[a].spriteSourceSize.h),r[a].rotated&&(s.rotated=!0),o++;return n},XMLData:function(t,i){if(i.getElementsByTagName("TextureAtlas")){for(var s,n,r,o,a,h,l,c,u,d,p,f=new e.FrameData,g=i.getElementsByTagName("SubTexture"),m=0;m<g.length;m++)n=(r=g[m].attributes).name.value,o=parseInt(r.x.value,10),a=parseInt(r.y.value,10),h=parseInt(r.width.value,10),l=parseInt(r.height.value,10),c=null,u=null,r.frameX&&(c=Math.abs(parseInt(r.frameX.value,10)),u=Math.abs(parseInt(r.frameY.value,10)),d=parseInt(r.frameWidth.value,10),p=parseInt(r.frameHeight.value,10)),s=f.addFrame(new e.Frame(m,o,a,h,l,n)),null===c&&null===u||s.setTrim(!0,h,l,c,u,d,p);return f}console.warn("Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},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<this._cacheMap.length;t++){var e=this._cacheMap[t];for(var i in e)"__default"!==i&&"__missing"!==i&&(this.destroyItem(e[i]),delete e[i])}this._urlMap=null,this._urlResolver=null,this._urlTemp=null},destroyItem:function(t){t.destroy?t.destroy():(t.base&&t.base.destroy&&t.base.destroy(),t.data&&t.data.destroy&&t.data.destroy(),t.frameData&&t.frameData.destroy&&t.frameData.destroy(),t.texture&&t.texture.destroy&&t.texture.destroy(!0))},_addImages:function(){this._pendingCount=0,this.addDefaultImage(),this.addMissingImage();var t=this,i=e.Cache.READY_TIMEOUT;e.Cache.READY_TIMEOUT>0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s<this._fileList.length;s++){var n=this._fileList[s];if(n.type===t&&n.key===e&&(i=s,!n.loaded&&!n.loading))break}return i},getAsset:function(t,e){var i=this.getAssetIndex(t,e);return i>-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<this._fileList.length+1;r++){var o=this._fileList[r];if(!o||!o.loaded&&!o.loading&&"packfile"!==o.type){this._fileList.splice(r,0,n),this._totalPackCount++;break}}return this},image:function(t,e,i){return"object"==typeof e?this.texture(t,e,i):this.addToFileList("image",t,e,void 0,i,".png")},imageFromBitmapData:function(t,e,i){return this.image(t,e.canvas.toDataURL("image/png"),i)},imageFromGrid:function(t,e,i,s,n,r){return this.imageFromBitmapData(t,this.game.create.grid(t,e,i,s,n,r,!1))},imageFromTexture:function(t,e,i,s,n){return this.imageFromBitmapData(t,this.game.create.texture(t,e,i,s,n,!1))},texture:function(t,i,s){if(this.game.renderType===e.WEBGL){var n,r=this.game.renderer.extensions.compression;for(n in i)if(n.toUpperCase()in r)return this.addToFileList("texture",t,i[n],void 0,s,".pvr")}return i.truecolor&&this.addToFileList("image",t,i.truecolor,void 0,s,".png"),this},images:function(t,e){if(Array.isArray(e))for(i=0;i<t.length;i++)this.image(t[i],e[i]);else for(var i=0;i<t.length;i++)this.image(t[i]);return this},text:function(t,e,i){return this.addToFileList("text",t,e,void 0,i,".txt")},json:function(t,e,i){return this.addToFileList("json",t,e,void 0,i,".json")},shader:function(t,e,i){return this.addToFileList("shader",t,e,void 0,i,".frag")},xml:function(t,e,i){return this.addToFileList("xml",t,e,void 0,i,".xml")},script:function(t,e,i,s){return void 0===i&&(i=!1),!1!==i&&void 0===s&&(s=this),this.addToFileList("script",t,e,{syncPoint:!0,callback:i,callbackContext:s},!1,".js")},binary:function(t,e,i,s){return void 0===i&&(i=!1),!1!==i&&void 0===s&&(s=i),this.addToFileList("binary",t,e,{callback:i,callbackContext:s},!1,".bin")},spritesheet:function(t,e,i,s,n,r,o,a){return void 0===n&&(n=-1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),this.addToFileList("spritesheet",t,e,{frameWidth:i,frameHeight:s,frameMax:n,margin:r,spacing:o,skipFrames:a},!1,".png")},audio:function(t,e,i){return this.game.sound.noAudio?this:(void 0===i&&(i=!0),"string"==typeof e&&(e=[e]),this.addToFileList("audio",t,e,{buffer:null,autoDecode:i}))},audioSprite:function(t,e,i,s,n){return this.game.sound.noAudio?this:(void 0===i&&(i=null),void 0===s&&(s=null),void 0===n&&(n=!0),this.audio(t,e,n),i?this.json(t+"-audioatlas",i):s?("string"==typeof s&&(s=JSON.parse(s)),this.cache.addJSON(t+"-audioatlas","",s)):console.warn("Phaser.Loader.audiosprite - You must specify either a jsonURL or provide a jsonData object"),this)},audiosprite:function(t,e,i,s,n){return this.audioSprite(t,e,i,s,n)},video:function(t,e,i,s){return void 0===i&&(i=this.game.device.firefox?"loadeddata":"canplaythrough"),void 0===s&&(s=!1),"string"==typeof e&&(e=[e]),this.addToFileList("video",t,e,{buffer:null,asBlob:s,loadEvent:i})},tilemap:function(t,i,s,n){if(void 0===i&&(i=null),void 0===s&&(s=null),void 0===n&&(n=e.Tilemap.CSV),i||s||(i=n===e.Tilemap.CSV?t+".csv":t+".json"),s){switch(n){case e.Tilemap.CSV:break;case e.Tilemap.TILED_JSON:"string"==typeof s&&(s=JSON.parse(s))}this.cache.addTilemap(t,null,s,n)}else this.addToFileList("tilemap",t,i,{format:n});return this},physics:function(t,i,s,n){return void 0===i&&(i=null),void 0===s&&(s=null),void 0===n&&(n=e.Physics.LIME_CORONA_JSON),i||s||(i=t+".json"),s?("string"==typeof s&&(s=JSON.parse(s)),this.cache.addPhysicsData(t,null,s,n)):this.addToFileList("physics",t,i,{format:n}),this},bitmapFont:function(t,e,i,s,n,r){if(void 0!==e&&null!==e||(e=t+".png"),void 0===i&&(i=null),void 0===s&&(s=null),null===i&&null===s&&(i=t+".xml"),void 0===n&&(n=0),void 0===r&&(r=0),i)this.addToFileList("bitmapfont",t,e,{atlasURL:i,xSpacing:n,ySpacing:r});else if("string"==typeof s){var o,a;try{o=JSON.parse(s)}catch(t){a=this.parseXml(s)}if(!a&&!o)throw new Error("Phaser.Loader. Invalid Bitmap Font atlas given");this.addToFileList("bitmapfont",t,e,{atlasURL:null,atlasData:o||a,atlasType:o?"json":"xml",xSpacing:n,ySpacing:r})}return this},atlasJSONArray:function(t,i,s,n){return this.atlas(t,i,s,n,e.Loader.TEXTURE_ATLAS_JSON_ARRAY)},atlasJSONHash:function(t,i,s,n){return this.atlas(t,i,s,n,e.Loader.TEXTURE_ATLAS_JSON_HASH)},atlasXML:function(t,i,s,n){return void 0===s&&(s=null),void 0===n&&(n=null),s||n||(s=t+".xml"),this.atlas(t,i,s,n,e.Loader.TEXTURE_ATLAS_XML_STARLING)},atlas:function(t,i,s,n,r){if(void 0!==i&&null!==i||(i=t+".png"),void 0===s&&(s=null),void 0===n&&(n=null),void 0===r&&(r=e.Loader.TEXTURE_ATLAS_JSON_ARRAY),s||n||(s=r===e.Loader.TEXTURE_ATLAS_XML_STARLING?t+".xml":t+".json"),s)this.addToFileList("textureatlas",t,i,{atlasURL:s,format:r});else{switch(r){case e.Loader.TEXTURE_ATLAS_JSON_ARRAY:"string"==typeof n&&(n=JSON.parse(n));break;case e.Loader.TEXTURE_ATLAS_XML_STARLING:if("string"==typeof n){var o=this.parseXml(n);if(!o)throw new Error("Phaser.Loader. Invalid Texture Atlas XML given");n=o}}this.addToFileList("textureatlas",t,i,{atlasURL:null,atlasData:n,format:r})}return this},withSyncPoint:function(t,e){this._withSyncPointDepth++;try{t.call(e||this,this)}finally{this._withSyncPointDepth--}return this},addSyncPoint:function(t,e){var i=this.getAsset(t,e);return i&&(i.file.syncPoint=!0),this},removeFile:function(t,e){var i=this.getAsset(t,e);i&&(i.loaded||i.loading||this._fileList.splice(i.index,1))},removeAll:function(){this._fileList.length=0,this._flightQueue.length=0},start:function(){this.isLoading||(this.hasLoaded=!1,this.isLoading=!0,this.updateProgress(),this.processLoadQueue())},processLoadQueue:function(){if(!this.isLoading)return console.warn("Phaser.Loader - active loading canceled / reset"),void this.finishedLoading(!0);for(i=0;i<this._flightQueue.length;i++)((s=this._flightQueue[i]).loaded||s.error)&&(this._flightQueue.splice(i,1),i--,s.loading=!1,s.requestUrl=null,s.requestObject=null,s.error&&this.onFileError.dispatch(s.key,s),"packfile"!==s.type?(this._loadedFileCount++,this.onFileComplete.dispatch(this.progress,s.key,!s.error,this._loadedFileCount,this._totalFileCount)):"packfile"===s.type&&s.error&&(this._loadedPackCount++,this.onPackComplete.dispatch(s.key,!s.error,this._loadedPackCount,this._totalPackCount)));for(var t=!1,e=this.enableParallel?Math.max(1,this.maxParallelDownloads):1,i=this._processingHead;i<this._fileList.length;i++){var s=this._fileList[i];if("packfile"===s.type&&!s.error&&s.loaded&&i===this._processingHead&&(this.processPack(s),this._loadedPackCount++,this.onPackComplete.dispatch(s.key,!s.error,this._loadedPackCount,this._totalPackCount)),s.loaded||s.error?i===this._processingHead&&(this._processingHead=i+1):!s.loading&&this._flightQueue.length<e&&("packfile"!==s.type||s.data?t||(this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this._flightQueue.push(s),s.loading=!0,this.onFileStart.dispatch(this.progress,s.key,s.url),this.loadFile(s)):(this._flightQueue.push(s),s.loading=!0,this.loadFile(s))),!s.loaded&&s.syncPoint&&(t=!0),this._flightQueue.length>=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.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s<i.length;s++){var n=i[s];switch(n.type){case"image":this.image(n.key,n.url,n.overwrite);break;case"text":this.text(n.key,n.url,n.overwrite);break;case"json":this.json(n.key,n.url,n.overwrite);break;case"xml":this.xml(n.key,n.url,n.overwrite);break;case"script":this.script(n.key,n.url,n.callback,t.callbackContext||this);break;case"binary":this.binary(n.key,n.url,n.callback,t.callbackContext||this);break;case"spritesheet":this.spritesheet(n.key,n.url,n.frameWidth,n.frameHeight,n.frameMax,n.margin,n.spacing,n.skipFrames);break;case"video":this.video(n.key,n.urls);break;case"audio":this.audio(n.key,n.urls,n.autoDecode);break;case"audiosprite":this.audiosprite(n.key,n.urls,n.jsonURL,n.jsonData,n.autoDecode);break;case"tilemap":this.tilemap(n.key,n.url,n.data,e.Tilemap[n.format]);break;case"physics":this.physics(n.key,n.url,n.data,e.Loader[n.format]);break;case"bitmapFont":this.bitmapFont(n.key,n.textureURL,n.atlasURL,n.atlasData,n.xSpacing,n.ySpacing);break;case"atlasJSONArray":this.atlasJSONArray(n.key,n.textureURL,n.atlasURL,n.atlasData);break;case"atlasJSONHash":this.atlasJSONHash(n.key,n.textureURL,n.atlasURL,n.atlasData);break;case"atlasXML":this.atlasXML(n.key,n.textureURL,n.atlasURL,n.atlasData);break;case"atlas":this.atlas(n.key,n.textureURL,n.atlasURL,n.atlasData,e.Loader[n.format]);break;case"shader":this.shader(n.key,n.url,n.overwrite)}}else console.warn("Phaser.Loader - "+t.key+": pack has data, but not for pack key")},transformUrl:function(t,e){return!!t&&(t.match(/^(?:blob:|data:|http:\/\/|https:\/\/|\/\/)/)?t:this.baseURL+e.path+t)},loadFile:function(t){switch(t.type){case"packfile":this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.fileComplete);break;case"image":case"spritesheet":case"textureatlas":case"bitmapfont":this.loadImageTag(t);break;case"audio":t.url=this.getAudioURL(t.url),t.url?this.game.sound.usingWebAudio?this.xhrLoad(t,this.transformUrl(t.url,t),"arraybuffer",this.fileComplete):this.game.sound.usingAudioTag&&this.loadAudioTag(t):this.fileError(t,null,"No supported audio URL specified or device does not have audio playback support");break;case"video":t.url=this.getVideoURL(t.url),t.url?t.asBlob?this.xhrLoad(t,this.transformUrl(t.url,t),"blob",this.fileComplete):this.loadVideoTag(t):this.fileError(t,null,"No supported video URL specified or device does not have video playback support");break;case"json":this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.jsonLoadComplete);break;case"xml":this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.xmlLoadComplete);break;case"tilemap":t.format===e.Tilemap.TILED_JSON?this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.jsonLoadComplete):t.format===e.Tilemap.CSV?this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.csvLoadComplete):this.asyncComplete(t,"invalid Tilemap format: "+t.format);break;case"text":case"script":case"shader":case"physics":this.xhrLoad(t,this.transformUrl(t.url,t),"text",this.fileComplete);break;case"texture":"truecolor"===t.key.split("_").pop()?this.loadImageTag(t):this.xhrLoad(t,this.transformUrl(t.url,t),"arraybuffer",this.fileComplete);break;case"binary":this.xhrLoad(t,this.transformUrl(t.url,t),"arraybuffer",this.fileComplete)}},loadImageTag:function(t){var e=this;t.data=new Image,t.data.name=t.key,this.crossOrigin&&(t.data.crossOrigin=this.crossOrigin),t.data.onload=function(){t.data.onload&&(t.data.onload=null,t.data.onerror=null,e.fileComplete(t))},t.data.onerror=function(){t.data.onload&&(t.data.onload=null,t.data.onerror=null,e.fileError(t))},t.data.src=this.transformUrl(t.url,t),!this.game.device.firefox&&t.data.complete&&t.data.width&&t.data.height&&(t.data.onload=null,t.data.onerror=null,this.fileComplete(t))},loadVideoTag:function(t){var i=this;t.data=document.createElement("video"),t.data.name=t.key,t.data.controls=!1,t.data.autoplay=!1;var s=function(){t.data.removeEventListener(t.loadEvent,s,!1),t.data.onerror=null,t.data.canplay=!0,e.GAMES[i.game.id].load.fileComplete(t)};t.data.onerror=function(){t.data.removeEventListener(t.loadEvent,s,!1),t.data.onerror=null,t.data.canplay=!1,i.fileError(t)},t.data.addEventListener(t.loadEvent,s,!1),t.data.src=this.transformUrl(t.url,t),t.data.load()},loadAudioTag:function(t){var e=this;if(this.game.sound.touchLocked)t.data=new Audio,t.data.name=t.key,t.data.preload="auto",t.data.src=this.transformUrl(t.url,t),this.fileComplete(t);else{t.data=new Audio,t.data.name=t.key;var i=function(){t.data.removeEventListener("canplaythrough",i,!1),t.data.onerror=null,e.fileComplete(t)};t.data.onerror=function(){t.data.removeEventListener("canplaythrough",i,!1),t.data.onerror=null,e.fileError(t)},t.data.preload="auto",t.data.src=this.transformUrl(t.url,t),t.data.addEventListener("canplaythrough",i,!1),t.data.load()}},xhrLoad:function(t,e,i,s,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType=i,!1!==this.headers.requestedWith&&r.setRequestHeader("X-Requested-With",this.headers.requestedWith),this.headers[t.type]&&r.setRequestHeader("Accept",this.headers[t.type]),n=n||this.fileError;var o=this;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.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e<t.length;e++){var i,s=t[e];if(s.uri){if(i=s.type,s=s.uri,this.game.device.canPlayVideo(i))return s}else{if(0===s.indexOf("blob:")||0===s.indexOf("data:"))return s;if(s.indexOf("?")>=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<t.length;e++){var i,s=t[e];if(s.uri){if(i=s.type,s=s.uri,this.game.device.canPlayAudio(i))return s}else{if(0===s.indexOf("blob:")||0===s.indexOf("data:"))return s;if(s.indexOf("?")>=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d<l.length;d++){var p=parseInt(l[d].getAttribute("id"),10),f=o.chars[p]={x:parseInt(l[d].getAttribute("x"),10),y:parseInt(l[d].getAttribute("y"),10),width:parseInt(l[d].getAttribute("width"),10),height:parseInt(l[d].getAttribute("height"),10),xOffset:parseInt(l[d].getAttribute("xoffset"),10)/r,yOffset:parseInt(l[d].getAttribute("yoffset"),10)/r,xAdvance:(parseInt(l[d].getAttribute("xadvance"),10)+i)/r,kerning:{}};if(n&&n.trimmed){if(f.x+f.width>n.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.x<n.spriteSourceSizeX){g=n.spriteSourceSizeX-f.x;f.x=0,f.width-=g,f.xOffset+=g}if(f.y<n.spriteSourceSizeY){var g=n.spriteSourceSizeY-f.y;f.y=0,f.height-=g,f.yOffset+=g}}f.x+=c,f.y+=u}var m=t.getElementsByTagName("kerning");for(d=0;d<m.length;d++){var y=parseInt(m[d].getAttribute("first"),10),v=parseInt(m[d].getAttribute("second"),10),x=parseInt(m[d].getAttribute("amount"),10)/r;o.chars[v].kerning[y]=x}return this.finalizeBitmapFont(e,o)},jsonBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={font:t.font.info._face,size:parseInt(t.font.info._size,10),lineHeight:parseInt(t.font.common._lineHeight,10)+s,chars:{}},a=n?n.x:0,h=n?n.y:0;return t.font.chars.char.forEach(function(t){var e=parseInt(t._id,10),s=o.chars[e]={x:parseInt(t._x,10),y:parseInt(t._y,10),width:parseInt(t._width,10),height:parseInt(t._height,10),xOffset:parseInt(t._xoffset,10)/r,yOffset:parseInt(t._yoffset,10)/r,xAdvance:(parseInt(t._xadvance,10)+i)/r,kerning:{}};if(n&&n.trimmed){if(s.x+s.width>n.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x<n.spriteSourceSizeX){l=n.spriteSourceSizeX-s.x;s.x=0,s.width-=l,s.xOffset+=l}if(s.y<n.spriteSourceSizeY){var l=n.spriteSourceSizeY-s.y;s.y=0,s.height-=l,s.yOffset+=l}}s.x+=a,s.y+=h}),t.font.kernings&&t.font.kernings.kerning&&t.font.kernings.kerning.forEach(function(t){o.chars[t._second].kerning[t._first]=parseInt(t._amount,10)/r}),this.finalizeBitmapFont(e,o)},finalizeBitmapFont:function(t,i){return Object.keys(i.chars).forEach(function(s){var n=i.chars[s];n.texture=new PIXI.Texture(t,new e.Rectangle(n.x,n.y,n.width,n.height))}),i},pvr:function(t){var e,i=new Uint32Array(t.slice(0,52)),s=new Uint8Array(t),n=null,r=i[3]<<32|i[2],o=0;if(55727696===i[0]&&[0,1,2,3,6,7,9,11].indexOf(r)>=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){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)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._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.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._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&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){this._sound.start(t||0,e,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. <https://github.com/photonstorm/phaser-ce/issues/385>')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t<this._sounds.length;t++)this._sounds[t]&&this._sounds[t].stop()},pauseAll:function(){if(!this.noAudio)for(var t=0;t<this._sounds.length;t++)this._sounds[t]&&this._sounds[t].pause()},resumeAll:function(){if(!this.noAudio)for(var t=0;t<this._sounds.length;t++)this._sounds[t]&&this._sounds[t].resume()},decode:function(t,e){e=e||null;var i=this.game.cache.getSoundData(t);if(i&&!1===this.game.cache.isSoundDecoded(t)){this.game.cache.updateSound(t,"isDecoding",!0);var s=this;try{this.context.decodeAudioData(i,function(i){i&&(s.game.cache.decodedSound(t,i),s.onSoundDecode.dispatch(t,e))})}catch(t){}}},setDecodedCallback:function(t,i,s){"string"==typeof t&&(t=[t]),this._watchList.reset();for(var n=0;n<t.length;n++)t[n]instanceof e.Sound?this.game.cache.isSoundDecoded(t[n].key)||this._watchList.add(t[n].key):this.game.cache.isSoundDecoded(t[n])||this._watchList.add(t[n]);0===this._watchList.total?(this._watching=!1,i.call(s)):(this._watching=!0,this._watchCallback=i,this._watchContext=s)},update:function(){if(!this.noAudio){for(var t=0;t<this._sounds.length;t++)this._sounds[t].update();if(this._watching){for(var e=this._watchList.first;e;)this.game.cache.isSoundDecoded(e)&&this._watchList.remove(e),e=this._watchList.next;0===this._watchList.total&&(this._watching=!1,this._watchCallback.call(this._watchContext))}}},add:function(t,i,s,n){void 0===i&&(i=1),void 0===s&&(s=!1),void 0===n&&(n=this.connectToMaster);var r=new e.Sound(this.game,t,i,s,n);return this._sounds.push(r),r},addSprite:function(t){return new e.AudioSprite(this.game,t)},remove:function(t){for(var e=this._sounds.length;e--;)if(this._sounds[e]===t)return this._sounds[e].destroy(!1),this._sounds.splice(e,1),!0;return!1},removeAll:function(){this.stopAll();for(var t=0;t<this._sounds.length;t++)this._sounds[t]&&this._sounds[t].destroy();this._sounds.length=0},removeByKey:function(t){for(var e=this._sounds.length,i=0;e--;)this._sounds[e].key===t&&(this._sounds[e].destroy(!1),this._sounds.splice(e,1),i++);return i},play:function(t,e,i){if(!this.noAudio){var s=this.add(t,e,i);return s.play(),s}},setMute:function(){if(!this._muted){this._muted=!0,this.usingWebAudio&&(this._muteVolume=this.masterGain.gain.value,this.masterGain.gain.value=0);for(var t=0;t<this._sounds.length;t++)this._sounds[t].usingAudioTag&&(this._sounds[t].mute=!0);this.onMute.dispatch()}},unsetMute:function(){if(this._muted&&!this._codeMuted){this._muted=!1,this.usingWebAudio&&(this.masterGain.gain.value=this._muteVolume);for(var t=0;t<this._sounds.length;t++)this._sounds[t].usingAudioTag&&(this._sounds[t].mute=!1);this.onUnMute.dispatch()}},destroy:function(){this.removeAll(),this.onSoundDecode.dispose(),this.game.canvas.removeEventListener("click",this._resumeWebAudioOnClick),this.context&&(window.PhaserGlobal?window.PhaserGlobal.audioContext=this.context:this.context.close&&this.context.close())},_resumeWebAudioOnClick:function(){this.resumeWebAudio(),this.game.canvas.removeEventListener("click",this._resumeWebAudioOnClick)}},e.SoundManager.prototype.constructor=e.SoundManager,Object.defineProperty(e.SoundManager.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||!1){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.SoundManager.prototype,"volume",{get:function(){return this._volume},set:function(t){if(t<0?t=0:t>1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e<this._sounds.length;e++)this._sounds[e].usingAudioTag&&this._sounds[e].updateGlobalVolume(t);this.onVolumeChange.dispatch(t)}}}),e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),e.FlexGrid&&(this.grid=new e.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,i){var s,n=new e.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds,this.parentNode),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof i?o=i:(this.parentScaleFactor.y=parseInt(i,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time<this._lastUpdate+this._updateThrottle)){var t=this._updateThrottle;this._updateThrottleReset=t>=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottle<t&&(a=Math.min(t,this._updateThrottleReset)),this._updateThrottle=e.Math.clamp(a,25,this.trackParentInterval),this._lastUpdate=this.game.time.time}},pauseUpdate:function(){this.preUpdate(),this._updateThrottle=this.trackParentInterval},updateDimensions:function(t,e,i){this.width=t*this.parentScaleFactor.x,this.height=e*this.parentScaleFactor.y,this.game.width=this.width,this.game.height=this.height,this.sourceAspectRatio=this.width/this.height,this.updateScalingAndBounds(),i&&(this.game.renderer.resize(this.width,this.height),this.game.camera.setSize(this.width,this.height),this.game.world.resize(this.width,this.height))},updateScalingAndBounds:function(){this.scaleFactor.x=this.game.width/this.width,this.scaleFactor.y=this.game.height/this.height,this.scaleFactorInversed.x=this.width/this.game.width,this.scaleFactorInversed.y=this.height/this.game.height,this.aspectRatio=this.width/this.height,this.game.canvas&&this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.game.input&&this.game.input.scale&&this.game.input.scale.setTo(this.scaleFactor.x,this.scaleFactor.y)},forceOrientation:function(t,e){void 0===e&&(e=!1),!0!==t||!0!==e?(this.forceLandscape=t,this.forcePortrait=e,this.queueUpdate(!0)):console.warn("Phaser.ScaleManager: forceLandscape and forcePortrait cannot both be true.")},classifyOrientation:function(t){return"portrait-primary"===t||"portrait-secondary"===t?"portrait":"landscape-primary"===t||"landscape-secondary"===t?"landscape":null},updateOrientationState:function(){var t=this.screenOrientation,e=this.incorrectOrientation;this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),this.incorrectOrientation=this.forceLandscape&&!this.isLandscape||this.forcePortrait&&!this.isPortrait;var i=t!==this.screenOrientation,s=e!==this.incorrectOrientation;return s&&(this.incorrectOrientation?this.enterIncorrectOrientation.dispatch():this.leaveIncorrectOrientation.dispatch()),(i||s)&&this.onOrientationChange.dispatch(this,t,e),i||s},orientationChange:function(t){this.event=t,this.queueUpdate(!0)},windowResize:function(t){this.event=t,this.queueUpdate(!0)},scrollTop:function(){var t=this.compatibility.scrollTo;t&&window.scrollTo(t.x,t.y)},refresh:function(){this.scrollTop(),this.queueUpdate(!0)},updateLayout:function(){var t=this.currentScaleMode;if(t!==e.ScaleManager.RESIZE){if(this.scrollTop(),this.compatibility.forceMinimumDocumentHeight&&(document.documentElement.style.minHeight=window.innerHeight+"px"),this.incorrectOrientation?this.setMaximum():t===e.ScaleManager.EXACT_FIT?this.setExactFit():t===e.ScaleManager.SHOW_ALL?!this.isFullScreen&&this.boundingParent&&this.compatibility.canExpandParent?(this.setShowAll(!0),this.resetCanvas(),this.setShowAll()):this.setShowAll():t===e.ScaleManager.NO_SCALE?(this.width=this.game.width,this.height=this.game.height):t===e.ScaleManager.USER_SCALE&&(this.width=this.game.width*this._userScaleFactor.x-this._userScaleTrim.x,this.height=this.game.height*this._userScaleFactor.y-this._userScaleTrim.y),!this.compatibility.canExpandParent&&(t===e.ScaleManager.SHOW_ALL||t===e.ScaleManager.USER_SCALE)){var i=this.getParentBounds(this._tempBounds);this.width=Math.min(this.width,i.width),this.height=Math.min(this.height,i.height)}this.width=0|this.width,this.height=0|this.height,this.reflowCanvas()}else this.reflowGame()},getParentBounds:function(t,i){var s=t||new e.Rectangle,n=i||this.boundingParent,r=this.dom.visualBounds,o=this.dom.layoutBounds;if(n){var a=n.getBoundingClientRect(),h=n.offsetParent?n.offsetParent.getBoundingClientRect():n.getBoundingClientRect();s.setTo(a.left-h.left,a.top-h.top,a.width,a.height);var l=this.windowConstraints;if(l.right){c="layout"===l.right?o:r;s.right=Math.min(s.right,c.width)}if(l.bottom){var c="layout"===l.bottom?o:r;s.bottom=Math.min(s.bottom,c.height)}}else s.setTo(0,0,r.width,r.height);return s.setTo(Math.round(s.x),Math.round(s.y),Math.round(s.width),Math.round(s.height)),s},align:function(t,e){null!=t&&(this.pageAlignHorizontally=t),null!=e&&(this.pageAlignVertically=e)},alignCanvas:function(t,e){var i=this.getParentBounds(this._tempBounds),s=this.game.canvas,n=this.margin;if(t){n.left=n.right=0;h=s.getBoundingClientRect();if(this.width<i.width&&!this.incorrectOrientation){var r=h.left-i.x,o=i.width/2-this.width/2,a=(o=Math.max(o,0))-r;n.left=Math.round(a)}s.style.marginLeft=n.left+"px",0!==n.left&&(n.right=-(i.width-h.width-n.left),s.style.marginRight=n.right+"px")}if(e){n.top=n.bottom=0;var h=s.getBoundingClientRect();if(this.height<i.height&&!this.incorrectOrientation){var r=h.top-i.y,o=i.height/2-this.height/2,a=(o=Math.max(o,0))-r;n.top=Math.round(a)}s.style.marginTop=n.top+"px",0!==n.top&&(n.bottom=-(i.height-h.height-n.top),s.style.marginBottom=n.bottom+"px")}n.x=n.left,n.y=n.top},reflowGame:function(){this.resetCanvas("","");var t=this.getParentBounds(this._tempBounds);this.updateDimensions(t.width,t.height,!0)},reflowCanvas:function(){this.incorrectOrientation||(this.width=e.Math.clamp(this.width,this.minWidth||0,this.maxWidth||this.width),this.height=e.Math.clamp(this.height,this.minHeight||0,this.maxHeight||this.height)),this.resetCanvas(),this.compatibility.noMargins||(this.isFullScreen&&this._createdFullScreenTarget?this.alignCanvas(!0,!0):this.alignCanvas(this.pageAlignHorizontally,this.pageAlignVertically)),this.updateScalingAndBounds()},resetCanvas:function(t,e){void 0===t&&(t=this.width+"px"),void 0===e&&(e=this.height+"px");var i=this.game.canvas;this.compatibility.noMargins||(i.style.marginLeft="",i.style.marginTop="",i.style.marginRight="",i.style.marginBottom=""),i.style.width=t,i.style.height=e},queueUpdate:function(t){t&&(this._parentBounds.width=0,this._parentBounds.height=0),this._updateThrottle=this._updateThrottleReset},reset:function(t){t&&this.grid&&this.grid.reset()},setMaximum:function(){this.width=this.dom.visualBounds.width,this.height=this.dom.visualBounds.height},setShowAll:function(t){var e,i=this.getParentBounds(this._tempBounds),s=i.width,n=i.height;e=t?Math.max(n/this.game.height,s/this.game.width):Math.min(n/this.game.height,s/this.game.width),this.width=Math.round(this.game.width*e),this.height=Math.round(this.game.height*e)},setExactFit:function(){var t=this.getParentBounds(this._tempBounds);this.width=t.width,this.height=t.height,this.isFullScreen||(this.maxWidth&&(this.width=Math.min(this.width,this.maxWidth)),this.maxHeight&&(this.height=Math.min(this.height,this.maxHeight)))},createFullScreenTarget:function(){var t=document.createElement("div");return t.style.margin="0",t.style.padding="0",t.style.background="#000",t},startFullScreen:function(t,i){if(this.isFullScreen)return!1;{if(this.compatibility.supportsFullScreen){if("when-not-mouse"===this.compatibility.clickTrampoline){var s=this.game.input;if(s.activePointer&&s.activePointer!==s.mousePointer&&(i||!1!==i))return void s.activePointer.addClickTrampoline("startFullScreen",this.startFullScreen,this,[t,!1])}void 0!==t&&this.game.renderType===e.CANVAS&&(this.game.stage.smoothed=t);var n=this.fullScreenTarget;n||(this.cleanupCreatedTarget(),this._createdFullScreenTarget=this.createFullScreenTarget(),n=this._createdFullScreenTarget);var r={targetElement:n};if(this.hasPhaserSetFullScreen=!0,this.onFullScreenInit.dispatch(this,r),this._createdFullScreenTarget){var o=this.game.canvas;o.parentNode.insertBefore(n,o),n.appendChild(o)}return this.game.device.fullscreenKeyboard?n[this.game.device.requestFullscreen](Element.ALLOW_KEYBOARD_INPUT):n[this.game.device.requestFullscreen](),!0}var a=this;setTimeout(function(){a.fullScreenError()},10)}},stopFullScreen:function(){return!(!this.isFullScreen||!this.compatibility.supportsFullScreen)&&(this.hasPhaserSetFullScreen=!1,document[this.game.device.cancelFullscreen](),!0)},cleanupCreatedTarget:function(){var t=this._createdFullScreenTarget;if(t&&t.parentNode){var e=t.parentNode;e.insertBefore(this.game.canvas,t),e.removeChild(t)}this._createdFullScreenTarget=null},prepScreenMode:function(t){var i=!!this._createdFullScreenTarget,s=this._createdFullScreenTarget||this.fullScreenTarget;t?(i||this.fullScreenScaleMode===e.ScaleManager.EXACT_FIT)&&s!==this.game.canvas&&(this._fullScreenRestore={targetWidth:s.style.width,targetHeight:s.style.height},s.style.width="100%",s.style.height="100%"):(this._fullScreenRestore&&(s.style.width=this._fullScreenRestore.targetWidth,s.style.height=this._fullScreenRestore.targetHeight,this._fullScreenRestore=null),this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.resetCanvas())},fullScreenChange:function(t){this.event=t,this.isFullScreen?(this.prepScreenMode(!0),this.updateLayout(),this.queueUpdate(!0)):(this.prepScreenMode(!1),this.cleanupCreatedTarget(),this.updateLayout(),this.queueUpdate(!0)),this.onFullScreenChange.dispatch(this,this.width,this.height)},fullScreenError:function(t){this.event=t,this.cleanupCreatedTarget(),console.warn("Phaser.ScaleManager: requestFullscreen failed or device does not support the Fullscreen API"),this.onFullScreenError.dispatch(this)},scaleSprite:function(t,e,i,s){if(void 0===e&&(e=this.width),void 0===i&&(i=this.height),void 0===s&&(s=!1),!t||!t.scale)return t;if(t.scale.x=1,t.scale.y=1,t.width<=0||t.height<=0||e<=0||i<=0)return t;var n=e,r=t.height*e/t.width,o=t.width*i/t.height,a=i,h=o>e;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e<arguments.length;e++)this.renderShadow&&(this.context.fillStyle="rgb(0,0,0)",this.context.fillText(arguments[e],t+1,this.currentY+1),this.context.fillStyle=this.currentColor),this.context.fillText(arguments[e],t,this.currentY),t+=this.columnWidth;this.currentY+=this.lineHeight},sound:function(t,e,i){var s=this.game.sound;this.start(t,e,i),s.noAudio?this.line("Audio is disabled"):(this.line("Volume: "+s.volume.toFixed(2)+(s.mute?" (Mute)":"")),this.line("Mute on pause: "+s.muteOnPause),this.line("Using: "+(s.usingWebAudio?"Web Audio - "+s.context.state:"Audio Tag")),this.line("Touch locked: "+s.touchLocked),this.line("Sounds: "+s._sounds.length)),this.stop()},soundInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sound: "+t.key+"  Touch locked: "+t.game.sound.touchLocked),this.line("Is Ready?: "+this.game.cache.isSoundReady(t.key)+"  Pending Playback: "+t.pendingPlayback),this.line("Decoded: "+t.isDecoded+"  Decoding: "+t.isDecoding),this.line("Playing: "+t.isPlaying+"  Loop: "+t.loop),this.line("Time: "+(t.currentTime/1e3).toFixed(3)+"s  Total: "+t.totalDuration.toFixed(3)+"s"),this.line("Volume: "+t.volume.toFixed(2)+(t.mute?" (Mute)":"")),this.line("Using: "+(t.usingWebAudio?"Web Audio":"Audio Tag")+"  "+(t.usingWebAudio?"Source: "+(t.sourceId||"none"):"")),""!==t.currentMarker&&(this.line("Marker: "+t.currentMarker+"  Duration: "+t.duration.toFixed(3)+"s ("+t.durationMS+"ms)"),this.line("Start: "+t.markers[t.currentMarker].start+"  Stop: "+t.markers[t.currentMarker].stop),this.line("Position: "+t.position)),this.stop()},camera:function(t,e,i){var s=t.deadzone,n=t.target,r=t.view;s&&(this._rect.setTo(r.x+s.x,r.y+s.y,s.width,s.height),this.rectangle(this._rect,e,i)),n&&(this._line.setTo(r.centerX,r.centerY,n.x,n.y),this.geom(this._line,e,i),this.geom(n,e,!1,3))},cameraInfo:function(t,e,i,s){var n=t.bounds,r=t.deadzone,o=t.target,a=t.view;this.start(e,i,s),this.line("Camera ("+t.width+" x "+t.height+")"),this.line("x: "+t.x+" y: "+t.y),this.line("Bounds: "+(n?"x: "+n.x+" y: "+n.y+" w: "+n.width+" h: "+n.height:"none")),this.line("View: x: "+a.x+" y: "+a.y+" w: "+a.width+" h: "+a.height),this.line("Deadzone: "+(r?"x: "+r.x+" y: "+r.y+" w: "+r.width+" h: "+r.height:r)),this.line("Total in view: "+t.totalInView),this.line("At limit: x: "+t.atLimit.x+" y: "+t.atLimit.y),this.line("Target: "+(o?o.name||o:"none")),this.stop()},timer:function(t,e,i,s){this.start(e,i,s),this.line("Timer (running: "+t.running+" expired: "+t.expired+")"),this.line("Next Tick: "+t.next+" Duration: "+t.duration),this.line("Paused: "+t.paused+" Length: "+t.length),this.stop()},pointer:function(t,e,i,s,n,r){if(null!=t&&(void 0===e&&(e=!1),i=i||"rgba(0,255,0,0.5)",s=s||"rgba(255,255,0,0.5)",r=r||"rgba(255,0,0,0.5)",!0!==e||!0!==t.isUp)){this.start(t.x,t.y-150,n),this.context.beginPath(),this.context.arc(t.x,t.y,t.circle.radius,0,2*Math.PI),t.active?this.context.fillStyle=t.isDown?i:s:this.context.fillStyle=r,this.context.fill(),this.context.closePath(),this.context.beginPath(),this.context.moveTo(t.positionDown.x,t.positionDown.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath();var o=t.movementX,a=t.movementY;(o||a)&&(this.context.beginPath(),this.context.moveTo(o+t.position.x,a+t.position.y),this.context.lineTo(t.position.x,t.position.y),this.context.lineWidth=2,this.context.stroke(),this.context.closePath()),this.line("ID: "+t.id+" Active: "+t.active),this.line("World X: "+t.worldX.toFixed(1)+" World Y: "+t.worldY.toFixed(1)),this.line("Screen X: "+t.x.toFixed(1)+" Screen Y: "+t.y.toFixed(1)+" In: "+t.withinGame),this.line("Movement: X: "+o+" Y: "+a),this.line("Duration: "+t.duration+" ms"),this.line("is Down: "+t.isDown+" is Up: "+t.isUp),t.isMouse&&this.line("Buttons: "+this._pointerButtonIcon(t.leftButton)+" "+this._pointerButtonIcon(t.middleButton)+" "+this._pointerButtonIcon(t.rightButton)),this.stop()}},_pointerButtonIcon:function(t){return t.isDown?"x":t.isUp?"o":"-"},spriteInputInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite Input: ("+t.width+" x "+t.height+")"),this.line("x: "+t.input.pointerX().toFixed(1)+" y: "+t.input.pointerY().toFixed(1)),this.line("over: "+t.input.pointerOver()+" duration: "+t.input.overDuration().toFixed(0)),this.line("down: "+t.input.pointerDown()+" duration: "+t.input.downDuration().toFixed(0)),this.line("just over: "+t.input.justOver()+" just out: "+t.input.justOut()),this.stop()},key:function(t,e,i,s){this.start(e,i,s,150),this.line("Key:",t.keyCode,"isDown:",t.isDown),this.line("justDown:",t.justDown,"justUp:",t.justUp),this.line("Time Down:",t.timeDown.toFixed(0),"duration:",t.duration.toFixed(0)),this.stop()},inputInfo:function(t,i,s,n){var r=this.game.input;if(void 0===n&&(n=!0),this.start(t,i,s),this.line("Input"),this.line("X: "+r.x+" Y: "+r.y),this.line("World X: "+r.worldX+" World Y: "+r.worldY),this.line("Scale X: "+r.scale.x.toFixed(2)+" Scale Y: "+r.scale.x.toFixed(2)),this.line("Screen X: "+r.activePointer.screenX.toFixed(1)+" Screen Y: "+r.activePointer.screenY.toFixed(1)),n){this.line("Sources:"),this.line("  "+this._inputHandler(r.mouse,"mouse")),this.line("  "+this._inputHandler(r.mspointer,"mspointer")),this.line("  "+this._inputHandler(r.touch,"touch"));var o=r.pointers,a=r.mousePointer,h=e.PointerModes;this.line("Pointers: (Max: "+r.maxPointers+")"),this.line("  "+(a.isDown?"x":"o")+" "+h[a.pointerMode]);for(var l=0;l<o.length;l++){var c=o[l];this.line("  "+(c.active?"+":"-")+" "+h[c.pointerMode])}this.stop()}else this.stop()},_inputHandler:function(t,e){return this._inputHandlerStatusIcon(t)+" "+e+" "+this._inputHandlerCaptureIcon(t)},_inputHandlerStatusIcon:function(t){return t.active?t.enabled?"+":"-":" "},_inputHandlerCaptureIcon:function(t){return t.active&&(t.capture||t.preventDefault)?"*":" "},spriteBounds:function(t,e,i){var s=t.getBounds();s.x+=this.game.camera.x,s.y+=this.game.camera.y,this.rectangle(s,e,i)},ropeSegments:function(t,e,i){var s=this;t.segments.forEach(function(t){s.rectangle(t,e,i)},this)},spriteInfo:function(t,e,i,s){this.start(e,i,s),this.line("Sprite: "+(t.name||"")+" ("+t.width+" x "+t.height+") anchor: "+t.anchor.x+" x "+t.anchor.y),this.line("x: "+t.x.toFixed(1)+" y: "+t.y.toFixed(1)),this.line("angle: "+t.angle.toFixed(1)+" rotation: "+t.rotation.toFixed(1)),this.line("visible: "+t.visible+" in camera: "+t.inCamera),this.line("bounds x: "+t._bounds.x.toFixed(1)+" y: "+t._bounds.y.toFixed(1)+" w: "+t._bounds.width.toFixed(1)+" h: "+t._bounds.height.toFixed(1)),this.line("parent: "+(t.parent?t.parent.name||"(DisplayObject)":"(none)")),this.stop()},spriteCoords:function(t,e,i,s){this.start(e,i,s,100),t.name&&this.line(t.name),this.line("x:",t.x.toFixed(2),"y:",t.y.toFixed(2)),this.line("pos x:",t.position.x.toFixed(2),"pos y:",t.position.y.toFixed(2)),this.line("world x:",t.world.x.toFixed(2),"world y:",t.world.y.toFixed(2)),this.stop()},lineInfo:function(t,e,i,s){this.start(e,i,s,80),this.line("start.x:",t.start.x.toFixed(2),"start.y:",t.start.y.toFixed(2)),this.line("end.x:",t.end.x.toFixed(2),"end.y:",t.end.y.toFixed(2)),this.line("length:",t.length.toFixed(2),"angle:",t.angle),this.stop()},pixel:function(t,e,i,s){s=s||2,this.start(),this.context.fillStyle=i,this.context.fillRect(t,e,s,s),this.stop()},geom:function(t,i,s,n){void 0===s&&(s=!0),void 0===n&&(n=0),i=i||"rgba(0,255,0,0.4)",this.start(),this.context.fillStyle=i,this.context.strokeStyle=i,this.context.lineWidth=this.lineWidth;var r=e.Utils.Debug;n===r.GEOM_RECTANGLE||t instanceof e.Rectangle?s?this.context.fillRect(t.x-this.game.camera.x,t.y-this.game.camera.y,t.width,t.height):this.context.strokeRect(t.x-this.game.camera.x,t.y-this.game.camera.y,t.width,t.height):n===r.GEOM_CIRCLE||t instanceof e.Circle?(this.context.beginPath(),this.context.arc(t.x-this.game.camera.x,t.y-this.game.camera.y,t.radius,0,2*Math.PI,!1),this.context.closePath(),s?this.context.fill():this.context.stroke()):n===r.GEOM_POINT||t instanceof e.Point?this.context.fillRect(t.x-this.game.camera.x,t.y-this.game.camera.y,4,4):n===r.GEOM_LINE||t instanceof e.Line?(this.context.beginPath(),this.context.moveTo(t.start.x+.5-this.game.camera.x,t.start.y+.5-this.game.camera.y),this.context.lineTo(t.end.x+.5-this.game.camera.x,t.end.y+.5-this.game.camera.y),this.context.closePath(),this.context.stroke()):(n===r.GEOM_ELLIPSE||t instanceof e.Ellipse)&&(this.context.beginPath(),this.context.ellipse(t.centerX-this.game.camera.x,t.centerY-this.game.camera.y,t.width/2,t.height/2,0,2*Math.PI,!1),this.context.closePath(),s?this.context.fill():this.context.stroke()),this.stop()},rectangle:function(t,e,i){void 0===i&&(i=!0),e=e||"rgba(0, 255, 0, 0.4)",this.start(),i?(this.context.fillStyle=e,this.context.fillRect(t.x-this.game.camera.x,t.y-this.game.camera.y,t.width,t.height)):(this.context.lineWidth=this.lineWidth,this.context.strokeStyle=e,this.context.strokeRect(t.x-this.game.camera.x,t.y-this.game.camera.y,t.width,t.height)),this.stop()},text:function(t,e,i,s,n){s=s||"rgb(255,255,255)",n=n||this.font,this.start(),this.context.font=n,this.renderShadow&&(this.context.fillStyle="rgb(0,0,0)",this.context.fillText(t,e+1,i+1)),this.context.fillStyle=s,this.context.fillText(t,e,i),this.stop()},quadTree:function(t,e){e=e||"rgba(255,0,0,0.3)",this.start();var i=t.bounds;if(0===t.nodes.length){this.context.strokeStyle=e,this.context.strokeRect(i.x,i.y,i.width,i.height),this.text("size: "+t.objects.length,i.x+4,i.y+16,"rgb(0,200,0)","12px Courier"),this.context.strokeStyle="rgb(0,255,0)";for(s=0;s<t.objects.length;s++)this.context.strokeRect(t.objects[s].x,t.objects[s].y,t.objects[s].width,t.objects[s].height)}else for(var s=0;s<t.nodes.length;s++)this.quadTree(t.nodes[s]);this.stop()},body:function(t,i,s){t.body&&(this.start(),t.body.type===e.Physics.ARCADE?e.Physics.Arcade.Body.render(this.context,t.body,i,s,this.lineWidth):t.body.type===e.Physics.NINJA?e.Physics.Ninja.Body.render(this.context,t.body,i,s):t.body.type===e.Physics.BOX2D&&e.Physics.Box2D.renderBody(this.context,t.body,i),this.stop())},bodyInfo:function(t,i,s,n){t.body&&(this.start(i,s,n,210),t.body.type===e.Physics.ARCADE?e.Physics.Arcade.Body.renderBodyInfo(this,t.body):t.body.type===e.Physics.BOX2D&&this.game.physics.box2d.renderBodyInfo(this,t.body),this.stop())},box2dWorld:function(){this.start(),this.context.translate(-this.game.camera.view.x,-this.game.camera.view.y,0),this.game.physics.box2d.renderDebugDraw(this.context),this.stop()},box2dBody:function(t,i){this.start(),e.Physics.Box2D.renderBody(this.context,t,i),this.stop()},displayList:function(t){if(void 0===t&&(t=this.game.world),t.hasOwnProperty("renderOrderID")?console.log("["+t.renderOrderID+"]",t):console.log("[]",t),t.children&&t.children.length>0)for(var e=0;e<t.children.length;e++)this.game.debug.displayList(t.children[e])},renderer:function(t,e,i){var s=this.game.renderer,n=s.renderSession;if(this.start(t,e,i),this.line((s.gl?"WebGL":"Canvas")+" Renderer ("+s.width+" x "+s.height+")"),this.line("autoResize: "+s.autoResize),this.line("clearBeforeRender: "+s.clearBeforeRender),this.line("resolution: "+s.resolution),this.line("transparent: "+s.transparent),this.line("renderSession:"),s.gl){this.line("  currentBatchedTextures: ("+s.currentBatchedTextures.length+")");for(var r=0;r<s.currentBatchedTextures.length;r++)this.line("    "+s.currentBatchedTextures[r]);this.line("  drawCount: "+n.drawCount),this.line("  maxTextures: "+s.maxTextures),this.line("  maxTextureSize: "+s.maxTextureSize),this.line("  maxTextureAvailableSpace: "+n.maxTextureAvailableSpace),this.line("  roundPixels: "+n.roundPixels)}else this.line("  roundPixels: "+n.roundPixels),this.line("  scaleMode: "+(0===n.scaleMode?"LINEAR":1===n.scaleMode?"NEAREST":n.scaleMode));this.stop()},canvasPool:function(t,i,s,n){var r=e.CanvasPool;this.start(t,i,s,n||100),this.line("Canvas Pool"),this.line("Used:",r.getTotal()),this.line("Free:",r.getFree()),this.line("Total:",r.length),this.stop()},physicsGroup:function(t,e,i,s){t.forEach(this.body,this,s,e,i)},phaser:function(t,i,s){this.text("Phaser v"+e.VERSION+" "+(this.game.renderType===e.WEBGL?"WebGL":"Canvas")+" "+(this.game.device.webAudio?"WebAudio":"HTML Audio"),t,i,s,this.font)},scale:function(t,i,s){this.start(t,i,s);var n=this.game.scale,r=n.scaleFactorInversed,o=n._parentBounds,t=" x ";this.line("Game: "+this.game.width+t+this.game.height),this.line("Canvas: "+n.width+t+n.height+" ("+r.x.toFixed(2)+t+r.y.toFixed(2)+") ["+n.aspectRatio.toFixed(2)+"]"),this.line("Mode: "+e.ScaleManager.MODES[n.currentScaleMode]+(n.currentScaleMode===e.ScaleManager.USER_SCALE?" ("+n._userScaleFactor.x+t+n._userScaleFactor.y+")":"")),this.line("Parent: "+(n.parentIsWindow?"window":n.parentNode)+(o.empty?"":" ("+o.width+t+o.height+")")),this.line("Screen: "+n.classifyOrientation(n.screenOrientation)+(n.incorrectOrientation?" (incorrect)":"")),this.stop()},loader:function(t,i,s,n){var r=e.Utils.pad;this.start(i,s,n),t.hasLoaded?this.line("Complete"+(t.resetLocked?" [locked]":"")):t.isLoading?this.line("Loading"):this.line("Not started"),t.hasLoaded&&!t.resetLocked||(this.line("Progress: "+r(t.progress,3)+"%"),this.line("Files: "+t._loadedFileCount+" of "+t._totalFileCount),this.line("Packs: "+t._loadedPackCount+" of "+t._loadedPackCount)),this.stop()},device:function(t,e,i){var s=this.game.device;this.start(t,e,i),this.line("Device"),this.line("Pointer Events: "+s.mspointer),this.line("Touch: "+s.touch),this.line("Web Audio: "+s.webAudio),this.line("WebGL: "+s.webGL),this.stop()},destroy:function(){e.CanvasPool.remove(this)}},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t<e?e:t}}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:function(){var t=document.documentElement.clientHeight,e=window.innerHeight;return t<e?e:t}});Object.defineProperty(e.DOM.documentBounds,"x",{value:0}),Object.defineProperty(e.DOM.documentBounds,"y",{value:0}),Object.defineProperty(e.DOM.documentBounds,"width",{get:function(){var t=document.documentElement;return Math.max(t.clientWidth,t.offsetWidth,t.scrollWidth)}}),Object.defineProperty(e.DOM.documentBounds,"height",{get:function(){var t=document.documentElement;return Math.max(t.clientHeight,t.offsetHeight,t.scrollHeight)}})},null,!0),e.ArraySet=function(t){this.position=0,this.list=t||[]},e.ArraySet.prototype={add:function(t){return this.exists(t)||this.list.push(t),t},getIndex:function(t){return this.list.indexOf(t)},getByKey:function(t,e){for(var i=this.list.length;i--;)if(this.list[i][t]===e)return this.list[i];return null},exists:function(t){return this.list.indexOf(t)>-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position<this.list.length?(this.position++,this.list[this.position]):null}}),e.ArraySet.prototype.constructor=e.ArraySet,e.ArrayUtils={getRandomItem:function(t,e,i){if(null===t)return null;void 0===e&&(e=0),void 0===i&&(i=t.length);var s=e+Math.floor(Math.random()*i);return void 0===t[s]?null:t[s]},removeRandomItem:function(t,e,i){if(null==t)return null;void 0===e&&(e=0),void 0===i&&(i=t.length);var s=e+Math.floor(Math.random()*i);if(s<t.length){var n=t.splice(s,1);return void 0===n[0]?null:n[0]}return null},remove:function(t,e,i){var s=t.length;if(!(e>=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r<n;++r)t[r]=t[r+i];t.length=n}},shuffle:function(t){for(var e=t.length-1;e>0;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<i;n++){s[n]=new Array(e);for(var r=e-1;r>-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s<t.length;s++)t[s].reverse();t=t.reverse()}return t},findClosest:function(t,e){if(!e.length)return NaN;if(1===e.length||t<e[0])return e[0];for(var i=1;e[i]<t;)i++;var s=e[i-1],n=i<e.length?e[i]:Number.POSITIVE_INFINITY;return n-t<=t-s?n:s},rotateRight:function(t){var e=t.pop();return t.unshift(e),e},rotateLeft:function(t){var e=t.shift();return t.push(e),e},numberArray:function(t,e){void 0!==e&&null!==e||(e=t,t=0);for(var i=[],s=t;s<=e;s++)i.push(s);return i},numberArrayStep:function(t,i,s){void 0!==t&&null!==t||(t=0),void 0!==i&&null!==i||(i=t,t=0),void 0===s&&(s=1);for(var n=[],r=Math.max(e.Math.roundAwayFromZero((i-t)/(s||1)),0),o=0;o<r;o++)n.push(t),t+=s;return n}},e.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},e.LinkedList.prototype={add:function(t){return 0===this.total&&null===this.first&&null===this.last?(this.first=t,this.last=t,this.next=t,t.prev=this,this.total++,t):(this.last.next=t,t.prev=this.last,this.last=t,this.total++,t)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(t){if(1===this.total)return this.reset(),void(t.next=t.prev=null);t===this.first?this.first=this.first.next:t===this.last&&(this.last=this.last.prev),t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.next=t.prev=null,null===this.first&&(this.last=null),this.total--},callAll:function(t){if(this.first&&this.last){var e=this.first;do{e&&e[t]&&e[t].call(e),e=e.next}while(e!==this.last.next)}}},e.LinkedList.prototype.constructor=e.LinkedList,e.Create=function(t){this.game=t,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},e.Create.PALETTE_ARNE=0,e.Create.PALETTE_JMP=1,e.Create.PALETTE_CGA=2,e.Create.PALETTE_C64=3,e.Create.PALETTE_JAPANESE_MACHINE=4,e.Create.prototype={texture:function(t,e,i,s,n,r,o,a){void 0===i&&(i=8),void 0===s&&(s=i),void 0===n&&(n=0),void 0===r&&(r=!0);var h=e[0].length*i,l=e.length*s;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(h,l),this.bmd.clear();for(var c=0;c<e.length;c++)for(var u=e[c],d=0;d<u.length;d++){var p=u[d];"."!==p&&" "!==p&&(this.ctx.fillStyle=this.palettes[n][p],this.ctx.fillRect(d*i,c*s,i,s))}return r?this.bmd.generateTexture(t,o,a):this.copy()},grid:function(t,e,i,s,n,r,o,a,h){void 0===o&&(o=!0),null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(e,i),this.ctx.fillStyle=r;for(var l=0;l<i;l+=n)this.ctx.fillRect(0,l,e,1);for(var c=0;c<e;c+=s)this.ctx.fillRect(c,0,1,i);return o?this.bmd.generateTexture(t,a,h):this.copy()},copy:function(t,e,i,s,n,r,o){return null==t&&(t=this.game.make.bitmapData()),t.resize(this.bmd.width,this.bmd.height),t.draw(this.bmd,e,i,s,n,r,o)}},e.Create.prototype.constructor=e.Create,e.FlexGrid=function(t,i,s){this.game=t.game,this.manager=t,this.width=i,this.height=s,this.boundsCustom=new e.Rectangle(0,0,i,s),this.boundsFluid=new e.Rectangle(0,0,i,s),this.boundsFull=new e.Rectangle(0,0,i,s),this.boundsNone=new e.Rectangle(0,0,i,s),this.positionCustom=new e.Point(0,0),this.positionFluid=new e.Point(0,0),this.positionFull=new e.Point(0,0),this.positionNone=new e.Point(0,0),this.scaleCustom=new e.Point(1,1),this.scaleFluid=new e.Point(1,1),this.scaleFluidInversed=new e.Point(1,1),this.scaleFull=new e.Point(1,1),this.scaleNone=new e.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=i/s,this.ratioV=s/i,this.multiplier=0,this.layers=[]},e.FlexGrid.prototype={setSize:function(t,i){this.width=t,this.height=i,this.ratioH=t/i,this.ratioV=i/t,this.scaleNone=new e.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(t,i,s,n){void 0===n&&(n=!0),this.customWidth=t,this.customHeight=i,this.boundsCustom.width=t,this.boundsCustom.height=i;var r=new e.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return n&&this.game.world.add(r),this.layers.push(r),s&&r.addMultiple(s),r},createFluidLayer:function(t,i){void 0===i&&(i=!0);var s=new e.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return i&&this.game.world.add(s),this.layers.push(s),t&&s.addMultiple(t),s},createFullLayer:function(t){var i=new e.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(i),this.layers.push(i),void 0!==t&&i.addMultiple(t),i},createFixedLayer:function(t){var i=new e.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(i),this.layers.push(i),void 0!==t&&i.addMultiple(t),i},reset:function(){for(var t=this.layers.length;t--;)this.layers[t].persist||(this.layers[t].position=null,this.layers[t].scale=null,this.layers.slice(t,1))},onResize:function(t,e){this.ratioH=t/e,this.ratioV=e/t,this.refresh(t,e)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(t){this.manager.scaleSprite(t),t.x=this.manager.bounds.centerX,t.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},e.FlexGrid.prototype.constructor=e.FlexGrid,e.FlexLayer=function(t,i,s,n){e.Group.call(this,t.game,null,"__flexLayer"+t.game.rnd.uuid(),!1),this.manager=t.manager,this.grid=t,this.persist=!1,this.position=i,this.bounds=s,this.scale=n,this.topLeft=s.topLeft,this.topMiddle=new e.Point(s.halfWidth,0),this.topRight=s.topRight,this.bottomLeft=s.bottomLeft,this.bottomMiddle=new e.Point(s.halfWidth,s.bottom),this.bottomRight=s.bottomRight},e.FlexLayer.prototype=Object.create(e.Group.prototype),e.FlexLayer.prototype.constructor=e.FlexLayer,e.FlexLayer.prototype.resize=function(){},e.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},e.Color={RED:16711680,ORANGE:16750848,YELLOW:16776960,GREEN:65280,AQUA:65535,BLUE:255,VIOLET:16711935,WHITE:16777215,BLACK:0,GRAY:6710886,packPixel:function(t,i,s,n){return e.Device.LITTLE_ENDIAN?(n<<24|s<<16|i<<8|t)>>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i<s?6:0):o===i?n.h=(s-t)/a+2:o===s&&(n.h=(t-i)/a+4),n.h/=6}return n},HSLtoRGB:function(t,i,s,n){if(n?(n.r=s,n.g=s,n.b=s):n=e.Color.createColor(s,s,s),0!==i){var r=s<.5?s*(1+i):s+i-s*i,o=2*s-r;n.r=e.Color.hueToColor(o,r,t+1/3),n.g=e.Color.hueToColor(o,r,t),n.b=e.Color.hueToColor(o,r,t-1/3)}return n.r=Math.floor(255*n.r|0),n.g=Math.floor(255*n.g|0),n.b=Math.floor(255*n.b|0),e.Color.updateColor(n),n},RGBtoHSV:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,255)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s),a=o-r;return n.h=0,n.s=0===o?0:a/o,n.v=o,o!==r&&(o===t?n.h=(i-s)/a+(i<s?6:0):o===i?n.h=(s-t)/a+2:o===s&&(n.h=(t-i)/a+4),n.h/=6),n},HSVtoRGB:function(t,i,s,n){void 0===n&&(n=e.Color.createColor(0,0,0,1,t,i,0,s));var r,o,a,h=Math.floor(6*t),l=6*t-h,c=s*(1-i),u=s*(1-l*i),d=s*(1-(1-l)*i);switch(h%6){case 0:r=s,o=d,a=c;break;case 1:r=u,o=s,a=c;break;case 2:r=c,o=s,a=d;break;case 3:r=c,o=u,a=s;break;case 4:r=d,o=c,a=s;break;case 5:r=s,o=c,a=u}return n.r=Math.floor(255*r),n.g=Math.floor(255*o),n.b=Math.floor(255*a),e.Color.updateColor(n),n},hueToColor:function(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;o<e.length;o++)e[o]&&this.collideHandler(t,e[o],i,s,n,r);else if(Array.isArray(t)&&!Array.isArray(e))for(o=0;o<t.length;o++)t[o]&&this.collideHandler(t[o],e,i,s,n,r);else if(Array.isArray(t)&&Array.isArray(e)){for(var o=0;o<t.length;o++)if(t[o])for(var a=0;a<e.length;a++)e[a]&&this.collideHandler(t[o],e[a],i,s,n,r)}else this.collideHandler(t,e,i,s,n,r)},collideHandler:function(t,i,s,n,r,o){if(void 0===i&&t.physicsType===e.GROUP)return this.sort(t),void this.collideGroupVsSelf(t,s,n,r,o);t&&i&&t.exists&&i.exists&&(this.sortDirection!==e.Physics.Arcade.SORT_NONE&&(t.physicsType===e.GROUP&&this.sort(t),i.physicsType===e.GROUP&&this.sort(i)),t.physicsType===e.SPRITE?i.physicsType===e.SPRITE?this.collideSpriteVsSprite(t,i,s,n,r,o):i.physicsType===e.GROUP?this.collideSpriteVsGroup(t,i,s,n,r,o):i.physicsType===e.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(t,i,s,n,r,o):t.physicsType===e.GROUP?i.physicsType===e.SPRITE?this.collideSpriteVsGroup(i,t,s,n,r,o):i.physicsType===e.GROUP?this.collideGroupVsGroup(t,i,s,n,r,o):i.physicsType===e.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(t,i,s,n,r,o):t.physicsType===e.TILEMAPLAYER&&(i.physicsType===e.SPRITE?this.collideSpriteVsTilemapLayer(i,t,s,n,r,o):i.physicsType===e.GROUP&&this.collideGroupVsTilemapLayer(i,t,s,n,r,o)))},collideSpriteVsSprite:function(t,e,i,s,n,r){return!(!t.body||!e.body)&&(this.separate(t.body,e.body,s,n,r)&&(i&&i.call(n,t,e),this._total++),!0)},collideSpriteVsGroup:function(t,i,s,n,r,o){if(0!==i.length&&t.body)if(this.skipQuadTree||t.body.skipQuadTree)for(var a={},h=0;h<i.hash.length;h++){var l=i.hash[h];if(l&&l.exists&&l.body){if(a=l.body.getBounds(a),this.sortDirection===e.Physics.Arcade.LEFT_RIGHT){if(t.body.right<a.x)break;if(a.right<t.body.x)continue}else if(this.sortDirection===e.Physics.Arcade.RIGHT_LEFT){if(t.body.x>a.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottom<a.y)break;if(a.bottom<t.body.y)continue}else if(this.sortDirection===e.Physics.Arcade.BOTTOM_TOP){if(t.body.y>a.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;h<c.length;h++)this.separate(t.body,c[h],n,r,o)&&(s&&s.call(r,t,c[h].sprite),this._total++)}},collideGroupVsSelf:function(t,i,s,n,r){if(0!==t.length)for(var o=0;o<t.hash.length;o++){var a={},h=t.hash[o];if(h&&h.exists&&h.body){a=h.body.getBounds(a);for(var l=o+1;l<t.hash.length;l++){var c={},u=t.hash[l];if(u&&u.exists&&u.body){if(c=u.body.getBounds(c),this.sortDirection===e.Physics.Arcade.LEFT_RIGHT){if(a.right<c.x)break;if(c.right<a.x)continue}else if(this.sortDirection===e.Physics.Arcade.RIGHT_LEFT){if(a.x>c.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottom<c.y)continue;if(c.bottom<a.y)break}else if(this.sortDirection===e.Physics.Arcade.BOTTOM_TOP){if(a.y>c.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;a<t.children.length;a++)t.children[a].exists&&(t.children[a].physicsType===e.GROUP?this.collideGroupVsGroup(t.children[a],i,s,n,r,o):this.collideSpriteVsGroup(t.children[a],i,s,n,r,o))},separate:function(t,e,i,s,n){if(!t.enable||!e.enable||t.checkCollision.none||e.checkCollision.none||!this.intersects(t,e))return!1;if(i&&!1===i.call(s,t.sprite,e.sprite))return!1;if(t.isCircle&&e.isCircle)return this.separateCircle(t,e,n);if(t.isCircle!==e.isCircle){var r=t.isCircle?e:t,o=t.isCircle?t:e,a={x:r.x,y:r.y,right:r.right,bottom:r.bottom},h=o.center;if((h.y<a.y||h.y>a.bottom)&&(h.x<a.x||h.x>a.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)<Math.abs(this.gravity.x+t.gravity.x)?(l=this.separateX(t,e,n),this.intersects(t,e)&&(c=this.separateY(t,e,n))):(c=this.separateY(t,e,n),this.intersects(t,e)&&(l=this.separateX(t,e,n)));var u=l||c;return u&&(n?(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)):(t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite))),u},intersects:function(t,i){return t!==i&&(t.isCircle?i.isCircle?e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y)<=t.halfWidth+i.halfWidth:this.circleBodyIntersects(t,i):i.isCircle?this.circleBodyIntersects(i,t):!(t.right<=i.position.x)&&(!(t.bottom<=i.position.y)&&(!(t.position.x>=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.y<h.y?l.x<h.x?a=e.Math.distance(l.x,l.y,h.x,h.y)-l.radius:l.x>h.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.x<h.x?a=e.Math.distance(l.x,l.y,h.x,h.bottom)-l.radius:l.x>h.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},u={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)<Math.PI/2?t.velocity.x>0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x<i.velocity.x?i.velocity.x*=-1:t.velocity.y>0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.y<i.velocity.y&&(i.velocity.y*=-1):Math.abs(o)>Math.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x<t.velocity.x?t.velocity.x*=-1:i.velocity.x>0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y<t.velocity.y?t.velocity.y*=-1:i.velocity.y>0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()<e.deltaX()&&(-(s=t.x-e.width-e.x)>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()<e.deltaY()&&(-(s=t.y-e.bottom)>n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c<l.length;c++)l[c].hitTest(t,i)&&(n&&n.call(r,o,l[c].sprite),h.push(l[c].sprite));return h},moveToObject:function(t,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=e.Point.angle(i,t);return n>0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;o<a;o++){var h=e[o],l=this.distanceBetween(t,h,i,s);l<n&&(r=h,n=l)}return r},farthest:function(t,e,i,s){for(var n=-1,r=null,o=0,a=e.length;o<a;o++){var h=e[o],l=this.distanceBetween(t,h,i,s);l>n&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.x<e.x&&i.left?(t.x=e.x,this.velocity.x*=s,this.blocked.left=!0,this.blocked.none=!1):this.right>e.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.y<e.y&&i.up?(t.y=e.y,this.velocity.y*=n,this.blocked.up=!0,this.blocked.none=!1):this.bottom>e.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;a<o.length;a++)s?s.call(n,t,o[a])&&this.separateTile(a,t.body,o[a],e,r)&&(this._total++,i&&i.call(n,t,o[a])):this.separateTile(a,t.body,o[a],e,r)&&(this._total++,i&&i.call(n,t,o[a]))}},collideGroupVsTilemapLayer:function(t,e,i,s,n,r){if(0!==t.length)for(var o=0;o<t.children.length;o++)t.children[o].exists&&this.collideSpriteVsTilemapLayer(t.children[o],e,i,s,n,r)},separateTile:function(t,e,i,s,n){if(!e.enable)return!1;var r=s.getTileOffsetX(),o=s.getTileOffsetY();if(!i.intersects(e.position.x-r,e.position.y-o,e.right-r,e.bottom-o))return!1;if(n)return!0;if(i.collisionCallback&&!i.collisionCallback.call(i.collisionCallbackContext,e.sprite,i))return!1;if(void 0!==i.layer.callbacks&&i.layer.callbacks[i.index]&&!i.layer.callbacks[i.index].callback.call(i.layer.callbacks[i.index].callbackContext,e.sprite,i))return!1;if(!(i.faceLeft||i.faceRight||i.faceTop||i.faceBottom))return!1;var a=0,h=0,l=0,c=1;if(e.deltaAbsX()>e.deltaAbsY()?l=-1:e.deltaAbsX()<e.deltaAbsY()&&(c=-1),0!==e.deltaX()&&0!==e.deltaY()&&(i.faceLeft||i.faceRight)&&(i.faceTop||i.faceBottom)&&(l=Math.min(Math.abs(e.position.x-r-i.right),Math.abs(e.right-r-i.left)),c=Math.min(Math.abs(e.position.y-o-i.bottom),Math.abs(e.bottom-o-i.top))),l<c){if((i.faceLeft||i.faceRight)&&0!==(a=this.tileCheckX(e,i,s))&&!i.intersects(e.position.x-r,e.position.y-o,e.right-r,e.bottom-o))return!0;(i.faceTop||i.faceBottom)&&(h=this.tileCheckY(e,i,s))}else{if((i.faceTop||i.faceBottom)&&0!==(h=this.tileCheckY(e,i,s))&&!i.intersects(e.position.x-r,e.position.y-o,e.right-r,e.bottom-o))return!0;(i.faceLeft||i.faceRight)&&(a=this.tileCheckX(e,i,s))}return 0!==a||0!==h},tileCheckX:function(t,e,i){var s=0,n=i.getTileOffsetX();return t.deltaX()<0&&!t.blocked.left&&e.collideRight&&t.checkCollision.left?e.faceRight&&t.x-n<e.right&&(s=t.x-n-e.right)<-this.TILE_BIAS&&(s=0):t.deltaX()>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-n<e.bottom&&(s=t.y-n-e.bottom)<-this.TILE_BIAS&&(s=0):t.deltaY()>0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s<t.total;s++)t.children[s].body&&t.children[s].body.type===e.Physics.P2JS&&t.children[s].body.setCollisionGroup(i);else t.body.setCollisionGroup(i)},createSpring:function(t,i,s,n,r,o,a,h,l){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addSpring(new e.Physics.P2.Spring(this,t,i,s,n,r,o,a,h,l));console.warn("Cannot create Spring, invalid body objects given")},createRotationalSpring:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addSpring(new e.Physics.P2.RotationalSpring(this,t,i,s,n,r));console.warn("Cannot create Rotational Spring, invalid body objects given")},createBody:function(t,i,s,n,r,o){void 0===n&&(n=!1);var a=new e.Physics.P2.Body(this.game,null,t,i,s);return!(o&&!a.addPolygon(r,o))&&(n&&this.world.addBody(a.data),a)},createParticle:function(t,i,s,n,r,o){void 0===n&&(n=!1);var a=new e.Physics.P2.Body(this.game,null,t,i,s);return!(o&&!a.addPolygon(r,o))&&(n&&this.world.addBody(a.data),a)},convertCollisionObjects:function(t,e,i){void 0===i&&(i=!0);for(var s=[],n=0,r=t.collision[e].length;n<r;n++){var o=t.collision[e][n],a=o.polyline||o.polygon;if(a)var h=this.createBody(o.x,o.y,0,i,{},a);else o.rectangle&&(h=this.createBody(o.x,o.y,0,i)).addRectangle(o.width,o.height,o.width/2,o.height/2);h&&s.push(h)}return s},clearTilemapLayerBodies:function(t,e){e=t.getLayer(e);for(var i=t.layers[e].bodies.length;i--;)t.layers[e].bodies[i].destroy();t.layers[e].bodies.length=0},convertTilemap:function(t,e,i,s){e=t.getLayer(e),void 0===i&&(i=!0),void 0===s&&(s=!0),this.clearTilemapLayerBodies(t,e);for(var n=0,r=0,o=0,a=0,h=t.layers[e].height;a<h;a++){n=0;for(var l=0,c=t.layers[e].width;l<c;l++){var u=t.layers[e].data[a][l];if(u&&u.index>-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e<this.collidesWith.length;e++)t|=this.collidesWith[e].mask;return t},updateCollisionMask:function(t){var e=this.getCollisionMask();if(void 0===t)for(var i=this.data.shapes.length-1;i>=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<t.length;r++)(s=this.collidesWith.indexOf(t[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<t.length;r++)-1===this.collidesWith.indexOf(t[r])&&(this.collidesWith.push(t[r]),e&&this.createGroupCallback(t[r],e,i));else-1===this.collidesWith.indexOf(t)&&(this.collidesWith.push(t),e&&this.createGroupCallback(t,e,i));var n=this.getCollisionMask();if(void 0===s)for(var r=this.data.shapes.length-1;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<this.game.physics.p2._toRemove.length;t++)this.game.physics.p2._toRemove[t]===this&&this.game.physics.p2._toRemove.splice(t,1);this.data.world!==this.game.physics.p2.world&&this.game.physics.p2.addBody(this)},removeFromWorld:function(){this.data.world===this.game.physics.p2.world&&this.game.physics.p2.removeBodyNextStep(this)},destroy:function(){this.removeFromWorld(),this.clearShapes(),this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this.debugBody&&this.debugBody.destroy(!0,!0),this.debugBody=null,this.sprite&&(this.sprite.body=null,this.sprite=null)},clearShapes:function(){for(var t=this.data.shapes.length;t--;)this.data.removeShape(this.data.shapes[t]);this.shapeChanged()},addShape:function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=0),this.data.addShape(t,[this.world.pxmi(e),this.world.pxmi(i)],s),this.shapeChanged(),t},addCircle:function(t,e,i,s){var n=new p2.Circle({radius:this.world.pxm(t)});return this.addShape(n,e,i,s)},addRectangle:function(t,e,i,s,n){var r=new p2.Box({width:this.world.pxm(t),height:this.world.pxm(e)});return this.addShape(r,i,s,n)},addPlane:function(t,e,i){var s=new p2.Plane;return this.addShape(s,t,e,i)},addParticle:function(t,e,i){var s=new p2.Particle;return this.addShape(s,t,e,i)},addLine:function(t,e,i,s){var n=new p2.Line({length:this.world.pxm(t)});return this.addShape(n,e,i,s)},addCapsule:function(t,e,i,s,n){var r=new p2.Capsule({length:this.world.pxm(t),radius:this.world.pxm(e)});return this.addShape(r,i,s,n)},addPolygon:function(t,e){t=t||{},Array.isArray(e)||(e=Array.prototype.slice.call(arguments,1));var i=[];if(1===e.length&&Array.isArray(e[0]))i=e[0].slice(0);else if(Array.isArray(e[0]))i=e.slice();else if("number"==typeof e[0])for(var s=0,n=e.length;s<n;s+=2)i.push([e[s],e[s+1]]);var r=i.length-1;i[r][0]===i[0][0]&&i[r][1]===i[0][1]&&i.pop();for(var o=0;o<i.length;o++)i[o][0]=this.world.pxmi(i[o][0]),i[o][1]=this.world.pxmi(i[o][1]);var a=this.data.fromPolygon(i,t);return this.shapeChanged(),a},removeShape:function(t){var e=this.data.removeShape(t);return this.shapeChanged(),e},setCircle:function(t,e,i,s){return this.clearShapes(),this.addCircle(t,e,i,s)},setRectangle:function(t,e,i,s,n){return void 0===t&&(t=16),void 0===e&&(e=16),this.clearShapes(),this.addRectangle(t,e,i,s,n)},setRectangleFromSprite:function(t){return void 0===t&&(t=this.sprite),this.clearShapes(),this.addRectangle(t.width,t.height,0,0,t.rotation)},setMaterial:function(t,e){if(void 0===e)for(var i=this.data.shapes.length-1;i>=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n<i.length;n++){var r=i[n],o=this.addFixture(r);s[r.filter.group]=s[r.filter.group]||[],s[r.filter.group]=s[r.filter.group].concat(o),r.fixtureKey&&(s[r.fixtureKey]=o)}return this.data.aabbNeedsUpdate=!0,this.shapeChanged(),s},addFixture:function(t){var e=[];if(t.circle){(l=new p2.Circle({radius:this.world.pxm(t.circle.radius)})).collisionGroup=t.filter.categoryBits,l.collisionMask=t.filter.maskBits,l.sensor=t.isSensor;var i=p2.vec2.create();i[0]=this.world.pxmi(t.circle.position[0]-this.sprite.width/2),i[1]=this.world.pxmi(t.circle.position[1]-this.sprite.height/2),this.data.addShape(l,i),e.push(l)}else for(var s=t.polygons,n=p2.vec2.create(),r=0;r<s.length;r++){for(var o=s[r],a=[],h=0;h<o.length;h+=2)a.push([this.world.pxmi(o[h]),this.world.pxmi(o[h+1])]);for(var l=new p2.Convex({vertices:a}),c=0;c!==l.vertices.length;c++){var u=l.vertices[c];p2.vec2.sub(u,u,l.centerOfMass)}p2.vec2.scale(n,l.centerOfMass,1),n[0]-=this.world.pxmi(this.sprite.width/2),n[1]-=this.world.pxmi(this.sprite.height/2),l.updateTriangles(),l.updateCenterOfMass(),l.updateBoundingRadius(),l.collisionGroup=t.filter.categoryBits,l.collisionMask=t.filter.maskBits,l.sensor=t.isSensor,this.data.addShape(l,n),e.push(l)}return e},loadPolygon:function(t,e,i){if(null===t)s=e;else var s=this.game.cache.getPhysicsData(t,e);"number"!=typeof i&&(i=1);for(var n=p2.vec2.create(),r=0;r<s.length;r++){for(var o=[],a=0;a<s[r].shape.length;a+=2)o.push([this.world.pxmi(s[r].shape[a]*i),this.world.pxmi(s[r].shape[a+1]*i)]);for(var h=new p2.Convex({vertices:o}),l=0;l!==h.vertices.length;l++){var c=h.vertices[l];p2.vec2.sub(c,c,h.centerOfMass)}p2.vec2.scale(n,h.centerOfMass,1),n[0]-=this.world.pxmi(this.sprite.width/2),n[1]-=this.world.pxmi(this.sprite.height/2),h.updateTriangles(),h.updateCenterOfMass(),h.updateBoundingRadius(),this.data.addShape(h,n)}return this.data.aabbNeedsUpdate=!0,this.shapeChanged(),!0}},e.Physics.P2.Body.prototype.constructor=e.Physics.P2.Body,e.Physics.P2.Body.DYNAMIC=1,e.Physics.P2.Body.STATIC=2,e.Physics.P2.Body.KINEMATIC=4,Object.defineProperty(e.Physics.P2.Body.prototype,"static",{get:function(){return this.data.type===e.Physics.P2.Body.STATIC},set:function(t){t&&this.data.type!==e.Physics.P2.Body.STATIC?(this.data.type=e.Physics.P2.Body.STATIC,this.mass=0):t||this.data.type!==e.Physics.P2.Body.STATIC||(this.data.type=e.Physics.P2.Body.DYNAMIC,this.mass=1)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"dynamic",{get:function(){return this.data.type===e.Physics.P2.Body.DYNAMIC},set:function(t){t&&this.data.type!==e.Physics.P2.Body.DYNAMIC?(this.data.type=e.Physics.P2.Body.DYNAMIC,this.mass=1):t||this.data.type!==e.Physics.P2.Body.DYNAMIC||(this.data.type=e.Physics.P2.Body.STATIC,this.mass=0)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"kinematic",{get:function(){return this.data.type===e.Physics.P2.Body.KINEMATIC},set:function(t){t&&this.data.type!==e.Physics.P2.Body.KINEMATIC?(this.data.type=e.Physics.P2.Body.KINEMATIC,this.mass=4):t||this.data.type!==e.Physics.P2.Body.KINEMATIC||(this.data.type=e.Physics.P2.Body.STATIC,this.mass=0)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"allowSleep",{get:function(){return this.data.allowSleep},set:function(t){t!==this.data.allowSleep&&(this.data.allowSleep=t)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"angle",{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.data.angle))},set:function(t){this.data.angle=e.Math.degToRad(e.Math.wrapAngle(t))}}),Object.defineProperty(e.Physics.P2.Body.prototype,"angularDamping",{get:function(){return this.data.angularDamping},set:function(t){this.data.angularDamping=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"angularForce",{get:function(){return this.data.angularForce},set:function(t){this.data.angularForce=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"angularVelocity",{get:function(){return this.data.angularVelocity},set:function(t){this.data.angularVelocity=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"damping",{get:function(){return this.data.damping},set:function(t){this.data.damping=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"fixedRotation",{get:function(){return this.data.fixedRotation},set:function(t){t!==this.data.fixedRotation&&(this.data.fixedRotation=t)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"inertia",{get:function(){return this.data.inertia},set:function(t){this.data.inertia=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"mass",{get:function(){return this.data.mass},set:function(t){t!==this.data.mass&&(this.data.mass=t,this.data.updateMassProperties())}}),Object.defineProperty(e.Physics.P2.Body.prototype,"motionState",{get:function(){return this.data.type},set:function(t){t!==this.data.type&&(this.data.type=t)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"rotation",{get:function(){return this.data.angle},set:function(t){this.data.angle=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"sleepSpeedLimit",{get:function(){return this.data.sleepSpeedLimit},set:function(t){this.data.sleepSpeedLimit=t}}),Object.defineProperty(e.Physics.P2.Body.prototype,"x",{get:function(){return this.world.mpxi(this.data.position[0])},set:function(t){this.data.position[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"y",{get:function(){return this.world.mpxi(this.data.position[1])},set:function(t){this.data.position[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"id",{get:function(){return this.data.id}}),Object.defineProperty(e.Physics.P2.Body.prototype,"debug",{get:function(){return null!==this.debugBody},set:function(t){t&&!this.debugBody?this.debugBody=new e.Physics.P2.BodyDebug(this.game,this.data):!t&&this.debugBody&&(this.debugBody.destroy(),this.debugBody=null)}}),Object.defineProperty(e.Physics.P2.Body.prototype,"collideWorldBounds",{get:function(){return this._collideWorldBounds},set:function(t){t&&!this._collideWorldBounds?(this._collideWorldBounds=!0,this.updateCollisionMask()):!t&&this._collideWorldBounds&&(this._collideWorldBounds=!1,this.updateCollisionMask())}}),e.Physics.P2.BodyDebug=function(t,i,s){e.Group.call(this,t);var n={pixelsPerLengthUnit:t.physics.p2.mpx(1),debugPolygons:!1,lineWidth:1,alpha:.5};this.settings=Object.assign(n,s),this.ppu=this.settings.pixelsPerLengthUnit,this.ppu=-1*this.ppu,this.body=i,this.canvas=new e.Graphics(t),this.canvas.alpha=this.settings.alpha,this.add(this.canvas),this.draw(),this.updateSpriteTransform()},e.Physics.P2.BodyDebug.prototype=Object.create(e.Group.prototype),e.Physics.P2.BodyDebug.prototype.constructor=e.Physics.P2.BodyDebug,Object.assign(e.Physics.P2.BodyDebug.prototype,{updateSpriteTransform:function(){this.position.x=this.body.position[0]*this.ppu,this.position.y=this.body.position[1]*this.ppu,this.rotation=this.body.angle},draw:function(){var t,e,i,s,n,r,o,a,h,l,c,u,d,p;if(o=this.body,(h=this.canvas).clear(),i=parseInt(this.randomPastelHex(),16),16711680,r=this.lineWidth,o instanceof p2.Body&&o.shapes.length){var f=o.shapes.length;for(s=0;s!==f;){if(e=o.shapes[s],a=e.position||0,t=e.angle||0,e instanceof p2.Circle)this.drawCircle(h,a[0]*this.ppu,a[1]*this.ppu,t,e.radius*this.ppu,i,r);else if(e instanceof p2.Capsule)this.drawCapsule(h,a[0]*this.ppu,a[1]*this.ppu,t,e.length*this.ppu,e.radius*this.ppu,16711680,i,r);else if(e instanceof p2.Plane)this.drawPlane(h,a[0]*this.ppu,-a[1]*this.ppu,i,16711680,5*r,10*r,10*r,100*this.ppu,t);else if(e instanceof p2.Line)this.drawLine(h,e.length*this.ppu,16711680,r);else if(e instanceof p2.Box)this.drawRectangle(h,a[0]*this.ppu,a[1]*this.ppu,t,e.width*this.ppu,e.height*this.ppu,16711680,i,r);else if(e instanceof p2.Convex){for(c=[],u=p2.vec2.create(),n=d=0,p=e.vertices.length;p>=0?d<p:d>p;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r<e.length;)f=(p=e[r])[0],g=p[1],f===o&&g===a||(0===r?t.moveTo(f,g):(h=o,l=a,c=f,u=g,d=e[(r+1)%e.length][0],0!==(c-h)*(e[(r+1)%e.length][1]-l)-(d-h)*(u-l)&&t.lineTo(f,g)),o=f,a=g),r++;"number"==typeof s&&t.endFill(),e.length>2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&t<this.firstgid+this.total},addImage:function(t,e){this.images.push({gid:t,image:e}),this.total++}},e.ImageCollection.prototype.constructor=e.ImageCollection,e.Tile=function(t,e,i,s,n,r){this.layer=t,this.index=e,this.x=i,this.y=s,this.rotation=0,this.flipped=!1,this.worldX=i*n,this.worldY=s*r,this.width=n,this.height=r,this.centerX=Math.abs(n/2),this.centerY=Math.abs(r/2),this.alpha=1,this.properties={},this.scanned=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1,this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.collisionCallback=null,this.collisionCallbackContext=this,this.debug=!1},e.Tile.prototype={containsPoint:function(t,e){return!(t<this.worldX||e<this.worldY||t>this.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y<a+c.total&&(this.tiles[y]=[d,p,u],d+=s+o,++f!==c.total)&&(++g!==c.columns||(d=r,p+=n+o,g=0,++m!==c.rows));y++);return c},createFromObjects:function(t,i,s,n,r,o,a,h,l,c){if(void 0===r&&(r=!0),void 0===o&&(o=!1),void 0===a&&(a=this.game.world),void 0===h&&(h=e.Sprite),void 0===l&&(l=!0),void 0===c&&(c=!0),!this.objects[t])return console.warn("Tilemap.createFromObjects: Invalid objectgroup name given: "+t),void console.log("Objects: ",this.objects);for(var u=0;u<this.objects[t].length;u++){var d=!1,p=this.objects[t][u];if(void 0!==p.gid&&"number"==typeof i&&p.gid===i?d=!0:void 0!==p.id&&"number"==typeof i&&p.id===i?d=!0:void 0!==p.name&&"string"==typeof i&&p.name===i&&(d=!0),d){var f=new h(this.game,parseFloat(p.x,10),parseFloat(p.y,10),s,n);f.name=p.name,f.autoCull=o,f.exists=r,f.visible=p.visible,c&&(p.width&&(f.width=p.width),p.height&&(f.height=p.height)),p.rotation&&(f.angle=p.rotation),l&&(f.y-=f.height),a.add(f);for(var g in p.properties)a.set(f,g,p.properties[g],!1,!1,0,!0)}}},createFromTiles:function(t,i,s,n,r,o){"number"==typeof t&&(t=[t]),void 0===i||null===i?i=[]:"number"==typeof i&&(i=[i]),n=this.getLayer(n),void 0===r&&(r=this.game.world),void 0===o&&(o={}),void 0===o.customClass&&(o.customClass=e.Sprite),void 0===o.adjustY&&(o.adjustY=!0);var a=this.layers[n].width,h=this.layers[n].height;if(this.copy(0,0,a,h,n),this._results.length<2)return 0;for(var l,c=0,u=1,d=this._results.length;u<d;u++)if(-1!==t.indexOf(this._results[u].index)){l=new o.customClass(this.game,this._results[u].worldX,this._results[u].worldY,s);for(var p in o)l[p]=o[p];r.add(l),c++}if(1===i.length)for(u=0;u<t.length;u++)this.replace(t[u],i[0],0,0,a,h,n);else if(i.length>1)for(u=0;u<t.length;u++)this.replace(t[u],i[u],0,0,a,h,n);return c},createLayer:function(t,i,s,n){void 0===i&&(i=this.game.width),void 0===s&&(s=this.game.height),void 0===n&&(n=this.game.world);var r=t;if("string"==typeof t&&(r=this.getLayerIndex(t)),null===r||r>this.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;c<s;c++){a=[];for(var u=0;u<i;u++)a.push(new e.Tile(h,-1,u,c,n,r));l.push(a)}h.data=l,this.layers.push(h),this.currentLayer=this.layers.length-1;var d=h.widthInPixels,p=h.heightInPixels;return d>this.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;i<t.length;i++)if(t[i].name===e)return i;return null},getLayerIndex:function(t){return this.getIndex(this.layers,t)},getTilesetIndex:function(t){return this.getIndex(this.tilesets,t)},getImageIndex:function(t){return this.getIndex(this.images,t)},setTileIndexCallback:function(t,e,i,s){if(s=this.getLayer(s),"number"==typeof t)null===e?delete this.layers[s].callbacks[t]:this.layers[s].callbacks[t]={callback:e,callbackContext:i};else for(var n=0,r=t.length;n<r;n++)null===e?delete this.layers[s].callbacks[t[n]]:this.layers[s].callbacks[t[n]]={callback:e,callbackContext:i}},setTileLocationCallback:function(t,e,i,s,n,r,o){if(o=this.getLayer(o),this.copy(t,e,i,s,o),!(this._results.length<2))for(var a=1;a<this._results.length;a++)this._results[a].setCollisionCallback(n,r)},setCollision:function(t,e,i,s){if(void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i),"number"==typeof t)return this.setCollisionByIndex(t,e,i,!0);if(Array.isArray(t)){for(var n=0;n<t.length;n++)this.setCollisionByIndex(t[n],e,i,!1);s&&this.calculateFaces(i)}},setCollisionBetween:function(t,e,i,s,n){if(void 0===i&&(i=!0),void 0===n&&(n=!0),s=this.getLayer(s),!(t>e)){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<r;n++)-1===t.indexOf(n)&&this.setCollisionByIndex(n,e,i,!1);s&&this.calculateFaces(i)},setCollisionByIndex:function(t,e,i,s){if(void 0===e&&(e=!0),void 0===i&&(i=this.currentLayer),void 0===s&&(s=!0),e)this.collideIndexes.push(t);else{var n=this.collideIndexes.indexOf(t);n>-1&&this.collideIndexes.splice(n,1)}for(var r=0;r<this.layers[i].height;r++)for(var o=0;o<this.layers[i].width;o++){var a=this.layers[i].data[r][o];a&&a.index===t&&(e?a.setCollision(!0,!0,!0,!0):a.resetCollision(),a.faceTop=e,a.faceBottom=e,a.faceLeft=e,a.faceRight=e)}return s&&this.calculateFaces(i),i},getLayer:function(t){if(void 0===t)t=this.currentLayer;else if("string"==typeof t){var i=t;null===(t=this.getLayerIndex(t))&&console.warn("No such layer name: "+i)}else t instanceof e.TilemapLayer&&(t=t.index);return t},setPreventRecalculate:function(t){if(!0===t&&!0!==this.preventingRecalculate&&(this.preventingRecalculate=!0,this.needToRecalculate={}),!1===t&&!0===this.preventingRecalculate){this.preventingRecalculate=!1;for(var e in this.needToRecalculate)this.calculateFaces(e);this.needToRecalculate=!1}},calculateFaces:function(t){if(this.preventingRecalculate)this.needToRecalculate[t]=!0;else for(var e=null,i=null,s=null,n=null,r=0,o=this.layers[t].height;r<o;r++)for(var a=0,h=this.layers[t].width;a<h;a++){var l=this.layers[t].data[r][a];l&&(e=this.getTileAbove(t,a,r),i=this.getTileBelow(t,a,r),s=this.getTileLeft(t,a,r),n=this.getTileRight(t,a,r),l.collides&&(l.faceTop=!0,l.faceBottom=!0,l.faceLeft=!0,l.faceRight=!0),e&&e.collides&&(l.faceTop=!1),i&&i.collides&&(l.faceBottom=!1),s&&s.collides&&(l.faceLeft=!1),n&&n.collides&&(l.faceRight=!1))}},getTileAbove:function(t,e,i){return i>0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i<this.layers[t].height-1?this.layers[t].data[i+1][e]:null},getTileLeft:function(t,e,i){return e>0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e<this.layers[t].width-1?this.layers[t].data[i][e+1]:null},setLayer:function(t){t=this.getLayer(t),this.layers[t]&&(this.currentLayer=t)},hasTile:function(t,e,i){return i=this.getLayer(i),void 0!==this.layers[i].data[e]&&void 0!==this.layers[i].data[e][t]&&this.layers[i].data[e][t].index>-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t<this.layers[s].width&&i>=0&&i<this.layers[s].height&&this.hasTile(t,i,s)){var n=this.layers[s].data[i][t];return this.layers[s].data[i][t]=new e.Tile(this.layers[s],-1,t,i,this.tileWidth,this.tileHeight),this.layers[s].dirty=!0,this.calculateFaces(s),n}},removeTileWorldXY:function(t,e,i,s,n){return n=this.getLayer(n),t=this.game.math.snapToFloor(t,i)/i,e=this.game.math.snapToFloor(e,s)/s,this.removeTile(t,e,n)},putTile:function(t,i,s,n){if(null===t)return this.removeTile(i,s,n);if(n=this.getLayer(n),i>=0&&i<this.layers[n].width&&s>=0&&s<this.layers[n].height){var r;return t instanceof e.Tile?(r=t.index,this.hasTile(i,s,n)?this.layers[n].data[s][i].copy(t):this.layers[n].data[s][i]=new e.Tile(n,r,i,s,t.width,t.height)):(r=t,this.hasTile(i,s,n)?this.layers[n].data[s][i].index=r:this.layers[n].data[s][i]=new e.Tile(this.layers[n],r,i,s,this.tileWidth,this.tileHeight)),this.collideIndexes.indexOf(r)>-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){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<this.layers[s].height;r++)for(var o=0;o<this.layers[s].width;o++)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}return null},getTile:function(t,e,i,s){return void 0===s&&(s=!1),i=this.getLayer(i),t>=0&&t<this.layers[i].width&&e>=0&&e<this.layers[i].height?-1===this.layers[i].data[e][t].index?s?this.layers[i].data[e][t]:null:this.layers[i].data[e][t]:null},getTileWorldXY:function(t,e,i,s,n,r){return void 0===i&&(i=this.tileWidth),void 0===s&&(s=this.tileHeight),n=this.getLayer(n),t=this.game.math.snapToFloor(t,i)/i,e=this.game.math.snapToFloor(e,s)/s,this.getTile(t,e,n,r)},copy:function(t,e,i,s,n){n=this.getLayer(n);{if(this.layers[n]){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=this.layers[n].width),void 0===s&&(s=this.layers[n].height),t<0&&(t=0),e<0&&(e=0),i>this.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;r<e+s;r++)for(var o=t;o<t+i;o++)this._results.push(this.layers[n].data[r][o]);return this._results}this._results.length=0}},paste:function(t,e,i,s){if(void 0===t&&(t=0),void 0===e&&(e=0),s=this.getLayer(s),i&&!(i.length<2)){for(var n=t-i[1].x,r=e-i[1].y,o=1;o<i.length;o++)this.layers[s].data[r+i[o].y][n+i[o].x].copy(i[o]);this.layers[s].dirty=!0,this.calculateFaces(s)}},swap:function(t,e,i,s,n,r,o){o=this.getLayer(o),this.copy(i,s,n,r,o),this._results.length<2||(this._tempA=t,this._tempB=e,this._results.forEach(this.swapHandler,this),this.paste(i,s,this._results,o))},swapHandler:function(t){t.index===this._tempA?t.index=this._tempB:t.index===this._tempB&&(t.index=this._tempA)},forEach:function(t,e,i,s,n,r,o){o=this.getLayer(o),this.copy(i,s,n,r,o),this._results.length<2||(this._results.forEach(t,e),this.paste(i,s,this._results,o))},replace:function(t,e,i,s,n,r,o){if(o=this.getLayer(o),this.copy(i,s,n,r,o),!(this._results.length<2)){for(var a=1;a<this._results.length;a++)this._results[a].index===t&&(this._results[a].index=e);this.paste(i,s,this._results,o)}},random:function(t,e,i,s,n){if(n=this.getLayer(n),this.copy(t,e,i,s,n),!(this._results.length<2)){for(var r=[],o=1;o<this._results.length;o++)if(this._results[o].index){var a=this._results[o].index;-1===r.indexOf(a)&&r.push(a)}for(var h=1;h<this._results.length;h++)this._results[h].index=this.game.rnd.pick(r);this.paste(t,e,this._results,n)}},shuffle:function(t,i,s,n,r){if(r=this.getLayer(r),this.copy(t,i,s,n,r),!(this._results.length<2)){for(var o=[],a=1;a<this._results.length;a++)this._results[a].index&&o.push(this._results[a].index);e.ArrayUtils.shuffle(o);for(var h=1;h<this._results.length;h++)this._results[h].index=o[h-1];this.paste(t,i,this._results,r)}},fill:function(t,e,i,s,n,r){if(r=this.getLayer(r),this.copy(e,i,s,n,r),!(this._results.length<2)){for(var o=1;o<this._results.length;o++)this._results[o].index=t;this.paste(e,i,this._results,r)}},removeAllLayers:function(){this.layers.length=0,this.currentLayer=0},dump:function(){for(var t="",e=[""],i=0;i<this.layers[this.currentLayer].height;i++){for(var s=0;s<this.layers[this.currentLayer].width;s++)t+="%c  ",this.layers[this.currentLayer].data[i][s]>1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a<n.length;a++)for(var h=0;h<r.length;h++){var l=n[a],c=r[h];if(l.containsPoint(c[0],c[1])){o.push(l);break}}return o},e.TilemapLayer.prototype.getTiles=function(t,e,i,s,n,r){void 0===n&&(n=!1),void 0===r&&(r=!1);var o=!(n||r);t=this._fixX(t),e=this._fixY(e);for(var a=Math.floor(t/(this._mc.cw*this.scale.x)),h=Math.floor(e/(this._mc.ch*this.scale.y)),l=Math.ceil((t+i)/(this._mc.cw*this.scale.x))-a,c=Math.ceil((e+s)/(this._mc.ch*this.scale.y))-h;this._results.length;)this._results.pop();for(var u=h;u<h+c;u++)for(var d=a;d<a+l;d++){var p=this.layer.data[u];p&&p[d]&&(o||p[d].isInteresting(n,r))&&this._results.push(p[d])}return this._results.slice()},e.TilemapLayer.prototype.resolveTileset=function(t){var e=this._mc.tilesets;if(t<2e3)for(;e.length<t;)e.push(void 0);var i=this.map.tiles[t]&&this.map.tiles[t][2];if(null!==i){var s=this.map.tilesets[i];if(s&&s.containsTileIndex(t))return e[t]=s}return e[t]=null},e.TilemapLayer.prototype.resetTilesetCache=function(){for(var t=this._mc.tilesets;t.length;)t.pop()},e.TilemapLayer.prototype.setScale=function(t,e){t=t||1,e=e||t;for(var i=0;i<this.layer.data.length;i++)for(var s=this.layer.data[i],n=0;n<s.length;n++){var r=s[n];r.width=this.map.tileWidth*t,r.height=this.map.tileHeight*e,r.worldX=r.x*r.width,r.worldY=r.y*r.height}this.scale.setTo(t,e)},e.TilemapLayer.prototype.shiftCanvas=function(t,e,i){var s=t.canvas,n=s.width-Math.abs(e),r=s.height-Math.abs(i),o=0,a=0,h=e,l=i;e<0&&(o=-e,h=0),i<0&&(a=-i,l=0);var c=this.renderSettings.copyCanvas;if(c){(c.width<n||c.height<r)&&(c.width=n,c.height=r);var u=c.getContext("2d");u.clearRect(0,0,n,r),u.drawImage(s,o,a,n,r,0,0,n,r),t.clearRect(h,l,n,r),t.drawImage(c,0,0,n,r,h,l,n,r)}else t.save(),t.globalCompositeOperation="copy",t.drawImage(s,o,a,n,r,h,l,n,r),t.restore()},e.TilemapLayer.prototype.renderRegion=function(t,e,i,s,n,r){var o=this.context,a=this.layer.width,h=this.layer.height,l=this._mc.tileWidth,c=this._mc.tileHeight,u=this._mc.tilesets,d=NaN;this._wrap||(i<=n&&(i=Math.max(0,i),n=Math.min(a-1,n)),s<=r&&(s=Math.max(0,s),r=Math.min(h-1,r)));var p,f,g,m,y,v,x=i*l-t,b=(i+(1<<20)*a)%a;for(m=(s+(1<<20)*h)%h,v=r-s,f=s*c-e;v>=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)<Math.min(e,i)?this.renderDeltaScroll(o,a):this.renderFull(),this.debug&&(this.context.globalAlpha=1,this.renderDebug()),this.texture.baseTexture.dirty(),this.dirty=!1,this.context.restore(),!0}},e.TilemapLayer.prototype.renderDebug=function(){var t,e,i,s,n,r,o=this._mc.scrollX,a=this._mc.scrollY,h=this.context,l=this.canvas.width,c=this.canvas.height,u=this.layer.width,d=this.layer.height,p=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(o/p),m=Math.floor((l-1+o)/p),y=Math.floor(a/f),v=Math.floor((c-1+a)/f),x=g*p-o,b=y*f-a,_=(g+(1<<20)*u)%u,w=(y+(1<<20)*d)%d;for(h.strokeStyle=this.debugSettings.facingEdgeStroke,s=w,r=v-y,e=b;r>=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c<a.length;c++){o[c]=[];for(var u=a[c].split(","),d=0;d<u.length;d++)o[c][d]=new e.Tile(r.layers[0],parseInt(u[d],10),d,c,s,n);0===l&&(l=u.length)}return r.format=e.Tilemap.CSV,r.name=t,r.width=l,r.height=h,r.tileWidth=s,r.tileHeight=n,r.widthInPixels=l*s,r.heightInPixels=h*n,r.layers[0].width=l,r.layers[0].height=h,r.layers[0].widthInPixels=r.widthInPixels,r.layers[0].heightInPixels=r.heightInPixels,r.layers[0].data=o,r},getEmptyData:function(t,e,i,s){return{width:void 0!==i&&null!==i?i:0,height:void 0!==s&&null!==s?s:0,tileWidth:void 0!==t&&null!==t?t:0,tileHeight:void 0!==e&&null!==e?e:0,orientation:"orthogonal",version:"1",properties:{},widthInPixels:0,heightInPixels:0,layers:[{name:"layer",x:0,y:0,width:0,height:0,widthInPixels:0,heightInPixels:0,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:[]}],images:[],objects:{},collision:{},tilesets:[],tiles:[]}},_slice:function(t,e){var i={};for(var s in e){var n=e[s];void 0!==t[n]&&(i[n]=t[n])}return i},parseObjectGroup:function(t,e,i,s,n){var s=s||t.name,n=n||{x:0,y:0},r=this._slice;s||console.warn("No name found for objectGroup",t),void 0!==n.x&&void 0!==n.y||console.warn("Malformed xy properties in relativePosition",n),e[s]=e[s]||[],i[s]=i[s]||[];for(var o=0,a=t.objects.length;o<a;o++){var h=t.objects[o];if(h.gid){l={gid:h.gid,name:h.name,type:h.type||"",x:h.x+n.x,y:h.y+n.y,width:h.width,height:h.height,visible:h.visible,properties:h.properties};h.rotation&&(l.rotation=h.rotation),e[s].push(l)}else if(h.polyline){var l={name:h.name,type:h.type,x:h.x+n.x,y:h.y+n.y,width:h.width,height:h.height,visible:h.visible,properties:h.properties};h.rotation&&(l.rotation=h.rotation),l.polyline=[];for(c=0;c<h.polyline.length;c++)l.polyline.push([h.polyline[c].x,h.polyline[c].y]);i[s].push(l),e[s].push(l)}else if(h.polygon){(l=r(h,["name","type","x","y","visible","rotation","properties"])).x+=n.x,l.y+=n.y,l.polygon=[];for(var c=0;c<h.polygon.length;c++)l.polygon.push([h.polygon[c].x,h.polygon[c].y]);i[s].push(l),e[s].push(l)}else h.ellipse?((l=r(h,["name","type","ellipse","x","y","width","height","visible","rotation","properties"])).x+=n.x,l.y+=n.y,i[s].push(l),e[s].push(l)):((l=r(h,["name","type","x","y","width","height","visible","rotation","properties"])).x+=n.x,l.y+=n.y,l.rectangle=!0,i[s].push(l),e[s].push(l))}return{objectsCollection:e,collisionCollection:i}},parseTiledJSON:function(t){if("orthogonal"!==t.orientation)return console.warn("TilemapParser.parseTiledJSON - Only orthogonal map types are supported in this version of Phaser"),null;for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n<t.layers.length;n++)if("tilelayer"===t.layers[n].type){var r=t.layers[n];if(!r.compression&&r.encoding&&"base64"===r.encoding){for(var o=window.atob(r.data),a=o.length,h=new Array(a),l=0;l<a;l+=4)h[l/4]=(o.charCodeAt(l)|o.charCodeAt(l+1)<<8|o.charCodeAt(l+2)<<16|o.charCodeAt(l+3)<<24)>>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m<a;m++){if(c=0,u=!1,A=r.data[m],d=0,A>536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}i.layers=s;for(var y=[],n=0;n<t.layers.length;n++)if("imagelayer"===t.layers[n].type){var v=t.layers[n],x={name:v.name,image:v.image,x:v.x,y:v.y,alpha:v.opacity,visible:v.visible,properties:{}};v.properties&&(x.properties=v.properties),y.push(x)}i.images=y;for(var b=[],_={},w=[],T=null,n=0;n<t.tilesets.length;n++){if((U=t.tilesets[n]).source)console.warn("Phaser.TilemapParser - Phaser can't load external tilesets (%s). Use the Embed Tileset button and then export the map again.",U.source);else if(U.image){var P=new e.Tileset(U.name,U.firstgid,U.tilewidth,U.tileheight,U.margin,U.spacing,U.properties);U.tileproperties&&(P.tileProperties=U.tileproperties),P.updateTileData(U.imagewidth,U.imageheight),b.push(P)}else{if(!U.tiles)throw new Error("Tileset "+U.name+" has no `image` or `tiles` property.");var C=new e.ImageCollection(U.name,U.firstgid,U.tilewidth,U.tileheight,U.margin,U.spacing,U.properties);for(var S in U.tiles){var x=U.tiles[S].image,A=U.firstgid+parseInt(S,10);C.addImage(A,x)}w.push(C)}for(var S in U.tiles)(R=U.tiles[S].objectgroup)&&(_[parseInt(S,10)+U.firstgid]=R);T&&(T.lastgid=U.firstgid-1),T=U}if(0===b.length&&0===w.length)throw new Error("This tilemap has no tilesets.");i.tilesets=b,i.imagecollections=w;for(var E={},M={},n=0;n<t.layers.length;n++)if("objectgroup"===t.layers[n].type){var R=t.layers[n];this.parseObjectGroup(R,E,M)}i.objects=E,i.collision=M,i.tiles=[];for(n=0;n<i.tilesets.length;n++)for(var p=(U=i.tilesets[n]).tileMargin,L=U.tileMargin,B=0,I=0,O=0,m=U.firstgid;m<U.firstgid+U.total&&(i.tiles[m]=[p,L,n],p+=U.tileWidth+U.tileSpacing,++B!==U.total)&&(++I!==U.columns||(p=U.tileMargin,L+=U.tileHeight+U.tileSpacing,I=0,++O!==U.rows));m++);for(var k,F,D,U,n=0;n<i.layers.length;n++){M[(k=i.layers[n]).name]=[],U=null;for(l=0;l<k.data.length;l++){f=k.data[l];for(var G=0;G<f.length;G++)null===(F=f[G])||F.index<0||(D=i.tiles[F.index][2],(U=i.tilesets[D]).tileProperties&&U.tileProperties[F.index-U.firstgid]&&(F.properties=e.Utils.mixin(U.tileProperties[F.index-U.firstgid],F.properties)),(R=_[F.index])&&this.parseObjectGroup(R,i.objects,i.collision,F.layer.name,{x:F.worldX+R.x,y:F.worldY+R.y}))}}return i}},e.Tileset=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.tileWidth=0|i,this.tileHeight=0|s,this.tileMargin=0|n,this.tileSpacing=0|r,this.properties=o||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},e.Tileset.prototype={draw:function(t,e,i,s){var n=s-this.firstgid<<1;n>=0&&n+1<this.drawCoords.length&&t.drawImage(this.image,this.drawCoords[n],this.drawCoords[n+1],this.tileWidth,this.tileHeight,e,i,this.tileWidth,this.tileHeight)},containsTileIndex:function(t){return t>=this.firstgid&&t<this.firstgid+this.total},setImage:function(t){this.image=t,this.updateTileData(t.width,t.height)},setSpacing:function(t,e){this.tileMargin=0|t,this.tileSpacing=0|e,this.image&&this.updateTileData(this.image.width,this.image.height)},updateTileData:function(t,e){var i=(e-2*this.tileMargin+this.tileSpacing)/(this.tileHeight+this.tileSpacing),s=(t-2*this.tileMargin+this.tileSpacing)/(this.tileWidth+this.tileSpacing);i%1==0&&s%1==0||console.warn("Phaser.Tileset - '%s' image tile area (%s x %s) is not a whole multiple of tile size (%s x %s + %s + %s)",this.name,t,e,this.tileWidth,this.tileHeight,this.tileMargin,this.tileSpacing),i=Math.floor(i),s=Math.floor(s),(this.rows&&this.rows!==i||this.columns&&this.columns!==s)&&console.warn("Phaser.Tileset - Tile layout from image '%s' (%s rows by %s columns) differs from tileset '%s' (%s rows by %s columns)",this.image.name,s,i,this.name,this.columns,this.rows),this.rows=i,this.columns=s,this.total=i*s,this.drawCoords.length=0;for(var n=this.tileMargin,r=this.tileMargin,o=0;o<this.rows;o++){for(var a=0;a<this.columns;a++)this.drawCoords.push(n),this.drawCoords.push(r),n+=this.tileWidth+this.tileSpacing;n=this.tileMargin,r+=this.tileHeight+this.tileSpacing}}},e.Tileset.prototype.constructor=e.Tileset,e.Particle=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.autoScale=!1,this.scaleData=null,this._s=0,this.autoAlpha=!1,this.alphaData=null,this._a=0},e.Particle.prototype=Object.create(e.Sprite.prototype),e.Particle.prototype.constructor=e.Particle,e.Particle.prototype.update=function(){this.autoScale&&(--this._s?this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y):this.autoScale=!1),this.autoAlpha&&(--this._a?this.alpha=this.alphaData[this._a].v:this.autoAlpha=!1)},e.Particle.prototype.onEmit=function(){},e.Particle.prototype.setAlphaData=function(t){this.alphaData=t,this._a=t.length-1,this.alpha=this.alphaData[this._a].v,this.autoAlpha=!0},e.Particle.prototype.setScaleData=function(t){this.scaleData=t,this._s=t.length-1,this.scale.set(this.scaleData[this._s].x,this.scaleData[this._s].y),this.autoScale=!0},e.Particle.prototype.reset=function(t,i,s){return e.Component.Reset.prototype.reset.call(this,t,i,s),this.alpha=1,this.scale.set(1),this.autoScale=!1,this.autoAlpha=!1,this},e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Particles.Arcade={},e.Particles.Arcade.Emitter=function(t,i,s,n){this.maxParticles=n||50,e.Group.call(this,t),this._id=this.game.particles.ID++,this.name="emitter"+this.id,this.type=e.EMITTER,this.physicsType=e.GROUP,this.area=new e.Rectangle(i,s,1,1),this.minAngle=null,this.maxAngle=null,this.minSpeed=0,this.maxSpeed=100,this.minParticleSpeed=new e.Point(-100,-100),this.maxParticleSpeed=new e.Point(100,100),this.minParticleScale=1,this.maxParticleScale=1,this.scaleData=null,this.minRotation=-360,this.maxRotation=360,this.minParticleAlpha=1,this.maxParticleAlpha=1,this.alphaData=null,this.particleClass=e.Particle,this.particleDrag=new e.Point,this.angularDrag=0,this.frequency=100,this.lifespan=2e3,this.bounce=new e.Point,this.on=!1,this.particleAnchor=new e.Point(.5,.5),this.blendMode=e.blendModes.NORMAL,this.emitX=i,this.emitY=s,this.autoScale=!1,this.autoAlpha=!1,this.particleBringToTop=!1,this.particleSendToBack=!1,this.counts={emitted:0,failed:0,totalEmitted:0,totalFailed:0},this._gravity=new e.Point(0,100),this._minParticleScale=new e.Point(1,1),this._maxParticleScale=new e.Point(1,1),this._total=0,this._timer=0,this._counter=0,this._flowQuantity=0,this._flowTotal=0,this._explode=!0,this._frames=null},e.Particles.Arcade.Emitter.prototype=Object.create(e.Group.prototype),e.Particles.Arcade.Emitter.prototype.constructor=e.Particles.Arcade.Emitter,e.Particles.Arcade.Emitter.prototype.update=function(){if(this.counts.emitted=0,this.counts.failed=0,this.on&&this.game.time.time>=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._flowQuantity;t++)if(this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);a<i;)Array.isArray(t)&&(h=this.game.rnd.pick(t)),Array.isArray(e)&&(l=this.game.rnd.pick(e)),o=new this.particleClass(this.game,0,0,h,l,r),this.game.physics.arcade.enable(o,!1),o.body.checkCollision.none=!s,o.body.collideWorldBounds=n,o.body.skipQuadTree=!0,o.exists=!1,o.visible=!1,o.anchor.copyFrom(this.particleAnchor),this.add(o),a++;return this},e.Particles.Arcade.Emitter.prototype.kill=function(){return this.on=!1,this.alive=!1,this.exists=!1,this},e.Particles.Arcade.Emitter.prototype.revive=function(){return this.alive=!0,this.exists=!0,this},e.Particles.Arcade.Emitter.prototype.explode=function(t,e){return void 0===e&&(e=this.maxParticles),this._flowTotal=0,this.start(!0,t,0,e,!1),this},e.Particles.Arcade.Emitter.prototype.flow=function(t,e,i,s,n){return void 0!==e&&null!==e||(e=250),void 0!==i&&0!==i||(i=1),void 0===s&&(s=-1),void 0===n&&(n=!0),i>this.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r<s;r++)this.emitParticle();else this.on=!0,this._total=s,this._counter=0,this._timer=this.game.time.time+i*this.game.time.slowMotion;return this},e.Particles.Arcade.Emitter.prototype.emitParticle=function(t,e,i,s){void 0===t&&(t=null),void 0===e&&(e=null);var n=this.getNextParticle();if(null===n)return this.counts.failed++,this.counts.totalFailed++,!1;this.counts.emitted++,this.counts.totalEmitted++;var r=this.game.rnd;void 0!==i&&void 0!==s?n.loadTexture(i,s):void 0!==i&&(n.loadTexture(i),n.frame=Array.isArray(this._frames)?r.pick(this._frames):this._frames);var o=this.emitX,a=this.emitY;return null!==t?o=t:this.width>1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now<this._nextFire||this.fireLimit>0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),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;e<t.length;e++)t[e].loadTexture&&t[e].loadTexture(this);else t.loadTexture(this);return this},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},render:function(){!this.disableTextureUpload&&this.playing&&this.baseTexture.dirty()},setMute:function(){this._muted||(this._muted=!0,this.video.muted=!0)},unsetMute:function(){this._muted&&!this._codeMuted&&(this._muted=!1,this.video.muted=!1)},setPause:function(){this._paused||this.touchLocked||(this._paused=!0,this.video.pause())},setResume:function(){!this._paused||this._codePaused||this.touchLocked||(this._paused=!1,this.video.ended||this.video.play())},changeSource:function(t,e){return void 0===e&&(e=!0),this.texture.valid=!1,this.video.pause(),this._pendingChangeSource=!0,this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.video.src=t,this.video.load(),this._autoplay=e,e||(this.paused=!0),this},checkVideoProgress:function(){4===this.video.readyState?(this._pendingChangeSource=!1,this.updateTexture()):--this.retry>0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this);
+//# sourceMappingURL=phaser.map
\ No newline at end of file
-- 
GitLab