pxt-arcade 1.13.11 → 1.13.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/built/common-sim.d.ts +4 -0
  2. package/built/common-sim.js +187 -0
  3. package/built/sim.js +420 -67
  4. package/built/target.js +1 -1
  5. package/built/target.json +1 -1
  6. package/built/targetlight.json +1 -1
  7. package/built/theme.json +1 -1
  8. package/docs/concepts/bouncing-burger.md +5 -5
  9. package/docs/concepts/breadcrumb-trail.md +4 -4
  10. package/docs/concepts/picnic-food.md +6 -6
  11. package/docs/concepts/princess-pizza.md +4 -4
  12. package/docs/concepts/setting-the-scene.md +2 -2
  13. package/docs/concepts/throw-a-bone.md +5 -5
  14. package/docs/concepts/walking-hero.md +3 -3
  15. package/docs/lessons/barrel-dodger.md +3 -3
  16. package/docs/multiplayer-games.md +12 -12
  17. package/docs/projects/SUMMARY.md +6 -6
  18. package/docs/recipes/shark-splash/01-character.md +3 -3
  19. package/docs/recipes/shark-splash/02-A-enemies.md +2 -2
  20. package/docs/recipes/shark-splash/02-enemies.md +5 -5
  21. package/docs/recipes/shark-splash/04-background.md +3 -3
  22. package/docs/recipes/side-scroller/02-create-car.md +2 -2
  23. package/docs/skillmaps.md +2 -0
  24. package/docs/static/badges/badge-adventure-locked.png +0 -0
  25. package/docs/static/badges/badge-adventure.png +0 -0
  26. package/docs/static/skillmap/racer/share.png +0 -0
  27. package/docs/test/skillmap/dino/dino3.md +1 -0
  28. package/docs/test/skillmap/racer/racer1.md +87 -78
  29. package/docs/test/skillmap/racer/racer2.md +50 -55
  30. package/docs/test/skillmap/racer/racer3.md +113 -27
  31. package/docs/test/skillmap/racer.md +69 -0
  32. package/docs/test/skillmap/space/space1.md +205 -0
  33. package/docs/test/skillmap/space/space2.md +186 -0
  34. package/docs/test/skillmap/space/space3.md +374 -0
  35. package/docs/test/skillmap/space/space4.md +409 -0
  36. package/docs/test/skillmap/space/space4a.md +291 -0
  37. package/docs/test/skillmap/space/space5.md +433 -0
  38. package/docs/test/skillmap/space/space6.md +343 -0
  39. package/docs/test/skillmap/space.md +109 -0
  40. package/docs/test/skillmap/star/star1.md +7 -31
  41. package/docs/test/skillmap/star/star2.md +4 -1
  42. package/docs/test/skillmap/star/star4.md +54 -3
  43. package/docs/test/tutorials/birthday.md +2 -2
  44. package/docs/test/tutorials/blazing.md +18 -5
  45. package/docs/tutorials/catch-the-football.md +8 -8
  46. package/docs/tutorials/chase-the-basketball.md +5 -5
  47. package/docs/tutorials/free-throw.md +4 -4
  48. package/package.json +4 -4
  49. package/pxtarget.json +1 -1
  50. package/targetconfig.json +1 -1
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## {Introduction @showdialog}
5
5
 
6
- In this tutorial, we'll customize your Monster Racer game to make it even more special.
6
+ This tutorial will help you customize your Monster Racer game to make it even more special.
7
7
 
8
8
  ![Animating your truck.](/static/skillmap/racer/racer3.gif "Look what we're about to make!")
9
9
 
@@ -26,18 +26,16 @@ Click "Replace my code" below to replace the code in your workspace with recomme
26
26
 
27
27
  ## {3. Keep Rollin'}
28
28
 
29
- Let's add a block to animate your truck.
29
+ Add a block to animate your truck.
30
30
 
31
31
  ---
32
32
 
33
- - :mouse pointer: Click the **Advanced** label in the toolbox to reveal the ``||animation:Animation||`` category.
33
+ - :chevron down: Click the **Advanced** label in the toolbox to reveal the ``||animation:Animation||`` category.
34
34
 
35
- - :sync: Drag the
36
-
37
- ```block
38
- animation.runImageAnimation(truck, [img`.`], 500, true)
39
- ```
40
- block into the end of the ``||loops:on start||`` container.
35
+ - :sync: Drag the<br/>
36
+ ``||animation:animate [truck]||``<br/>
37
+ block into the end of the <br/>
38
+ ``||loops(noclick):on start||`` container.
41
39
 
42
40
 
43
41
  #### ~ tutorialhint
@@ -57,9 +55,8 @@ Choose your truck animation.
57
55
 
58
56
  ---
59
57
 
60
- - :paint brush: Click the empty grey square to choose a truck animation from **My Assets**.
58
+ - :paint brush: Click the empty animation image square to choose a truck animation from **My Assets**.
61
59
 
62
- - :mouse pointer: When the truck is selected, the interval should fill automatically, but you can replace it with a larger number if you want the animation to run more slowly.
63
60
 
64
61
  #### ~ tutorialhint
65
62
 
@@ -74,47 +71,98 @@ animation.runImageAnimation(truck, assets.animation`truck2 animated`, 100, true)
74
71
 
75
72
  ## {5. Play it Again}
76
73
 
77
- Remember to play your game again each time you make a change.
74
+ - :binoculars: Remember to keep looking back at the game window to see how your game changes with each bit of code you add.
78
75
 
79
76
  Can you see the effects of the code you just wrote?
80
77
 
81
78
 
82
- ## {6. Cave Design}
79
+ ## {6. Sound Effects}
83
80
 
84
- Finally, you can edit the cave to have your own set of pits and spikes!
81
+ **Add sound effects each time you jump.**
85
82
 
86
83
  ---
87
84
 
88
- - :mouse pointer: Click the tile shown in the ``||scene:set tilemap to [ ]||`` block already in your program.
85
+ - :headphones: From ``||music: Music||``, grab<br/>
86
+ ``||music: play [sound knock] [in background]||``<br/>
87
+ and drag it into **the beginning** of the<br/>
88
+ ``||controller(noclick):on [A] button [pressed]||`` container that's already in the workspace.
89
89
 
90
- The current tilemap will open in the **Tilemap Editor**.
91
90
 
92
- ~hint Click here to see how 🕵🏽
91
+ #### ~ tutorialhint
93
92
 
94
- ![Opening the tilmap](/static/skillmap/racer/racer-map.gif "Want to edit the tilemap?")
95
93
 
96
- hint~
94
+ ```blocks
95
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
96
+ let truck: Sprite = null
97
97
 
98
+ //@highlight
99
+ music.play(music.melodyPlayable(music.knock), music.PlaybackMode.InBackground)
100
+ truck.vy = -200
101
+ })
102
+ ```
98
103
 
99
- ## {7. Cave Walls}
100
104
 
101
- Click the **wall** icon to solidify tiles.
105
+ ## {7. Play it Again}
102
106
 
103
- With the wall icon highlighted, you can select the eraser tool to remove walls, too!
107
+ - :binoculars: Try your game again. Do you hear the sound each time you jump?
104
108
 
105
- ~hint Click here to see how 🕵🏽
106
109
 
107
- ![Add or remove walls](/static/skillmap/racer/racer-walls.gif "Use the pencil to draw walls and the eraser to remove them. ")
108
110
 
109
- hint~
111
+ ## {8. More Sound Effects}
112
+
113
+ **Add more sounds.**
114
+
115
+ ---
116
+
117
+ - :headphones: Go back to the ``||music: Music||`` category and look at some of the other blocks. <br/><br/>Which one would you choose as background music for your game?
118
+
119
+ - :mouse pointer: To add your music so that it plays from the beginning of your game, add it to your
120
+ <br/>``||loops(noclick): on start||`` container.
121
+
122
+ ```blockconfig.local
123
+ music.play(music.createSong(), music.PlaybackMode.LoopingInBackground)
124
+ ```
125
+
126
+
127
+ #### ~ tutorialhint
128
+
129
+
130
+ ```blocks
131
+ //@highlight
132
+ music.play(music.createSong(hex`0078000408020100001c00010a006400f4016400000400000000000000000000000000050000040600000004000129`), music.PlaybackMode.LoopingInBackground)
133
+ let truck = sprites.create(assets.image`truck1`, SpriteKind.Player)
134
+ truck.ay = 500
135
+ truck.vx = 100
136
+ scene.cameraFollowSprite(truck)
137
+ animation.runImageAnimation(truck, assets.animation`truck2 animated`, 100, true)
138
+ ```
139
+
140
+
141
+ ## {9. Play it Again}
142
+
143
+ - :binoculars: Once you've added all of your sound effects, play your game through one last tome. Can you make it all the way to the end?
144
+
145
+
110
146
 
111
147
  ## {Finale}
112
148
 
113
149
  Excellent!
114
150
 
115
- Try playing your game in the full screen game window jump over obstacles and make it to the finish line!
151
+ When you're finished, click **Done** to return to the skillmap and share your game with family and friends!
152
+
153
+
154
+ ~hint How do I share my game?💡
155
+
156
+ ---
157
+
158
+ **Want to share your project?**
159
+
160
+ Click "Done" to get back out to the skillmap, then look in the lower-right corner for the share button.
161
+
162
+ ![Share your card](/static/skillmap/racer/share.png )
163
+
164
+ hint~
116
165
 
117
- When you're finished, click **Done** to finish the skillmap and share your game with family and friends.
118
166
 
119
167
 
120
168
  ```blockconfig.global
@@ -123,6 +171,7 @@ let truck = sprites.create(assets.image`truck1`, SpriteKind.Player)
123
171
  truck.vx = 100
124
172
  scene.cameraFollowSprite(truck)
125
173
  animation.runImageAnimation(truck, [img`.`], 500, true)
174
+ music.play(music.melodyPlayable(music.knock), music.PlaybackMode.InBackground)
126
175
  ```
127
176
 
128
177
 
@@ -149,6 +198,43 @@ truck.vx = 100
149
198
  scene.cameraFollowSprite(truck)
150
199
  ```
151
200
 
201
+
202
+ ```ghost
203
+ scene.onOverlapTile(SpriteKind.Player, assets.tile`empty cave`, function (sprite, location) {
204
+ game.over(true)
205
+ })
206
+ controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
207
+ truck.vy = -200
208
+ music.play(music.melodyPlayable(music.knock), music.PlaybackMode.InBackground)
209
+ })
210
+ scene.onOverlapTile(SpriteKind.Player, assets.tile`spikes`, function (sprite, location) {
211
+ game.over(false)
212
+ })
213
+ scene.onOverlapTile(SpriteKind.Player, assets.tile`acid`, function (sprite, location) {
214
+ music.play(music.createSoundEffect(WaveShape.Noise, 5000, 0, 255, 0, 500, SoundExpressionEffect.None, InterpolationCurve.Linear), music.PlaybackMode.UntilDone)
215
+ game.over(false)
216
+ })
217
+ let truck: Sprite = null
218
+ music.setVolume(20)
219
+ music.play(music.createSong(hex`0078000408020100001c00010a006400f4016400000400000000000000000000000000050000040600000004000129`), music.PlaybackMode.LoopingInBackground)
220
+ music.play(music.melodyPlayable(music.knock), music.PlaybackMode.InBackground)
221
+ truck = sprites.create(assets.image`truck1`, SpriteKind.Player)
222
+ truck.ay = 500
223
+ truck.vx = 100
224
+ scene.cameraFollowSprite(truck)
225
+ animation.runImageAnimation(
226
+ truck,
227
+ assets.animation`truck1 animated`,
228
+ 100,
229
+ true
230
+ )
231
+
232
+ ```
233
+
234
+
235
+
236
+
237
+
152
238
  ```customts
153
239
  tiles.setTilemap(tilemap`level1`)
154
240
  scene.setBackgroundImage(assets.image`background`)
@@ -0,0 +1,69 @@
1
+ # Monster Racer
2
+ * name: Monster Racer
3
+ * description: Create a side-scrolling monster truck racing game so you can jump obstacles and get your monster truck to the finish line.
4
+ * infoUrl: skillmap/educator-info/racer-map-info
5
+ * backgroundurl: /static/skillmap/backgrounds/racer-comp.gif
6
+ * bannerurl: /static/skillmap/racer/racer3.gif
7
+
8
+ * primarycolor: #fa8033
9
+ * secondarycolor: #fdf60c
10
+ * tertiarycolor: #000000
11
+ * strokecolor: #ffffff
12
+ * highlightcolor: #ffffff
13
+ * completednodecolor: #504c52
14
+
15
+ ## Monster Racer
16
+ * name: Monster Racer
17
+ * layout: manual
18
+
19
+ ### racer1
20
+ * name: Ready, Set, Go!
21
+ * type: tutorial
22
+ * description: Get your monster truck moving and try to make it to the end of your cave.
23
+ * url: /test/skillmap/racer/racer1
24
+ * tags: easy, sprites, design
25
+ * imageUrl: /static/skillmap/racer/racer1.gif
26
+ * next: racer2
27
+ * position: 1 -1
28
+
29
+ ### racer2
30
+ * name: Over and Under
31
+ * type: tutorial
32
+ * description: Code actions to help your racer survive the pits and perils of the cave.
33
+ * url: /test/skillmap/racer/racer2
34
+ * tags: easy, tiles, events
35
+ * imageUrl: /static/skillmap/racer/racer2.gif
36
+ * next: racer-finish
37
+ * position: 2 -1
38
+
39
+
40
+
41
+ ### racer-finish
42
+ * kind: completion
43
+ * type: certificate
44
+ * imageUrl: /static/skillmap/certificates/racer-cert.png
45
+ * url: /static/skillmap/certificates/racer-cert.pdf
46
+ * next: racer3
47
+ * position: 3 0
48
+ * actions:
49
+ * map: [Try Space Explorer](/skillmap/space)
50
+ * editor: [Edit Your Project with a Full Toolbox](/)
51
+ * rewards:
52
+ * certificate:
53
+ * url: /static/skillmap/certificates/racer-cert.pdf
54
+ * preview: /static/skillmap/certificates/racer-cert.png
55
+ * completion-badge:
56
+ * image: /static/badges/badge-racer.png
57
+ * name: Monster Truck
58
+
59
+
60
+
61
+
62
+ ### racer3
63
+ * name: Going Further (Optional)
64
+ * type: tutorial
65
+ * description: Customize your game and make it your own by adding animations and changing your tilemap.
66
+ * url: /test/skillmap/racer/racer3
67
+ * tags: easy, enemies, overlap, lives
68
+ * imageUrl: /static/skillmap/racer/racer3.gif
69
+ * position: 4 0
@@ -0,0 +1,205 @@
1
+ # Prepare Your Ship
2
+
3
+
4
+ ## Introduction @showdialog
5
+
6
+ ** Let's explore the depths of space! **
7
+
8
+ In this tutorial, you'll prepare your ship for a journey into space!
9
+
10
+ ![Flying through space](/static/skillmap/space/spacet1.gif "Blasting through space")
11
+
12
+ ## 2. Set the scene
13
+ **🔭 Time to give 'em a view**
14
+
15
+ ---
16
+
17
+ - :tree: From the ``||scene:Scene||`` category, drag
18
+ ``||scene:set background image to [ ]||``
19
+ into the
20
+ ``||loops:on start||``
21
+ container already in the workspace.
22
+
23
+ _💡 Having trouble finding the block you need? Look to the left of the instructions for the icon of the toolbox category where your block lives!_
24
+
25
+ - :paint brush: Next, click the grey box and toggle to **My Assets** to choose the **Galaxy** background, then click **Done**.
26
+
27
+ ![Toggle to My Assets](/static/skillmap/assets/my-assets-three.png "toggle to the My Assets Window")
28
+
29
+ ```blocks
30
+ // @highlight
31
+ scene.setBackgroundImage(assets.image`Galaxy`)
32
+ ```
33
+
34
+ ---
35
+
36
+ ![Grab the galaxy](/static/skillmap/space/select-galaxy.gif "Many Planets")
37
+
38
+
39
+
40
+
41
+ ## 3. Make it fly
42
+ **🚀 Make it fly 🚀**
43
+
44
+ ---
45
+
46
+ - :arrows alternate: Grab
47
+ ``||scroller:scroll background with vx [-50] vy [-50]||``
48
+ and drop it in to **the end** of the
49
+ ``||loops:on start||`` container.
50
+
51
+ _💡 Remember, the icon to the left of the instructions shows the same icon as the toolbox category for the block you need._
52
+
53
+ - :mouse pointer: To keep the background from scrolling sideways, change **vx** to **0**.
54
+
55
+ - :mouse pointer: To set a nice, slow vertical pace, change **vy** to **10**.
56
+
57
+ ```blocks
58
+ scene.setBackgroundImage(assets.image`Galaxy`)
59
+ // @highlight
60
+ scroller.scrollBackgroundWithSpeed(0, 10)
61
+ ```
62
+
63
+
64
+ ## 4. Choose your ship
65
+ **Time to pick your ship!**
66
+
67
+ ---
68
+
69
+ - :paper plane: Drag
70
+ ``||variables(sprites):set [mySprite] to sprite [ ] of kind [Player]||``
71
+ to **the end** of the
72
+ ``||loops:on start||`` container.
73
+
74
+ - :paint brush: Click on the grey box in the middle of
75
+ ``||variables(sprites):set [mySprite] to sprite [ ] of kind [Player]||``,
76
+ then toggle to **My Assets** and choose the **Rocket**.
77
+
78
+
79
+ ```blocks
80
+ scene.setBackgroundImage(assets.image`Galaxy`)
81
+ scroller.scrollBackgroundWithSpeed(0, 10)
82
+ // @highlight
83
+ let mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
84
+ ```
85
+
86
+
87
+
88
+ ## 5. Control your ship
89
+
90
+ 🌟 **Let's get your ship moving**
91
+
92
+ ---
93
+
94
+ - :game: Find the
95
+ ``||controller:move [mySprite] with buttons ⊕||``
96
+ block and drag it into the bottom of the
97
+ ``||loops:on start||`` container.
98
+
99
+
100
+
101
+
102
+ ```blocks
103
+ scene.setBackgroundImage(assets.image`Galaxy`)
104
+ scroller.scrollBackgroundWithSpeed(0, 10)
105
+ mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
106
+ // @highlight
107
+ controller.moveSprite(mySprite)
108
+ ```
109
+
110
+
111
+ ## 6. Try It
112
+
113
+ **Check the Game Window**
114
+
115
+ Try moving your ship around the game screen! Your ship will move with the joypad, arrow keys, or **W A S D** keys.
116
+
117
+ What happens when you hold one arrow down for a long time?
118
+
119
+
120
+
121
+ ## 7. Stay on Screen
122
+
123
+ **Uh-oh, if you move off screen, your ship disappears!**
124
+
125
+ ---
126
+
127
+ - :paper plane: To keep your ship from exploring beyond the edges, find
128
+ the
129
+ ``||sprites:set [mySprite] stay in screen <on>||``
130
+ block and snap it in at the end of the program.
131
+
132
+
133
+
134
+ ```blocks
135
+ scene.setBackgroundImage(assets.image`Galaxy`)
136
+ scroller.scrollBackgroundWithSpeed(0, 10)
137
+ let mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
138
+ controller.moveSprite(mySprite)
139
+ // @highlight
140
+ mySprite.setStayInScreen(true)
141
+
142
+
143
+ ```
144
+
145
+
146
+ ## 8. Test It
147
+
148
+ **Great Job!**
149
+
150
+ ---
151
+
152
+ Now test your project on the game screen!
153
+
154
+ Is everything how you want it? You can always go back and edit steps if you discover you'd like them to work differently.
155
+
156
+
157
+
158
+ ## 9. Finale
159
+
160
+ ** 🚀 That's it! 🚀**
161
+
162
+ You're all set to travel the universe!
163
+
164
+ ---
165
+
166
+ Click **Done** to return to the main skillmap where you can move on to discover how to launch projectiles!
167
+
168
+
169
+ ```package
170
+ arcade-background-scroll=github:microsoft/arcade-background-scroll#926e12eefffd09d453c7cde73f8d6ebd0e666d9d/
171
+ pxt-status-bar=github:jwunderl/pxt-status-bar
172
+ ```
173
+
174
+
175
+ ```ghost
176
+ let myEnemy: Sprite = null
177
+ let myFuel: Sprite = null
178
+ let projectile: Sprite = null
179
+ let statusbar: StatusBarSprite = null
180
+ let mySprite: Sprite = null
181
+ scene.setBackgroundImage(assets.image`Galaxy`)
182
+ scroller.scrollBackgroundWithSpeed(0, 10)
183
+ mySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)
184
+ controller.moveSprite(mySprite)
185
+ mySprite.setStayInScreen(true)
186
+ statusbar = statusbars.create(20, 4, StatusBarKind.Energy)
187
+ statusbar.attachToSprite(mySprite, -30, 0)
188
+ mySprite.y = 100
189
+
190
+ ```
191
+
192
+
193
+ ```assetjson
194
+ {
195
+ "README.md": " ",
196
+ "assets.json": "",
197
+ "images.g.jres": "{\n \"image6\": {\n \"data\": \"hwQMABAAAAAAACBAAAAAAAAAAFJEAAAAAAAAQlQEAAAgAPhCRFQEAJDyGEQiIlIAAvlRVVVVVVYC+V9VVVVVVpDyWEQiIlIAIAD4QkRUBAAAAABCVAQAAAAAAFJEAAAAAAAgQAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Stealth\"\n },\n \"image2\": {\n \"data\": \"hwQQABQAAAAAAABAmZaZlgAAAAAAAABAZmZm1gAAAAAAAAAAYNbd3QAAAAAAAAAAYGYAAAAAAAAAAAAAAGAGAAAAAAAAAGlmZmZmZgBpAAAAlmaZZplpaWBmAACZlmaZmWmZmZZpAACZZmZmZmZmZpZmAAAAlmZmZmZmZpBpAAAAAGZmZmZmZgBpAAAAAAAAAAAGAAAAAAAAAAAAAGYGAAAAAAAAAAAAYNbd3QAAAAAAAABAlpaZ1gAAAAAAAABAZmZmZgAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Blue Rocket\"\n },\n \"xlh}4fdz:|FpuFr9_v_b\": {\n \"data\": \"hwQNAA0AAAAAsLsAuwsAAACbs7BVCwAAABu5sFELAAAAsLu7uwsAAAAAsFm7uwsAAACbPbVbCwCwu5s5tbsAABu5G5G7uwAAsAuwuzs5CwAAALsLm5ELAACwmQs7OQsAALCRCwC7AAAAALsAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Fuel\"\n },\n \"image21\": {\n \"data\": \"hwQDAAQAAABQKgAApQIAAFAqAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Dart1\"\n },\n \"image1\": {\n \"data\": \"hwQGAAYAAAAAdwAAAHFwABFxBwARcQcAAHFwAAB3AAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Dart2\"\n },\n \"image3\": {\n \"data\": \"hwQOABMAAAAAAAAAAACZDQAAAAAAAAAAAJlmAAAAAAAAAAAAmfb/AAAAAAAAAACR9v8PAEAAAAAAGRFh////AAQAAACQERYRERHxSlAAAAAZYcwRERHxWkQAAAAZocwRERHxWlQEAACQERoRERHxSlAAAAAAGRGh////AAQAAAAAAACR+v8PAEAAAAAAAAAAmfr/AAAAAAAAAAAAAJmqAAAAAAAAAAAAAACZCQAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Rocket\"\n },\n \"image7\": {\n \"data\": \"hwQVAAwAAAAAAAAuAAAAAAAAAORSAAAAAABARC4AAAAAAEBFJAUAAAAAQETkAgAAAJmZREQCAACQmZhJRQIAAJmZiUlEAgAAmZmJSUQCAACZmZmZRAIAAJmZmZlEAgAAGZGZmUQCAAAZkZlJRAIAAJkRmUlEAgAAkBmRSUUCAAAAmZlERAIAAAAAQETkAgAAAABARSQFAAAAAEBELgAAAAAAAORSAAAAAAAALgAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"UFO\"\n },\n \"image4\": {\n \"data\": \"hwSgAHgAAADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIyIiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIyIaMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiIiIZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPz//4+IZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/P///4+I9szMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzM//////+I9s/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8+/v///+I9v/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8+/u///+I9v/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/vPv//4+I9v/PzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u/+4+I9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4uI9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4xm9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u4hm///PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMy/u7u7u4hm+/vPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7u2i2vP/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7i2a2u//PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy/u7u7i2bIy/vPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8u7u7a2bIzPvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8v7u7aGa7vP/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMuLu7aIbLu8/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM+L+LZoa7/8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiPhvZvj/zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhoZsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhmhszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIhmxszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiGjGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiGbGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiMbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMaMbMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxsZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIiIjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIj/j4iIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM+P////+PyMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyM////////iMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMz4//+Pj4//j8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz4+P///////8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz/+v//+P+P/8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyP+q///////8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyI+qb4j4j//8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyouvr/+G9m/8jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqqqqpoZo9sjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqquqaoaIhsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIqqqqaoaIxsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz4aGqqqmarqsjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyM+Kqqq6qmiszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiPpqqqaqyszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjI+KqqivzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzIiIiIjIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz////MzMzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzPz/////zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/P///////8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM/////////8/MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8///////////MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz8///////////MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz2///////////PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMz2////Zv/////PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxm9vav9q//9v/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxoZv9m9vb2b//GzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyGZmZmZvZvZv/PzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxoZmZmZmZmZvbPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIZmZmZmZmiGbPzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyIZmaGZoZmZmbIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyPhmZmb2ZqaGbIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMhmZmpmZmZobMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMiIZoZmZmhobMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiGhmhohoiMjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMjIiIaGZmiMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIiIyIiIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxsiMjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzMzMzMzMzMzMzMzMzMzMzMvMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMw=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Galaxy\"\n },\n \"image17\": {\n \"data\": \"hwQPABIAAADyAgAAAAAAAAAAAADy/wIAAAAAAAAAAAAv/yIAAAAAAAAAAADw8i8CAAAAAAAAAAAAL/8i8v8CAAAAAAAA8PIv8rv/AgAAAAD/Ly8i8vv//wIAAAD/IiLyL/////8AAAD/Ly8i8vv//wIAAAAA8PIv8rv/AgAAAAAAL/8i8v8CAAAAAADw8i8CAAAAAAAAAAAv/yIAAAAAAAAAAADy/wIAAAAAAAAAAADyAgAAAAAAAAAAAAA=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Spider\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
198
+ "images.g.ts": "// Auto-generated code. Do not edit.\nnamespace myImages {\n\n helpers._registerFactory(\"image\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"image6\":\n case \"Stealth\":return img`\n. . . . . 2 2 . . . . . \n. . . 2 9 . . 9 2 . . . \n. . . . 2 9 9 2 . . . . \n. . . . f f f f . . . . \n. . . 8 8 1 f 8 8 . . . \n2 . . f 1 5 5 5 f . . 2 \n. 2 2 2 4 5 5 4 2 2 2 . \n4 5 4 4 4 5 5 4 4 4 5 4 \n. 4 4 4 2 5 5 2 4 4 4 . \n. 4 5 4 2 5 5 2 4 5 4 . \n. . 4 4 2 5 5 2 4 4 . . \n. . . 5 2 5 5 2 5 . . . \n. . . 4 2 5 5 2 4 . . . \n. . . . 5 5 5 5 . . . . \n. . . . . 6 6 . . . . . \n. . . . . 5 5 . . . . . \n`;\n case \"image2\":\n case \"Blue Rocket\":return img`\n.......99.......\n.......99.......\n......6666......\n......9969......\n.....966666.....\n.....666666.....\n.....699666.....\n44...699666...44\n96...669666...66\n9666.669666..696\n6666.699666.6666\n96d66696666.6d96\n96d.669966666d96\n96d..669666..d96\n66d..699666..d66\n9dd..669666..dd6\n.......66.......\n......6999......\n.....969699.....\n.....666666.....\n`;\n case \"xlh}4fdz:|FpuFr9_v_b\":\n case \"Fuel\":return img`\n. . . . . . . b . . . . . \n. . . . . . b 1 b . . . . \n. b b . . . b 9 b . . . . \nb 9 1 b . . b b . . b b . \nb 3 9 b . b b b . b 9 1 b \nb b b b b 9 9 1 b b 9 9 b \n. . . b 9 d 9 1 b b b b . \n. b b b 5 3 3 9 b . . . . \nb 5 1 b b 5 5 b b b b . . \nb 5 5 b b b b b 3 9 3 . . \nb b b b b b b b 9 1 9 b . \n. . . . b 5 b b 3 9 3 b . \n. . . . b b . . b b b . . \n`;\n case \"image21\":\n case \"Dart1\":return img`\n. 5 . \n5 a 5 \na 2 a \n2 . 2 \n`;\n case \"image1\":\n case \"Dart2\":return img`\n. . 1 1 . . \n. . 1 1 . . \n7 1 1 1 1 7 \n7 7 7 7 7 7 \n. . 7 7 . . \n. 7 . . 7 . \n`;\n case \"image3\":\n case \"Rocket\":return img`\n. . . . . . 9 9 . . . . . . \n. . . . . 9 1 1 9 . . . . . \n. . . . 9 1 1 1 1 9 . . . . \n. . . . 1 1 6 a 1 1 . . . . \n. . . . 1 6 c c a 1 . . . . \n. . . . 1 1 c c 1 1 . . . . \n. . . 1 1 1 1 1 1 1 1 . . . \n. . . 9 6 1 1 1 1 a 9 . . . \n. . 9 6 f 1 1 1 1 f a 9 . . \n. . 9 f f 1 1 1 1 f f 9 . . \n. 9 6 f f 1 1 1 1 f f a 9 . \n. 9 f f f 1 1 1 1 f f f 9 . \n9 6 f f f 1 1 1 1 f f f a 9 \n9 6 f . f f f f f f . f a 9 \nd . . . . a a a a . . . . 9 \n. . . . . 4 5 5 4 . . . . . \n. . . . 4 . 4 4 . 4 . . . . \n. . . 4 . 5 4 5 5 . 4 . . . \n. . . . . . . 4 . . . . . . \n`;\n case \"image7\":\n case \"UFO\":return img`\n. . . . . . . 9 9 9 9 9 9 9 . . . . . . . \n. . . . . . 9 9 9 9 9 1 1 9 9 . . . . . . \n. . . . . 9 9 9 9 9 9 1 1 1 9 9 . . . . . \n. . . . . 9 9 9 9 9 9 9 9 1 1 9 . . . . . \n. . . . . 9 8 9 9 9 9 9 9 9 1 9 . . . . . \n. . 4 4 4 9 9 8 8 9 9 9 9 9 9 9 4 4 4 . . \ne 4 4 5 4 4 9 9 9 9 9 9 9 9 9 4 4 5 4 4 e \n2 e 4 4 4 4 4 4 4 9 9 9 4 4 4 4 4 4 4 e 2 \n. 2 e 4 4 4 5 4 4 4 4 4 4 4 5 4 4 4 e 2 . \n. 5 2 2 e 4 4 4 4 4 4 4 4 4 4 4 e 2 2 5 . \n. . . 5 2 2 2 2 2 2 2 2 2 2 2 2 2 5 . . . \n. . . . . . . . . . . . . . . . . . . . . \n`;\n case \"image4\":\n case \"Galaxy\":return img`\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccbccccccccccccccccccfffffffffcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccffbbbbbbbbbffccc88888886ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccfbbcbbbbbbbbbf88888888886ccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccffffbbbbbbbbbbbbf888888866ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccffbbbbbbbbbbbbbbf88888666cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccffffffbbbbbbbbbbbbf88866cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccfffffffbbbbbbbbbbbf86666ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccc\nccccccccccccccccccccffffbfbbbbbbbbbbb86666ccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccc8ffffffbbbbbbbbb8866666cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccc888fffffffbbbbb886666668ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccc8888fffffffbc88866666688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccc88888888fff8888886666688fccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccc8888888888888886666688bbbfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccc88888888888888888666bbccbcbfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccc888886666666666666fbcbbccbfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccc88666666ffffffffffbbccbbfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccffffffffbffbbffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccfffffffffffffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccfffffffffcccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccb8ccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc66686888fcccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffff668688888cccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffff6666666688ccccccccccccccccccccccc\nccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6666688888cccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffff6f6666666888ccccccccccccccccccccc\ncccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff6666668688ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff66666668688ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffa666686666886cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccfffffff6666666f666888cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6ff66666a686c8cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff666666668688cccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffaff668666868ccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff6f666a66868cccccccccccccccccbccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffffff6666666668ccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffff6f668686688cccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfffffff6668666888cccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff6666668ccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffff66688cccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfff6fff88cccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccceccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccecccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff888888cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fff88a888f8ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8ff8aaaaaaa888cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffffbaaa6f88ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccc8ffffff6aabaaaaf8ccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffaafaaa6af88cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffff8faaaaaaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fff8fffffaaaaa688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffff8ff86aaabaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff8fff8fa66aaaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff8f6666a688cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ff8fff868886aaa8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8fffffff6888b6af8cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88fff8ff6688aaaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff666aaacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc88ffffff8ca8ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc8888888888cccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\nccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n`;\n case \"image17\":\n case \"Spider\":return img`\n2 2 f . . . f f f . . . f 2 2 \nf f 2 f . . f f f . . f 2 f f \n2 f f 2 f . f 2 f . f 2 f f 2 \n. f f f 2 f 2 2 2 f 2 f f f . \n. 2 2 f f 2 f 2 f 2 f f 2 2 . \n. . 2 2 f f 2 2 2 f f 2 2 . . \n. . . 2 2 f 2 2 2 f 2 2 . . . \n. . . . 2 2 2 f 2 2 2 . . . . \n. . . . 2 2 2 f 2 2 2 . . . . \n. . . . f f f 2 f f f . . . . \n. . . . f b b f b b f . . . . \n. . . . f b f f f b f . . . . \n. . . . 2 f f f f f 2 . . . . \n. . . . . f f f f f . . . . . \n. . . . . 2 f f f 2 . . . . . \n. . . . . . f f f . . . . . . \n. . . . . . 2 f 2 . . . . . . \n. . . . . . . f . . . . . . . \n`;\n }\n return null;\n })\n\n helpers._registerFactory(\"animation\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n",
199
+ "main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_StatusBarKind\" id=\"/K%{SpW+hL@|DfMDB(`;\">Health</variable><variable type=\"KIND_StatusBarKind\" id=\"SWldc^f:mw!,xwv@WL?p\">Energy</variable><variable type=\"KIND_StatusBarKind\" id=\"g3Cl-BCte^-mcd)xc*q^\">Magic</variable><variable type=\"KIND_StatusBarKind\" id=\"MhC?k3TZTR8usQHnzI-S\">EnemyHealth</variable><variable id=\"5.(o@)4??y0/k{XK-!y[\">projectile</variable><variable id=\"R7dik,CiE;B047o!sYUb\">mySprite</variable><variable id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</variable><variable id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</variable><variable id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</variable><variable id=\"b|;7Q4ozqLRbCLM6lKLe\">projectile2</variable><variable type=\"KIND_SpriteKind\" id=\"I5@$XtX9_FL^Y@!S(vgQ\">Player</variable><variable type=\"KIND_SpriteKind\" id=\"UR$=z1+|70iPrvX+I!($\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\"0zck@]Ye`{v[!uv;EmA%\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"BAZbTj.O~v5V3vIT`5M5\">Enemy</variable><variable type=\"KIND_SpriteKind\" id=\"w@::)0lsX-)RjzLOGEpv\">StatusBar</variable><variable type=\"KIND_SpriteKind\" id=\"%9)/),)nyhcn(Cy:;g~}\">Gas</variable></variables><block type=\"pxt-on-start\" x=\"0\" y=\"0\"><statement name=\"HANDLER\"><block type=\"gamesetbackgroundimage\"><value name=\"img\"><shadow type=\"background_image_picker\"><field name=\"img\">assets.image`Galaxy`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image4\"}}</data></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreate\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Rocket`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image3\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value></block></value><next><block type=\"game_control_sprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><value name=\"sprite\"><shadow type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></shadow></value><value name=\"vx\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><value name=\"vy\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"spritesetsetflag\"><field name=\"flag\">SpriteFlag.StayInScreen</field><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"on\"><shadow type=\"toggleOnOff\"><field name=\"on\">true</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"statusbars_create\"><value name=\"width\"><shadow type=\"math_number\"><field name=\"NUM\">20</field></shadow></value><value name=\"height\"><shadow type=\"math_number\"><field name=\"NUM\">4</field></shadow></value><value name=\"kind\"><shadow type=\"statusbars_kind\"><field name=\"MEMBER\">Energy</field></shadow></value></block></value><next><block type=\"statusbars_attachToSprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><value name=\"this\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"toFollow\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"padding\"><shadow type=\"math_number\"><field name=\"NUM\">-30</field></shadow></value><value name=\"offset\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.y@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"707\" y=\"70\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">2000</field></shadow></value><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromside\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Spider`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image17\"}}</data></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">50</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field></block></value><value name=\"value\"><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">155</field></shadow></value></block></value><next><block type=\"spritesetkind\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"h1[R_8P)$La{DBVGu]DJ\">myEnemy</field></block></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value></block></next></block></next></block></statement></block><block type=\"keyonevent\" x=\"1505\" y=\"70\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"5.(o@)4??y0/k{XK-!y[\">projectile</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromsprite\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Dart1`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image21\"}}</data></shadow></value><value name=\"sprite\"><shadow type=\"variables_get\"><field name=\"VAR\" id=\"R7dik,CiE;B047o!sYUb\">mySprite</field></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">-150</field></shadow></value></block></value><next><block type=\"startEffectOnSprite\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><field name=\"effect\">effects.ashes</field><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"5.(o@)4??y0/k{XK-!y[\">projectile</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">100</field></shadow></value></block></next></block></statement></block><block type=\"spritesoverlap\" x=\"841\" y=\"405\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value><statement name=\"HANDLER\"><block type=\"hudChangeLifeBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><field name=\"effect\">effects.disintegrate</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">500</field></shadow></value></block></next></block></statement></block><block type=\"spritesoverlap\" x=\"30\" y=\"490\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Projectile</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Enemy</field></shadow></value><statement name=\"HANDLER\"><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"2\" _input_init=\"true\"></mutation><field name=\"effect\">effects.fire</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">100</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"true\"></mutation><field name=\"effect\">effects.smiles</field><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value><value name=\"duration\"><shadow type=\"timePicker\"><field name=\"ms\">500</field></shadow></value><next><block type=\"hudChangeScoreBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"540\" y=\"640\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">5000</field></shadow></value><statement name=\"HANDLER\"><block type=\"variables_set\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"spritescreateprojectilefromside\"><value name=\"img\"><shadow type=\"screen_image_picker\"><field name=\"img\">assets.image`Fuel`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.xlh}4fdz:|FpuFr9_v_b\"}}</data></shadow></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">0</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">100</field></shadow></value></block></value><next><block type=\"Sprite_blockCombine_set\"><field name=\"property\">Sprite.x@set</field><value name=\"mySprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow><block type=\"device_random\"><value name=\"min\"><shadow type=\"math_number\"><field name=\"NUM\">5</field></shadow></value><value name=\"limit\"><shadow type=\"math_number\"><field name=\"NUM\">155</field></shadow></value></block></value><next><block type=\"spritesetkind\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"T}Ip%yy]AU9bxdT0UDp1\">myFuel</field></block></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Gas</field></shadow></value></block></next></block></next></block></statement></block><block type=\"gameinterval\" x=\"80\" y=\"740\"><value name=\"period\"><shadow type=\"timePicker\"><field name=\"ms\">300</field></shadow></value><statement name=\"HANDLER\"><block type=\"StatusBarSprite_blockCombine_change\"><field name=\"property\">StatusBarSprite.value@set</field><value name=\"statusbar\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value></block></statement></block><block type=\"spritesoverlap\" x=\"540\" y=\"920\"><value name=\"HANDLER_DRAG_PARAM_sprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">sprite</field></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_otherSprite\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></shadow></value><value name=\"otherKind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Gas</field></shadow></value><statement name=\"HANDLER\"><block type=\"StatusBarSprite_blockCombine_set\"><field name=\"property\">StatusBarSprite.value@set</field><value name=\"statusbar\"><block type=\"variables_get\"><field name=\"VAR\" id=\"0EIjmPrHvl2fFOH-}hD5\">statusbar</field></block></value><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value><next><block type=\"spritedestroy\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"sprite\"><block type=\"argument_reporter_custom\"><mutation typename=\"Sprite\"/><field name=\"VALUE\">otherSprite</field></block></value></block></next></block></statement></block><block type=\"statusbars_onZero\" x=\"420\" y=\"1100\"><value name=\"kind\"><shadow type=\"statusbars_kind\"><field name=\"MEMBER\">Energy</field></shadow></value><value name=\"HANDLER_DRAG_PARAM_status\"><shadow type=\"argument_reporter_custom\"><mutation typename=\"StatusBarSprite\"/><field name=\"VALUE\">status</field></shadow></value><statement name=\"HANDLER\"><block type=\"gameOver\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" _expanded=\"0\" _input_init=\"false\"></mutation><value name=\"win\"><shadow type=\"toggleWinLose\"><field name=\"win\">false</field></shadow></value></block></statement></block></xml>",
200
+ "main.ts": "namespace SpriteKind {\n export const Gas = SpriteKind.create()\n}\ncontroller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n projectile = sprites.createProjectileFromSprite(assets.image`Dart1`, mySprite, 0, -150)\n projectile.startEffect(effects.ashes)\n})\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Gas, function (sprite, otherSprite) {\n statusbar.value = 100\n otherSprite.destroy()\n})\nstatusbars.onZero(StatusBarKind.Energy, function (status) {\n game.over(false)\n})\nsprites.onOverlap(SpriteKind.Projectile, SpriteKind.Enemy, function (sprite, otherSprite) {\n sprite.destroy(effects.fire, 100)\n otherSprite.destroy()\n info.changeScoreBy(1)\n})\nsprites.onOverlap(SpriteKind.Player, SpriteKind.Enemy, function (sprite, otherSprite) {\n info.changeLifeBy(-1)\n otherSprite.destroy(effects.disintegrate, 500)\n})\nlet myEnemy: Sprite = null\nlet myFuel: Sprite = null\nlet projectile: Sprite = null\nlet statusbar: StatusBarSprite = null\nlet mySprite: Sprite = null\nscene.setBackgroundImage(assets.image`Galaxy`)\nmySprite = sprites.create(assets.image`Rocket`, SpriteKind.Player)\ncontroller.moveSprite(mySprite, 100, 100)\nmySprite.setFlag(SpriteFlag.StayInScreen, true)\nstatusbar = statusbars.create(20, 4, StatusBarKind.Energy)\nstatusbar.attachToSprite(mySprite, -30, 0)\nmySprite.y = 100\ngame.onUpdateInterval(5000, function () {\n myFuel = sprites.createProjectileFromSide(assets.image`Fuel`, 0, 100)\n myFuel.x = randint(5, 155)\n myFuel.setKind(SpriteKind.Gas)\n})\ngame.onUpdateInterval(2000, function () {\n myEnemy = sprites.createProjectileFromSide(assets.image`Spider`, 0, 50)\n myEnemy.x = randint(5, 155)\n myEnemy.setKind(SpriteKind.Enemy)\n})\ngame.onUpdateInterval(300, function () {\n statusbar.value += -1\n})\n",
201
+ "pxt.json": "{\n \"name\": \"Fuel Up\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\",\n \"pxt-status-bar\": \"github:jwunderl/pxt-status-bar\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"images.g.jres\",\n \"images.g.ts\",\n \"tilemap.g.jres\",\n \"tilemap.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.4.43\",\n \"tag\": \"v1.4.43\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/d613fa29c3c700e4b7d90381ed39b7e65b0de04e\",\n \"target\": \"1.4.43\",\n \"pxt\": \"6.12.25\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n",
202
+ "tilemap.g.jres": "{\n \"transparency16\": {\n \"data\": \"hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"tilemapTile\": true\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myTiles\"\n }\n}",
203
+ "tilemap.g.ts": "// Auto-generated code. Do not edit.\nnamespace myTiles {\n //% fixedInstance jres blockIdentity=images._tile\n export const transparency16 = image.ofBuffer(hex``);\n\n helpers._registerFactory(\"tile\", function(name: string) {\n switch(helpers.stringTrim(name)) {\n case \"transparency16\":return transparency16;\n }\n return null;\n })\n\n}\n// Auto-generated code. Do not edit.\n"
204
+ }
205
+ ```