pxt-arcade 1.12.13 → 1.12.16
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.
- package/built/common-sim.d.ts +6 -0
- package/built/common-sim.js +15 -2
- package/built/sim.js +108 -26
- package/built/target-strings.json +2 -2
- package/built/target.js +274 -194
- package/built/target.json +274 -194
- package/built/targetlight.json +5 -5
- package/built/theme.json +5 -5
- package/docs/skillmap/educator-info/adventure-info.md +87 -0
- package/docs/static/hero-gallery/multiplayer-banner.png +0 -0
- package/docs/test/skillmap/adventure/adventure1.md +493 -0
- package/docs/test/skillmap/adventure/adventure2.md +279 -0
- package/docs/test/skillmap/adventure/adventure3.md +208 -0
- package/docs/test/skillmap/adventure/adventure4.md +1773 -0
- package/docs/test/skillmap/adventure.md +85 -0
- package/docs/test/skillmap/story/story1.md +15 -10
- package/docs/test/skillmap/story/story2.md +2 -1
- package/docs/test/tutorials/collect-clovers.md +1044 -0
- package/docs/test/tutorials/hawk.md +172 -75
- package/docs/test/tutorials/time-flies.md +346 -0
- package/package.json +4 -4
- package/pxtarget.json +5 -5
- package/targetconfig.json +57 -3
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
# Time Flies
|
|
2
|
+
|
|
3
|
+
## {Introduction @unplugged}
|
|
4
|
+
|
|
5
|
+
Are you ready to make a quick, fun game that uses a timer?
|
|
6
|
+
|
|
7
|
+
Let's get to it!
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## 2. Add Background
|
|
13
|
+
|
|
14
|
+
**🐸 Before you add a frog, it's going to need a place to sit**
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
- :tree: From the ``||scene:Scene||`` category, grab
|
|
19
|
+
``||scene: set background image to [ ]||``
|
|
20
|
+
and snap it into the
|
|
21
|
+
``||loops:on start||`` container already in the workspace.
|
|
22
|
+
|
|
23
|
+
- :paint brush: Click the grey box in the new block to open the **image editor**.
|
|
24
|
+
|
|
25
|
+
_💡 You can draw a background or you can switch over to the **My Assets** tab at the top and choose one that has already been created._
|
|
26
|
+
|
|
27
|
+
- :mouse pointer: Click **Next** when you're ready for the next instruction.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
```blocks
|
|
31
|
+
//@highlight
|
|
32
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 3. Add a Sprite
|
|
36
|
+
|
|
37
|
+
**Time for a hero!**
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
- :paper plane: From ``||sprites:Sprites||``, drag
|
|
42
|
+
``||variables:set [mySprite] to sprite [ ] of kind [Player]||``
|
|
43
|
+
into **the end** of the
|
|
44
|
+
``||loops:on start||`` container.
|
|
45
|
+
|
|
46
|
+
- :paint brush: Click the grey box in the new block to open the **image editor**.
|
|
47
|
+
|
|
48
|
+
_💡 Switch over to **My Assets** to choose the same frog we use, or draw one of your own!_
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
```blocks
|
|
52
|
+
let mySprite: Sprite = null
|
|
53
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
54
|
+
//@highlight
|
|
55
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 4. Try It
|
|
59
|
+
|
|
60
|
+
**Try your game in the Game Window (Bottom Right)**
|
|
61
|
+

|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
Is your frog sitting where you want it? If not, you can fix it in the next step.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## 5. Set Position
|
|
69
|
+
|
|
70
|
+
- :paper plane: If you don't like where your hero has ended up, snap a
|
|
71
|
+
``||sprites:set [mySprite] position to x [0] y [0]||``
|
|
72
|
+
block into **the end** of the
|
|
73
|
+
``||loops:on start||`` container.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
- :mouse pointer: Play with the **x** (horizontal) and/or **y** (vertical) positions until your sprite appears where you want it.
|
|
77
|
+
|
|
78
|
+
```blocks
|
|
79
|
+
let mySprite: Sprite = null
|
|
80
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
81
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
82
|
+
//@highlight
|
|
83
|
+
mySprite.setPosition(85, 80)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 6. Add a Fly
|
|
87
|
+
|
|
88
|
+
**😋 It's snack time**
|
|
89
|
+
The frog needs something to eat.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
- :paper plane: Snap a new
|
|
94
|
+
``||variables(sprites):set [mySprite2] to sprite [ ] of kind [Player]||``
|
|
95
|
+
block into **the end** of the
|
|
96
|
+
``||loops:on start||`` container.
|
|
97
|
+
|
|
98
|
+
- :paper plane: Click the grey box in the new block to open the image editor and draw a flying insect.
|
|
99
|
+
|
|
100
|
+
_💡 Or switch over to the **My Assets** tab at the top and choose a fly that has already been created._
|
|
101
|
+
|
|
102
|
+
- :mouse pointer: Switch the **kind** of the fly by clicking on **Player** and selecting **Food**.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
```blocks
|
|
106
|
+
let mySprite: Sprite = null
|
|
107
|
+
let mySprite2: Sprite = null
|
|
108
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
109
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
110
|
+
mySprite.setPosition(85, 80)
|
|
111
|
+
//@highlight
|
|
112
|
+
mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
## 7. Get It Moving
|
|
117
|
+
|
|
118
|
+
**😴 There's no challenge if the fly just sits there**
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
- :paper plane: To get the fly moving, snap a
|
|
123
|
+
``||sprites:set [mySprite] velocity to vx [50] vy [50]||``
|
|
124
|
+
into the **the end** of the
|
|
125
|
+
``||loops:on start||`` container.
|
|
126
|
+
|
|
127
|
+
- :mouse pointer: To make sure it's the fly that's moving, change **mySprite** to **mySprite2** using the dropdown menu.
|
|
128
|
+
|
|
129
|
+
- :mouse pointer: Add some excitement by choosing larger numbers for both velocity directions (**vx** and **vy**).
|
|
130
|
+
|
|
131
|
+
_💡 Anything between 100 and 200 is entertaining._
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
```blocks
|
|
135
|
+
let mySprite: Sprite = null
|
|
136
|
+
let mySprite2: Sprite = null
|
|
137
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
138
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
139
|
+
mySprite.setPosition(85, 80)
|
|
140
|
+
mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
|
|
141
|
+
//@highlight
|
|
142
|
+
mySprite2.setVelocity(200, 100)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
## 8. Try It
|
|
148
|
+
|
|
149
|
+
**👀 Try your game in the simulator**
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
Does it do what you expected? Did the fly leave the screen too fast for you to see?
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
## 9. Bounce
|
|
158
|
+
|
|
159
|
+
**🕐 That didn't last long**
|
|
160
|
+
|
|
161
|
+
To give the frog a fighting chance, we'll want to keep the fly on screen.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
- :paper plane: From ``||sprites:Sprites||``, grab a
|
|
166
|
+
``||sprites:set [mySprite] bounce on wall <on>||``
|
|
167
|
+
block and snap it into the **the end** of the
|
|
168
|
+
``||loops:on start||`` container.
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
- :mouse pointer: Change **mySprite** to **mySprite2** to make sure the block changes the behavior of the fly.
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
```blocks
|
|
175
|
+
let mySprite: Sprite = null
|
|
176
|
+
let mySprite2: Sprite = null
|
|
177
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
178
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
179
|
+
mySprite.setPosition(85, 80)
|
|
180
|
+
mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
|
|
181
|
+
mySprite2.setVelocity(200, 100)
|
|
182
|
+
//@highlight
|
|
183
|
+
mySprite2.setBounceOnWall(true)
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
## 10. Press the Button
|
|
188
|
+
|
|
189
|
+
**We want to press the button to catch the fly!**
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
- :game: From ``||controller:Controller||``, drag
|
|
194
|
+
``||controller:on [A] button [pressed]||``
|
|
195
|
+
out into an empty spot in the workspace.
|
|
196
|
+
|
|
197
|
+
- :random: Inside the new container, drop a
|
|
198
|
+
``||logic:if <true> then / else||``
|
|
199
|
+
block (from the ``||logic:Logic||`` category).
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
```blocks
|
|
203
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
204
|
+
if (true) {
|
|
205
|
+
} else {
|
|
206
|
+
}
|
|
207
|
+
})
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## 11. Get It?
|
|
211
|
+
|
|
212
|
+
- :paper plane: From ``||sprites:Sprites||``, grab
|
|
213
|
+
``||sprites:<[mySprite] overlaps with [otherSprite]>||``
|
|
214
|
+
and drop it in to replace **`<true>`** in the
|
|
215
|
+
``||logic:if <true> then / else||`` block.
|
|
216
|
+
|
|
217
|
+
- :mouse pointer: Change **otherSprite** to **mySprite2** using the dropdown menu.
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
```blocks
|
|
221
|
+
let mySprite: Sprite = null
|
|
222
|
+
let mySprite2: Sprite = null
|
|
223
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
224
|
+
if (mySprite.overlapsWith(mySprite2)) {
|
|
225
|
+
} else {
|
|
226
|
+
}
|
|
227
|
+
})
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
## 12. Check for Flies
|
|
232
|
+
|
|
233
|
+
When we press the Ⓐ button, one of two things could be happening:
|
|
234
|
+
- The fly will be overlapping the frog and we win the game with a snack
|
|
235
|
+
- The fly will not be overlapping the frog and our player will lose a life
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
- :circle: To create the first case, drag
|
|
240
|
+
``||game:game over <lose>||``
|
|
241
|
+
into the top (**if**) section of the
|
|
242
|
+
``||logic:if <true> then / else||``
|
|
243
|
+
block and toggle **`<lose>`** to **`<win>`**.
|
|
244
|
+
|
|
245
|
+
- :id card: For the second case, drag
|
|
246
|
+
``||info:change life by -1||``
|
|
247
|
+
into the bottom (**else**) section of the
|
|
248
|
+
``||logic:if <true> then / else||`` block.
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
```blocks
|
|
252
|
+
let mySprite: Sprite = null
|
|
253
|
+
let mySprite2: Sprite = null
|
|
254
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
255
|
+
if (mySprite.overlapsWith(mySprite2)) {
|
|
256
|
+
game.over(true)
|
|
257
|
+
} else {
|
|
258
|
+
info.changeLifeBy(-1)
|
|
259
|
+
}
|
|
260
|
+
})
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
## {Step 12}
|
|
265
|
+
|
|
266
|
+
**👀 Try your game in the simulator**
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
How is it shaping up? Do you lose a life if the fly isn't over the frog when you press (A)? Do you win the game if it is?
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
## {Step 11}
|
|
275
|
+
|
|
276
|
+
**⌚ Don't be late**
|
|
277
|
+
|
|
278
|
+
Add a sense of urgency by including a countdown timer.
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
- :id card: From ``||info:Info||``, grab
|
|
283
|
+
``||info:start countown [10]s||``
|
|
284
|
+
and drag it to the end of the
|
|
285
|
+
``||loops:on start||`` container.
|
|
286
|
+
|
|
287
|
+
Now you have exactly 10 seconds to catch the fly before the game ends!
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
## {Step 11}
|
|
291
|
+
|
|
292
|
+
**🎉 Congratulations**
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
Now you have a game that tests your timing and is enforced by a timer!
|
|
297
|
+
|
|
298
|
+
Click **Done** if you're ready to publish your game and share with friends, or
|
|
299
|
+
look at the challenges below for suggestions on modding your game.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
- :question: Try adding a block to change the number of lives you start with.
|
|
304
|
+
|
|
305
|
+
- :question: Instead of only one fly, start with three and have one disappear each time you lose a life.
|
|
306
|
+
|
|
307
|
+
- :question: Change the theme so that instead of a frog catching flies, it's something entirely different!
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
```ghost
|
|
317
|
+
controller.A.onEvent(ControllerButtonEvent.Pressed, function () {
|
|
318
|
+
if (mySprite.overlapsWith(mySprite2)) {
|
|
319
|
+
game.over(true)
|
|
320
|
+
} else {
|
|
321
|
+
info.changeLifeBy(-1)
|
|
322
|
+
}
|
|
323
|
+
})
|
|
324
|
+
let mySprite: Sprite = null
|
|
325
|
+
let mySprite2: Sprite = null
|
|
326
|
+
scene.setBackgroundImage(assets.image`Background`)
|
|
327
|
+
mySprite = sprites.create(assets.image`Hero`, SpriteKind.Player)
|
|
328
|
+
mySprite.setPosition(85, 80)
|
|
329
|
+
info.startCountdown(10)
|
|
330
|
+
info.setLife(3)
|
|
331
|
+
mySprite2 = sprites.create(assets.image`Bouncer`, SpriteKind.Food)
|
|
332
|
+
mySprite2.setVelocity(200, 100)
|
|
333
|
+
mySprite2.setBounceOnWall(true)
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
```assetjson
|
|
337
|
+
{
|
|
338
|
+
"README.md": " ",
|
|
339
|
+
"assets.json": "",
|
|
340
|
+
"images.g.jres": "{\n \"image2\": {\n \"data\": \"hwQKAAsAAAAAAP8PAAAAAADw//8AAAAAEAD/DxAAAAAB8f//AQEAABAf/x8fAAAAAfH//wEBAAAQH/8fHwAAAAHx//8BAQAAEAD/DxAAAAAAAPAAAAAAAA==\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Bouncer\"\n },\n \"image3\": {\n \"data\": \"hwQcABwAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAyAwAAAAAAAAAAAAAAAAAgMjMAAAAAAAAAAAAAICIiHjIzAAAAAAAAAAAAABYd3d3yMwAAAAAAAAAAACAiIiIh8fMAAAAAACAiAgAWHd3d3jIzAAAAACAeNeNgHV3d3d3x8wAAACIeDOH3Vh3d4h4eMjMAACAdXczh914d4fdjY3HzAAAWId4d4fdeHfX3d3dyMwAAHiHf3fY3Xh33d3d3c3MAAB4d3eH3d14193d3d3NzAAAgHd3h93deNfd3d3dzcwAAIB3d4fd3XjX3d3d3c3MAABYd3eH3d14193d3d3NzAAAeId4d9jdeHfd3d3dzcwAAHiHf3eH3Xh3193d3cjMAACAd3czh914d4fdjY3HzAAAAIh4M4fdWHd3iHh4yMwAAAAAgHjXjYB1d3d3d8fMAAAAAACIiAgAWHd3d3jIzAAAAAAAAAAAAICIiIiHx8wAAAAAAAAAAAAAWHd3d8jMAAAAAAAAAAAAAICIiHjIzAAAAAAAAAAAAAAAAACAyMwAAAAAAAAAAAAAAAAAAMgMAAAAAAAAAAAAAAAAAADAAAAA\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Hero\"\n },\n \"[GbUocpt^e@h97~~1|{K\": {\n \"data\": \"hwSgAHgAAACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZru7u7u7u7u7Ztbd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmtru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlntru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7u7u7u7a2bd3d2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2bX3X2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z33ZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3d5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5l5mZZma7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmdndfZeZmXlmu7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtnuZmZmZmZmZmd3d3XeZmZl5Zra7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmd8Z8mZmZmZmZ2d3d3X2XmZmZaba7u7u7a2aZmZmZmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZnfMnJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZnbHzJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZ3zJyZmZnZ3d3d3d19l5mZtru7u7u7a2aZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2xnyZmZnZ3d3d3d19l5mZtru7u7u7ZnaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2Z8yZmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZa2ZmZmZmZ8yXmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlrZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZmZmZsycmZnd3d3d3d19l5m2u7u7u7trZpeZmZlnZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZmZsx8mdnd3d3d3d19l5m2u7u7u7trZpmZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmdpmZmZl5ZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWtmZmZmZsbMmdnd3d3d3d19l2m7u7u7291mlpmZmZmZa2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZsbMmdnd3d3d3d19l7a7u7u72xHdd3eZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmcl8mblmZmZmZsbMmdnd3d3d3d19l7a7u7u72xHRfRGXuX2ZuWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWnMl5lmZmZmZsbMmdnd3d3d3d19l9e7u7u7ax0RfRGX2b2XmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmzJdnZmZmZsbMmdnd3d3X3d19l9nd3d3dZh0R3RFx3d3Ml2eZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmxsxnZmZmZsbMmdnd3d3X3d19l3nXERHR3d0R0RFx3d3GzGeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZsZsZmZmZsbMmdnd3d133d19l5nXERER0d0d0RFx3d1mxmyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZmZmZsvMmdnd3d131919l5nZHREREd0d0RFx3XdtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZmZmu7tmdtnd3d131919l5mZ3REREdHdER1xfRfRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZma2u7trZtbd3d19d919l5nZ3R0RERHdER3RdxHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZma7u7u7a2bd3d19d913mZnZ3d0dERHdHR3dFxHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZra7u7u7u2bW3d19d9d3md3d3d3dEd3dHR19ERFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXlmZmZmZru7u7u7u2vW3d19d9d3mR0REd3dHR3d3d3dERFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmZmZru7u7u7u2tm3d3dd3mXmR0RERHR3R0R3d0dEdFmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmZmtru7u7u7u7tm3d3dd5mZmd0RERER0d0R0d0dEW1mZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlnZmZmtru7u7u7u7tm1t3dd5mZmdndHRER0d0REd3d3d1mZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmu7u7u7u7u7tm1t3dd5eZmdkd0R0RXVUdER3dEdFtZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5ZmZmu7u7u7u7u7tm1t3dfZeZmd0RERER3VUd0RHdERHRZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmu7u7u7u7u7trZt3dfZeZmR0RERHRXVXV0RHRERERbWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWa2u7u7u7u7u7trZt3dfZeZmd3dHRHRVVVV3RHRHRER0XaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWe2u7u7u7u7u7trZt3dfZeZmR0RERERXVXV0RHR3RER0XaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm5u7u7u7u7u7trZt3d3ZeZmd0RERER3V0V0RHd3d0R0XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZtfdfZmZmdkdERHR3VURER3d3d3dnXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZnfdl5mZmdndERHd3d0REd3dcZeZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZnd3mZmZmZnZ3RHR3d0R0d0dEZeZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm7u7u7u7u7u7trZneZmZmZmZnZHRHR3R0R3d0dEXGZmXeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7u7u7trZpmZmZmZmZndERHd3R3RHd0dEdGZmXaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZru7u7u7u7trZpmZmZmZmZkdEd3dEdHdHR3dERGdmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWa7u7u7u7trZpmZmZmZmZnd3d0dERHdER3dERGdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXlmtru7u7trZpmZmZmZmbZ72R0REdHdER3RFxF9mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlptru7u7trZpmZmZmZZne23REREd0d0R3RdxF9l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpu7u7u7trZpmZmZlpZmbXHRER0d0d0RHRfRfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpu7u7u7trZpmZmZlmZmbWERER3d0R0RHR3dfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7trZpmZmWlmZmbWERHd3d0R3RFx3dfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm2u7u7u7tmdpmZmWZmZmbW3d3dmR0R3RF33dfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWm7u7u7u7tmlpmZmWZmZmZmdmfM2RER3RHX19fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWm7u7u7u7tmlpmZmWtmZmZmZmfM1xHR3XHXd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmba7u7u7u2tml5mZmWdmZmZmZmbM3BHd3X3dfd3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmba7u7u7u2tmmZmZmWlmZmZmZmbM3NHd3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZabu7u7u7u2Z2mZmZmXlmZmZmZmbGzN3Z3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZabu7u7u7u2aWmZmZmZlrZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7a2aXmZmZmZlpZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7ZmaZmZnJfJm5ZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ2bu7u7trZpaZmZlpzJeZZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ2d27271mZpmZmZlpZsyXZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZedfd3WdmlpmZmZlpZsbMZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmXd3Z2ZmmZmZmZlpZmbGbGZmZmbGzJnZ3d3dd93dfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmZmaXmZmZmZlpZmZmZmZmZmbLzJnZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmZru7ZnbZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmtru7a2bW3d3dfXfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZmZmu7u7u2tm3d3dfXfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlpZmZmZma2u7u7u7tm1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5ZmZmZma7u7u7u7tr1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZma7u7u7u7trZt3d3Xd5l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZra7u7u7u7u7Zt3d3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZra7u7u7u7u7Ztbd3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZru7u7u7u7u7Ztbd3XeXmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZru7u7u7u7u7Ztbd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmtru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlntru7u7u7u7u7a2bd3X2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7u7u7u7a2bd3d2XmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2bX3X2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z33ZeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3d5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZu7u7u7u7u7u7a2Z3mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtru7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZl5l5mZZma7u7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmdndfZeZmXlmu7u7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZtnuZmZmZmZmZmd3d3XeZmZl5Zra7u7u7a2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlmd8Z8mZmZmZmZ2d3d3X2XmZmZaba7u7u7a2aZmZmZmWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZnfMnJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWZmZnbHzJmZmZmZ3d3d3d13mZmZabu7u7u7a2aZmZmZZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZ3zJyZmZnZ3d3d3d19l5mZtru7u7u7a2aZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2xnyZmZnZ3d3d3d19l5mZtru7u7u7ZnaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZmZmZmZ2Z8yZmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlmZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZa2ZmZmZmZ8yXmZnd3d3d3d19l5lpu7u7u7u7ZpaZmZlrZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZZ2ZmZmZmZsycmZnd3d3d3d19l5m2u7u7u7trZpeZmZlnZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZaWZmZmZmZsx8mdnd3d3d3d19l5m2u7u7u7trZpmZmZlpZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZeWZmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmdpmZmZl5ZmaZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWtmZmZmZsbMmdnd3d3d3d19l2m7u7u7u7tmlpmZmZmZa2aZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWlmZmZmZsbMmdnd3d3d3d19l7a7u7u7u2tml5mZmZmZaWaZmZmZmZmZmZmZmZmZmZmZmZnZnZmZmcl8mblmZmZmZsbMmdnd3d3d3d19l7a7u7u7u2ZmmZmZyXyZuWaZmZmZmZmZmZmZmZmZmZmZmZkd3ZmZmWnMl5lmZmZmZsbMmdnd3d3d3d19l9e7u7u7a2aWmZmZacyXmWaZmZmZmZmZmZmZmZmZmZmZmZkd0Z3Zl2lnzJdnZmZmZsbMmdnd3d3X3d19l9ndu9u9ZmaZmZmZaWbMl2eZmZmZmZmZmZmZmZmZmZmZmZkdEd0dd3l3xsxnZmZmZsbMmdnd3d3X3d19l3nX3d1nZpaZmZmZaWbGzGeZmZmZmZmZmZmZmZmZmZmZmZkdEdEdcXl9ZsZsZmZmZsbMmdnd3d133d19l5l3d2dmZpmZmZmZaWZmxmyZmZmZmZmZmZmZmZmZmd3d3Z3ZEdEdcdd9ZmZmZmZmZrvMmdnd3d131919l5mZZmZml5mZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmR0R0d3dHdEdEdd9ZmZmZmZmu7tmdtnd3d131919l5mZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmR0REdHdHREdEd19bWZmZma2u7trZtbd3d19d919l5mZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmd0RERHd3REdEd130WZmZma7u7u7a2bd3d19d913mZmZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmdkdERHR3RHdEX0X0WZmZra7u7u7u2bW3d19d9d3mZmZmZmZmZmZmZmZaWZmZmaZmZmZmZmZmZmZmZmZmZndERER3R3REX0R0WZmZru7u7u7u2vW3d19d9d3mZmZmZmZmZmZmZmZeWZmZmaZmZmZmZmZmZmZmZmZ2d3d3RER0R3R0R0R0WZmZru7u7u7u2tm3d3dd3mXmZmZmZmZmZmZmZmZmWZmZmaZmZmZmZmZmZmZmZmZ2RHR3R0R3d3R0R0R0WZmtru7u7u7u7tm3d3dd5mZmZmZmZmZmZmZmZmZmWZmZmaZmZmZmZmZmZmZmZmZ2R0R0d3dEd3R3RERbWZmtru7u7u7u7tm1t3dd5mZmZmZmZmZmZmZmZmZmWdmZmaZmZmZmZmZmZmZmZmZmd0REd3dEdHd3RERZ2Zmu7u7u7u7u7tm1t3dd5eZmZmZmZmZmZmZmZmZmWlmZmaZmZmZmZmZmZmZmZmZmd0dEd3dHRHd3RFxZmZmu7u7u7u7u7tm1t3dfZeZmZmZmZmZmZmZmZmZmXlmZmaZmZmZmZmZmZmZmZmZ3R0R0d3dHRHR3R13ZmZmu7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZlmZmaZmZmZmZmZmZmZmZmZ3REREd1dFRHR0d3d3d22u7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZlpZnaZmZmZmZmZmZmZmZnZHREREdHdVREd0d3dHRG9u7u7u7u7u7trZt3dfZeZmZmZmZmZmZmZmZmZmZmZZ3aZmZmZmZmZmZmZmZnZEREREdFVVR0dEd0dERG9u7u7u7u7u7trZt3d3ZeZmZmZmZmZmZmZmZmZmZmZmXmZmZmZmZmZmZmZmZnZ3d0REV1VVdUdEd0RERG9u7u7u7u7u7trZtfdfZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZnZEREREd1VVR0dER0REdG7u7u7u7u7u7trZnfdl5mZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZnZHREREdFd1REd0R0REZ27u7u7u7u7u7trZnd3mZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZmZ3RHdEdFV1RHR0R0R3Zm7u7u7u7u7u7trZneZmZmZmZmZmZmZmZmZmZmZmZmZmXeZmZmZmZmZmZmZmZmZ3d0RERHdHRHR3d3dnZm2u7u7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZmZmZmZmXaZmZmZmZmZmZmZmZnZHRERERHdHRHd3RHRmZlmZru7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZmZeZeZmWaZmZmZmZmZmZmZmZnZEREREd3dEdHd3RERnZmZeWa7u7u7u7trZpmZmZmZmZmZmZmZmZmZmZnZ3X2XmZmZmZmZmZmZmZmZmZnZERHR3d3R0d3d3R0R0ZmZmXlmtru7u7trZpmZmZmZmbZ7mZmZmZmZmZnd3d13mZmZmZmZmZmZmZmZmZnZ3d3d3R3R3d3R0RcR0ZeZmZlptru7u7trZpmZmZmZZnfGfJmZmZmZmdnd3d19l5mZmZmZmZmZmZmZmZmZmd3d3RER0d3R0X0REX2ZmZlpu7u7u7trZpmZmZlpZmZ3zJyZmZmZmd3d3d3dd5mZmZmZmZmZmZmZmZmZmd3dERER0R3REX0XEX2ZmZlpu7u7u7trZpmZmZlmZmZ2x8yZmZmZmd3d3d3dd5mZmZmZmZmZmZmZmZmZmdcdERER3R3REdd3EX2XmZm2u7u7u7trZpmZmWlmZmZmd8ycmZmZ2d3d3d3dfZeZmZmZmZmZmZmZmZmZmd0RERHR3REdEdd9132XmZm2u7u7u7tmdpmZmWZmZmZmdsZ8mZmZ2d3d3d3dfZeZmZmZmZmZmZmZmZmZmR0RERHd3REdEdfd3X2XmWm7u7u7u7tmlpmZmWZmZmZmdmfMmZmZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmR0REd3dHREdEdfd3X2XmWm7u7u7u7tmlpmZmWtmZmZmZmfMl5mZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmd3d3Z3ZEdEdEdfd3X2Xmba7u7u7u2tml5mZmWdmZmZmZmbMnJmZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZnZEdEXcd3d3X2Xmba7u7u7u2tmmZmZmWlmZmZmZmbMfJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZkdEd0Xcd3d3X2Xabu7u7u7u2Z2mZmZmXlmZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZkd0d13193d3X2Xabu7u7u7u2aWmZmZmZlrZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZnd3d3d3d3d3X2Xtru7u7u7a2aXmZmZmZlpZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3d3d3X2Xtru7u7u7ZmaZmZnJfJm5ZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3d3d3X2X17u7u7trZpaZmZlpzJeZZmZmZmbGzJnZ3d3d3d3dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3dfd3X2X2d27271mZpmZmZlpZsyXZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3dfd3X2Xedfd3WdmlpmZmZlpZsbMZ2ZmZmbGzJnZ3d3d193dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3Xfd3X2XmXd3Z2ZmmZmZmZlpZmbGbGZmZmbGzJnZ3d3dd93dfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3XfX3X2XmZlmZmaXmZmZmZlpZmZmZmZmZma7u5nZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3XfX3X2XmZmZmZmZmZmZmZlpZmZmZmZmZru7ZnbZ3d3dd9fdfZeZmZmZmZmZmZmZmZmZmZmZmZmZ2d3d3X133X2XmZmZmZmZmZmZmZlpZmZmZmZmtru7a2bW3d3dfXfdfZeZmZmZmZmZmZmZmZmZmZmZmZmZmd3d3X133XeZmZmZmZmZmZmZmZlpZmZmZmZmu7u7u2tm3d3dfXfdd5mZmZmZmZmZmZmZmZmZmZmZmZmZmdnd3X1313eZmZmZmZmZmZmZmZlpZmZmZma2u7u7u7tm1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmdnd3X1313eZmZmZmZmZmZmZmZl5ZmZmZma7u7u7u7tr1t3dfXfXd5mZmZmZmZmZmZmZmZmZmZmZmZmZmZnd3d13eZeZmZmZmZmZmZmZmZmZZmZmZma7u7u7u7trZt3d3Xd5l5mZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13mZmZmZmZmZmZmZmZmZmZZmZmZra7u7u7u7u7Zt3d3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13mZmZmZmZmZmZmZmZmZmZZ2ZmZra7u7u7u7u7Ztbd3XeZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnZ3d13l5mZmZmZmZmZmZmZmZmZaWZmZru7u7u7u7u7Ztbd3XeXmZk=\",\n \"mimeType\": \"image/x-mkcd-f4\",\n \"displayName\": \"Background\"\n },\n \"*\": {\n \"mimeType\": \"image/x-mkcd-f4\",\n \"dataEncoding\": \"base64\",\n \"namespace\": \"myImages\"\n }\n}",
|
|
341
|
+
"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 \"image2\":\n case \"Bouncer\":return img`\n. . . 1 . 1 . 1 . . \n. . 1 . 1 . 1 . 1 . \n. . . 1 f 1 f 1 . . \n. f . f 1 f 1 f . . \nf f f f f f f f f . \nf f f f f f f f f f \nf f f f f f f f f . \n. f . f 1 f 1 f . . \n. . . 1 f 1 f 1 . . \n. . 1 . 1 . 1 . 1 . \n. . . 1 . 1 . 1 . . \n`;\n case \"image3\":\n case \"Hero\":return img`\n..........888..888..........\n.........8577885778.........\n........857777777778........\n........878877778878........\n........878f77778f78........\n.......87777777777778.......\n.......833777777773388......\n......8733778888773378......\n......877778dddd877778......\n......8d888dddddd888d8......\n......8dddddddddddddd8......\n.......8dddddddddddd8.......\n........888888888888........\n.......85777777777758.......\n......8577777777777758......\n.....8577777dddd7777758.....\n....8877777dddddd7777788....\n...8587778dddddddd8777858...\n...878778dddddddddd877878...\n...878778dddddddddd877878...\n...878778dddddddddd877878...\n...8787778dddddddd8777878...\n...877878dddddddddd878778...\n..87787778dddddddd87778778..\n.8888787878dddddd8787878888.\ncccccccccccccccccccccccccccc\n.cccccccccccccccccccccccccc.\n..cccccccccccccccccccccccc..\n`;\n case \"[GbUocpt^e@h97~~1|{K\":\n case \"Background\":return img`\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddddd99dddd99999999999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddd1d1dddd11d99999999999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddd99dd11d11dd111d99999999999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd99d1dddd111d111d111ddd7dddd9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d11dd9d11dd1111d111d111ddddd11d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d111ddd111d1111111d1111dddd111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d1111ddd1111111111d111dddd1111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d11111dd11111111111111ddd11111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd1111ddd11d1111111111ddd11111d9999999999999999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111dddddd11dd1111ddd11111dd9999999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111ddddddd5ddd11dd111111d99999999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd9ddd1111dddddd555d5ddd111111dd99ddd999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d1111ddddd111dddd5d55555ddddd111ddddd11d999999999999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd1111ddddd1d11dd5555555dd11d11dddd1111d999999999999999\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd11111ddddd111115555dd111ddddddd1111dddddddddd9999999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dd111111dddd11111d5d11111ddddd11111dddddddddddd999999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999dddd11111ddd11111d11111dddd11111dddddddddddddddd9999\n999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999ddddddd1111dd11ddddd11ddd1111dddd777ddddddddddddd999\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d111111ddddddddd11111ddddddddd1111117dddddddddddddddd\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977111111111dddd1111111dddd11111111117dddddddddddddddd\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977711111dddddddd111dddddddd11111177ddddddddddddddddd\n9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999977dddddd111ddddddddd11d7dd77777dddddd77777dddddddd\n9999999999999999999999999c6666666667999999999999999999999999999999999999999999999999999999999999999999999c6677dddd77111111dddd111d111177ddddddddddddd7777777dddd\n9999999999999999999999999cc666666666667999999999999999999999999999999999999999999999999999999999999999999cc77dddd771111117ddd1111d1111177ddddddddddddd7777777777\n99999999999999999999999997c6666666666666799999999999999999999999999999999999999999999999999999999999999997c677777711111177dd11111dd1111177dddddddddddddd77777777\n9999999999999999966b7999997c66666666666666999999999999999999999999999999999999999999999999999999966b7999997c6666d11111d766dd1111dd9d111117dddddddddddddddd779997\n999999999999999966666679999cc666666666666669999999999999999999999999999999999999999999999999999966666679999cc6666ddddd6666d11111d999dd111ddddddddddddddddddd7999\n99999999999999966666666b9997c66666666666666799999999999999999999999999999999999999999999999999966666666b9997c6666666666666d1111d999997ddddddddddddddddddd7777999\n9999999999999966666666666b99cc666666666666669999999999999999999999999999999999999999999999999966666666666b99cc666666666666d111d999999977777777777777777777779999\n99999999999996666666666666677c666666666666669bbbb669999999999999999999999999999999999999999996666666666666677c6666666666666dddbbb6699999777777777777777779999999\n999999999999966666666666666666666666666666bbbbbbbb699999999999999999999999999999999999999999966666666666666666666666666666bbbbbbbb699999999999999999999999999999\n999999999999676666666666666666666666666bbbbbbbbbbb699999999999996699999999999999999999999999676666666666666666666666666bbbbbbbbbbb699999999999996679999999999999\n999999999999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999999999999999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999\n999999999999b6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999999999999999b6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999\n9999999999997c77666666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd799999999999999999999997c77666666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd79999999999\n9999999999999cc776666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd769999999999999999999999cc776666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd76999999999\n99999999999997cc7776666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd7699999999999999999999997cc7776666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd76999999999\n99999999999999ccc67766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd7699999999999999999999999ccc67766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd76999999999\n999999999999999ccc6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999999999999999999ccc6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999\n9999999999999999cccccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd7669999999999999999999999999cccccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd766999999999\n999999999999999997cccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999999999999999999997ccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999\n99999999999999999997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666799999999999999999999999999997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb6667999999999\n9999999999999999999997ccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999997ccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999\n999999999999999999999999999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999999999999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999\n9999999999999999999999999999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999999999999999999999999999999999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb6666999999999999\n99999999999999999999999999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb66666999999999999999999999999999999999999999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb666669999999999999\n999999999999999999999dddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999999999999999999999999dddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999\n999999999999999999dddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999999999999999999999dddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999\n9999999999999999dddddddddddddddddddd666666666666666666666666667999999999999999999999999999999999dddddddddddddddddddd66666666666666666666666666799999999999999999\n99999999999999dddddddddddddddddddddddd66666666666666666666667999999999999999999999999999999999dddddddddddddddddddddddd666666666666666666666679999999999999999999\n9999999999999dddddddddddddddddddddddddddd6666666666666666799999999999999999999999999999999999dddddddddddddddddddddddddddd666666666666666679999999999999999999999\n999999999999ddddddddddddddddddddddddddddddddd77779999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddd77779999999999999999999999999999999\n99999999999ddddddddddddddddddddddddddddddddddd777999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddddd7779999999999999999999999999999999\n99999999999dddddddddddddddd77777ddddddddddddddd79999999999999999999999999999999999999999999dddddddddddddddd77777ddddddddddddddd799999999999999999999999999999999\n99999999997dddddddddddddddddd7777777ddddddddddd799999999999999999c6666666667999999999999997dddddddddddddddddd7777777ddddddddddd799999999999999999c66666666679999\n99999999997ddddddddddddddddddd7777777777dddddd7999999999999999999cc666666666667999999999997ddddddddddddddddddd7777777777dddddd7999999999999999999cc6666666666679\n799999999997dddddddddddddddddddd777777777777d799999999999999999997c6666666666666799999999997dddddddddddddddddddd777777777777d799999999999999999997c6666666666666\n6699999999977ddddddddddddddddddddd7799977777799999999999966b7999997c6666666666666699999999977ddddddddddddddddddddd7799977777799999999999966b7999997c666666666666\n66699999999977dddddddddddddddddddddd7999999999999999999966666679999cc6666666666666699999999977dddddddddddddddddddddd7999999999999999999966666679999cc66666666666\n6667999999999777ddddddddddddddddd777799999999999999999966666666b9997c666666666666667999999999777ddddddddddddddddd777799999999999999999966666666b9997c66666666666\n66669999999999777777777777777777777799999999999999999966666666666b99cc666666666666669999999999777777777777777777777799999999999999999966666666666b99cc6666666666\n66669bbbb669999977777777777777777999999999999999999996666666666666677c666666666666669bbbb669999977777777777777777999999999999999999996666666666666677c6666666666\n66bbbbbbbb699999999999999999999999999999999999999999966666666666666666666666666666bbbbbbbb6999999999999999999999999999999999999999999666666666666666666666666666\nbbbbbbbbbb699999999999996679999999dddd99ddddd9999999676666666666666666666666666bbbbbbbbbbb699999999999996679999999999999999999999999676666666666666666666666666b\nbbbbbbbbbb67999999999966bbdd799999d11dddd1d1ddd99999b766666666666666666666666bbbbbbbbbbbbb67999999999966bbdd799999999999999999999999b766666666666666666666666bbb\nbbbbbbbbbbb69999999966bbbbbd779999d111dd11d11dd99dddb6766666666666666666666bbbbbbbbbbbbbbbb69999999966bbbbbd779999999999999999999999b6766666666666666666666bbbbb\nbbbbbbbbbbb679999966bbbbbbbdddd9ddd111d111d111dddd1d7bdddd6666666666666666bbbbbbbbbbbbbbbbb679999966bbbbbbbdd799999999999999999999997c77666666666666666666bbbbbb\nbbbbbbbbbbbb699966bbbbbbbbbd11ddddd111d111d1111dd11d9dd11d666666666666666bbbbbbbbbbbbbbbbbbb699966bbbbbbbbbbd769999999999999999999999cc776666666666666666bbbbbbb\nbbbbbbbbbbbb6666bbbbbbbbbbbd111dddd1111d1111111d111ddd111d76666666666666bbbbbbbbbbbbbbbbbbbb6666bbbbbbbbbbbbd7699999999999999999999997cc7776666666666666bbbbbbbb\nbbbbbbbbbbbb66bbbbbbbbbbbbbd1111dddd111d1111111111ddd1111d7766666666666bbbbbbbbbbbbbbbbbbbbb66bbbbbbbbbbbbbbd7699999999999999999999999ccc67766666666666bbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbd11111ddd11111111111111dd11111d6666666666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdd66999999999999999999999999ccc6666666666666bbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbd11111ddd1111111111d11ddd1111ddcccc66666666bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd7669999999999999999999999999cccccc66666666bbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbbdd11111ddd1111dd11dddddd11111ddcccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666999999999999999999999999997ccccccccccccbbbbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbbbbb6d111111dd11ddd5ddddddd11111dd997ccccccccccc6bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666799999999999999999999999999997ccccccccccb6bbbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbddd66dd111111ddd5d555dddddd1111ddd9ddddccccccccc66bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999997ccccccccb66bbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbd11ddddd111ddddd55555d5dddd111ddddd1111d9999999966bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb666699999999999999999999999999999999999999999966bbbbbbb\nbbbbbbbbbbbbbbbbbbbbbbbd1111dddd11d11dd5555555dd11d1ddddd1111dd99999999766bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb66669999999999999999999999999999999999999999999766bbbbbb\nbbbbbbbbbbbbbbbbbbbbbb66d1111ddddddd111dd555511111ddddd11111dd9999999999666bbbbbbbbbbbbbbbbbbbbbbbbbbb66666999999999999999999999999999999999999999999999666bbbbb\nbbbbbbbbbbbbbbbbbbbb6666dd11111ddddd11111d5d11111dddd111111dddddddddddddd6666bbbbbbbbbbbbbbbbbbbbbbb66666699999999999999999999999999999999999dddddddddddd6666bbb\n6bbbbbbbbbbbbbbbb66666667ddd11111dddd11111d11111ddd11111dddddddddddddddddd6666666bbbbbbbbbbbbbbbb66666667999999999999999999999999999999999dddddddddddddddd666666\n666666666666666666666679777dddd1111ddd11ddddd11dd1111ddddddddddddddddddddddd666666666666666666666666667999999999999999999999999999999999dddddddddddddddddddd6666\n6666666666666666666679997111111ddddddddd11111ddddddddd111111dddddddddddddddddd66666666666666666666667999999999999999999999999999999999dddddddddddddddddddddddd66\nd6666666666666666799999971111111111dddd1111111dddd11111111177dddddddddddddddddddd6666666666666666799999999999999999999999999999999999ddddddddddddddddddddddddddd\nddddd7777999999999999999977111111dddddddd111dddddddd11111777ddddddddddddddddddddddddd77779999999999999999999999999999999999999999999dddddddddddddddddddddddddddd\ndddddd77799999999999999999977777dd7d11ddddddddd111dddddd77dddddddddddddddddddddddddddd777999999999999999999999999999999999999999999ddddddddddddddddddddddddddddd\nddddddd79999999999999999999ddddd771111d111dddd11111177dddd77ddddddd77777ddddddddddddddd79999999999999999999999999999999999999999999dddddddddddddddd77777dddddddd\nddddddd799999999999999999bddddd7711111d1111ddd711111177dddd77dddddddd7777777ddddddddddd799999999999999999c6666666667999999999999997dddddddddddddddddd7777777dddd\ndddddd7999999999999999999ddddd7711111dd11111dd77111111777777dddddddddd7777777777dddddd7999999999999999999cc666666666667999999999997ddddddddddddddddddd7777777777\n7777d799999999999999999997bddd711111d6dd1111dd997d11111ddddddddddddddddd777777777777d799999999999999999997c6666666666666799999999997dddddddddddddddddddd77777777\n7777799999999999966b7999997c66d111dd666d11111d9999dddddddddddddddddddddddd7799977777799999999999966b7999997c6666666666666699999999977ddddddddddddddddddddd779997\n999999999999999966666679999cc66ddd666666d1111d99999977dddddddddddddddddddddd7999999999999999999966666679999cc6666666666666699999999977dddddddddddddddddddddd7999\n99999999999999966666666b9997c666666666666d111d9999999777ddddddddddddddddd777799999999999999999966666666b9997c666666666666667999999999777ddddddddddddddddd7777999\n9999999999999966666666666b99cc666666666666ddd999999999777777777777777777777799999999999999999966666666666b99cc66666666666666999999999977777777777777777777779999\n99999999999996666666666666677c6666666666666697777669999977777777777777777999999999999999999996666666666666677c66666666666666977776699999777777777777777779999999\n9999999999999666666666666666666666666666667777777769999999999999999999999999999999999999999996666666666666666666666666666677777777699999999999999999999999999999\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",
|
|
342
|
+
"main.blocks": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"KIND_SpriteKind\" id=\"Z,DM#7{9jV0}.ko?0F)^\">Player</variable><variable type=\"KIND_SpriteKind\" id=\":}a0F)fZSn#89Z(GT6tI\">Projectile</variable><variable type=\"KIND_SpriteKind\" id=\")v$k]p}0v(7O6hHjb.iq\">Food</variable><variable type=\"KIND_SpriteKind\" id=\"1.znz1g$35J=oTce7MVr\">Enemy</variable><variable id=\";}6j|s4238nr]T/85FsZ\">mySprite</variable><variable id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</variable><variable id=\"mWJjXO9Zj%!,a8ufR)^C\">otherSprite</variable><variable id=\"$Hrfa5}L5U*L/K$()knw\">mySprite3</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`Background`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.[GbUocpt^e@h97~~1|{K\"}}</data></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" 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`Hero`</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=\"spritesetpos\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field></block></value><value name=\"x\"><shadow type=\"positionPicker\"><field name=\"index\">85</field></shadow></value><value name=\"y\"><shadow type=\"positionPicker\"><field name=\"index\">80</field></shadow></value><next><block type=\"gamecountdown\"><value name=\"duration\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value><next><block type=\"hudSetLife\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">3</field></shadow></value><next><block type=\"variables_set\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field><value name=\"VALUE\"><shadow xmlns=\"http://www.w3.org/1999/xhtml\" 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`Bouncer`</field><data>{\"commentRefs\":[],\"fieldData\":{\"img\":\"myImages.image2\"}}</data></shadow></value><value name=\"kind\"><shadow type=\"spritekind\"><field name=\"MEMBER\">Player</field></shadow></value></block></value><next><block type=\"spritesetvel\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"vx\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">200</field></shadow></value><value name=\"vy\"><shadow type=\"spriteSpeedPicker\"><field name=\"speed\">100</field></shadow></value><next><block type=\"spritesetsetbounceonwall\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"on\"><shadow type=\"toggleOnOff\"><field name=\"on\">true</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block><block type=\"keyonevent\" x=\"690\" y=\"250\"><field name=\"button\">controller.A</field><field name=\"event\">ControllerButtonEvent.Pressed</field><statement name=\"HANDLER\"><block type=\"controls_if\"><mutation else=\"1\"/><value name=\"IF0\"><shadow type=\"logic_boolean\"><field name=\"BOOL\">TRUE</field></shadow><block type=\"spriteoverlapswith\"><value name=\"sprite\"><block type=\"variables_get\"><field name=\"VAR\" id=\";}6j|s4238nr]T/85FsZ\">mySprite</field></block></value><value name=\"other\"><block type=\"variables_get\"><field name=\"VAR\" id=\"c5vFr`92Bk$%$C-N|nGK\">mySprite2</field></block></value></block></value><statement name=\"DO0\"><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\">true</field></shadow></value></block></statement><statement name=\"ELSE\"><block type=\"hudChangeLifeBy\"><value name=\"value\"><shadow type=\"math_number\"><field name=\"NUM\">-1</field></shadow></value></block></statement></block></statement></block></xml>",
|
|
343
|
+
"main.ts": "controller.A.onEvent(ControllerButtonEvent.Pressed, function () {\n if (mySprite.overlapsWith(mySprite2)) {\n game.over(true)\n } else {\n info.changeLifeBy(-1)\n }\n})\nlet mySprite: Sprite = null\nlet mySprite2: Sprite = null\nscene.setBackgroundImage(assets.image`Background`)\nmySprite2 = sprites.create(assets.image`Hero`, SpriteKind.Player)\nmySprite2.setPosition(85, 80)\ninfo.startCountdown(10)\ninfo.setLife(3)\nmySprite = sprites.create(assets.image`Bouncer`, SpriteKind.Player)\nmySprite.setVelocity(200, 100)\nmySprite.setBounceOnWall(true)\n",
|
|
344
|
+
"pxt.json": "{\n \"name\": \"time-reaction-game\",\n \"description\": \"\",\n \"dependencies\": {\n \"device\": \"*\"\n },\n \"files\": [\n \"main.blocks\",\n \"main.ts\",\n \"README.md\",\n \"assets.json\",\n \"images.g.jres\",\n \"images.g.ts\"\n ],\n \"targetVersions\": {\n \"branch\": \"v1.4.40\",\n \"tag\": \"v1.4.40\",\n \"commits\": \"https://github.com/microsoft/pxt-arcade/commits/6e7016f2daff5c7a6de3f15abd027b9f32fe5b28\",\n \"target\": \"1.4.40\",\n \"pxt\": \"6.12.22\"\n },\n \"preferredEditor\": \"blocksprj\"\n}\n"
|
|
345
|
+
}
|
|
346
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pxt-arcade",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.16",
|
|
4
4
|
"description": "Small arcade editor for MakeCode",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"JavaScript",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"typescript": "4.8.3"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"pxt-common-packages": "10.3.
|
|
37
|
-
"pxt-core": "8.5.
|
|
36
|
+
"pxt-common-packages": "10.3.12",
|
|
37
|
+
"pxt-core": "8.5.22"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"pxt-arcade-sim": "microsoft/pxt-arcade-sim.git#v0.10.
|
|
40
|
+
"pxt-arcade-sim": "microsoft/pxt-arcade-sim.git#v0.10.6"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"serve": "node node_modules/pxt-core/built/pxt.js serve",
|
package/pxtarget.json
CHANGED
|
@@ -570,11 +570,11 @@
|
|
|
570
570
|
"hasAudio": true,
|
|
571
571
|
"allowPackageExtensions": true,
|
|
572
572
|
"homeScreenHero": {
|
|
573
|
-
"imageUrl": "/static/hero-gallery/
|
|
574
|
-
"name": "
|
|
575
|
-
"url": "https://
|
|
576
|
-
"buttonLabel": "
|
|
577
|
-
"description": "
|
|
573
|
+
"imageUrl": "/static/hero-gallery/multiplayer-banner.png",
|
|
574
|
+
"name": "Multiplayer Games!",
|
|
575
|
+
"url": "https://arcade.makecode.com/--multiplayer",
|
|
576
|
+
"buttonLabel": "Try Now",
|
|
577
|
+
"description": "Multiplayer Games!",
|
|
578
578
|
"cardType": "link"
|
|
579
579
|
},
|
|
580
580
|
"homeScreenHeroGallery": "/hero-banner",
|
package/targetconfig.json
CHANGED
|
@@ -53,7 +53,8 @@
|
|
|
53
53
|
"tags": [ "Hardware" ]
|
|
54
54
|
},
|
|
55
55
|
"jwunderl/pxt-button-combos": {
|
|
56
|
-
"preferred": true
|
|
56
|
+
"preferred": true,
|
|
57
|
+
"tags": [ "Controller" ]
|
|
57
58
|
},
|
|
58
59
|
"jwunderl/pxt-color": {
|
|
59
60
|
"preferred": true,
|
|
@@ -72,11 +73,14 @@
|
|
|
72
73
|
"tags": [ "Utility" ],
|
|
73
74
|
"upgrades": "min:v0.0.6"
|
|
74
75
|
},
|
|
75
|
-
"microsoft/arcade-grid": {
|
|
76
|
-
"microsoft/arcade-minimap": {
|
|
76
|
+
"microsoft/arcade-grid": {
|
|
77
77
|
"preferred": true,
|
|
78
78
|
"tags": [ "Sprites" ]
|
|
79
79
|
},
|
|
80
|
+
"microsoft/arcade-minimap": {
|
|
81
|
+
"preferred": true,
|
|
82
|
+
"tags": [ "Sprites", "Visual Effects" ]
|
|
83
|
+
},
|
|
80
84
|
"microsoft/arcade-timers": {
|
|
81
85
|
"preferred": true,
|
|
82
86
|
"tags": [ "Utility" ]
|
|
@@ -121,6 +125,56 @@
|
|
|
121
125
|
"code-ninjas-home-office/game-building-session-tutorials": {},
|
|
122
126
|
"microsoft/arcade-carnival": {}
|
|
123
127
|
},
|
|
128
|
+
"builtinExtensionsLib": {
|
|
129
|
+
"controller": {
|
|
130
|
+
"preferred": true,
|
|
131
|
+
"tags": [ "Utility", "Controller" ]
|
|
132
|
+
},
|
|
133
|
+
"animation": {
|
|
134
|
+
"preferred": true,
|
|
135
|
+
"tags": [ "Sprites", "Visual Effects" ]
|
|
136
|
+
},
|
|
137
|
+
"multiplayer": {
|
|
138
|
+
"preferred": true,
|
|
139
|
+
"tags": [ "Utility", "Controller", "Sprites" ]
|
|
140
|
+
},
|
|
141
|
+
"sprite-scaling": {
|
|
142
|
+
"preferred": true,
|
|
143
|
+
"tags": [ "Sprites", "Visual Effects" ]
|
|
144
|
+
},
|
|
145
|
+
"corgio": {
|
|
146
|
+
"preferred": true,
|
|
147
|
+
"tags": [ "Sprites" ]
|
|
148
|
+
},
|
|
149
|
+
"darts": {
|
|
150
|
+
"preferred": true,
|
|
151
|
+
"tags": [ "Sprites" ]
|
|
152
|
+
},
|
|
153
|
+
"edge-connector": {
|
|
154
|
+
"preferred": true,
|
|
155
|
+
"tags": [ "Hardware" ]
|
|
156
|
+
},
|
|
157
|
+
"light": {
|
|
158
|
+
"preferred": true,
|
|
159
|
+
"tags": [ "Hardware" ]
|
|
160
|
+
},
|
|
161
|
+
"radio-broadcast": {
|
|
162
|
+
"preferred": true,
|
|
163
|
+
"tags": [ "Utility"]
|
|
164
|
+
},
|
|
165
|
+
"servo": {
|
|
166
|
+
"preferred": true,
|
|
167
|
+
"tags": [ "Hardware" ]
|
|
168
|
+
},
|
|
169
|
+
"sevenseg": {
|
|
170
|
+
"preferred": true,
|
|
171
|
+
"tags": [ "Utility" ]
|
|
172
|
+
},
|
|
173
|
+
"feather": {
|
|
174
|
+
"preferred": true,
|
|
175
|
+
"tags": [ "Hardware", "Controller" ]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
124
178
|
"upgrades": {
|
|
125
179
|
"microsoft/pxt-tilemaps": "min:v1.8.1",
|
|
126
180
|
"microsoft/arcade-sprite-data": "min:v0.0.6"
|