~afk/Pico8Carts

Pico8Carts/the-lost-night.p8 -rw-r--r-- 105.8 KiB
4509ba04Mario Carballo Zama spoopy: Candy count 6 months ago
                                                                                
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
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
pico-8 cartridge // http://www.pico-8.com
version 30
__lua__
-- the lost night
-- by afk & jp

-- flags
-- 00=wall
-- 01=interactive
-- 02=door enter
-- 03=door exit
-- 06=water
-- 07=fence

-- 7442
-- 6974

function _init()
	menuitem(1,"clear game", clear_save)
	-- menuitem(2,"toggle god",function()god=not god end)

--	god=true
	tscreen,
	last_shop,
	fadedir,
	fadespd=0,2492,true,0.0058

	debug,
	parts,
	c0ls,
	wind,
	world_baddies={},{},{},{},{}

	cartdata"the_lost_night"
	
	overworld=split"0,0,0,0,112,48"
--	overworld=split"0,0,0,0,16,16"
	
	battle_x,
	battle_y,
	battle_w,
	battle_h=19,78,90,47

	dirx=split"-1,1,0,0,1,1,-1,-1"
	diry=split"0,0,-1,1,-1,1,1,-1"
	
	drw_bigs=split2d[[
	31|96|16|22|-7
	%64|96|15|21|-6
	%47|96|17|21|-8
	%79|96|9|25|-5
	%88|96|07|23|-6
	%104|96|8|24|-8
	]]

	mapv,
	camv,
	shake=v2zero(),v2zero(),v2zero()

	-- [typ][hard]
	drones_hp_lvls=split2d[[
		1|1|1|3|3|3|5|5|5|5|5|5|7|7|7|7|7|7|9|9|9|9|9|9%
		1|1|1|3|3|3|4|4|5|5|6|6|7|7|8|8|9|9|10|10|11|11|12|12%
		1|1|1|3|3|3|4|4|5|5|6|6|7|7|8|8|9|9|10|10|11|11|12|12%
		1|5|5|5|5|7|7|7|7|7|7|10|10|10|10|10|10|10|16|16|16|16|24|24%
		1|1|1|2|2|2|3|3|3|3|3|3|4|4|4|4|5|5|5|5|6|6|6|6%
		1|1|1|9|9|9|9|9|9|9|9|9|9|9|9|9|9|9|9|9|9|9|20|20
	]]
	
	baddies_hp_lvls=split2d[[
		1|2|2|3|3|3|3|3|3|3|3|3|4|4|4|4|5|5|5|5|5|5|6|6%
	 1|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|6|6|6|6%
		1|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|5|6|6|6|6%
		1|5|5|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2|2%
		1|2|2|2|2|2|2|2|2|2|2|2|3|3|3|3|3|3|3|3|3|3|4|4%
		1|2|2|3|3|5|5|5|5|7|5|5|5|5|5|6|6|6|6|7|7|8|8|8
	]]

	acc_lvls=split".06,.075,.09,.15,.12"
	
	-- bullets attrib
	size_lvls=split"1,2,3,4"
	pwr_lvls=split"1,2,3,4,5"
	rate_lvls=split".04,.055,.065,.08,.1"
	spd_lvls=split"1,1.2,1.4,1.6,1.8"

	rooms_setup()

	start_title()
end

function _update60()
	tim=time()
	wave=sin(tim/2)/2.5
	coswave=cos(tim)*.2
	_upd()
	upd_wind()
	do_parts()
end

function _draw()
	_drw()

	clip()
	camera()
	
	drw_wind()
	fadein()
	
	-- dopal()
	for i=0,15 do
		pal(i,i+128,1)
	end
	pal(137,9,1)

	--★ 19 tokens
	clip()
	cursor(2,2)
	color(8)
	for txt in all(debug) do
		print(txt)
	end
end

function start_game()
	items_setup()
	unlocks_setup()
	load_game()
--	reload(0x2000,0x2000,0x1000)
	a_map,
	a_msg,
	a_room=overworld

	spwn_things()
	
	_drw,_upd=drw_game,upd_game
	
	music(-1,1000)
	fadeout()
	music(10)
end

function spwn_things(skip)
	markers={}
	local celx,cely,sx,sy,celw,celh=unpack(a_map)
	p_ini()
	
	for y=cely,celh+cely-1 do
		for x=celx,celw+celx-1 do
			local tile,is_interact=mget(x,y)
			local is_interact=fget(tile,1)
			local _x,_y=(x-celx)*8+sx,(y-cely)*8+sy
		
--			-- ★ 17
--			if tile==2 then
--				p_v=v2:new(_x,_y)
--				mset(x,y,0)
--			end

			if tile==119 then
				p_v=v2:new(_x,_y-4)
			end
			
			if is_interact then
				spwn_marker(_x,_y)
			end
		end
	end
	
	local entry
	
	if a_room then
		entry=split(a_room[2][5],"|")
	end
	
	if entry then
		local x,y=unpack(entry)
		p_v=v2:new(x*8,y*8)
	end
	
	do_map()
	camv=mapv*8
	do_camera()

	-- setups
	dog_ini()
	txt_setup()
	npc_setup()
	baddies_setup()
	if skip then return end
	check_spwn_baddies()
end


function start_room()
	world_baddies=baddies
	norm_p_pos(a_room)
	a_map=split(a_room[2][1],"|")
	old_p_v=p_v+0
	spwn_things()
	fadeout()
end

function save_game()
	local x,y=get_coords(last_shop)
	local stats={
		convert_coords(x,y+1),
		p_hp,
		candy,
		max_hp,
		acc_lvl,
		pwr_lvl,
		rate_lvl,
		size_lvl,
		spd_lvl
	}
	-- 1-9 levls
	-- 10-20 unlocks

	for i=1,#stats do
		dset(i-1,stats[i])
	end
	
	local i=10
	for unlock in all(unlocks) do
		dset(i,unlock)
		i+=1
	end
 
	local i=34
	for itm in all(items_sold) do
		dset(i,itm)
		i+=1
	end
end

function load_game()
	local coords=0
	local stats={
--  1 coords
		2492,
--  2 p_hp
		10,
--  3 candy
		45,
--  4 max_hp
		10,
--		5 acc_lvl
		1,
--		6 pwr_lvl
		1,
--		7 rate_lvl
		1,
--		8 size_lvl
		1,
--		9 spd_lvl
		1
	}
	
	for i=1,9 do
		local val=dget(i-1)
		if val != 0 then
			stats[i]=val
		end
	end
	
	coords,
	p_hp,
	candy,
	max_hp,
	acc_lvl,
	pwr_lvl,
	rate_lvl,
	size_lvl,
	spd_lvl=unpack(stats)

	local x,y=get_coords(coords)

	p_v=v2:new(x,y)
	p_v*=8


	for i=10,33 do
		local val=dget(i)
		if val != 0 then
			add(unlocks,val)
		end
	end
	
	items_sold={}
	for i=34,64 do
		local val=dget(i)
		if val != 0 then
			add(items_sold,val)
		end
	end
	
	for i in all(items_sold) do
		items[i][2][4]=true
	end
	
	hard=#unlocks+1
end

function clear_save()
	sfx"52"
	for i=0,64 do
		dset(i,0)
	end
end
-->8
-- setups

function txt_setup()
	texts={}

	final_msg=split[[wELCOME BACK MY CHILD.,
	,dID YOU ENJOY YOURSELF
	,AS ONE OF THEM?
	,...
	,cANDY?
	,sURE i'LL HAVE SOME.
	,
	,thanks for playing!
]]

	local coords=[[
		61|20|⌂ mY hOME.
		%60|23|aaghh!◆... SORRY. i◆MISTOOK YOU FOR A◆HORRIBLE CHILD.◆tAKE THESE.◆dON'T FOLOW ME.
		%53|27|hAVE YOU BEEN TO PEPE'S◆PLAZA? THERE IS A NICE◆LADY THAT MAKES◆AN EXCELENT EARTH SOUP!.

		%55|34|iF YOU GET KNOCKED OUT◆YOU'LL RETURN TO THE◆LAST VENDING MACHINE◆YOU USED.
		%62|38|pUMPKIN hOUSE lOOKOUT->
		%57|41|tHE PUMPKIN HOUSE IS◆SCARY,YOU CAN USE THE◆LOOKOUT TO APPRICIATE◆THE ARCHITECTURE THOUGH.
		%58|45|wATER.◆IF YOU CAN'T SWIM◆YOU CAN'T CROSS OVER

		%45|42|"pEPE pLAZA"◆A PLACE WHERE EVERYONE◆IS LATE.
		%40|41|i WAS LATE.◆SHE'S LATE TOO i GUESS.
		%42|35|tHEY SAY cHIPS CAN◆RAISE YOUR HEALTH◆PERMANENTLY.->
		%34|37|mY BOY CHUBS LOVED MY◆EARTH SOUP. hE WAS A◆WEIRD ONE.i REMEMBER◆HIM ON NIGHTS LIKE THIS◆hAVE SOME soup.	

		%39|24|iF YOU'RE NOT FEELIG◆GREAT GET SOME TEA AT A◆VENDING MACHINE.
		%36|29|tHE SNACKS IN VENDING◆MACHINES MAKE ME FEEL◆STRONGER AND FASTER.◆mOM DISAGREES
		%33|24|i'M TOO TIRED◆TO MOVE. gET ME◆SOME eARTH sOUP◆AND I'LL LET YOU PASS.
		%36|21|wHAT A GREAT CHICKEN!
		%38|19|cHICKENS FRIGHTEN ME.
		%43|26|iT'S LOCKED.◆tHE KEY-HOLE IS SHAPED◆LIKE A BONE.◆THERE'S A DOG ON◆THE OTHER SIDE!
		%43|23|bARK!◆yOU PET THE DOG

		%21|29|fIND MY DOG!

		%24|8|i HOPE TONIGHT◆THE GHOSTS WILL TAKE ME.
		%30|9|"fISHING IS◆NOT VERY FUN"◆◆tHAT'S A QUOTE FROM◆A BOOK I WAS READING.◆I LOST IT THO 😐
		%29|10|fROG RIVER ->

		%14|11|i FEEL SOMETHING'S OFF◆ABOUT YOU.
		%2|5|tHE GREAT PUMPKIN IS ANGRY.◆i CAN FEEL IT.
		%2|5|sOMEONE IS LOOKING FOR◆YOU.◆◆aRE YOU LOOKING BACK?
		%5|4|☉insight☉ CORNER.
		%5|1|a BOOK ABOUT FISHING◆◆eww!! IT'S WET.
		%6|14|a HORNED kEY◆WONDER WHO DROPPED IT?

		%34|1|yOU LOSE YOURSELF IN◆THE STAR PATTERNED◆BOOTS.
		%38|6|we'll be together◆again!♥
		%42|4|tHE BRIDGE COLLAPSED◆iM FINE ON THIS◆SIDE THO

		%23|35|a BOULDER IS IN YOUR WAY.◆MAYBE YOU CAN BLAST IT◆WITH EXPLOSIVES.
		%19|42|aN OLD FURNACE◆"tORTILLA kING"◆lOOKS A LITTLE OLD BUT◆IT SHOULD STILL WORK.◆
		%29|42|aS THE NIGHT PASSES◆THE SPIRITS GET◆STRONGER.
		%22|46|...hMM, mUSHROOMS.◆THE SMELL MAKES YOU◆DIZZY

		%9|19|i SAW A KEY◆UP THERE.
		%3|23|hAhAhA.◆tHAT'S sAD.
		%1|23|aND THEN lUISA SAID◆"lOU, I'M LEAVING YOU"

		%10|33|yO nERD!◆gOT SOME SHROOMS?
		%1|38|sMALLEST ONE.◆tAKE MY POWER.◆bE WEIGHTLESS
		%13|44|tHE COYOTE STATUE'S EYES◆SHINE.◆"A FEATHERED OFFERING"
		%7|42|aN OLD hORNED DOOR

		%79|1|wE USED TO DRAMA

		%89|3|i DON'T HAVE ILLEGAL◆FIREWORKS HIDDEN IN◆MY BACKYARD!

		%86|21|i LOVE SHOPPING!
		%82|22|wE USED TO DRAMA
		%89|28|yOU'RE DOING GREAT!◆◆wHA?  nO◆I'M TALKING TO MYSELF.

		%107|5|mAUSOLEUM

		%97|1|a pALOMA◆lIGHTING THIS SHOULD BE◆A blast!

		%110|43|wE NEVER RETURN◆FROM THE pUMPKIN hOUSE.

		%50|4|bOOK HOUSE

		%76|19|wEENIE RACE!◆EVERY DAY◆ IN PEPE PLAZA
		%74|30|yO! i'VE ALWAYS WANTED◆TO MAKE TORTILLAS◆BY HAND.◆i'D SET UP IN THE PLAZA,◆AND SLOWLY CREATE DEMAND◆AND BOOM!◆JACK-UP THE PRICE.◆HNNN... CAPITALISM♥
		%71|25|nEED CANDY REEEEAL BAD◆:SWEATS:
		%76|26|aN OLD RUSTED KEY.◆kINDA' LOOKS LIKE A◆SKULL.◆IT'S A sPOO KEY!
		%66|25|a bone SHAPED KEY.

		%99|28|i'M NOT SELLING CANDY
		%108|23|bEING CLOSER MAEKS◆TEH MIND SL...P AWY..
		%109|29|sPOOKY gATE

		%93|42|dO NOT LET FENCES STOP◆YOU, YOUNG ONE.
		%84|37|I..DON'T FEEL TOO GOOD,◆MY FEET ARE ROOTED TO◆THE EARTH
		%75|43|pUMPKIN HOUSE◆yOU MADE IT BACK◆COME IN
	]]
	
	if a_room then
		coords=a_room[2][2]
	end
	
	coords=split2d(coords)
	
	for t in all(coords) do
		local x,y,txt=unpack(t)
		add_interact(
			x,y,txt,
			texts
		)
		
		if not has_unlock(nil,convert_coords(x,y)) then
			spwn_marker(x*8,y*8)
		end
	end
end

function npc_setup()
	npcs={}
	npcs_i={}

	-- x,y,type,flip (default true)
	local coords=[[
		 53|27|1
		%60|23|5|
		%36|29|2|
		%39|24|8|
		%21|29|3|
		%33|24|04
		%34|37|05
		%57|41|1|
		%42|35|7
		%55|34|6
		%29|42|8|
		%40|41|1
		%24|8|2
		%10|33|03
		%30|09|6|
		%2|5|5
		%14|11|7|
		%9|19|1|
		%1|23|6
		%3|23|2|
		%38|19|5|
		%38|6|7
		%42|4|4|
		%99|28|4|
		%86|21|8
		%89|28|3
		%82|22|1
		%89|3|2|
		%71|25|6|
		%84|37|1|
		%110|43|3|
		%108|23|7|
		%22|46|022
		%13|44|024
		%36|21|023
		%5|1|021
		%7|42|016
		%6|14|017
		%1|38|010
		%23|35|027
		%19|42|031
		%74|30|07
		%76|26|029
		%109|29|028
		%93|42|012
		%97|1|030
		%66|25|026
		%43|23|018
		%43|26|025
		%34|1|019
		%79|1|8|
		%-7|12|011|
	]]
	
	if a_room then
		coords=a_room[2][3]
	end
	
	coords=split2d(coords)
	for c in all(coords) do
		npc_add(unpack(c))
	end
end


function rooms_setup()
	rooms={}
	-- x$y$room
	--  mapcoords
	--  texts
	--  npc
	--  spwn_points
	--  playercoords
	--  exit coords - optional
	local coords=[[
		60$18$
			112|0|24|24|10|10
			>
					7|9|uMM...◆wHY ARE YOU HERE?
				%10|5|wHY DO PEOPLE◆KEEP BARGING IN?◆I EVEN PUT UP A SIGN◆
				%12|7|"tHE ART OF ART"◆... OK
			>
					7|9|1
				%10|5|4|false
				%7|8|14
				%10|8|14|false
				%9|8|13
				%5|4|15
				%12|7|15
	<60$30$
			123|0|45|25|5|10
			>
				9|6|tHAT GUY...◆gIVES ME THE CREEPS
				%6|6|pEOPLE THINK IM CREEPY◆😐
			>
				9|6|2|false
				%6|6|4
			>
				8|5|5|0|0
	<55$27$
			112|10|0|40|16|6
			>
				13|7|tHANKS FOR COMING!◆... NOW LEAVE.
			>
				13|7|7|false
				%4|8|13
				%8|8|13
				%12|6|14|true
			>
				10|7|5|0|1
	<42$27$
			112|0|24|24|10|10
			>
				10|5|wHERE DID ALL OUR◆FURNNITURE GO?
			 %7|8|mY TEACHER SAYS GHOSTS◆AREN'T REAL.◆bUT I'VE SEEN SOME SHIT.◆😐
			>
				10|5|7|false
				%7|8|3
				
	<36$23$
			112|24|8|32|15|8
			>
				14|7|tHE TOWN◆WAS BUILT AROUND THE◆OLD pUMPKIN HOUSE.◆gIVEN THAT NAME BECAUSE◆ONCE A YEAR, STRANGE◆PUMPKINS WITH FACES◆GROW AROUND IT.
				%4|8|i FEEL WEIRD PRESENCES◆WHEN I'M OUTSIDE.
			>
				14|7|6|false
				%4|8|1
				%15|11|20
	<45$33$
			118|16|24|40|10|7
			>
				8|7|sHE THINKS SPIRITS◆PASS THROUGH THE TOWN◆DRESSED AS CHILDERN◆ON NIGHTS LIKE THIS. 
				%6|7|i WAS TEN WHEN I CROSSED◆THE RIVER, JUMPED THE◆FENCE, AND PEEKED◆INTO pUMPKIN HOUSE.
			>
				8|7|6|
				%6|7|7
	<35$42$
			113|32|8|0|14|16
			>
				6|7|fEELING PRESSURE◆IN THE ROOM.◆
			>
				6|7|3
				%3|4|20
				%4|4|20
				%5|4|20
				%6|4|20
				%7|4|20
				%8|4|20
				%9|4|20
				%10|4|20
				%11|4|20
				
				%2|11|20
			 %3|11|20
				%4|11|20
				%5|11|20
				%6|11|20
				%8|11|20
				%9|11|20
				%10|11|20
				%11|11|20
				%7|11|15
			>
			8|12|5|0|1
				%5|9|1|1◆0◆2|.6
				%12|3|1◆5|8◆0◆2|.5
				%12|2|2|2|1
			>
				2|14
			>
				4|1|36|39
	<37$39$
			113|32|8|0|14|16
			>
				14|10|tHE HOUSE FEELS◆DIFFERENT
		 >
		  14|10|3|
				%3|4|20
				%4|4|20
				%5|4|20
				%6|4|20
				%7|4|20
				%8|4|20
				%9|4|20
				%10|4|20
				%11|4|20
				
				%2|11|20
			 %3|11|20
				%4|11|20
				%5|11|20
				%6|11|20
				%8|11|20
				%9|11|20
				%10|11|20
				%11|11|20
				%7|11|15
			>
				8|1|1|0|0
			>
				4|2
			>
				2|15|35|42
	<55$40$
			112|16|45|35|5|8
			>
				8|6|oNLY THE WIND LIVES HERE.
			>
				8|6|13
				%6|9|14
				%9|9|14|true
			>
				8|7|1|0|1
				
	<22$23$
			112|16|45|35|5|8
			>
				7|8|i SAW A DOG-PERSON◆ROAMING THE WASTELANDS.
			>
				8|6|13
				%7|6|13
				%7|8|2
	<18$20$
			112|16|45|35|5|8
			>
				9|6|wHEN i WAS A LAD◆kIDS WOULD SOMETIMES◆DISSAPPEAR.◆tHAT'S WHY i'VE NEVER◆LEFT THIS HOUSE.◆sORRY ABOUT THE SMELL.
			>
				8|8|15
				%9|8|15
				%9|6|4|true
	<28$19$
			118|16|24|40|10|7
			>
				4|7|oUR FAMILY sTOPPED◆A DINER ROBBERY ONCE.◆a WHOMPING BUFFET◆IF YOU WILL.
			>
				4|7|6
				%6|9|20
				%6|8|20
    %8|8|14
	<25$7$
			123|0|43|25|5|10
			>
				9|7|bORK!bORK!◆(fINALLY MY OWN PLACE.)◆
			>
				9|7|18
	<2$2$
			118|16|24|40|10|7
			>
				9|7|gETTING A TASTE OF LIFE?
			>
				9|7|24
				%8|8|27
				%9|9|27
	<0$28$
			112|16|45|35|5|8
			>
				7|6|gOT MY BUTT KICKED◆AT A BUFFET...◆tWICE.
			>
				7|6|4
	<41$0$
			112|0|24|24|10|10
			>
				10|4|fROG RIVER?◆mORE LIKE ROCK RIVER◆◆aM i RIGHT?
			>
				10|4|5|
			>
				7|6|4|0|1
	<68$22$
			112|24|8|32|15|8
			>
				13|8|mY TWIN WENT THERE◆SAYING "HE" WAS CALLING◆
			>
				13|8|1|

	<109$5$
			112|0|24|24|10|10
			>
				8|8|sAVE US?
			>
				8|8|22
				%6|10|6
				%10|10|5|
	<82$26$
			112|10|0|40|16|6
			>
				8|8|LLEGAS AL FINAL◆Y DESPUES QUE?
			>
				9|8|23
	<1$42$
			113|32|8|0|14|16
			>
				5|6|yOU SMELL LIKE◆MUSHROOMS
			>
				2|6|24|
				%5|6|24
				%6|6|20
				%7|6|20
				%8|6|20
				%9|6|20
				%10|6|20
				%11|6|20
				%12|6|20
				%2|11|20
				%3|11|20
				%4|11|20
				%5|11|20
				%6|11|20
			>
				8|8|2◆1◆4◆3|7◆4◆6◆8◆3◆5|1
			>
				2|14
			>
				4|1|4|38
	<4$38$
			113|32|8|0|14|16
			>
				5|6|yOU STILL SMELL LIKE◆MUSHROOMS
			>
				2|6|24|
				%5|6|24
				%6|6|20
				%7|6|20
				%8|6|20
				%9|6|20
				%10|6|20
				%11|6|20
				%12|6|20

				%2|11|20
				%3|11|20
				%4|11|20
				%5|11|20
				%6|11|20
			>
  		8|12|2|0|0
			>
				4|2
			>
				2|15|1|42
<9$30$
			113|32|8|0|14|16
			>
				11|3|dON'T MIND ME◆I'M JUST CHILLIN
			>
				2|7|20
				%4|8|20
				%6|7|20
				%8|8|20
				%10|7|20
				%12|8|20
				%4|4|20
				%7|11|20
				
				%11|3|23
			>
  		8|12|2|0|0
			>
				2|14
			>
				4|1|7|27
<7$27$
			113|32|8|0|14|16
			>
				11|3|jESUS! GET GOING◆WILL YA?
			>
				2|7|20
				%4|8|20
				%6|7|20
				%8|8|20
				%10|7|20
				%12|8|20
				%4|4|20
				%7|11|20
				
				%11|3|23
			>
  		8|12|2|0|0
			>
				4|2
			>
				2|15|9|30
				
<62$45$
			112|24|8|32|15|8
			>
				3|6|tHIS IS THE PATH◆OF MOBILITY, LITTLE ONE
			>
			 12|11|20
				%12|10|20
				%12|9|20
				%12|8|20
				%12|7|20


				%6|7|20
				%5|8|20
				%3|6|9

				%3|10|20
			>
  		8|12|2|0|0
			>
				15|10
			>
				2|11|36|0
<36$0$
			112|24|8|32|15|8
			>
				0|0|
			>
			 12|11|20
				%12|10|20
				%12|9|20
				%12|8|20
				%12|7|20
				
				
				%6|7|20
				%5|8|20
				
				%3|10|20
			>
  		8|12|2|0|0
			>
				2|10
			>
				15|11|62|45

<51$3$
			113|32|8|0|14|16
			>
				6|2|bOOKS?◆wE GOT 'EM
			>
				6|2|5|
				%6|3|13
				%4|4|15
				%4|6|15
				%4|8|15
				%4|10|15
			
				%8|4|15
				%8|6|15
				%8|8|15
				%8|10|15
			
			 %12|4|15
				%12|6|15
				%12|8|15
				%12|10|15
			>
				8|12|2◆4|0◆1◆2◆3|1
			>
				4|2
			>
				2|15|54|9
<54$9$
				113|32|8|0|14|16
			>
				6|2|bOOKS?◆wE GOT 'EM
			>
				6|2|5|
				%6|3|13
				%4|4|15
				%4|6|15
				%4|8|15
				%4|10|15
			
				%8|4|15
				%8|6|15
				%8|8|15
				%8|10|15

				%12|4|15
				%12|6|15
				%12|8|15
				%12|10|15
			>
				8|12|2|0|0
			>
				2|14
			>
				4|1|51|3

<84$22$
			113|32|8|0|14|16
			>
				0|0|
			>
				2|9|20
				%3|9|20
				%4|9|20
				%5|9|20
				%6|9|20
				%7|9|20
				%8|9|20
				%9|9|20
				%10|9|20
			>
				8|12|2|0|0
			>
				4|2
			>
				2|15|94|30
<94$30$
			113|32|8|0|14|16
			>
				0|0|
			>
				2|9|20
				%3|9|20
				%4|9|20
				%5|9|20
				%6|9|20
				%7|9|20
				%8|9|20
				%9|9|20
				%10|9|20
			>
  		8|12|2|0|0
			>
				2|14
			>
				4|1|84|22
<105$41$
			112|24|8|32|15|8
			>
				0|0|
			>
				4|9|27
			>
  		0|0|0|0|0
			>
				15|10
			>
				2|11|93|37
<93$37$
			112|24|8|32|15|8
			>
				0|0|
			>
				4|9|27
			>
  		0|0|0|0|0	
			>
				2|10
			>
				15|11|105|41
<22$39$
			112|24|8|32|15|8
			>
				0|0|0
			>
				3|7|22
				%5|8|22|
				%12|9|22
			>
  		5|6|4|0|1
			>
				15|10
			>
				2|11|18|39
<18$39$
 	112|24|8|32|15|8
			>
				0|0|0
			>
				3|7|22
				%5|8|22|
				%12|9|22
			>
			0|0|0|0|0
			>
				2|10
			>
				15|11|22|39
<73$41$
			113|32|8|0|14|16
			>
				4|3|yOU'RE BACK◆LET'S GO HOME.
			>
				4|3|11
		
				%3|6|20
				%4|6|20
				%5|6|20
				%6|6|20
				%7|6|20
				%8|6|20
				%9|6|20
				
				
    %8|4|20
    %8|3|20
    %8|2|20
    
    %8|9|13
    
				
				%5|11|20
				%4|11|20
				%3|11|20
				%2|11|20
				
				%11|11|20
				%12|11|20
				%13|11|20
				%14|11|20
				%10|11|15
				%6|11|15
			>
				10|4|6|0◆3◆4|1
				%8|11|1◆2◆3◆4◆5◆6|0◆2◆3◆4◆5◆6|1
			>
				2|14
			>
				4|1|-10|12
	]]
			
	for c in all(split(coords,"<")) do
		local x,y,room=unpack(split(c,"$"))
		add_room(
			x,y,room
		)
	end
end

function unlocks_setup()
	unlocks={}
	locks={}

	--x|y|id|msg|requirement
	local coords=split2d[[
		60|23|gramps◆yOU GOT 45 SWEETS!%
		34|1|dash◆dASH BY PRESSING 🅾️%
		01|38|water◆wALK ON WATER%
		93|42|fence◆pASS THROUGH THIN FENCES%
		43|23|dog◆tHEY FOLOW YOU NOW%
		34|37|key1◆yOU GOT EARTH SOUP%
		33|24|gate1◆THE GUY FADED. WTF?◆key1%
		22|46|key2◆yOU GOT MUSHROOMS%
		10|33|gate2◆i'M GONNA TRIP◆key2%
		66|25|key4◆gOT BONE KEY%
		43|26|gate4◆cLOSER TO DOG◆key4%
		97|01|key5◆GOT AN EXPLOSIVE%
		23|35|gate5◆bOOM!◆key5%
		19|42|key6◆fURNACE ACQUIRED%
		74|30|gate6◆hEHE I''LL BE RICH◆key6%
		76|26|key7◆GOT THE SKULL KEY%
	109|29|gate7◆tHE JAW UNHINGES◆key7%
		06|14|key9◆gOT THE HORNED KEY%
		07|42|gate9◆iT CLICKS OPEN◆key9%
		36|21|key10◆yOU GOT A CHICKEN%
		13|44|gate10◆tHE STATUE CRUMBLES◆key10%
		05|01|key11◆gOT A WET BOOK%
		30|09|gate11◆tHANKS! yOU FOUND IT◆key11]]

	for t in all(coords) do
		local x,y,id=unpack(t)
		add_interact(
			x,y,id,
			locks
		)
	end
end

function baddies_setup()
	spwn_points={}
	-- x|y|typs|locs|ratio
	local coords=[[
			38|28|5|0|.9
			%37|29|1◆5|0◆3◆2|.1
			%59|37|1◆5|0◆2|0.8
			%43|42|1◆5|0◆2◆1◆3◆4|.4
			%51|41|1◆5|0◆3|.7
			%24|26|1◆5◆2|0◆1◆2◆3◆4|.5
			%27|38|1◆2|0◆2◆4|.9
			%20|9|1◆2◆5|0◆2◆1◆3◆5|.8
			%28|6|1◆2◆5|0|.9
			%6|3|1◆2|0◆3|1
			%13|8|5◆2|0◆1◆3|.9
			%6|17|3|0◆2|1
			%13|23|1◆2◆3◆5|0◆1◆5|.3
			%4|27|2|0◆4◆6◆7|.3
			%13|39|1◆3|0◆7|.6
			%5|35|2◆5|0◆6|.6
			%6|46|4|0|.5
			%23|43|4◆3|0◆2|.7
			%40|12|1◆2◆5|0◆4◆1|.5
			%51|18|5|0◆1◆2|.9
			%59|7|4|0◆7|1
			%40|17|1|0|1
			%65|5|3|0|1
			%74|10|1◆2◆3◆4◆5|0◆3◆4◆8◆1◆7|.8
			%70|19|2◆4|0◆2|.9
			%68|26|1◆2◆3◆4◆5|0◆2◆4◆6|.8
			%88|5|1◆2◆3◆4◆5|0|1
			%99|19|4|0|1
			%102|1|1◆3◆4|0◆7◆6|.8
			%102|11|5◆2|0◆6◆4|.6
			%107|25|1◆2◆3◆4◆5|0◆4◆7|.7
			%87|43|4◆1◆3|0◆1◆2|1
			%85|45|4◆2◆5|0◆1◆2◆4◆3|1
			%109|39|4◆5◆2|0◆4◆3◆2|1
			%73|39|6|0|1
			%44|10|1◆5|0◆2|.8
	]]

	if a_room then
		coords=a_room[2][4]
	end
	
	
	coords=split2d(coords)
	-- ∧disable baddies
-- coords=nil
	for spwn in all(coords) do
		add_spwn_point(unpack(spwn))
	end
end

function items_setup()
	items={}
	-- text◆price◆sprite
	local items_string=[[hp tea◆1◆63
		,chips◆10◆62
		,soda◆10◆61
		,bacon◆10◆60
		,tkyk◆15◆59
		,pizza◆15◆58
		,pop◆20◆57
	]]
	
	items_og=split(items_string)
	
	-- x,y,item
	local coords=split2d[[
		45|36|2
		%20|1|2
		%101|37|2
		%99|24|2
		%80|01|2
		%56|36|3
		%06|19|3
		%80|36|3
		%52|21|3
		%33|28|4
		%19|44|4
		%87|27|4
		%65|45|4
		%27|20|5
		%51|10|5
		%20|39|5
		%110|18|5
		%26|43|6
		%97|08|6
		%107|44|6
		%78|26|6
		%36|38|7
		%27|02|7
		%32|38|7
	]]
	
	for c in all(coords) do
		local x,y,i=unpack(c)
		add_interact(
			x,y,items_og[i],
			items
		)
	end
end


-->8
--screens

function start_title()
	fadeperc=.5
	start_stars()
	_upd=upd_title
	_drw=drw_title
	music(13)
end

function upd_title()
	if btnp(❎) then
		start_game()
	end
end

function drw_title()
	cls()
	drw_stars()
	local x=25
	local y=30
	circfill(x+38,y+23+blink(),30,13)
	sspr(0,96,31,24,x,y+blink(),62,48)
	
	y+=66

	local txt="❎start game"
	x=hcntr(txt)
	
	print(txt,x-4,y,14)
	
	drw_txts("an rpg by,@eljovenpaul,@afk_mario",y+10,13)
end

function start_gover()
	_drw=drw_gover
	_upd=upd_gover
	
	start_stars()

	music(-1,1000)
	fadeout()
	music(8,100)
end

function upd_gover()
	if btnp(❎) or btnp(🅾️) then
		start_title()
	end
end

function drw_gover()
	drw_stars()
	
	drw_txts(
		"game over,press ❎ to continue",
		60+blink(),
		14
	)
end

function upd_game()
	do_map()
	p_interact()
	if not a_msg then
		p_mov()
		upd_dog()
		upd_baddies()
	end
end

function drw_game()
	cls()
	do_camera()
	
	if not a_room then
		rect(mapmin.x,mapmin.y+4,mapmax.x+1,mapmax.y+5,14)
	end
	
	
	map(unpack(a_map))
	drw_parts()
	drw_npcs()
	drw_dog()
	drw_player()

	drw_baddies()
	
	do_markers()
end

function upd_camera()
	local b = mapv*8
	local c = camv-b

	if c:mag() > 1 then
		camv-=c:norm()*8
		camera(camv.x,camv.y)
	else
--		add(debug,camv.x)
--		add(debug,mapv.x)
		check_spwn_baddies()
		camv=b
		_upd=upd_game
		camera(camv.x,camv.y)
	end
end

function do_camera()
	camv+=shake
	camera(camv.x,camv.y)
end

function do_map(force)
	local celx,
		cely,
		sx,
		sy,
		celw,
		celh=unpack(a_map)
	local old=mapv
	mapmin=v2:new(sx,sy-4)
	mapmax=v2:new(sx+celw*8-2,sy+celh*8-6)

	local x,y=(p_v.x+4)\8,(p_v.y+4)\8

	x=x\16
	y=y\16
	
	x*=16
	y*=16
	
	mapv=v2:new(x,y)

	if old != mapv then
		if not a_room and not force then
			_upd=upd_camera
		end
	end
end

function start_shop()
	_drw=drw_shop
	_upd=upd_shop
	sfx"52"
	
	start_stars()

	shop_i=0
	shop_shake=0
	
	norm_p_pos(a_item)
	
	last_shop=a_item[1]
	local itm={-1,split(items_og[1],"◆")}

	shop_items={itm,a_item}
	music(-1,1000)
	fadeout()
	music(8,100)
end

function upd_shop()
  if btnp(⬆️) then shop_i-=1 end
	if btnp(⬇️) then shop_i+=1 end
	
	shop_i=shop_i%3

	shop_shake=max(0,shop_shake-.125)

	if btnp(❎) then
		if shop_i<#shop_items then
			local item=shop_items[shop_i+1]
			local txt,price,s,sold=unpack(item[2])

			if
				sold or
				price>candy 
			then
				shop_shake+=1
				sfx"53"
				show_msg(sold and "sold out" or "not enough candy",30)
				return
			end

			if s == 63 then
				p_hp=min(p_hp+5,max_hp)
			elseif s== 62 then
				max_hp+=3
				p_hp=max_hp
			elseif s==61 then
				rate_lvl+=1
			elseif s==60 then
				spd_lvl+=1
			elseif s==59 then
				acc_lvl+=1
			elseif s==58 then
				pwr_lvl+=1
			elseif s==57 then
				size_lvl+=1
			end
			
			candy-=price
			item[2][4]=true
			sfx"52"
			if item[1] != -1 then
				add(items_sold,item[1])
			end
		else
			a_item=nil
			sfx"52"
			music(-1,1000)
			fadeout()
			music"10"
			save_game()
			_upd=upd_game
			_drw=drw_game
		end 
	end
	shop_items[1][2][4]=p_hp==max_hp
end

function drw_shop()
	local x,y,w,h=28,20
	y+=blink()
	x-=(2-rnd"4"*shop_shake)
	
	drw_stars()
	drw_stats(x+30,y-6,52,66)
	drw_items(x,y+62,80)

	-- machine
	local _x,_y=x-2,y+26
	spr(206,_x,_y,2,4)
	spr(206,_x+8,_y,2,4,true)
	
	_x+=1
	_y-=10
	-- candy count
	win(_x,_y,22,9,14)
	spr(5,_x+2,_y+2,2,1)
	print(digits2(candy),_x+13,_y+2)
end

function drw_stats(x,y,w,h)
	local s=0

	if shop_i<#shop_items then
		s=shop_items[shop_i+1][2][3]
	end

	win(x,y-3,w,h,14)
		
	x+=13
	print("YOU",x,y,13)
	y+=7

	stats={
		{"hp:"..p_hp.."/"..max_hp,63},
		{"maxhp:"..max_hp,62},
		{"move:"..acc_lvl,59}
	}
	
	for stt in all(stats) do
		drw_stat(x,y,s,unpack(stt))
		y+=6
	end

	y+=4

	print("ATTACK",x,y,13)
	
	y+=7
	
	local stats={
		{"size:"..size_lvl,57},
		{"power:"..pwr_lvl,58},
		{"rate:"..rate_lvl,61},
		{"speed:"..spd_lvl,60}
	}
	
	for stt in all(stats) do
		drw_stat(x,y,s,unpack(stt))
		y+=6
	end
end

function drw_stat(x,y,s,txt,ss)
	local c=s==ss and 7 or 6
		print(txt,x,y,c)
		local pls=s==63 and "+5" or "+1"
		if c==7  then
			print(pls,x-9,y)
		end
end

function drw_items(x,y,w)
	for i=1,#shop_items do
		local c=i-1==shop_i and 15 or 6
		local bc=i-1==shop_i and 7 or 14
		local item=shop_items[i]
		local txt,price,s,sold=unpack(item[2])
		
		win(x-2,y-3,w+4,12,bc)
		spr(s,x,y-1)
		print(txt,x+10,y+1,c)
		local txt=sold and "out" or "buy"

		print(txt,x+w-12,y+1,c)
		
		if not sold then
			c=i-1==shop_i and 15 or 14
			spr(5,x+w-32,y+1,2,1)
			print(digits2(price),x+w-22,y+1,c)
		end
		
		local s=item.s
		s=63
		local _x=x+26
		y+=13
	end
	
	local c=2==shop_i and 15 or 6
	local bc=2==shop_i and 7 or 14
	x=x+w-18
	win(x,y-2,19,9,bc)
	print("exit",x+2,y,c)
end

function drw_txts(txts,y,c)
	local lns=split(txts)
	for txt in all(lns) do
		x=hcntr(txt)
		oprint8(txt,x,y,c)
		y+=6
	end
end

-->8
-- player

function p_ini()
	crnr_size=v2:new(3,3)
	p_of=v2:new(1,5)
	p_size=v2:new(4,4)
	p_d=v2zero()
	p_dsh=v2zero()
end

function p_interact()
	local col_v=p_v+p_of
		
	if point_vs_map(col_v,2) then
		a_room=check_interact(rooms)
		if a_room then start_room() end
	end
	
	-- exit room
	if point_vs_map(col_v,3) then
		local cx,
			cy,
			exit,
			go_back=col_v.x\8,
			col_v.y\8,
			a_room[2][6],true
	
		if exit then
			exit=split2d(exit)
			for itm in all(exit) do
				local x1,y1,x2,y2=unpack(itm)
				if x1 == cx and y1 == cy then
					p_v=v2:new(x2*8,y2*8+4)
					go_back=false
					if x2<0 then
						p_v.y-=2
						music(-1,1000)
						add_wind(
							12,
							12,
							105,
							#final_msg*7+6,
							final_msg
						)
					end
				end
			end
		end
		
		if go_back then
			p_v=old_p_v
		end
		
		p_d=v2zero()
		p_dsh=v2zero()
	
		a_room=nil
		a_map=overworld
		do_map(true)
		
		spwn_things()
		
		-- if the char is going back
		-- to the overworld where 
		-- they came from
		-- don't respawn the baddies
		-- but use the old ones
		if go_back then
			baddies=world_baddies
		end
	
		fadeout()
	end

	if btnp(❎) then
		if a_msg then
			a_msg.dur=15
			a_msg.onend=save_unlock
			a_msg=nil
			sfx"60"
		else
			local txt=check_interact(texts)
			if txt then
				talk(txt[2])
				sfx"61"
				return
			end

			a_item=check_interact(items)
			
			if a_item then  return start_shop() end
		end
	end
end

function check_interact(arr)
	local x,y=(p_v.x+4)\8,(p_v.y+4)\8
	local o=get_interact(x,y,arr)
	
	if o then return o end
	
	for i=1,8 do
		local _x=x+dirx[i]
		local _y=y+diry[i]
		o=get_interact(_x,_y,arr)
		if o then return o end
	end
end

function p_mov()
	local is_dsh=p_dsh:mag()>0
	local n=v2zero()
	local ix,
	iy,
	acc,
	frc,
	dsh_spd,
	dsh_frc=0,0,.085,.815,1.2,0.95
	
	local jp=sin(tim*3)*.04
	
	if btn(➡️) then
		ix+=1
		p_fx=false
		p_fy=false
	end
	
	if btn(⬅️) then
		ix-=1
		p_fx=true
		p_fy=false
	end
	
	if btn(⬆️) then
		iy-=1
		p_fy=true
	end
	
	if btn(⬇️) then
		iy+=1
		p_fy=false
	end

	if ix*iy !=0 then
		ix*=0.707
		iy*=0.707
	end
	
	-- dash btn
	if 
		btnp(🅾️) and 
		not is_dsh and
		has_unlock"dash"
	then
		p_dsh.x+=ix*dsh_spd
		p_dsh.y+=iy*dsh_spd
		sfx"62"
	end
	
	p_d.x += ix*acc
	p_d.y += iy*acc
	
	p_d.x -= ix*jp
	p_d.y -= iy*jp
	
	if is_col_obj({
		v=p_v,
		size=p_size,
		of=p_of
		},baddies)
	then 
			return start_battle()
	end

	local res=do_collisions(p_v,p_d,p_dsh,p_size,p_of)
	p_v=res.v

	p_v+=p_d+p_dsh
	p_d*=frc
	p_dsh*=dsh_frc
	
	if abs(p_dsh.x)<.2 then p_dsh.x=0 end
	if abs(p_dsh.y)<.2 then p_dsh.y=0 end
	
	if abs(p_d.x)<.02 then p_d.x=0 end
	if abs(p_d.y)<.02 then p_d.y=0 end
	
	-- walk juice
	if
		p_d:mag() != 0 and
		tim*100%1 == 0 and
		p_dsh:mag() == 0
	then
		sfx"63"
		spwn_dust(p_v.x,p_v.y)
	end
	
	-- dash juice
	if 
		p_dsh:mag() > .5 and
		flr(tim*20)%2==0
	then
		spwn_dash_dust(p_v.x,p_v.y,p_d.x,p_d.y)
	end
end

function drw_player()
	local s = p_fy and 3 or 2
	local x,y=p_v.x,p_v.y

	-- body
	local bx,by,hx,hy=x,y,x,y
	
	--candy
	local cx,cy=bx+5,by+6
	
	if p_fx then 
		cx=bx-1
		bx+=2
		hx-=1
	end
	
	local osc=cos(tim*3)
	
	-- idle
	if p_d:mag()==0 then
		hy+=min(0,sin(tim*.9))+1.2
	end
	
	-- vertical movement
	if 
		abs(p_d.y) > 0 and
		p_d.x ==0
	then
		hy+=min(.2,osc)+1
	end
	
	-- horizontal movement
	if abs(p_d.x) > 0 then
		hy+=1
		hx+=min(.2,osc)+1
	end
	
	local body={24,8,5,3,bx,by+7,5,3,p_fx}
	local head={s,hx,hy,1,1,p_fx}
	
	osspr(unpack(body))
	ospr(unpack(head))
	sspr(unpack(body))
	sspr(40,8,3,4,cx,cy)
	spr(unpack(head))
end


function do_collisions(v,d,dsh,size,of)
	local w,h=size.x,size.y
	local nx=v.x+d.x+dsh.x
	local ny=v.y+d.y+dsh.y
	local n=v2:new(nx,ny)

	local col_n=n+of
	local col_a=n+of-1
	local col_b=n+of
	col_b.y-=1
	col_b.x+=2
	local col_c=n+of+2
	local col_d=n+of
	col_d.y+=2
	col_d.x-=1
	
	-- if there is no collision then just return
	if not is_solid(n,size,of) then return {v=v,d=d,dsh=dsh} end

	local crnr=crrct_crnrs(
		d,
		col_a,col_b,col_c,col_d
	)
	
	if crnr > 0 then
		v.x+=dirx[crnr]*.3
		v.y+=diry[crnr]*.3
	else
		if is_solid(
			v2:new(nx,v.y),
			size,
			of
		) then
			d.x *= 0
			dsh.x *= -1
		end
		
		if is_solid(
			v2:new(v.x,ny),
			size,
			of
		) then
			d.y *= 0
			dsh.y *= -1
		end
	end
	
	return {v=v,d=d,dsh=dsh}
end

function crrct_crnrs(
	p_dir,a,b,c,d
)
	
	local dx=p_dir.x
	local dy=p_dir.y
	local cols={}
	
	local _a=is_solid(a,crnr_size)
	local _b=is_solid(b,crnr_size)
	local _c=is_solid(c,crnr_size)
	local _d=is_solid(d,crnr_size)
	
	add(cols,_a)
	add(cols,_b)
	add(cols,_c)
	add(cols,_d)
	
	local cnt=0
	for c in all(cols) do
		if c then cnt+=1 end
		if cnt>1 then return 0 end
	end
	
	-- moving up
	if dy < 0 then
		if _a then return 2 end
		if _b then return 1 end
	end
	
	-- moving right
	if dx > 0 then
		if _b then return 4 end
		if _c then return 3 end
	end
	
	-- moving down
	if dy > 0 then
		if _c then return 1 end
		if _d then return 2 end
	end
	
	-- moving left
	if dx < 0 then
		if _a then return 4 end
		if _d then return 3 end
	end
	
	return 0
end

function dog_ini()
	p_pos={}
	dog_rate=0
	dog_rate_t=0
	dog_v=p_v
	dog_f=false
end

function upd_dog()
	if not has_unlock"dog" then return end
	dog_rate_t=max(0,dog_rate_t-.1)
	
	if
		p_v != p_pos[#p_pos] and
		dog_rate_t == 0 
	then
		dog_rate_t=1
		add(p_pos,p_v)
	end
	
	local a=dog_v
	local b=p_pos[1]
	
	
	if b then
		local c=b-a
		if c:mag() > 10 then
			dog_f=b.x>a.x
			dog_v+=c:norm()*0.5
			if tim*100%20 == 0 then
				spwn_dust(v.x+4,v.y-3)
			end
		else
			del(p_pos,b)
		end
	end
end

function drw_dog()
	if not has_unlock"dog" then return end
	local s=get_frame({40,41})
	local x,y=dog_v.x,dog_v.y+blink()
	
	ospr(s,x,y,1,1,dog_f)
	spr(s,x,y,1,1,dog_f)
end

function norm_p_pos(int)
	local coords=int[1]
	local x,y=get_coords(coords)
	p_v=v2:new(x*8,((y)*8)+4)
	p_d=v2zero()
	p_dsh=v2zero()
end
-->8
-- npcs

function npc_add(x,y,typ,fx)
	if has_unlock(nil,convert_coords(x,y)) then return end
	local faces=split"48,49,50,53,27,28,29,30,7,8,23,24,121,122,126,56,55,40,20,90,9,10,240,241,242,243,249,246,247,248,244"

	local bodies=split2d[[
		24|24|6|4
		%24|28|6|4
		%32|24|6|4
		%32|28|6|4
		%80|8|6|4
		%80|12|6|4
		%24|24|6|4
		%32|24|6|4
		%56|16|5|5
		%56|16|5|5
		%56|16|5|5
		%56|16|5|5
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
		%100|32|1|1
	]]
	
	
	local npc={
		v=v2:new(x,y),
		fx=fx,
		face=faces[typ],
		body=bodies[typ],
		t=rnd()*10,
		typ=typ
	}
	
	local coords=convert_coords(x,y)
	
	add(npcs_i,coords)
	npcs[coords]=npc
end

function drw_npcs()
	for i in all(npcs_i) do
		local n=npcs[i]
		local v,
			face,
			body,
			typ,
			t,
			fx=n.v*8,
			n.face,
			n.body,
			n.typ,
			n.t,
			n.fx
		local x,y=v.x,v.y
		local sx,sy,sw,sh=unpack(body)
		local hy=y
		if typ<13 then
		 hy+=min(0,sin((tim+t)*.8))+1.2
	 end
		osspr(sx,sy,sw,sh,x+1,y+7,sw,sh,fx)
		ospr(face,x,hy,1,1,fx)
		sspr(sx,sy,sw,sh,x+1,y+7,sw,sh,fx)
		spr(face,x,hy,1,1,fx)
	end
end

-->8
-- baddies

function add_spwn_point(
	x,
	y,
	typ,
	locs,
	prob
)

	local point = {
		x=x,
		y=y,
		typ=split(typ,"◆"),
		locs=split(locs,"◆"),
		prob=prob
	}
	add(spwn_points,point)
	return point
end

function check_spwn_baddies()
	local mapx,mapy=mapv.x,mapv.y
	
	baddies={}
	
	for pnt in all(spwn_points) do
		local x,y,typ=pnt.x,pnt.y,pnt.typ
		local locs,prob=pnt.locs,pnt.prob
		local inside=point_box(
			x,y,mapx,mapy,mapx+16,mapy+16
		)

		if inside then
			for loc in all(locs) do
				if rnd() < prob then
					if loc == 0 then
						spwn_baddie(x*8,y*8,rnd(typ))
					else
						local _x,_y=x+dirx[loc],y+diry[loc]
						spwn_baddie(_x*8,_y*8,rnd(typ))
					end
				end
			end
		end
	end
end

function spwn_baddie(x,y,typ,mn,mx)
	local faces=split"17,1,35,36,16,23"
	local bodies=split"32,22,34,37,54,22"
	local smlls=split"11,13,14,15,12,253"
	local names=split"cHUBS,kUNKY,gUPSY,lUISA,sPOOP,bOSS"
	
	local candies=split"2,2,2,2,2,3"
	-- rate in which the big
	-- baddies spwn drones
	local rates=split".006,.005,.008,.007,.006,.008"
	
	-- ammount of drones a big
	-- baddie can spwn
	local counts=split"2,2,2,2,2,2"
	local mxhp=baddies_hp_lvls[typ][hard]
	local b={
		v=v2:new(x,y),
		d=v2zero(),
		dsh=v2zero(),
		of=v2:new(1,6),
		size=v2:new(4,4),
		fx=rnd()>0.5,
		face=faces[typ],
		body=bodies[typ],
		upd=upd_baddie,
		wait=0,
		stuck=0,
		trgt=v2:new(x,y),
		t=rnd()*10,
		r=30,
		big=drw_bigs[typ],
		smll=smlls[typ],
		hp=mxhp,
		mxhp=mxhp,
		typ=typ,
		name=names[typ],
		flsh=0,
		rate=rates[typ],
		rate_t=0,
		cnt=counts[typ],
		candy=candies[typ]
	}
	add(baddies,b)
	return b
end

function upd_baddies(b)
	sort(baddies,
		function(a,b)
			return a.v.y>b.v.y
		end
	)
	for b in all(baddies) do
		b:upd()
	end
end

function upd_baddie(bad)
--	b.v+=0.1
	local v=bad.v
	local of=bad.of
	local a=v+of
	local b=p_v+4
	local d=bad.d
	local size=bad.size
	local n=v2:new(nx,ny)
	local spd=0.32
	local mt=(bad.trgt-v):mag()
	local mp=(a-b):mag()
	local dsh=bad.dsh
	
	if mp > bad.r then
		if mt < 1 then
			if bad.wait == 0 then
				bad.trgt=get_rnd_trgt(v,32)
				bad.wait=30+rnd"150"
			else
				bad.wait=max(0,bad.wait-1)
				spd=0
			end
			bad.stuck=0
		else
			if bad.stuck == 120 then
				bad.trgt=get_rnd_trgt(v,8)
				bad.stuck=0
				bad.wait=30+rnd"150"
			else
				bad.stuck=min(120,bad.stuck+1)
			end
		end
	else
		bad.trgt=p_v
		bad.wait=0
		bad.stuck=0
	end
	
	d+=(bad.trgt-v):norm()*0.09
	d.x=mid(-spd,d.x,spd)
	d.y=mid(-spd,d.y,spd)
	
	local col_bad=is_col_obj(bad,baddies)
	if col_bad then
		dsh=(v-col_bad.v):norm()*0.5
		d*=0
--		return
	end
	
	if is_solid(
		v2:new(v.x+d.x+dsh.x,v.y),
		size,of
	)then
		d.x*=0
		dsh.x*=0
	end
	
	if is_solid(
		v2:new(v.x,v.y+d.y+dsh.y),
		size,of
	) then
		d.y*=0
		dsh.y*=0
	end
	
	bad.v+=d+dsh
	
	bad.d=d*0.9
	bad.dsh=dsh*0.9
	bad.fx=bad.trgt.x < bad.v.x
end

function get_rnd_trgt(v,r)
	local solid=true
	local _v=v2zero()
	local mapx,mapy=mapv.x*8,mapv.y*8
	while solid do
		local ang=rnd()
		local _x=v.x+sin(ang)*r
		local _y=v.y+cos(ang)*r
		_x=mid(mapx+8,_x,mapx+112)
		_y=mid(mapy+8,_y,mapy+112)
		_v=v2:new(_x,_y)
		solid=point_vs_map(_v,0)
	end
	return _v 
end

function drw_baddies()
	for b in all(baddies) do
		local x,
		y,
		w,
		h,
		fx,
		face,
		body=b.v.x,
		b.v.y,
		b.size.x,
		b.size.y,
		b.fx,
		b.face,
		b.body

		local hy,by=y+blink(),y+6
	
		-- no te escucho
		ospr(body,x,by,1,1,fx)
		ospr(face,x,hy,1,1,fx)
		spr(body,x,by,1,1,fx)
		spr(face,x,hy,1,1,fx)
	end
end
-->8
-- battle

function start_battle()
	bg_ani=split"42,43,44,45,46,47"
	wind={}
	
	drones,
	bullets,
	battle_candy,
	ship_v,
	ship_d,
	ship_rate,
	ship_rate_t,
	ship_t,
	ship_flsh,
	a_msg={},
							{},
							0,
							v2:new(61,118),
							v2zero(),
							rate_lvls[rate_lvl],
							0,
							0,
							0

	get_battle_baddies()
	music(63,300)
	_upd,_drw=upd_battle,drw_battle
	fadeout(true)
	music()
end

function upd_battle()
	ship_mov()
	do_bullets()
	upd_big_baddies()
	upd_drones()
	
	doge_y=battle_x+battle_w-4
	doge_x=lerp(
		battle_x+1,
		doge_y
		,(sin(tim/20)+1)/2
	)
	
	if not has_unlock"dog" then
		doge_x=-2
	elseif tim*100%10 == 0 and
		rnd() > .5
	then
		fire_bullet(
			doge_x+2,
			doge_y+10,
			1,
			0,
			.6
		)
	end
	
	if p_hp == 0 then
		start_gover()
	end
	
	for bad in all(battle_baddies) do
		if bad.hp>0 then return end
	end
	
	for bad in all(battle_baddies) do
		battle_candy+=bad.candy
		del(baddies,bad)
	end
	
	-- end battle
	talk(split"yOU SCARED OFF THE,GHOSTS!,tHEY DROPPED SOME CANDY")
	candy+=battle_candy
	bullets={}
	music"17"
	a_msg.butt=false
	a_msg.onend=function()
		a_msg=nil
		_upd=upd_game
		_drw=drw_game
		fadeout(true)
		music(10,100)
	end
	tscreen=1
	_upd=upd_post_battle
end

function upd_post_battle()
	tscreen=max(0,tscreen-.015)
	if tscreen != 0 then return end
	
	a_msg.butt=true
	
	if btnp(❎) then
		a_msg.dur=0
		sfx"60"
	end
end

function drw_battle()
	cls()
	
	drw_big_baddies()

	local x,y,w=ship_v.x,ship_v.y,50
	hp_bar(64-w/2,126,w,p_hp,max_hp,7)
	
	win(battle_x,battle_y,battle_w,battle_h,14)
	clip(battle_x+1,battle_y+1,battle_w-2,battle_h-2)
	
	drw_parts()
	drw_bullets()
	drw_drones()
	spr(25,doge_x,battle_y+battle_h-6)
		
	if ship_t>0 then
		pal(5,7)
	end
	
	if ship_flsh>0 then all_col"7" end
	
	spr(31,x,y)
	pal()

	if battle_candy > 0 then
		clip()
		local x,y=ship_v.x-6,ship_v.y-16
		spr(5,x+3,y,2,1)
		print(
			digits2(candy-battle_candy),
			x+14,
			y,
			14
		)
		print(
			"+"..digits2(battle_candy),
			x+10,
			y+8,
			14
		)
	end
end

function get_battle_baddies()
	battle_baddies={}
	for bad in all(baddies) do
		if
			(bad.v-p_v):mag()<30 and
			#battle_baddies < 5
		then
			add(battle_baddies,bad)
		end
	end

end

function ship_mov()
	local ix,iy,spd,frcc=0,0,1,.9
	local acc=acc_lvls[acc_lvl]
	
	ship_t=max(0,ship_t-.5)
	ship_flsh=max(0,ship_flsh-.06)
	
	if btn(➡️) then ix+=1 end
	if btn(⬅️) then ix-=1 end
	if btn(⬇️) then iy+=1 end
	if btn(⬆️) then iy-=1 end
	
	if 
		btn(❎) and
		ship_rate_t == 0
	then
--		start_game()
		ship_rate_t=1
		ship_t=3
		fire_bullet(
			ship_v.x+3,
			ship_v.y-2,
			1,size_lvls[size_lvl],
			spd_lvls[spd_lvl]
		)
	end
	
	if ix*iy != 0 then
		ix*=0.707
		iy*=0.707
	end

	ship_d.x+=ix*acc
	ship_d.y+=iy*acc
	
	ship_d.x=mid(-spd,ship_d.x,spd)
	ship_d.y=mid(-spd,ship_d.y,spd)

	if 
		ship_v.x+ship_d.x<battle_x or
		ship_v.x+ship_d.x+6>battle_x+battle_w
	then
		ship_d.x*=-1
	end
	
	if 
		ship_v.y+ship_d.y<battle_y or
		ship_v.y+ship_d.y+4>battle_y+battle_h
	then
		ship_d.y*=-1
	end

	ship_v+=ship_d
	ship_d*=frcc

	ship_rate_t=max(0,ship_rate_t-ship_rate)
end

function fire_bullet(x,y,typ,r,spd)
	local ts={3,0}
	local ds={-1,1}
	local b = {
		v=v2:new(x,y),
		r=r,
		typ=typ,
		spd=spd,
		d=ds[typ],
		t=ts[typ]
	}
	sfx"57"
	add(bullets,b)
	return b
end

function do_bullets()
	for b in all(bullets) do
		b.v.y+=b.d*b.spd
		b.t=max(0,b.t-0.2)
		
		-- player bullets
		if b.typ == 1 then
			for drone in all(drones) do
				local _c=(drone.v+2)-b.v
				if
					_c:mag()<4+size_lvls[size_lvl]
				and 
					drone.v.y>battle_y
				then
					sfx"56"
					
					if drone.flsh == 0 then
						drone.hp=max(0,drone.hp-pwr_lvls[pwr_lvl])
						drone.flsh+=1
					end
					
					if drone.hp == 0 then
						local bad=drone.bad
						bad.hp=max(0,bad.hp-1)
						bad.flsh+=1
						explode(drone.v)
						del(drones,drone)
						sfx"55"
					end
					del(bullets,b)
				end
			end
		end
		
		-- baddies bullets
		if b.typ == 2 then
			local of=v2:new(3,2)
			local c=b.v-(ship_v+of)
			if ship_flsh == 0 then
				if c:mag() < b.r + 2 then
					p_hp=max(0,p_hp-1)
					ship_flsh+=1
					sfx"54"
					del(bullets,b)
					return
				end
			end
		end
		
		if
			b.v.y+b.r<battle_y or
			b.v.y-b.r>battle_y+battle_h
		then
			del(bullets,b)
		end
	end
end

function drw_bullets()
	for b in all(bullets) do
		local c=b.typ == 1 and 14 or 6
		local x,y,t=b.v.x,b.v.y,b.t
		
		if t>0 then
			local r=b.r+3
			r-=3-t
			circfill(x,y+2,r,14)
		end
		
		circ(x,y,b.r,c)
	end
end

function spwn_drone(x,y,bad)
	local rates=split".008,.02,.015,.02,.009,.02"
	local spds=split"1,1,1,1,1,1"
	local typ=bad.typ
	
	local drone={
		v=v2:new(x,y),
		bad=bad,
		spd=spds[typ],
		flsh=0,
		rate=rates[typ],
		rate_t=0,
		t=rnd(),
		hp=drones_hp_lvls[typ][hard]
	}
	add(drones,drone)
	return drone
end

function upd_drones()
	for drone in all(drones) do
		drone.rate_t=max(0,drone.rate_t-drone.rate)
		drone.flsh=max(0,drone.flsh-.06)
	
		local typ=drone.bad.typ
		drone.v.x+=get_battle_dx(typ)*drone.spd
		drone.v.y+=get_battle_dy(typ)*drone.spd
		
		if drone.rate_t == 0 then
			drone.rate_t=1
			fire_bullet(
				drone.v.x+3,
				drone.v.y+4,
				2,
				1,
				.5
			)
		end

		if 
			drone.v.y>141 or
			drone.v.x>115 or
			drone.v.x<5
		then
			del(drones,drone)
		end
		
		if drone.bad.hp==0 then
			explode(drone.v)
			del(drones,drone)
		end
	end
end

function drw_drones()
	for drone in all(drones) do
		local s=drone.bad.smll
		if drone.flsh > 0 then all_col"7" end
		spr(s,drone.v.x,drone.v.y)
		pal()
	end
end
	
function upd_big_baddies()
	for bttl in all(battle_baddies) do
		bttl.rate_t=max(0,bttl.rate_t-bttl.rate)
		if bttl.hp > 0 then
			bttl.flsh=max(0,bttl.flsh-.06)
			if bttl.rate_t==0 then
				local typ=bttl.typ
				local x,y=get_battle_x(typ),get_battle_y(typ)
				bttl.rate_t=1
				for i=1,rnd(bttl.cnt)+1 do
					spwn_drone(x+i*6,y,bttl)
				end
			end
		end
	end
end

function drw_big_baddies()
	clip(0,17,128,57,0)
	bg02(bg_ani[flr(tim*10%#bg_ani+1)])
	clip()
	
	line(0,15,128,15,5)
	line(0,75,128,75,5)
	
	local bigx=split"64,38,90,14,114"
	
	for i=#battle_baddies,1,-1 do
		local b=battle_baddies[i]
		if b.hp > 0 then
			local x=bigx[i]
			local y=35+sin(tim+b.t)*2+.1
			
			if b.flsh > 0 then all_col"7" end
			
			local sx,sy,sw,sh,dx=unpack(b.big)
			sspr(sx,sy,sw,sh,x+dx,y)
			if b.typ > 4 then
				sspr(sx,sy,sw,sh,x+dx+sw,y,sw,sh,true)
			end
			
			pal()
			
			x-=11
			y=2
			local w,h=23,10
			
			rectfill(x+1,y+1,x+w-2,y+h-2,15)
			win(x,y,w,h,14)
			print(b.name,x+2,y+2,5)
			
			local x+=1
			local y+=1+h
			
			hp_bar(x,y,w-3,b.hp,b.mxhp,14)
		end
	end
end

function get_battle_x(typ)
	if typ==2 then
		-- ◆…➡️
		return 11
	elseif typ==3 then
		-- ⬅️…◆
		return 101
--	elseif typ==5 then
--		return rnd(split"22,35,67,83")
	end
		return rnd(split"22,35,67,83")
end

function get_battle_y(typ)
	if typ==2 or typ==3 then
		return rnd({86,96})
	end
	return 70
end

function get_battle_dx(typ)

	if typ==1 then
		return wave
	elseif typ==2 then
		return .1+wave
	elseif typ==3 then
		return -.1-wave
	elseif typ==4 then
		return 0
	elseif typ==5 then
		return wave
	elseif typ==6 then
		return coswave
	end
end

function get_battle_dy(typ)
	if typ==1 then
		return .08
	elseif typ==2 then
		return sin(tim)*.5
	elseif typ==3 then
		return coswave
	elseif typ==4 then
		return sin(tim)*.3+.05
	elseif typ==5 then	 
	 return coswave+.08
	elseif typ==6 then
		return wave+.08
	end
end
-->8
-- interacts

function add_room(x,y,room)
	local coords=convert_coords(x,y)
	local r={}
	for i in all(split(room,">"))do
		add(r,i)
	end

	rooms[coords]={coords,r}
end

function add_interact(x,y,item,arr)
	local i=convert_coords(x,y)
	if has_unlock(nil,i) then return end
	arr[i]={i,split(item,"◆")}
end

function get_interact(x,y,arr)
	return arr[convert_coords(x,y)]
end

function spwn_marker(x,y)
	add(markers,v2:new(x,y))
end

function do_markers()
	for v in all(markers) do
		local c=(p_v+4)-(v+4)
		if c:magsmll() <= 13 then
			spr(112,v.x+1,v.y-5+blink())
		end
	end
end

function get_coords(num)
	return num%128,num\128
end

function convert_coords(x,y)
	return x+y*128
end


function save_unlock()
	local unlock=check_interact(locks)
	if not unlock then return end
	local pos,obj=unpack(unlock)
	local id,msg,require=unpack(obj)
	if has_unlock(id) then return end
 
	if
		require and 
		not has_unlock(require)
	then
		return
	end
--	local x,y=get_coords(pos)
--	explode(v2:new(x*8,y*8))
	talk({msg})
	sfx"52"
	
	add(unlocks,pos)
	hard+=1

	save_game()
	spwn_things(true)
	return true
end

function has_unlock(id,coord)
	for unlock in all(unlocks)do
		local _id=unpack(locks[unlock][2])
		
		if 
			_id==id 
		then
			return true
		end
		
		if unlock == coord then
			return true
		end
		
	end
end

-->8
-- collisions

function is_solid(v,size,of)
	local of=of or v2zero()
	
	if box_box_alt(
		v,v+size,
		mapmin,
		mapmax
	) then
		return true
	end

	-- ★ 4 tokens
	if god then 
		return 
	end
	
	if box_vs_map(v,size,of,0) then return true end
		if box_vs_map(v,size,of,-1) then return true end
	if not has_unlock"water" then
		if box_vs_map(v,size,of,6) then return true end
	end
	if not has_unlock"fence" then
		if box_vs_map(v,size,of,7) then return true end
	end
end

function is_col_obj(o,arr)
 local v,size,of=o.v,o.size,o.of
 local a1,a2=v+of,v+of+size
 
	for i in all(arr) do
		local b1,b2=i.v+i.of,i.v+i.of+i.size
		
		if i != o then
			if box_box(a1,a2,b1,b2) then
				return i
			end
		end
	end
end

function box_vs_map(v,size,of,f)
	local v=v+of
	local a,b,c,d=v,
		v+size,
		v2:new(v.x+size.x,v.y),
		v2:new(v.x,v.y+size.y)


	local func=f==-1 and point_vs_npc or point_vs_map
	if func(a,f) then return a end
	if func(b,f) then return b end
	if func(c,f) then return c end
	if func(d,f) then return d end
end

function point_vs_map(v,f)
	local v=v+0
	local celx,cely,sx,sy=unpack(a_map)

	v.x-=sx
	v.y-=sy
	
	local mx=flr(v.x/8)
	local my=flr(v.y/8)
	
	mx+=celx
	my+=cely
	
	return fget(mget(mx,my),f)
end

function point_vs_npc(v)
	return get_interact(flr(v.x/8),flr(v.y/8),npcs)
end

function box_box (a1,a2,b1,b2)
	return a1.x < b2.x and
		a2.x > b1.x and
		a1.y < b2.y and
		a2.y > b1.y
end

function box_box_alt(a1,a2,b1,b2)
	return a1.x<b1.x or
	a2.x>b2.x or
	a1.y<b1.y or
	a2.y>b2.y
end

function point_box(x,y,x1,y1,x2,y2)
	return x>x1 and x<x2 and y>y1 and y<y2
end

-->8
--tools

function oprint8(_t,_x,_y,_c)
 for i=1,8 do
  print(_t,_x+dirx[i],_y+diry[i],0)
 end
 print(_t,_x,_y,_c)
end

function blink()
	return flr(min(0,sin(tim)))
end

function all_col(col)
	for i=0,15 do
		pal(i,col)
	end
end

function ospr(s,x,y,w,h,fx,fy)
	-- all colors to outline
	all_col"0"

	for i=1,4 do
		spr(s,x+dirx[i],y+diry[i],w,h,fx,fy)
	end
	
	pal()
end

function osspr(sx,sy,sw,sh,dx,dy,dw,dh,fx,fy)
	-- all colors to outline
	all_col"0"

	-- draw outline
	for i=1,4 do
		sspr(sx,sy,sw,sh,dx+dirx[i],dy+diry[i],dw,dh,fx,fy)
	end
	pal()
end

function sort(a,cmp)
	for i=1,#a do
		local j=i
		while j>1 and cmp(a[j-1],a[j]) do
			a[j],a[j-1]=a[j-1],a[j]
			j-=j
		end
	end
end

function lerp(a,b,t)
	return a*(1-t)+b*t
end

function bg02(s)
	local spd,a,b=20,21,13
	
	local sx,sy=flr(s%16)*8,flr(s/16)*8

	local t=tim*spd
	local go=sin((t%100)/100)

	for y=0,128 do
		local lo=sin(((t+y)%100)/100)
		for x=0,128,8 do
			local _sy=sy+(y+go*a+lo*b*sin(tim/2)-.2)%8
			sspr(sx,_sy,8,1,x,y)
		end
	end
end

function digits2(n)
	return n<10 and "0"..n or n
end

function star(x,y,t)
	local osc=sin(t*tim/1.5+.3)*2.5

	line(
		x-.5+osc/2,
		y,
		x+1.5-osc/2,
		y,
		5
	)
	
	line(
		x,
		y-1.5+osc,
		x,
		y+2.5-osc,
		5
	)
end

function hcntr(s)
	return 64-#s*2
end

function get_frame(ani)
	return ani[flr(tim*100/15)%#ani+1]
end

function split2d(s)
 if not s then return end
 local arr=split(s,"%")
 for i=1,#arr do
  arr[i]=split(arr[i],"|")
 end
 return arr
end
-->8
-- vector2

v2={}

function v2zero()
	return v2:new()
end

function v2:new(x,y)
	v={}
	v.x=x or 0
	v.y=y or 0
	
	setmetatable(v,self)
	self.__index=self
	return v
end

function v2.__add(a,b)
	if type(b) == "number" then
		return v2:new(a.x+b,a.y+b)
	end
	return v2:new(a.x+b.x,a.y+b.y)
end

function v2.__sub(a, b)
	if type(b) == "number" then
		return v2:new(a.x-b,a.y-b)
	end
	return v2:new(a.x-b.x,a.y-b.y)
end

function v2.__mul(a, b)
	if type(a) == "number" then
		return v2:new(b.x*a,b.y*a)
	elseif type(b) == "number" then
		return v2:new(a.x*b,a.y*b)
	end
	return a.x * b.x + a.y * b.y
end

function v2.__div(a,b)
	if type(a) == "number" then
		return v2:new(b.x/a,b.y/a)
	elseif type(b) == "number" then
		return v2:new(a.x/b,a.y/b)
	end
end

function v2.__eq(a,b)
	return a.x==b.x and a.y==b.y
end

--https://www.lexaloffle.com/bbs/?pid=38407
function v2:magsmll()
	local nx=self.x*0x0.01
	local ny=self.y*0x0.01
	return sqrt(nx*nx+ny*ny)*0x100
end

function v2:mag()
	return sqrt(self.x*self.x+self.y*self.y)
end 

function v2:norm()
	return self/self:mag()
end
-->8
-- juice

function spwn_part(
	x,
	y,
	dx,
	dy,
	mage,
	carr,
	rarr
)
	local p = {
		x=x,
		y=y,
		
		dx=dx,
		dy=dy,
		
		age=0,
		mage=mage,
		
		c=carr[1],
		carr=carr,
	
		r=rarr[1],
		rarr=rarr,
	}
	
	add(parts,p)
	return p
end

function do_parts()
	for part in all(parts) do
		part.age+=1
		part.x+=part.dx
		part.y+=part.dy
		
		if #part.carr == 1 then
			part.c=part.carr[1]
		else
			local ci=part.age/part.mage
			ci=1+flr(ci*#part.carr)
			part.c=part.carr[ci]
		end
		
		if #part.rarr == 1 then
			part.r=part.rarr[1]
		else
			local ri=part.age/part.mage
			ri=1+flr(ri*#part.rarr)
			part.r=part.rarr[ri]
		end
		
		if part.age > part.mage then
			del(parts,part)
		end
	end
end

function drw_parts()
	for part in all(parts) do
		circfill(part.x,part.y,part.r,part.c)
	end
end

--★
function spwn_dust(x,y)
	local ang=rnd()
	local _x,_y=x+6+sin(ang),y+9
	
	if not p_fx then _x-=5 end
	
	spwn_part(
		_x,_y,
		0,0,
		30,
		split"6,6,13",
		split"1,0"
	)
end

function spwn_dash_dust(x,y,dx,dy)
	local rarr={rnd(split"1,1,1,2"),1}
	local carr=split"15,14,14,14,5"
	local ang=rnd()
	local _x=x+4+sin(ang)*3
	local _y=y+6+cos(ang)*2
	
	spwn_part(
		_x,_y,dx*.2,dy*.2,
		40,carr,rarr
	)
end

function explode(v)
	local rarr=split"3,2,1,1,0"
	local carr=split"7,15,14,13"
	for i=1,3 do
		local x,y=v.x+1,v.y
		local ang=rnd()

		x+=sin(ang)*.2
		y+=cos(ang)*.2

		spwn_part(
			x,
			y,
			0,
			-rnd()*.5,
			40,
			carr,
			rarr
		)
	end
end


function dofade()
	local t=fadeperc
	local c=0
	local w=16
	
	for i=0,8 do
		for j=0,8 do
			local x=i*w
			local osc1=sin(t+i*0.1)
			local osc2=sin(t+j*0.03)
			local y=j*w+osc1*w
			local r=osc2*w
			
			local _x=fadedir and x or y
			local _y=fadedir and y or x
			circfill(_x,_y,r,c)
			if r>4 and fadedir then
				circ(_x,_y,r-3,5)
				circfill(_x,_y,r/2-3,14)
			end
		end
	end
end

function fadein(spd)
	if fadeperc>0 then
		fadeperc=max(fadeperc-fadespd,0)
		dofade()
	end
end

-- ★ 3 tokens
function fadeout(_dir)
	fadedir=_dir
	fadespd=_dir and.0058 or .009
	camera()
	fadeperc=1
	local lmt=.6
	
	repeat
		fadeperc=max(fadeperc-fadespd,lmt)
		dofade()
		flip()
	until fadeperc==lmt
	fadeperc=lmt
end
-->8
-- ui

function hp_bar(x,y,w,hp,mxhp,c)
	local x1=x
	local x2=x1+(hp*w/mxhp)
	line(x1,y,x1+w,y,5)
	line(x1,y,x2,y,c)
end

function win(x,y,w,h,c)
	line(x+1,y,x+w-2,y,c)--top
	line(x+w-1,y+1,x+w-1,y+h-2,c)--right
	line(x+w-2,y+h-1,x+1,y+h-1,c)--bottom
	line(x,y+1,x,y+h-2,c)--left
end

function add_wind(x,y,w,h,txt)
	local w={
		x=x,
		y=y,
		w=w,
		h=h,
		txt=txt
	}
	add(wind,w)
	return w
end

function drw_wind()
	for w in all(wind) do
		local wx,wy,ww,wh=w.x,w.y,w.w,w.h
		
		rectfill(wx+1,wy+1,wx+ww-2,wy+wh-2,0)
		win(wx,wy,ww,wh,14)
		
		clip(wx,wy,ww-2,wh-2)
		
		wy+=4
		wx+=4
		
		for i=1,#w.txt do
			local txt=w.txt[i]
			print(txt,wx+4,wy,14)
			wy+=6
		end
		
		clip()
		if w.dur == nil and w.butt then
			oprint8("❎",wx+ww-15,wy+1+blink(),14)
		end
	end
end

function upd_wind()
	for w in all(wind) do
		if w.dur!=nil then
			w.dur-=1
			if w.dur<=0 then
				local dif=w.h/4
				w.y+=dif/2
				w.h-=dif
	
				if w.h<3 then 
					if w.onend then
						w.onend()
					end
					del(wind,w) 
				end
			end
		end
	end
end

-- ★ 34
function show_msg(txt,dur)
	local wid=(#txt+2)*4+7
	local w=add_wind(
		63-wid/2,
		50,
		wid,
		13,
		{txt}
	)
	w.dur=dur
end

function talk(txt,y)
	if not txt then return end
	local y=y or 50
	a_msg=add_wind(
		12,
		y,
		105,
		#txt*7+6,
		txt
	)
	a_msg.butt=true
end

function start_stars()
	stars={}
	for i=1,25 do
		add(stars,{flr(rnd"128"),flr(rnd"128"),rnd()})
	end
end

function drw_stars()
	cls()
	for s in all(stars) do
		star(unpack(s))
	end
end

-->8
-- big baddies

--function drw_creep(x,y)
--	sspr(94,96,10,25,x-5,y)
----	local ct = 4
----	--creep
----	for i=0,14 do
----	 line(
----	 	x+1-ct-i*cos(i*.979),
----	 	y+i+8,
----	 	x+1+ct+i*cos(i*.979),
----	 	y+i+8,14
----	 )
----	end
----
----	rectfill(x-2,y+18,x+5,y+26,14)
----	ovalfill(x-6,y-18,x-2,y-2,14)
----	ovalfill(x+5,y-18,x+9,y-2,14)
----	circfill(x,y-2,10,14)
----	circfill(x-5,y-3,7,7)
----	circfill(x,y-3,7,7)
----	circfill(x-3,y+3,5,7)
----	circfill(x-9,y-3,2,13)
----	circfill(x+2,y,2,13)
----	ovalfill(x-6,y,x-3,y+7,13)
---- rectfill(x-3,y+23,x,y+30,14)
----	rectfill(x+3,y+23,x+6,y+30,14)
----	rectfill(x+5,y+31,x+7,y+32,14)
----	circfill(x+1,y+25,1,6)
----	rectfill(x-1,y+31,x+1,y+32,14)
----	circfill(x-5,y+15,2,6)
----	circfill(x+3,y+15,2,6)
--end
--
--function drw_eye_guy(x,y)
--	sspr(66,96,15,21,x-6,y)
--	--eyeguy
----	circfill(x-1,y,15,14)
----	circfill(x-5,y-4,5,15)
----	circfill(x,y,7,13)
----	circfill(x,y,5,7)
----	circfill(x+1,y+1,2,13)
----	pset(x,y,7)
----	rectfill(x-9,y+12,x-5,y+18,14)
----	circfill(x-7,y+17,2,14)
----	rectfill(x-2,y+15,x+2,y+24,14)
----	circfill(x,y+23,2,14)
----	rectfill(x+5,y+12,x+9,y+20,14)
----	circfill(x+7,y+19,2,14)
--end
--
--function drw_chubbs(x,y)
--	sspr(31,96,16,22,x-7,y)
--	--body
----	circfill(x+12,y+13,4,6)
----	circfill(x+12,y+16,4,6)
----	circfill(x-2,y+18,10,13)
----	circfill(x+2,y+18,10,13)
----	rectfill(x-13,y+9,x+12,y+19,6)
----	circfill(x-13,y+14,4,6)
----	circfill(x-13,y+17,4,6)
----	circfill(x-5,y+29,2,13)
----	circfill(x+5,y+29,2,13)
----	rectfill(x-8,y+11,x-2,y+19,13)
----	circfill(x-5,y+17,2,15)
----		--head
----	circfill(x-2,y-1,12,6)
----	circfill(x+2,y-1,12,6)
----	ovalfill(x+10,y-7,x+14,y+5,7)
----	circfill(x-4,y-1,7,7)
----	circfill(x-4,y-1,4,13)
----	line(x+4,y+5,x+9,y+5,13)
----	circfill(x+5,y-14,2,6)
----	circfill(x-4,y-14,2,6)
--end
--
--function drw_ghost(x,y)
--	sspr(81,96,13,23,x-6,y)
--	--body
----	circfill(x,y,10,7)
----	circfill(x,y+7,10,7)
----	circfill(x,y+21,3,7)
----	circfill(x,y+18,3,7)
----	circfill(x-6,y+16,3,7)
----	circfill(x-6,y+13,3,7)
----	circfill(x+5,y+13,5,7)
----	circfill(x+7,y+18,2,7)
----	 --face
----	ovalfill(x-8,y-1,x-2,y+1,13)
----	ovalfill(x+2,y-1,x+8,y+1,13)
----	pset(x-4,y,14)
----	pset(x+4,y,14)
----	line(x-5,y+4,x+4,y+4,13)
----	line(x-8,y+3,x-7,y+3,13)
----	line(x+6,y+3,x+7,y+3,13)
--end
--
--function drw_squid(x,y)
--	sspr(47,96,19,21,x-8,y)
----	local ct=3
----	 --head
----	for i=0,12 do
----	  line(x-ct-i,y-10+i,x+ct+i,y-10+i,6)
----	end
----	
----	circfill(x-11,y+6,5,6)
----	circfill(x+11,y+6,5,6)
----	rectfill(x-13,y+3,x+13,y+18,6)
----	line(x-12,y+19,x+12,y+19,6)
----	rectfill(x-8,y+5,x+8,y+23,13)
----	ovalfill(x-11,y+3,x+11,y+12,13)
----	ovalfill(x-3,y+14,x+3,y+26,6)
----	circfill(x-5,y+8,3,7)
----	circfill(x+5,y+8,3,7)
----	ovalfill(x-8,y+10,x+8,y+16,14)
----	pset(x-5,y+8,13)
----	pset(x+5,y+8,13)
----	circfill(x+11,y-8,7,14)
----	circfill(x+11,y-8,4,7)
----	circfill(x+10,y-7,2,13)
----	circfill(x+2,y-9,2,14)
----	circfill(x+9,y+1,2,14)
----	circfill(x-5,y-2,2,14)
--end
--

__gfx__
000000000eeeee00000d0000000d0000000d00000e0eef0000000000000000000006770000ee70000077000006060000077000000eee0000006600000e0e0000
00000000eff55ee00e9e9e000e9e9e000e9e9e00e6e77ff00000000007700770007777707eeede00077770000776700077770000e777e000066660000d7d0000
00700700ef5775e09e9999e09e9e99e09e9999e000e77ff00000000000f77f0000677760eedeede00677600007d67000de7e0000e7dde00066ddd60007d70000
00077000ee57d5e09ed999d09e9999e09ed999d000ffff6ee00000000077770000657750deeddeee000e00776d6660007ddd0000e7dde000667d7600eeee0000
00077000eee55ee09e9dd9e09e9999e09e9559e0000ffe0e000000000075777700676760ddeeeee707e007776fddd000777700000eee000006eee6000ee00000
00700700eeeeeee09999e9e0e999e9e0999559e000000000000000000066775700d6d6d00ddeeffd777000660d0d0000707000000e0e000000d6d000e0e00000
000000000eeeee000eeeee000eeeee000eeeee00000000000000000000077566000ddd0000dd7dd06660000e0000000000000000000000000000000000000000
000000000e0e0e0000000000000000000000000000000000000000000000666000000000000dd0000e0000e00000000000000000000000000000000000000000
07777700007007000eeeee0000666000000000000d0000000e0e0e000000d0000f000f006560000007eee000000000000000000000000000777000000eeeee00
7777777006666600effeeee007777000000f777fd0d00000000e0e0000e9e9e000eee00077700000777e70000ddd0000055550000555550077777700e5e9e5e0
7777777067777670effffee0777660000000dd60eee00000000e00000e9999e9fefffef057500000e7777000dddddd005777755055555550777ee770e9e9e9e0
77de7ed067dd7670ee5555e000000000d00dddd00e000000000000000e5599550ef17e00707000007eeee000ddfff6f0555555005557777007e5ee50e9eee9e0
7777777067dd7670eee55ee006666600d6dd6dd600000000000000000e579957fef77ef00000000055d50000dff55f50667d7d005775757007eedde00eeeee00
77dddd7067777670eeeeeee077777700fdddd0dd00000000000000000e9dddd90deeed0000000000556560000dffddf0777666005777ee7007eeeee000000000
07777700066666000eeeee00000000000ffff0ff000000000000000000eeeee000ddd00000000000655500000df6fff00777770055777750007ee70000000000
00000000000000000e0e0e0000000000000000000000000000000000000000000000000000000000050500000000000000000000050000500000000000000000
06d6600006d6600000066000000000000000000000ee000000777700077700000607000000000000050050500500550005055055500050500050550505050555
66d6666606d666600066e600000000000e000e000eeee00000777700077770000777000006070000505555005005555000555500505505055000000550505005
66d666d666d6666666dddd60000000000e000e00ee6e6e0007777000077790007757000007770000005555500055555050550550005000500500500005055500
66fd660d66d666d666d7d7600ee000000e777700eeeeee0007777000779660005777700077577000055555550555055505500055550000050505550550555550
d6dddd0066fd660d06eeee00e77e000007777d000e6e000000777700666660006677770757777700505555550055555000550550005000505000500005055505
0ddddd00dddddd00066d6d00ed7e00000ed7d7000e0e000000077700000000000077777766777777005555505005550550055505500505055050000550505000
00d0d00000d0d000000d60000ee0000000e7d000e0e0000000007000000000000777767007777677505050005050550050505005005050000000505005500055
0000000000000000000000000e000000000000000000000000000000000000000767677007767670505005050050050550550050500505050505505550505050
000e0e000000000000000000f888000077e700000000000077777700000000000055550000dff00000fff00000dfd000ddd00000066660000fefefe066660000
0eeeee0005555500005555007fff7000e777e00000777700777777007600000057eeee750d6df6000ff770000ddded00e7e000006dddd6000667770006ff6660
eeeeeef055555550585555500ddd0000066600000677776077777700d7760000e775577e0d6dd600ff777e000deddd006e7600006777e600667e7e000677ff66
fe77777055666660555eeee00606000008080000065577500777770007d70076570000750d6dd600f77e77006dddddf00e7e00006e77760077eee70006ee776f
f7767670656566505ee5e5e0eeee000077676000077755700707700007d77777575005750dfdd600dd777e7066ddd66006e760006ee776007e77660006efee66
e77ee770066886605eee8ee06eee60007666670007777770000700000776d55dee7557ee0ddddd0000dd77700666ff0000e7e00067ee760077e6660006eeee60
077777000666660055eeee00055500000dddd00000777700000000007ddd00005e5005e5000e00000000dd7000000000006e76006dddd600efefef0000666600
000000000000000050000000070700000e00e000000000000000000055000000eee77eee000f000000000070000000000006dd00066660000000000000000000
055555555555555555555550fff55fff055555505eeeeeeeeeeeffeeefeeeee5000555555555555555555000000055555555000000005eeeeee500005ee5eeee
5efeeeefeeeefeeefffeefe5ff5ee5ff5eeeeff55eeeeefeeeeeeeeeeeeefee5005eeeeeeeeeeeeeeeeee50000005eeeeee5000000005eeeeee500005ee5eeee
5f55555555555555555555e5ff5fe5ff5feeeee55effeeeeeeeeeeeeeeeeeef505effefefeffeefefeeffe5000005eeeeee50000000055eeee5500005ee5eeee
5e5eeeeeeeeeeeeeeeeee5e5ff5ff5ff5eeeeee55eeeeeeeeefeeeefeeeeeee55eeeeeeeeeeeeeeeeeeeeee500005eeeeee50000000005555550000055555555
5eeeeeeeeeeeeeeeeeeeeee5ff5ef5ff5eeeeee55feefeeefeeefeeefeefeef55efefffeeffeeffefffefee50000555555550000000000000000000000000000
555555555555555555555555ff5ee5ff5555555555ff5fff5fff5fff5ff5ff555eeeeeeeeeeeeeeeeeeeeee500005eeeeee50000000000000000000000000000
5eeefeeeeeeeffeeeeeefee5ff5ee5ff5eeeeef55f55f555f555f555f55f55f55efffeefffeefeffefefefe500005eeeeee50000000000000000000000000000
5eeeeeeefeffeeefefeeefe5ff5555ff5feeeee55ffffffffffffffffffffff55eeeeeeeeeeeeeeeeeeeeee500005eeeeee50000000000000000000000000000
5ffffffffffffffffffffff5ffffffff00500500005ff500055555505555555500eeeeeeddddddddeeeeeeee0000000000555550000000000000555000000000
5ffffffffffffffffffffef55555555505f55f50505ee5055ffffff55eeeeee500efeeeeddddddddeeeeeeee0555000005000005055555000005555500000000
5ffffffffffffffffffffff55fefeee505e55e50055ef5505eeeeee55eeeeee50efeeeeeddddddddeeeeeeee0505005005055505050005000000555000000000
5ffffffffffffffffffffff55efefee55ffffff55e5ee5e55e7f77e55eeeeee50feeeeee55555555eeeeeeee0555000005050505050505000000000000000000
5ffffffffffffffffffffff55eefefe505d55d505e0ff0e55e777fe55ffffff50feeeeeedddddddd555555550000000005055505050005000555005555555555
5feffffffffffffffffffff55555555505e55e50505ee5005e7f77e55ffffef50feeeeeeddddddddeeeeeeee000555000500000505555500555550555eee5eee
5fffffeffffffffffffffff5ffffffff05e55e50005ee5055eeeeee55ffffff50efeeeeedddddddd55555555000505000055555000000055555550005eee5eee
5ffffffffffffffffffffff5ffffffff00500500050550055e5555e55555555500feeeee5555555555555555000555005000000000000055055500005eee5eee
5ffffffffffffffffffffff5e555555efffeffffeeeeee0005555500eeeeeeee5555e555ddddddddeeeeeeee00000e00000000e0550555550000000000000000
5fffffffff5555fffffffff55eeeefe5ffffffffeeeefe005feefe50eeeeeeee5efe5fefddddddddeeeeeeee0000ee000000e000000000000050000000000000
5ffffffff5efee5ffffffff55ed77de5ffffffffeeeeefe05e55ee50eeeeeeee5efe5fefdd5555dd5555555500000e000e000ee0555555050555000000000000
5ffffffff5eefe5ffffffff55edddde5ffffffffeeeeeef05eeeee50eeeeeeeefefe5eee55dddd555ddffff500000ee00e000e00555555550000000000000000
5ffffffff555555ffffffff55feeeee5ffffffffeeeeeef05ee5e5e5eeeeeeee5eee5eeedddddddd5dedfdd500000e0000ee0e00000000000000005000000000
5feffeeffffffffffeeeffe55eeee5d5feffefeeeeeeeef005eefee5eeeeeeee5efe5fefddd5dddd5fdffde500000e00000eee0e555555500000055500000000
5eeeeeeeeeeeeeeeeeeeeee55eefeee5eeeeeeeeeeeeefe005eeee50eeeeeeee5efe5fefdddddddd5555555500005e5000000e0e555055550005000000000000
055555555555555555555550e555555e55555555eeeeef0005555550eeeeeeee5555e55555555555eeeeeeee0000555000000eee000000000055500000000000
055500000555555000000000055555505fe5500000055ef5f555555fdddddddd0eeeeee000000000f00000005e5005e50055550000000000fddddddffeeeeeff
577750005efeefe5000000005effffe55555e550055e55555eeeeee5dddddddd0eeeeee000000000f0ffff005e5055e505ffff5005050000fffffffffef77eff
057500005effffe5000bb0005f6767f55eeef5e55e5feee55fefefe5df8888fd00000000effffffef00d00005f5005f55feffff505050505fedededffe7ffeff
005000005eeeeee500bbbb005ff676f5555555f55f5555555555555588ffff880eeeeee0effffffed0ffff005f5005e55ffffef500000505dedfdeddfef7feff
0000000055ffff55000bb0005eeeeee55effeef55feeffe55ffffff5ffffffff00000000feeeeeefdeedee005e5505f55effefe500000000dedededdfdddddff
000000005feffef50000000005555550555555555555555555555555fff8ffff0eeeeee0dddddddd0ddddd005f5005f55eeeeee500505000dffffffdffffffff
0000000005feef5000000000005ee5005fffffe55efffff55ffffff5ffffffff00000000dff55ffd0d000d005e5005f505dddd5000505000ddedededeeeeeeee
000000000555555000000000005ee5005d55d5d55d5d55d5555555558ffffff800000000500000050d000d00050050505055550500000000ddededed55555555
c5c5c50000e5b7c7b7e6c5d517000085560000c6d7e60055000000000000005575b6d50000d50000d7d500b40515151525062600000054343434000000849494
a4e5053416260000e500d500000000000000000000d500000000e5e5d5d5e5e500000055550000005500d75555e5005500f6f67676767676767676767676f600
000000000000868686c7e5c7c700008556c5d7b6d700d55517e500000000e51717000000c5c5c5d5b500e5b4063616f726e5000000c50667346700d500061616
26e50626f4e4e50000d5e50000e5d500e500e5d5e5e5000000000000e50000000000555500e500e55555d7d75500005500f676a587a5a5a5a5a5a5a5a5a57600
94a4000000000000e50000000000e6857676560000d7b50017b500c5c500b51717d6d6d617c5c517d6d6d6d6f4f4f4e4e500c500042445061626c5d6d6d60004
1424b7b7b7b7b74745454557b7b7b7b7b75555555555555555550000044424000055555555000055d700d70055d700550076a59595959696959696959695a500
647400d5000000e500c50000e500d78576767656d5c5d5d55517d6d6d6d6175555d7b500d5c5c5d5000000c5d700e500000000005474e5e5e500000000000434
3425c500d5c6c500e5e500d5e50000c5c5c50000e50000e555e555041444142455e55500e55555d7e5d7d70055e5d75500769596969595959695959696959500
9494a400000000000000000000d7857676867656b50424d50055d6d6d6d6550055c7c755c7c7d50000d7d700d565c5d7d70000e5052500c565000000e5000646
4626000000b6000000d5000000d5d5c565c500000000e555e500843434673434a400e555d7d700d7d70000e555d7005500767695959595969595959595959600
141414141447000000e6d7d70000e5857686041414642500b555b5c5c5b555454555d5000055000000c5c600868686d7c6c5e50006042400e500c5000000e555
5500d5000000005767676747e500e5c5c5c500c5c5c50055008434161636161634a40055d765e5e5d700d7d75500e5550076a595969595959596959596959600
67d6d6d636164700d7000000c5c50000d5860534163425b500550000000055d5655500d56504442400d7b6c5c5c5c5c5b600d700005474000000e50000c53717
55170000c60055949494949455d50000c500d5c500c50055c5344626c5c5c5064634c555d700d70000e5d7001700005500a69695959595959695959595a67600
67c5c5c5c58556e6d700d7d7e6d700d7c5473646654636000055000000005500d584a40000361625d700c5c5f5f5f5c5c5d70055550534245555551700c5c5c5
c5004500b6b7005754c57447c65500c600000000c5c50055b467d6d6c5c5c5d6d667c455d700d717555555170000005500a59596959595959595959595767600
94a4c5c5c5855600d7d7c7d70000d700c547f4f4f455f400005500b5000055d6d65474d500000067c5d7c5b4d5c6d5c4c5d7c500d7063436000000b700c5c5c5
00b54500e555d50434163424b65500b6d5d500000000e555d4f400b5d6d6d600e6f4e455d7e50055041424c5c5e5005500969595959596959595969595a5a500
64744766b7b716c7d7d7d7c7d7b58494a455d500d5550000d555d6d6d6d655d5c505340414240525c500c5b4d5b6d5c4c5d7c50000e544c5e500c70000c50017
551700c6c555c60525360525e5550000e500c5000000e55500e545454545454545e500550000175706361647c5e5005500959596959595959695959595959500
b736b7e5b700d7d7d7d7d7b5d7c7b7b5b755d5d50055d5c60055d6d6d6d65500d505253646260626c5d7c5b4d537d5c4c500c500000044e50000c50000000055
550000b600b7b60625d605260055c50000c50000d5000055550000e600e600e600000055d7b55517d6d6d617c5e5005500769696969595959595959596959600
b5b500c66600c6c7d7b5d7d7c555e5d7e50017b766d5c5b6c655650000005500c50525c50000d717e600c6c5f4f4f4c5c6b5c5c5d500b50000e500c600042455
5500c5000055e50067c56737c5b700e5c60000d500d500e600555500000000e600555555b5005557d6d6d647c500e55500a59696959595959595959596959500
00d7c6b667d7b6666600d700d7d7d700d7d7b765b75517c5b6550000b54455d6d605344700c500d700d7b6c5c5c5c5c5b600000000000000b50000b604646424
c7b7b700005500c6710071c5c545c5c5b6c5c5c5c5c5c500e600e6555555555555e60000454547c5c5c5c565c500005500959695959596959596959596959500
4700b60000b5d700c644c7d7c7d700d7d500c5d7e5c5c545c55500b5001655e50005154447e6000000c5000000e5000000c500e600c5008494a48556b7463646
b765b7b700b7e5b600c500c5c545c5c5e5c5c5c5c5c5c5008576560000e600000085765600e655e5e5d7e5d700c5c55500969595959595969595959595959600
6747d7000000c5d7b61655c755d7c7d700c500d700000045458555555555560000053404141424d6d6d6d6d6c5c5c5d6d6d6d6d6d6849464647400e5b5e5d6e5
e5c5b517c60055b75555b75555c5000000000000000000e6000000e600857656e600d7857656550000d70000c5c5c5550096779596959595959695969595f600
6767470000c5c5c500e5005500c55500d7e584a455e50000b5857676767656b5000646671646b7000000e600c717c7e6000000e600064667462600b500e5e5e5
00b50017b600000000c500000000c500d5000000000000000000855600d7000000d7000000554755555555555555551700f687f6f6f6f6f6f6f6f6f6f6f6f600
0e0e00e00000000000000000000000000000066006600000eee000000000000000000eeeee0000000e0000e00007777000000000000000000077777777777777
ee0ee0ee000ee00000e0000000000000000006600660000e777e006660000000000eeeeeeeee0000ee000ee00077777000000000000009e90700000000000000
ee0e00e0e0ee000000ee000000000000000666666666000e7dde66666660000000eeffffeeeee000ee000ee00777777000000000009e99e9700eeeeeeeeeeeee
ee00e0e0e0eee00000ee000000000000006677776666700e7ddee666666600000eefffdddddeee0eeeeeeee0777777700000000009e99e9970eeeeeeeeeeeeee
ee00000000000eee00eeee000000000006677dd77666d700eee666ee666660000efffdd777ddee0777777eee77ddd7700000000009e555e970eeeeeeeeeeeeee
ee00000eee00ee0ee0eee00000eee0000667dddd7666d7000ee666ee66666600eeffdd77777ddee7777777ee7ddeed7000000000995eee5970eee77777777777
ee0000ee0ee0eee000ee00000eeee0000667dddd7666d7006666666666666660eeffd777dd77deedd77777ee77ddd77000000000995e775970ee777777777777
ee0000ee0ee00eee00ee00000eeeee0006677dd77666d7066e6ddddddddd6666eeffd77d7dd7deedd77dd7ee7777777000000000995e775970ee777777f77777
ee0000ee0ee000eee0ee0000eeeeeee000667777dddd700666dd77ddd77dd666eeefd77dddd7dee77d7dd7ee7d777770000000009995559570ee77777fff7ff7
eeeee0ee0ee0ee0ee0eeee000000000000066666666600066dd7777d7777dd66eeeedd77dd7ddee77dd77ee0777dddd0000000009e9e999570ee77ff7fff7ff7
0eee000eee000eee000eeee000000000666dd6666666660066d7777d7777d6600eeeedd777ddee007dd7ee007777777000000000ee9559e970ee77ff7fff7ff7
00000000000000000000000000e00006666ddd666666666006eeeeeeeeeee6000eeeeedddddeee000777e00077777770000000000999955570ee777777777777
00ee000ee0000000000ee00000ee0006666ddd666666666006eeeeeeeeeee60000eeeeeeeeeee0000eeee00077777770000000000e9e995570ee7fffffffffff
0eee000ee0000000000ee00000ee0006666ddd66666666600666eeeeeee66600000eeeeeeeeee000eeeeee00777777700000000000eee9e970ee777777777777
0eee000ee0ee000ee00ee00000eeee06666dff6666666660066d6666666d6600000eeeeeeeeee00e66ee66e0077777700000000000000eee70ee777f77777777
0eeee00ee0000eeeee0ee00000eee006666dffddddddd660066dd66666dd6600000eeeeeee0ee00e66ee66e007777770000000007000707070ee77fff7f77f7f
0eeeee0ee0ee0ee0ee0ee0ee00ee0006666dddddddddd660006dd66666dd6000000eee0eee0ee000eeeeee0007777770000000000777007070ee77fff7f7ff7f
0ee0ee0ee0ee0ee0ee0eee0ee0ee000066ddddddddddd6000000d66666d000000000e00eee0ee0000eeee00007777770000000000000077070ee77fff7f7ff7f
0ee00eeee0ee0ee0ee0ee00ee0ee000000ddddddddddd00000000066600000000000000eee0e000000eee00007777770000000000000700770ee777777777777
0ee00eeee0ee0ee0ee0ee00ee0eeee00000ddddddddd000000000000000000000000000eee0000000ee6ee0000707770000000000077007070ee7fffffffffff
0ee000eee00ee0eeee0ee00ee00eeee00006660006660000000000000000000000000000e00000000ee0ee0000007770000000000000000070ee777777777777
0000000000000000ee000000000000000006600006600000000000000000000000000000000000000ee0eee000000770000000000000000070eee77777777777
0000000000000eeee00000000000000000000000000000000000000000000000000000000000000000ee0ee000000000000000000000000070eeeeeeeeeeeeee
000000000000eeee0000000000000000000000000000000000000000000000000000000000000000000e00e000000000000000000000000070eeeeeeeeeeeeee
000ee000600600000055550007700000077777700777777000555500000077700077700000077d000000000000000000000000000999000070eeee6666666666
07777000d66d000055755755777000006d5dd5d67dedddd75577775500060777007776000077d6600000000000ffff00000000009595900070eeee6666666666
0d7d7700e66e0000ee7777ee777600006d5555d6e75f5ed7e7d77d7e000677660dd6777000dd6660000000000fddddf0000000009e5e900070eeeeeeeeeeeeee
ee777777d66d50005e0770e5dd6760006dddddd6ee77777e57d77d7500070606077dd77d000dd000000000000fddddf0000000000999000070eeeeeeeeeeeeee
0e7777770dd56d055e5775e500d6777066666666eeeeeeee5e7777e50076666007777d0007006070000000000effffe00000000070707000700ee00000000000
0777777700566d50ee5775ee000d77700de7e7d00eeeeee0e507705e06760000776d00007770077d000000000deeeed000000000000000000700007777777777
077767660d56d6d05e7777e5000077d00dddddd0000eee00e506605e07607000dd000000d77d0dd6000000000edddde000000000000000000077770000000000
007776600d060d50ee7557ee0000dd00d000000d00000000ee7777ee00700000000000006dd660d60000000000eeee0000000000000000000000000000000000
__label__
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglllllggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggglllllgggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttggggggggggggggggggglggggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttgggggggggggggglllgggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttggggggggggggglggggggggggggggggggglllllggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttgggggggggglggggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggglggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttttttttgggggggggggggggggggggggggggglggggggggggggggggg
ggggggggggggggggggggggggggguugguugggguugggggtttttttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguugguugggguuggggtttttttttttttttttttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuugguuuugguuuugtttttuuuuttttttttttuuttttttttttttttttttttttgggggggggggggggggggggggggggglgggggggggggggg
ggggggggggggglggggggggggguuuugguuuugguuuuttttttuuuuttttttttttuutttttttttttttttttttttttggggggggggggggggggggggggggglgggggggggggggg
lgggggggggggggggggggggggguuuugguugggguugtuuttuuuuttttttttttttuuuuttttttttttttttttttttttggggggggggggggggggggggggglllggggggggggggg
lgggggggggggggggggggggggguuuugguugggguuttuuttuuuuttttttttttttuuuutttttttttttttttttttttttggggggggggggggggggggggggglgggggggggggggg
lgggggggggggggggggggggggguuuugggguugguuttuuttuuuuuuttttttttttuuuuttttttttttttttttttttttttgggggggggggggggggggggggglgggggggggggggg
lgggggggggggggggggggggggguuuugggguugguuttuuttuuuuuuttttttttttuuuuttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggg
lllgggggggggggggggggggggguuuuggggggggttttttttttttttuuuuuuttttuuuuuuuutttttttttttttttttttttgggggggggggggggggggggggggggggggggggggg
lgggggggggggggggggggggggguuuugggggggtttttttttttttttuuuuuuttttuuuuuuuuttttttttttttttttttttttggggggggggggggggggggggggggggggggggggg
lgggggggggggggggggggggggluuuugggggggtttuuuuuuttttuuuuttuuuuttuuuuuuttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggg
lgggggggggggggggggggggggguuuugggggggtttuuuuuuttttuuuuttuuuuttuuuuuuttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggg
lgggggggggggggggggggggggguuuuggggggttuuuuttuuuuttuuuuuuttttttuuuutttttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuuggggggttuuuuttuuuuttuuuuuuttttttuuuutttttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuugggggtttuuuuttuuuuttttuuuuuuttttuuuuttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuugggggtttuuuuttuuuuttttuuuuuuttttuuuuttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggg
gggggggggglgggggggggggggguuuugggggtttuuuuttuuuuttttttuuuuuuttuuuuttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuugggggtttuuuuttuuuuttttttuuuuuuttuuuuttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuuuuuuuuttuuuuttuuuuttuuuuttuuuuttuuuuuuuutttttttttttttttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggguuuuuuuuuuttuuuuttuuuuttuuuuttuuuuttuuuuuuuutttttttttttttttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuttttttuuuuuuttttttuuuuuuttttttuuuuuuuutttttttttttttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuttttttuuuuuuttttttuuuuuuttttttuuuuuuuutttttttttttttttttttttttgggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttgggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggguuuuttttttuuuuttttttttttttttttttttuuuuttttttttttuuuutttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggguuuuttttttuuuuttttttttttttttttttttuuuuttttttttttuuuutttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuttttttuuuuttttttttttttttttttttuuuuttttttttttuuuutttttttttttttgggggggggggggggggggggggglggggggggg
ggggggggggggggggggggggggggguuuuuuttttttuuuuttttttttttttttttttttuuuuttttttttttuuuutttttttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuttttttuuuuttuuuuttttttuuuuttttuuuuttttttttttuuuuuuuutttttttttgggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuugtttttuuuuttuuuuttttttuuuuttttuuuuttttttttttuuuuuuuuttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuuuttttuuuuttttttttuuuuuuuuuuttuuuuttttttttttuuuuuuttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuuuttttuuuuttttttttuuuuuuuuuuttuuuuttttttttttuuuuuuttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuuuuuttuuuuttuuuuttuuuuttuuuuttuuuuttuuuuttttuuuuttttttttttttggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuuuuuuuuttuuuuttuuuuttuuuuttuuuuttuuuuttuuuuttttuuuutttttttttttgggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugguuuuttuuuuttuuuuttuuuuttuuuuttuuuuuuttuuuuttuuuutttttttttttgggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugguuuuttuuuuttuuuuttuuuuttuuuuttuuuuuuttuuuuttuuuuttttttttttggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugggguuuuuuuuttuuuuttuuuuttuuuuttuuuuttttuuuuttuuuuttttttttttggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugggguuuuuuuuttuuuuttuuuuttuuuuttuuuuttttuuuuttuuuuttttttttttggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugggguuuuuuuuttuuuuttuuuuttuuuuttuuuuttttuuuuttuuuuuuuutttttgggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugggguuuuuuuuttuuuuttuuuuttuuuuttuuuuttttuuuuttuuuuuuuuttttggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggguuuugggggguuuuuuttttuuuuttuuuuuuuuttuuuuttttuuuuttttuuuuuuuuttggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggglluuuugggggguuuuuuttttuuuuttuuuuuuuuttuuuuttttuuuuttttuuuuuuuutgggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglggggggggggggtttttttttttttttttuuuuttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglgggggggggggggttttttttttttttttuuuutttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglggggggggggggggtttttttttuuuuuuuuttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglgggggggggggggggttttttttuuuuuuuutttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggtttttuuuuuuuuttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggttttuuuuuuuutttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttttttttgggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggtttttttttttggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggglllllggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglgglgggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggglllllggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggglggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggguuuuuggguuguuuguuuguuuguuugggggguuguuuguuuguuuggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggguuguguuguggggugguguguguggugggggguggguguguuuguggggggggggggggggggggggggggggggggggggggggggggg
glgggggggggggggggggggggggggggggggggggguuuguuuguuuggugguuuguugggugggggguggguuuguguguugggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggguuguguuggguggugguguguguggugggggguguguguguguguggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggguuuuugguugggugguguguguggugggggguuuguguguguguuuggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtttgttggggggtttgtttggttgggggtttgtgtggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtgtgtgtgggggtgtgtgtgtgggggggtgtgtgtggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtttgtgtgggggttggtttgtgggggggttggtttggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggtgtgtgtgggggtgtgtgggtgtgggggtgtgggtggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglggggggggggggggggggtgtgtgtgggggtgtgtgggtttgggggtttgtttggggggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggglllggggggggggggtggtttgtgggtttggttgtgtgtttgttggtttgtttgtgtgtggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglggggggggggggtgtgtgggtggggtggtgtgtgtgtgggtgtgtgtgtgtgtgtgtggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggglggggggggggggtgtgttggtggggtggtgtgtgtgttggtgtgtttgtttgtgtgtggggggggggggggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggtgggtgggtggggtggtgtgtttgtgggtgtgtgggtgtgtgtgtggggggggggggggggggggggggggggggggggggggggggg
ggggggglgggggggggggggggggggggggggggggggggttgtttgtttgttggttgggtggtttgtgtgtgggtgtggttgtttggggggggggggggggggggggggggggggggggggggggg
ggggggglgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
gggggglllggggggggggggggggggggggggggggggggggggtggtttgtttgtgtgggggtttgtttgtttgtttggttggggggggggggglggggggggggggggggggggggggggggggg
ggggggglggggggggggggggggggggggggggggggggggggtgtgtgtgtgggtgtgggggtttgtgtgtgtggtggtgtggggggggggggglggggggggggggggggggggggggggggggg
ggggggglggggggggggggggggggggggggggggggggggggtgtgtttgttggttggggggtgtgtttgttgggtggtgtggggggggggggglggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggtgggtgtgtgggtgtgggggtgtgtgtgtgtggtggtgtggggggggggggglggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggttgtgtgtgggtgtgtttgtgtgtgtgtgtgtttgttgggggggggggglllllggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggglggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggggggggggggggggggggggglggggggggggggggggggggggggggggggg
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglllgggggggggggggggggggggggggglggggggggggggggggggggggggggggggg
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggglggggggglggggggggggggggggggggggggggggggggggggggggggggggggggg

__gff__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000001010101010101010101010000000000010101018001030140000100000000000101010601400140000001000000000100010001010101000a01010101000001
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
5152494a545d000000005d007d7d007d000060616461625b505152005c55404142555c606362556061636267655d5e404353434343534342000000005867676500000000000058686867650000005e5e5e550000005e40414141426064646464767b0055555555555555555555555500004849496a4949494a00000067676700
535241424c00005b00000000000000005d5b006c565d007d505352005e4b606162555c5c5c00555867686868686800505343535353435352006c00006c586767650000006e5867676867655e0000000056550000000050434343624f4f4f4f4f005e555e00665e006600005e6c665e55485a5a5a5a5a5a5a5a4a006a5a5a5a6a
515263624c0000000000005b5d5c000000005e6b00006c7d505152560055000000555c00005857676767676767655b605353535353535362006b6e006b6e586765006e0058656e5867655555550000005e00550000006061616200004041425e000055005e6e005e6d6d6d6d6b6e00555a69595969595959595a005a5969695a
53524c4f4e5c00004042000000000000000000006c7d6b005053525c0055005c00555c0058675767676767676765006661616163616161660000000058676767656c0058676868555555000000550000005e54000000555c0000004546476255555555005e005e6e005e665e6d55005559695959595959696959006969595969
51524c5e00730000504340414200005c5e00004b6b4c7d7d505152000055000000005555555557676767676765545e6d6d6d73596d6d6d556c006e6867676500006b6868676767557c0000000055005e0000540000000000005c5c6061625d00007555000066006d66006e0048434a5569595969595959695959005969695969
61624c000000000050515153524c54545400004d4f4e005d5053525454540000005e004b686868686767686868684c5b005c5c5c5c5c5e556b005868686868006c005867676768557c0000000000555555550000000000000000005e005e0000005e5e6d6d5e5e6d6d5e00734363435569595959595959596959006959695959
4f4f4e005b00004b60616464624c5e404200005d5b005d4b5051524c000000000000004b686868676767676868684c00005c5b5d5b5c006600000058676765006b6e00586767676800005e005e5e00000000000000000000000000000000000000005e6d006d00005e6c006d5e6d5e5559596959596959595969005969695959
005b0000005c004d4f4f4f4f4f4e6c505200000000005e4b6063624c000048444a75767674545e58676767655e54005e005c5c5c5c404266006e006e6c58676765000058676768650000005e00005e005c0000005c00000000000000000000000075555566546654556b5466005e005559596959596959596959005959596959
000000484a00005e00000000005d6b5052005c000000004d4f4f4f4e5b0060616200000000586767676767676765006c004041414146476600006c006b6e586767686767676765000000000000005e5e000000000000000000440000000000000056555e6e5e006e0000006d006e5e556f69595969776959596f006f5977696f
00004846464a00004041414200005c60625c0000005b5b005e5e5e000000000000005b5b004042586767655d00005d6b005051616161635500006b0000586767686867676765006c00000000005e58655e00000040414141414142005e000000000055006c5e5e6d6d5e6d5e6d6d6c556f6f6f6f6f786f6f6f6f006f6f786f6f
5d4b505353524c4b504343524c5c5d54545c0000006c00000000000000730000000000000050435558676500005c000000505256006c5b556e0000006e586767676767676c6e006b00005e005e586767655e005c506161436161520000000000000055006b6d666e006c5e666d5e6b556f676a676767676a67675a5a5a6a676f
004b607f61624c4b606464624c005c48494a0000006b0000005c0000004849494a000000005043555867655d00005b5d0060625c006b5c5500005867676767656e5867656b000000000000005e586767655e0000504361616143526d6d6d5d404142555e006d6e6d6d6b006d00005e55675a5a5a5a5a5a5a5a5a6959695a5a67
004d4f4f4f4f4e4d4f4f4f4f4e00005051525d0000005e000000000000504343526d6d6d6d7b62006d586566545454545454540000000066005867676767656e6c5867676768656e00000000005e58655e000000604546464647625d00006d50434342550000000055556e00006e55005a59695969595969595959695959695a
6c0000005e5554555554555e0048494a604454445444544454556d6d5550434352000000006d6d6d0058655e00005c5b5c6e54545454545400006e5867656e006b586767676867650000005e5c005e5e0000005e0060616161620000000000505151525e76000000005500000055000069595969696959595969695959695969
6b5e6c005b556d6d6d6d555b00454647556d005c000000005e5d005c557b61617b00000000005e0000586765000000000000000000000000000000006e0000000058676767686767655c00000000005c00000000005d5e6d00000000000000607f7f6200550000000000555e007600006f77595959695969696959596959596f
00006b5d00550000005b55000060616255005e00005e5c5c5455005d555e5e5e00000000000000005b5e68685b006c005b6e005b005e00000000444141446c0000686868676867655c0000000000000000005c000000006d5e00000000005c005d5e5d00550000005e5500005e5e55006f786f6f6f6f6f6f6f6f6f6f6f6f6f6f
0000000000555d005d0055000054545454000000000000007676000055005b005d00000000000000005e686800006b005e00005e5d00005b0000404141426b0000586767676865000000000000005d000000000000005d6d00000000005e005d00000000550000000055005e000055000044444400000067676a67676a676700
000000000055000000005500005e00557b5e0000005c005b000055005500000000000000000000005b5867655b000000006c0000005e6c00445746464646574444676765000000000000005e005e00404141425e0000006d5d00404141444200005c000055005e000000755454747d7d485a5a5a4a00675a5a5a5a5a5a5a5a67
6d6d6d6d555b000000005b55000000557b544042005e40414241444144414142665d540000005d005b586765005b006c5c6b5d006c006b00555d6061636200557467650000000000005e0048494a445761615741415700005e4b50616161524c5e000000555d00000000555e005556005a5969695a005a59695969596969695a
434c4b43555b565b5c00005500005e577b5c45474c4b504352614464636464646554540000005d5d005b586500006c6b6c005b5d6b5b005b55005c5c005c5c557b00000000005d5e5e5e5e607f634b504343434343524c6d004b50436143524c00000000555571005d00550000557d7d59596959590059695969595959596969
434c4b435500000000000055000000557b4b63624c4b6064625e5e564f5b5c58656d6d6d6d6d6d6d0000586765006b006b5b005454404200555d000000735d557b004041425e5e5e5e5e00006d7157576161616161574c5e5d4b60616161624c005d5e00555e00715b0055005e557d7d69595969590059595959596959595959
4f5e5d4f555b5c005d5b5e55005c00557b4d4f4e4c4b5b5c0000005e5e00484a5744005b5d5b00445c005b5865005b6c0000586556454768555c5d00005c5d557b406161525e5c5e5e5c5e0000714b505353535353524c6d004d4f4f4f4f4f4e0000005d555d005b5d5d555e0055007d59595959690059695959697759695959
005d5e000054540000005400000000557b5e40424c4b4042000000004849464744454141414141474c75555555746c6b005867650060625555005c5d5c5c0055745045476354546e5e5e5e5e00714b606161616163624c00005d40444141425454545454555e0000005e765555767d7d5969597759006f6f6f6f6f786f6f6f6f
000000005d005400404200005b0000577b4b60624c4b6362005b5c5e6064646244616161636161625d556d6d6d556b586767655d000000004054556d6d555440426061626d0000715e5e5d0000714d4f4f4f4f4f4f4f4e00005e50435143525c005c5d5c545e0000555500005e555e006f6f6f786f0000000000000000000000
5d00005c000054006062446c000000557b4d4f4f4e4d4f4f6d6d6d484a4f4f4e005e4d4f4f4f4f4e55556d6d6d40414254005e0054484a5b606255546d556061625c5c5c0000007171717171710000005e5d0000005e0000000050534353525c005c0056550000550000000000555e7d006767676a676700000067676a670000
000000000000545c4f4f766b5d005b557b5e005d00005e00005c4b45474c5c5757005c5e005c5e004041426d6d4546475c005b005b454658656c005e5b0000484a5c005c005d5d5d7576745d005555754444444444745c5d5c5e71515351710000005d00550000550000005e00555e7d675a5a5a5a5a5a6700675a5a5a5a6700
40425c000000404200005500000000557b54555c5c55000000004b60624c005555416d6d6d6d41415051526d405743575b40414254455741426b005e00005460625c5c5c00005d005053526e00005650534363435352575757575061436152444042000055000000005500007c7d5e7d5a6969596959695a675a596969595a00
505244005d0050635b005500005d0057555d007d6c0054005b004d4f544e005757006d6d6d6d5d4b607f636d60646164546064625c606463624c5d00000054005d006e005d006e005051626e006e4b5061616d6161624c565e007151535171765051414255000000007600007d7d7d0069695959595969595a69696959695900
6364624c5e00504f005b484a5c0000586500006c6b6e005500005d40425c005555565c00005c5d4d4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4e0000404142005e005e000000000060616e005d004b50575c6d5c4f4f4e5e5d4b50534353524c60617f62555e00555500005e007d5e7569595969596959696959595959695900
4f4f4f6c0000505c5c406062426d6d58655c006b6b7d00555d004b60624c5b575700005c0000005b5e005d005e005d005b00005d005e00005c005d4b50435174550000005e00005e7b7b0000744042404141414141424c00004b45464646474c005e000055000000557d007d557d757b69696959596959696959695959696900
6d6d6d6b5c7d504652634f4f624c0058655c5b7d6b7d5b55005b4d4f4f4e5e555500005c5d005b005d6c7d0040414141425c000000005c48494a004b635143525500404200006e00000000557b6064606161646161624c5d004b57616161634c00005e005576555e555e5500557d7b7569775959696959595a59695969696900
5c5d5c00005c6061624f5c5c7b7d0058657d006c00007d550000005d5d000055576c5c0000000000006b004b504343515240425c5d0040454647005d5d6161646200505341425e00006e00005d004d4f4f4f4f4f4f4f4e005e4d4f4f4f4f4f4e005e005555000000555e5e55555e007b6f786f6f686868686f6f686868687800
__sfx__
000e00000d0520d0520d0520d002080520805208052080020d0520d0520d0520d002080520805208052080020d0520d00208052080020d0520d00210052100020f052100520f052100520f052100520c0520c052
010e00000c54307503135430000031625000000c543000000c54307503135430000031625000000c543000000c54307503135430000031625000000c543000000c543075031354300000316250c5430c54300000
000e0000077530775319052077531c052077531905207753200522005207753077531c0521c052077530775319052190521905219052190521905219052190520775307753077530775307753077530775307753
010e00000d0520d0520d0520d002080520805208052080020705207052070520d00208052080520805208002080520d0020905208002080520d00209052100020805206002060521000204052060520205202052
010e0000077530775319052077531c0520775319052077532005220052077530775321052210520775307753200522105220052210522005221052200522105220052077531e052077531c052077531805218052
010e00001905007753140500775319050077531c050077531b050077531805007753140500775318050077531905007753140500775310050077531405007753190500775314050077530d050077030000000000
010e00000d0520d0520d0520d002080520805208052080020d0520d00210052100020f052080021205208002100520d0020d0520c7020c0520d00208052100020d0520d052040021000201052010520105201052
010e00000d0520d0520d0520d002080520805208052080020d0520d0520d0520d002080520805208052080020d0520d00208052080020d0520d00208052100020705207052070520705208052080520800208002
010e00000d0520d0520d0520d002100521005210052100020f0520f0520f0520d00212052120521205208002100521005210052080020d0520d0520d052100020f0520f0520f0520700208052080520805208052
010e00000105201052010520d0020d0520d0520d052080020c0520c0520c0520d0020d0520d0520d052080020d0520d002100520e002070520d00208052100020705207052070520705208052080520800208002
010e00001405207703100520770312052077030f05207703100520b0020d052090020f0520700214052090020d0520d052040020900208052080520b002040020405204052070020500201052010520100200002
010e0000190501905520050077531c050077531e0500775319050077531c050077531f050077532005007753250500775320050077531f05007753200500775323050077531e5320775324050077531f53207753
010e0000200522005200002000021c0501f00220050000021f0521f05200002000021b0521b0521c00200002200522005200002000021f0500000220050000021805218052000020000219052190520000200002
010e00002505007753200500775325052250520775307753240500775320050077532305223052077530775321050077531c050077531b050077531c0500775320050077531b0500775318050077531b05007753
011a000007555005050e555005051255512505005050050507555005050e555005051255512505005050050507555005050e555005051255512505005050050507555005050e5550050512555125051555500505
011a000005555005050c555005051055500505005050050505555005050c555005051055500505005050050505555005050c5550050510555005050050500505005550050507555005050c555005050755500505
011a00002305526005260550c005210550c005230550c0051f0550c005210550c0051e0550c0051f0550c0051a0551a0551a0551a0451a0451a0351a0251a0150c0050c0050c0050c0050c0050c0050c00523005
011a0000210552100524055240051f0551f00521055210051d0551d0051f0551f0051c0551c0051d0551d00518055180551805518045180451803518025180150c0050c0050c0050c0050c0050c0050c0050c005
011a00000c0050c00526055240052a0550c005260550c0052f0522f0422f0522f0422f0352f0052a0550c0052605226042260522604226052260422603226022260150c0050c0050c0050c0050c0050c0050c005
011a00000c7050c705247550c705287550c705247550c7052d7522d7422d7522d7422d7350c7052b7552a7452975229742297522975229752297422973229722297150c7050c7050c7050c7050c7050c7050c705
012d00001a5551d555155551d5551a5551d555155551d5551a5551d555155551d5551a5551d555155551d555195551c555155551c555195551c555155551c555195551c555155551c555195551c555155551c555
012d0000260422605524045220452005220055210422104500000210402004521045220522104520045210451c0521f045190452204221045000002804225055000002204221055000051f055000051d0451c055
012d0000135551555516555135551a5551655515555135550e555105551155513555155550050011555105551355516555155551355511555155551355511555105551355511555105550e555005000d5500d555
012d00001d0521f0451c05526045210522104221055000000000000000200452105525045220551d045220551c0421f055190451605515042160551504516055190421a055190451a0551c0421d0551f04521055
012d00001a055210551d0551f055100551d0552005521055260422605524045220452104021055000000000022055220001f0552205521055000001d0551c0001f055210551d0551c0551a055000000000000000
01200000130451f0451a0452604514045200451804524045130451f0451a0452604514045200451804524045130451f0451a0452604514045200451804524045130451f0451a0452604514045200451804524045
01200000237322373223732237321f7321f7321f7321f73523735007052673500705217350070523735007021f7321f7321f7321f7321a7321a7321a7321a7350070000700007000070000700007000070000700
01200000131250c105131220c105131250c105131220c105131250c105131220c105131250c105131220c105131250c105131220c105131250c105131220c105131250c105131220c105131250c1051312213125
012000001f732007001a732187321a7321a7351f7021d7321f7321f7321f73500700207322073220735007001f7321f732237321f735007001a7321a7321d7321a73500700147321473218732117321375500700
01200000110451d0450f0451b045110451d0450e0451a045130451f0450e0451a0450c045180450e0451a045110451d0450f0451b045110451d0450e0451a045130451f0450e0451a0450c045180450e0451a045
01200000111250c105111220c105111250c105111220c105131250c105131220c105131250c105131220c105111250c105111220c105111250c105111220c105131250c105131220c105131251d0001312213125
0109000020055070051b055070051a0551a0051b055070051e055070051b055070051a055070051b0550700514052140521405214055070050700507005070050700507005070050700507005070050700507005
01090000195550c505145550c5051355513505145550c505175550c505145550c505135550c505145550c5050d5520d5520d5520d5550c5050c5050c5050c5050c5050c5050c5050c5050c5050c5050c5050c505
012000001873220702207322270223702247322370223732237021f73223702207321f7021f7321f702137321b732007002b7021a7321b7322f702207321f7322f7021a7322b7022f702187321a7321773224702
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010c0000137521850119552106021c552185021955218502205522055220054245022455224552250542450525552255522555225552255422553225522255121850218502185021850218505185021850200504
010c0000107541270420754007041c75414704197540a7041475414754117040a7041b7541b7540a7040050419754197541975419754197541975419754197540050400504005040050400504000040000400700
010c00000453309500045030950004533005000450300500045330750004503005000453300500075000950004533005000050000500075330753307533075330753307500075330050007533005000753300500
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000300001c0501c0502303023030270202702023020230201c0101c01023010230101c0151c015060000400001000000000300002000020000000000000000000000000000000000000000000000000000000000
000100001f0501c0501a05015150111500c15012050100500e0500c0500c1500905009050041500315002150001500015000150001001a0001500011000100001c00000100270000400000000000000000000000
00030000247702a7702a770247601d7601c7501a750127000e7000a70009700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700
0003000025153291632d1632e1732f1732f1732b17328163251632416324153031530310303103031030310303103031030310303103031030310303103031030310303103031030310303103031030310303103
010200002165325653286532865314123141331414314153171631715317153101631016017160151000e1000e0000e0000200002000020000200002000020000200002000020000200002000020000200002000
000200000b152147521a7521c052160521c0520410204102041020410204102041020410204102041020410204102041020410204102041020410204102041020410204102041020410204102041020400204002
00010000161201f1401f140211201a100191001610014100131001310013100121001210012100121001310014100171001810000100001000010000100001000010000100001000010000100001000010000100
00010000000002d020300303204034030350203602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00020000257402575023720217301f740007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700007000070000700
00020000297202e7302c7403273034720000001a70000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00020000157341554429704287041a0241a0341d7441d5441e744287041f7341f53421704237042352422734267042270427554265442b704007042302423534247340070420724285442474426734227541f744
00010000006200e720037000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__music__
01 00010244
00 03010444
00 00010244
00 06010544
00 07010b44
00 08010c44
00 09010d44
02 0a014344
01 0e101244
02 0f111344
01 14154344
00 14174344
02 16184344
01 191a1b44
00 191c1b44
00 1d1e2144
02 1d1e4344
01 23242544
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 41424344
00 201f4344