-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminimason.p8
578 lines (549 loc) · 31.7 KB
/
minimason.p8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
-- mini mason
-- by nekusoul
function _init()
palt(0,false)
palt(14,true)
splash=true
bombs=3
score=0
difficulty=3
cursor=new_cursor()
field=new_field()
init_targets()
init_upcoming()
init_mouse()
sfx(5)
end
function _update60()
update_mouse()
if splash then
splash=not btnp(❎)
return
end
update_cursor(cursor)
end
function _draw()
cls(1)
if splash then
draw_splash()
draw_mouse()
return
end
camera(4,4)
draw_field(field)
draw_cursor(cursor)
foreach(upcoming,draw_upcoming)
foreach(targets,draw_target)
for i=0,bombs-1 do
spr(19,100+i%4*8,7+flr(i/4)*10)
end
print("score",14,110,6)
print(score.."00",26-(#(''..score)*4),118,6)
draw_mouse()
end
function wait(frames)
for x=1,frames do
flip()
end
end
-->8
--field
function new_field()
return {}
end
function update_field(f)
end
function draw_field(f)
rectfill(3*8,3*8,12*8,12*8,0)
map(0,0,2*8,2*8,11,11)
end
function get_tile(x,y)
return mget(x+1,y+1)
end
function set_tile(x,y,c)
mset(x+1,y+1,c)
end
function field_empty(x,y)
return mget(x+1,y+1)==0
end
-->8
--target
function init_targets()
targets={
new_target(5,13),
new_target(9,13),
new_target(13,13),
new_target(13,9),
new_target(13,5)
}
end
function new_target(x,y)
local t={x=x,y=y,valid=true}
randomize_target(t)
return t
end
function draw_target(t)
local delta = t.valid and sin(time()/2)+0.5 or 0
local x=(t.x-1)*8
local y=(t.y-1)*8+delta
rectfill(x+8,y+8,x+32,y+32,0)
if cursor.on_empty then
print("patterns",100,30,13)
map(11,8,x,y,5,5)
else
print("patterns",100,30,6)
if t.valid then
map(11,0,x,y,5,5)
else
map(11,8,x,y,5,5)
end
end
for i,c in pairs(t.colors) do
spr(c,t.x*8+(flr((i-1)%3))*8,t.y*8+(flr((i-1)/3))*8+delta)
end
end
function randomize_target(t)
t.colors={}
local bag=new_bag()
for i=1,9 do
add(t.colors,from_bag(bag))
end
end
function check_targets()
local sx=mid(1,7,cursor.x)
local sy=mid(1,7,cursor.y)
for t in all(targets) do
check_target(t,sx,sy,true)
end
end
function check_target(t,sx,sy,preview)
local i=1
t.valid=true
for y=sy-1,sy+1 do
for x=sx-1,sx+1 do
local ft=get_tile(x,y)
if preview then
if ft!=t.colors[i] and ft!=0 then
t.valid=false
return false
end
else
if ft!=t.colors[i] then
t.valid=false
return false
end
end
i+=1
end
end
return true
end
-->8
--cursor
function new_cursor()
return{x=4,y=4,on_empty=true}
end
function update_cursor(c)
local moved=false
if btnp(⬅️) and c.x>0 then
c.x-=1
moved=true
end
if btnp(➡️) and c.x<8 then
c.x+=1
moved=true
end
if btnp(⬆️) and c.y>0 then
c.y-=1
moved=true
end
if btnp(⬇️) and c.y<8 then
c.y+=1
moved=true
end
if(moved) then
sfx(4)
mouse.changes=0
check_targets()
c.on_empty=field_empty(c.x,c.y)
end
if btnp(❎) then
if c.on_empty then
cursor_place(c)
else
cursor_score(c)
end
end
if btnp(🅾️) then
if not c.on_empty then
cursor_bomb(c)
else
sfx(0)
end
end
end
function draw_cursor(c)
local x=(c.x+3)*8
local y=(c.y+3)*8
if c.on_empty then
if flr(time()*3)%2==0 then
spr(upcoming[1].c,x,y)
end
map(16,3,(mid(1,7,c.x)+2)*8,(mid(1,7,c.y)+2)*8,3,3)
spr(35,x,y)
else
map(16,0,(mid(1,7,c.x)+2)*8,(mid(1,7,c.y)+2)*8,3,3)
spr(51,x,y)
end
end
function cursor_place(c)
set_tile(c.x,c.y,grab_upcoming())
c.on_empty=false
score+=1
check_targets()
sfx(1)
end
function cursor_bomb(c)
if bombs>0 then
set_tile(c.x,c.y,0)
bombs-=1
c.on_empty=true
check_targets()
sfx(2)
else
sfx(0)
end
end
function cursor_score(c)
local sx=mid(1,7,c.x)
local sy=mid(1,7,c.y)
for t in all(targets) do
if check_target(t,sx,sy) then
bombs=min(bombs+1,8)
check_targets()
sfx(3)
for i=1,9 do
t.colors[i]=0
draw_target(t)
score+=1
rectfill(0,118,32,126,1)
print(score.."00",26-(#(''..score)*4),118,6)
sfx(6)
wait(5)
end
randomize_target(t)
else
sfx(0)
end
end
end
-->8
--upcoming
function init_upcoming()
upcoming_bag=new_bag()
upcoming={
new_upcoming(7,1,true),
new_upcoming(5,1),
new_upcoming(3,1),
new_upcoming(1,1),
new_upcoming(1,3),
new_upcoming(1,5),
new_upcoming(1,7)
}
end
function new_upcoming(x,y,first)
u={x=x,y=y,c=from_bag(upcoming_bag),first=first}
return u
end
function draw_upcoming(u)
local delta = u.first and cursor.on_empty and sin(time())+0.5 or 0
local x=(u.x-1)*8
local y=(u.y-1)*8+delta
rectfill(x+8,y+8,x+16,y+16,0)
if cursor.on_empty then
print("tiles",68,9,6)
if u.first then
map(11,5,(u.x-1)*8,(u.y-1)*8+delta,3,3)
else
map(16,9,(u.x-1)*8,(u.y-1)*8,3,3)
end
else
print("tiles",68,9,13)
map(16,9,(u.x-1)*8,(u.y-1)*8,3,3)
end
spr(u.c,u.x*8,u.y*8+delta)
end
function grab_upcoming()
local result=upcoming[1].c
for i,u in pairs(upcoming) do
if i<#upcoming then
upcoming[i].c=upcoming[i+1].c
end
end
upcoming[#upcoming].c=from_bag(upcoming_bag)
return result
end
-->8
--bag
function new_bag()
b={content={}}
return b
end
function fill_bag(b)
b.content={}
for x=1,3 do
for i=1,difficulty do
add(b.content,i)
end
end
end
function from_bag(b)
if #(b.content)==0 then
fill_bag(b)
end
return del(b.content,rnd(b.content))
end
-->8
--mouse
function init_mouse()
poke(0x5f2d,0x3)
mouse={x=-100,y=-100,changes=0}
end
function update_mouse()
if mouse.x!=stat(32) or mouse.y!=stat(33) then
if mouse.changes>10 then
mouse.x=stat(32)
mouse.y=stat(33)
if mouse.x>20 and mouse.x<91 and mouse.y>20 and mouse.y<91 then
cursor.on_empty=field_empty(cursor.x,cursor.y)
cursor.x=flr((mouse.x-20)/8)
cursor.y=flr((mouse.y-20)/8)
local sx=mid(1,7,cursor.x)
local sy=mid(1,7,cursor.y)
check_targets()
end
else
mouse.x=stat(32)
mouse.y=stat(33)
mouse.changes+=1
end
end
end
function draw_mouse()
if mouse.changes>10 then
spr(52,mouse.x+4,mouse.y+4)
end
end
-->8
--splash
function draw_splash()
map(19,0)
print('MINI',53,8)
print('mason',57,14)
print('==goal==',8,30)
print('place the tiles')
print('to match the patterns')
print('')
print('==controls==')
print('⬆️⬇️⬅️➡️ or mouse - move')
print('❎ or lclick - place tile')
print('❎ or lclick - check pattern')
print('🅾️ or rclick - place bomb')
print('')
print('')
print('press ❎ or lclick to start')
print('by nekusoul',44,113)
print('for ludum dare 54',32,121)
end
__gfx__
eeeeeeee0555555005555550055555500555555000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee558888555533335555cccc555599995500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee58888885533553355cccccc55959959500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee58588585533333355cc55cc55999999500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee58588585533333355cc55cc55999999500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee58888885533553355cccccc55959959500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee558888555533335555cccc555599995500000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeee0555555005555550055555500555555000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeea8eeeeeeeeeeeeeeeeeeeeeeeeeee77ee77ee77ee77ee77ee77eeddeeddeeddeeddeeddeeddeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeee4eeeeeeeeeeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeee0000eeeeeeeeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeee000600eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeee000060e6666eeeeee66eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeee000000e66666eeeee66eeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeee000000eee666eeeee66eeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeee6666666666eeeeeeeee0000eeeee66eeeee66e6eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddddeeeeeee
eeeeeee6eeeeeeee6eeeeeee77e77e77eee66eeeee66e66eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeee7eeeeee7e666666eee666666eeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeeeeeeeeeeeee6666eeeee66666eeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeee7eeeeee7eee66eeeeeeee66eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeedeeeeeee
eeeeeee6666666666eeeeeee7eeeeee7eeeeeeeeeeeee6eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeee7eeeeee7eeeeeeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeedeeeeeeeedeeeeeee
eeeeeee6eeeeeeee6eeeeeee77e77e77eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeedeeeeeee
eeeeeee6666666666eeeeeeeddeddedde0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddddddddeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeedeeeeeed070eeeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0770eeeeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeedeeeeeed07770eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeedeeeeeed077770eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0777770eeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeedeeeeeede00770eeeeeeeeeeeeeeeeee7eeeeeeeeeeeeeeeeeeeeee7deeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeddeddeddeee00eeeeeeeeeeeeeeeeeeee77ee77ee77ee77ee77ee77eeddeeddeeddeeddeeddeeddeeeeeeeeeeeeeeeeeeeeeeeee
__label__
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111166666666661111111111111111111111111111111111111111111111111111111111111111111
111dddddddddd111111dddddddddd111111dddddddddd1111116055555506111111111111111111111111111111111111111a8111111a8111111a81111111111
111d05555550d111111d05555550d111111d05555550d11111165533335561111111111111111111111111111111111111141111111411111114111111111111
111d55888855d111111d55cccc55d111111d55333355d11111165335533561116661666161116661166111111111111111000011110000111100001111111111
111d58888885d111111d5cccccc5d111111d53355335d11111165333333561111611161161116111611111111111111110006001100060011000600111111111
111d58588585d111111d5cc55cc5d111111d53333335d11111165333333561111611161161116611666111111111111110000601100006011000060111111111
111d58588585d111111d5cc55cc5d111111d53333335d11111165335533561111611161161116111116111111111111110000001100000011000000111111111
111d58888885d111111d5cccccc5d111111d53355335d11111165533335561111611666166616661661111111111111110000001100000011000000111111111
111d55888855d111111d55cccc55d111111d55333355d11111160555555061111111111111111111111111111111111111000011110000111100001111111111
111d05555550d111111d05555550d111111d05555550d11111166666666661111111111111111111111111111111111111111111111111111111111111111111
111dddddddddd111111dddddddddd111111dddddddddd11111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111dddddddddd1111116666666666666666666666666666666666666666666666666666666666666666666666666611111111111111111111111111111111111
111d05555550d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d55cccc55d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d5cccccc5d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d5cc55cc5d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d5cc55cc5d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d5cccccc5d1111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111d55cccc55d11111160000000000000000000000000000000000000000000000000000000000000000000000006111ddd1ddd1ddd1ddd1ddd1ddd1dd111dd1
111d05555550d11111160000000000000000000000000000000000000000000000000000000000000000000000006111d1d1d1d11d111d11d111d1d1d1d1d111
111dddddddddd11111160000000000000000000000000000000000000000000000000000000000000000000000006111ddd1ddd11d111d11dd11dd11d1d1ddd1
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111d111d1d11d111d11d111d1d1d1d111d1
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111d111d1d11d111d11ddd1d1d1d1d1dd11
11111111111111111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111dddddddddddddddddddddddddd111
111dddddddddd11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111d05555550d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d553333555588885555cccc55d111
111d55333355d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53355335588888855cccccc5d111
111d53355335d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53333335585885855cc55cc5d111
111d53333335d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53333335585885855cc55cc5d111
111d53333335d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53355335588888855cccccc5d111
111d53355335d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d553333555588885555cccc55d111
111d55333355d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111d05555550d11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111dddddddddd11111160000000000000000000000000dd00dd00dd00dd00dd00dd00000000000000000000000006111111d5533335555cccc5555cccc55d111
11111111111111111116000000000000000000000000d0000000000000000000000d0000000000000000000000006111111d533553355cccccc55cccccc5d111
11111111111111111116000000000000000000000000d0000000000000000000000d0000000000000000000000006111111d533333355cc55cc55cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d533333355cc55cc55cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d533553355cccccc55cccccc5d111
11111111111111111116000000000000000000000000d0000000000000000000000d0000000000000000000000006111111d5533335555cccc5555cccc55d111
11111111111111111116000000000000000000000000d0000000000000000000000d0000000000000000000000006111111d055555500555555005555550d111
111dddddddddd11111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111d05555550d11111160000000000000000000000000000000077577577000000000000000000000000000000006111111d553333555588885555888855d111
111d55cccc55d1111116000000000000000000000000d0000000753333570000000d0000000000000000000000006111111d533553355888888558888885d111
111d5cccccc5d1111116000000000000000000000000d0000000533553350000000d0000000000000000000000006111111d533333355858858558588585d111
111d5cc55cc5d11111160000000000000000000000000000000073333337000000000000000000000000000000006111111d533333355858858558588585d111
111d5cc55cc5d11111160000000000000000000000000000000073333037000000000000000000000000000000006111111d533553355888888558888885d111
111d5cccccc5d1111116000000000000000000000000d0000000533507050000000d0000000000000000000000006111111d553333555588885555888855d111
111d55cccc55d1111116000000000000000000000000d0000000753307700000000d0000000000000000000000006111111d055555500555555005555550d111
111d05555550d11111160000000000000000000000000000000077570777000000000000000000000000000000006111111dddddddddddddddddddddddddd111
111dddddddddd1111116000000000000000000000000000000000000077770000000000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000d0000000000007777700000d000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000d0000000000000077000000d000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000000000000000000000000000000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000d0000000000000000000000d000000000000000000000000611111111111111111111111111111111111
11111111111111111116000000000000000000000000d0000000000000000000000d0000000000000000000000006111111dddddddddddddddddddddddddd111
111111111111111111160000000000000000000000000dd00dd00dd00dd00dd00dd00000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d55cccc555533335555cccc55d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d5cccccc5533553355cccccc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d5cc55cc5533333355cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d5cc55cc5533333355cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d5cccccc5533553355cccccc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d55cccc555533335555cccc55d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d558888555588885555333355d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d588888855888888553355335d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d585885855858858553333335d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d585885855858858553333335d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d588888855888888553355335d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d558888555588885555333355d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d553333555588885555cccc55d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53355335588888855cccccc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53333335585885855cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53333335585885855cc55cc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d53355335588888855cccccc5d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d553333555588885555cccc55d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111d055555500555555005555550d111
111111111111111111160000000000000000000000000000000000000000000000000000000000000000000000006111111dddddddddddddddddddddddddd111
11111111111111111116666666666666666666666666666666666666666666666666666666666666666666666666611111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111dddddddddddddddddddddddddd111111dddddddddddddddddddddddddd111111dddddddddddddddddddddddddd111
11111111111111111111111111111111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111111111111111111111111111111d55cccc555588885555333355d111111d5588885555cccc5555333355d111111d553333555588885555888855d111
11111111111111111111111111111111111d5cccccc55888888553355335d111111d588888855cccccc553355335d111111d533553355888888558888885d111
11111111111111111111111111111111111d5cc55cc55858858553333335d111111d585885855cc55cc553333335d111111d533333355858858558588585d111
11111111111111111111111111111111111d5cc55cc55858858553333335d111111d585885855cc55cc553333335d111111d533333355858858558588585d111
11111111111111111111111111111111111d5cccccc55888888553355335d111111d588888855cccccc553355335d111111d533553355888888558888885d111
11111111111111111111111111111111111d55cccc555588885555333355d111111d5588885555cccc5555333355d111111d553333555588885555888855d111
11111111111661166116616661666111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111116111611161616161611111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111116661611161616611661111111d5588885555cccc5555333355d111111d558888555533335555cccc55d111111d5533335555cccc5555cccc55d111
11111111111161611161616161611111111d588888855cccccc553355335d111111d58888885533553355cccccc5d111111d533553355cccccc55cccccc5d111
11111111116611166166116161666111111d585885855cc55cc553333335d111111d58588585533333355cc55cc5d111111d533333355cc55cc55cc55cc5d111
11111111111111111111111111111111111d585885855cc55cc553333335d111111d58588585533333355cc55cc5d111111d533333355cc55cc55cc55cc5d111
11111111111111111111111111111111111d588888855cccccc553355335d111111d58888885533553355cccccc5d111111d533553355cccccc55cccccc5d111
11111111111111111111111111111111111d5588885555cccc5555333355d111111d558888555533335555cccc55d111111d5533335555cccc5555cccc55d111
11111111111111111166616661666111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111111111111161616161616111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111111111111161616161616111111d5533335555cccc5555888855d111111d5533335555cccc5555888855d111111d55cccc555588885555333355d111
11111111111111111161616161616111111d533553355cccccc558888885d111111d533553355cccccc558888885d111111d5cccccc55888888553355335d111
11111111111111111166616661666111111d533333355cc55cc558588585d111111d533333355cc55cc558588585d111111d5cc55cc55858858553333335d111
11111111111111111111111111111111111d533333355cc55cc558588585d111111d533333355cc55cc558588585d111111d5cc55cc55858858553333335d111
11111111111111111111111111111111111d533553355cccccc558888885d111111d533553355cccccc558888885d111111d5cccccc55888888553355335d111
11111111111111111111111111111111111d5533335555cccc5555888855d111111d5533335555cccc5555888855d111111d55cccc555588885555333355d111
11111111111111111111111111111111111d055555500555555005555550d111111d055555500555555005555550d111111d055555500555555005555550d111
11111111111111111111111111111111111dddddddddddddddddddddddddd111111dddddddddddddddddddddddddd111111dddddddddddddddddddddddddd111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
__map__
1011111111111111111112101111111217181903020000001011111111120000000203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2000000000000000000022200000002227002901000000002000000000220000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2000000000000000000022200000002237383900000000002021212121220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
200000000000000000002220000000221a1b1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
200000000000000000002230313131322a002c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
200000000000000000002210111200003a3b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2000000000000000000022200022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2000000000000000000022303132000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
20000000000000000000221d1e1e1e1f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
20000000000000000000222d0000002f1d1e1f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
30313131313131313131322d0000002f2d002f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000002d0000002f3d3e3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000003d3e3e3e3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000003020000000000000000000000000203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
0001000022020210301f030160300f030070300203000020000100e0000d0000b0000b0000a00009000080000600003000000000d0000f0001000012000140001700019000000000000000000000000000000000
000100002803028050270501f0501f0401f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000200000c6501265016650186501a6501a650196501765014650116500e6500a6400764005640046400364003640036400564006630056300463002630026300362004620056200361001610016100261002610
00010000095200c5200f52011540155400b540085400e54014540195401e54026540055400c54013540195401f540245402b5502f550315500000000000000000000000000000000000000000000000000000000
000400000a21000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00100000073100e3101431018310193101931013310183101b3102031022310223101e3001e3001e3001e3001e3001e3001e3001e300007000070000700007000070000700007000070000700007000070000700
000800001203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
03 45424344