pico8-moonbus/moonbus.p8

672 lines
48 KiB
Plaintext
Raw Normal View History

pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
-- MoonBus
-- by Dejvino
2024-08-09 18:23:58 +00:00
function reset()
2024-08-09 19:12:25 +00:00
plr_money=0
plr_level=1
plr_target={}
2024-08-10 05:56:16 +00:00
levels={
{map_start=0,map_height=8},
{map_start=8,map_height=8},
2024-08-10 05:59:17 +00:00
{map_start=16,map_height=16},
{map_start=16,map_height=15,gravity=0}
2024-08-10 05:56:16 +00:00
}
flag_solid=0
flag_start=1
flag_dock=7
2024-08-09 18:23:58 +00:00
cam={}
load_level()
menuitem(1, "Next level", function()
plr_win=true
make_progress()
end)
menuitem(2, "Prev level", function()
plr_win=true
plr_level-=2
make_progress()
end)
end
function load_level()
plr_alive=true
plr_win=false
plr_docked=false
plr_speed={x=0,y=0.5}
plr_static=false
plr_engine=-1
plr_fuel=1
plr_landings=0
plr_transed=0
local maplevel=levels[plr_level]
mapy=maplevel.map_start
maph=maplevel.map_height
gravity=maplevel.gravity or 0.01
2024-08-09 18:23:58 +00:00
engine_power=0.1
fuel_cons=0.01
2024-08-09 18:23:58 +00:00
land_speed_limit=1
2024-08-09 19:12:25 +00:00
bonus_docked=1
transed_per_level=5
2024-08-09 19:41:35 +00:00
plr_pos=find_random_point_by_flag(1)
telem_spd={}
2024-08-09 19:41:35 +00:00
next_target()
2024-08-09 18:23:58 +00:00
end
function _init()
reset()
end
function _update()
debug_points={}
2024-08-09 18:23:58 +00:00
if not plr_alive and btn(❎) then
load_level()
2024-08-09 18:23:58 +00:00
end
-- controlls
plr_engine=-1
if plr_alive and plr_fuel>0 then
2024-08-09 07:22:18 +00:00
if not plr_docked then
2024-08-10 09:48:21 +00:00
if btn(🅾️) and dist(plr_speed)>0.01 then
if abs(plr_speed.x) > abs(plr_speed.y) then
plr_engine=(plr_speed.x>0) and ⬅️ or ➡️
else
plr_engine=(plr_speed.y<0) and ⬆️ or ⬇️
end
end
2024-08-09 07:22:18 +00:00
if btn(⬆️) then plr_engine=⬆️ end
if btn(⬇️) then plr_engine=⬇️ end
if btn(⬅️) then plr_engine=⬅️ end
if btn(➡️) then plr_engine=➡️ end
end
if plr_docked and btn(❎) then
plr_docked=false
plr_static=false
plr_engine=⬆️
plr_speed={x=0,y=0.5}
if not plr_win then
sfx(4)
else
--
end
make_progress()
2024-08-09 07:22:18 +00:00
end
end
-- engine
if plr_engine==⬆️ then
plr_speed.y+=engine_power
2024-08-09 07:22:18 +00:00
elseif plr_engine==⬇️ then
plr_speed.y-=engine_power
elseif plr_engine==⬅️ then
plr_speed.x-=engine_power
elseif plr_engine==➡️ then
plr_speed.x+=engine_power
end
2024-08-09 06:30:36 +00:00
if plr_engine != -1 then
sfx(2,2)
plr_fuel=max(0,plr_fuel-fuel_cons)
2024-08-09 06:30:36 +00:00
else
sfx(-1,2)
end
if plr_docked then
plr_fuel=min(1,plr_fuel+fuel_cons)
end
-- move objects
move(plr_pos,plr_speed,0.1)
2024-08-09 20:05:42 +00:00
plr_pos.x=plr_pos.x%128
-- gravity pull
if not plr_static then
plr_speed.y-=gravity
end
-- crash detection
local pc=plus(plr_pos,{x=0.5,y=-0.5})
local crashed=false
2024-08-10 09:48:21 +00:00
if plr_alive and (plr_pos.y<=0 or plr_pos.y>17) then
crashed=true
elseif pc.y <= maph+1 and not plr_static then
for p in all({plus(pc,clearx(unit(plr_speed,0.4))), plus(pc,cleary(unit(plr_speed,0.4)))}) do
2024-08-09 20:38:47 +00:00
local pmaps=0
if (p.y>=0 and p.y<=maph) then
2024-08-10 05:56:16 +00:00
pmaps=mget(p.x,mapy+maph-p.y)
2024-08-09 20:38:47 +00:00
end
2024-08-09 19:41:35 +00:00
local dock=fget(pmaps,7)
local target=dist(plr_pos,plr_target)<=1
local solid=fget(pmaps,0)
2024-08-09 19:41:35 +00:00
local slow=dist(plr_speed) < land_speed_limit
if dock and slow and p.y < pc.y then
plr_speed={x=0,y=0}
plr_pos={x=flr(plr_pos.x+0.5),y=flr(plr_pos.y+0.5)}
2024-08-09 07:22:18 +00:00
plr_docked=true
plr_static=true
2024-08-09 19:12:25 +00:00
plr_landings+=1
2024-08-09 19:41:35 +00:00
if target then
plr_money+=bonus_docked
plr_transed+=1
check_progress()
2024-08-09 19:41:35 +00:00
end
2024-08-09 06:30:36 +00:00
sfx(1)
break
elseif solid then
crashed=true
break
end
end
end
if crashed then
plr_speed.y*=-0.75
plr_speed.x*=0.5
plr_alive=false
if (dist(plr_speed) > 1) then
sfx(0)
else
plr_speed.x=0
plr_speed.y=0
plr_static=true
sfx(3)
end
end
2024-08-09 06:54:52 +00:00
if plr_alive then
telem_spd=mul(plr_speed,1)
end
cam={x=plr_pos.x*8-60, y=0}
end
function _draw()
cls()
2024-08-09 07:22:18 +00:00
camera(cam.x,cam.y)
2024-08-10 05:56:16 +00:00
local lvl=mapy
2024-08-09 20:38:47 +00:00
map(0,lvl, 0, 128-maph*8)
map(0,lvl, -128*8, 128-maph*8)
map(0,lvl, 128*8, 128-maph*8)
local px,py=to_scrn(plr_pos)
local img=0
2024-08-09 07:22:18 +00:00
if plr_docked then
img=5
elseif not plr_alive then
img=4
elseif plr_engine==⬆️ then
img=2
2024-08-09 07:22:18 +00:00
elseif plr_engine==⬇️ then
img=2
elseif plr_engine==⬅️ then
img=3
elseif plr_engine==➡️ then
img=1
end
spr(img,px,py)
for p in all(debug_points) do
local px,py=to_scrn(p)
pset(px,py,8)
end
2024-08-09 19:12:25 +00:00
-- target
if plr_alive then
2024-08-09 20:05:42 +00:00
local tg={x=plr_target.x,y=plr_target.y}
if plr_target.x-plr_pos.x>64 then
tg.x-=128
elseif plr_target.x-plr_pos.x<-64 then
tg.x+=128
end
local tx,ty=to_scrn(tg)
local dst=dist(plr_pos,tg)
2024-08-09 19:12:25 +00:00
local c=flr(t())%2==0 and 3 or 11
if dst > 8 then
local dir=atan2(tx-px,ty-py)
line(px+4+cos(dir)*10,py+4+sin(dir)*10,tx+4,ty+4,c)
end
if dst > 3 then
print("웃",tx,ty+2,c)
else
print("__",tx,ty+4,c)
end
end
--
2024-08-09 07:22:18 +00:00
-- HUD
2024-08-09 19:12:25 +00:00
--
2024-08-09 07:22:18 +00:00
camera(0,0)
-- fuel
local fw=20
local fh=6
local fx=85
local fy=0
rect(fx,fy,fx+fw,fy+fh,5)
rectfill(fx+1,fy+1,fx+plr_fuel*(fw-1),fy+fh-1,plr_fuel > 0.25 and 13 or 8)
print("fuel", fx+3,fy+1,1)
2024-08-09 06:54:52 +00:00
-- telemetry
local cr=10
2024-08-09 07:22:18 +00:00
local cp={x=127-cr,y=cr}
2024-08-09 06:54:52 +00:00
local spd={x=limit(telem_spd.x,1),y=limit(telem_spd.y,1)}
circ(cp.x,cp.y,cr,3)
line(cp.x,cp.y,cp.x+spd.x*cr,cp.y,11)
line(cp.x,cp.y,cp.x,cp.y-spd.y*cr,11)
circ(cp.x+spd.x*cr,cp.y-spd.y*cr,1,dist(telem_spd)<land_speed_limit and 3 or 8)
if not plr_alive then
line(cp.x+(-0.3*cr),cp.y+(-0.6*cr),cp.x,cp.y,5)
line(cp.x+(-0.7*cr),cp.y+(-0.3*cr),cp.x,cp.y,5)
line(cp.x,cp.y,cp.x+0.6*cr,cp.y+0.3*cr,5)
line(cp.x+0.6*cr,cp.y+0.3*cr,cp.x+0.2*cr,cp.y+0.8*cr,5)
end
2024-08-09 07:22:18 +00:00
if plr_alive then
if plr_docked then
if plr_win then
print("wohoo! level complete.", 0,0,3)
print("press ❎ to advance.", 32,60,11)
else
print("smooth! you docked.", 0,0,3)
print("press ❎ to undock.", 32,60,11)
end
2024-08-09 07:22:18 +00:00
else
print("land gently to dock.", 0,0,3)
end
else
print("oops! you crashed.", 0,0,8)
2024-08-09 18:23:58 +00:00
print("press ❎ to reset.", 32,60,11)
2024-08-09 07:22:18 +00:00
end
2024-08-09 19:12:25 +00:00
print("⌂"..plr_landings, fx,fy+fh+2+0,3)
print("웃"..plr_transed.."/"..transed_per_level, fx,fy+fh+2+8,3)
2024-08-09 19:12:25 +00:00
print("✽"..plr_money, fx,fy+fh+2+16,3)
print("lvl "..plr_level, fx+20,fy+fh+2+16,3)
end
function get_new_level()
return max(1,min(#levels,plr_level + 1))
end
function check_progress()
if plr_transed >= transed_per_level then
plr_win=true
end
end
function make_progress()
if (plr_win) then
plr_level=get_new_level()
load_level()
else
next_target()
end
end
function find_random_point_by_flag(f)
local pts={}
for x=0,127 do
for y=0,maph-1 do
local m=mget(x,mapy+y)
local pt=fget(m,f)
if pt then
add(pts,{x=x,y=y})
end
end
end
local di=flr(rnd(#pts))+1
local mp=pts[di]
return {x=mp.x,y=maph-mp.y}
end
2024-08-09 19:41:35 +00:00
function next_target()
local docks={}
for x=0,127 do
2024-08-09 20:38:47 +00:00
for y=0,maph-1 do
2024-08-10 05:56:16 +00:00
local m=mget(x,mapy+y)
2024-08-09 19:41:35 +00:00
local dock=fget(m,7)
local new=x!=plr_target.x and y!=plr_target.y
if dock and new then
add(docks,{x=x,y=y})
end
end
end
local di=flr(rnd(#docks))+1
local mp=docks[di]
plr_target={x=mp.x,y=maph-mp.y+1}
end
function to_scrn(p)
local x=p.x*8
local y=128-p.y*8
return x,y
end
function move(p,d,a)
a=a or 1
p.x+=d.x*a
p.y+=d.y*a
end
function plus(p,d,a)
a=a or 1
return {
x=p.x+d.x*a,
y=p.y+d.y*a
}
end
function clearx(p)
return {
x=0,
y=p.y
}
end
function cleary(p)
return {
x=p.x,
y=0
}
end
function mul(p,a)
return {
x=p.x*a,
y=p.y*a
}
end
function neg(p)
return mul(p,-1)
end
2024-08-09 19:12:25 +00:00
function dist(p,p2)
p2=p2 or {x=0,y=0}
return abs(p.x-p2.x) + abs(p.y-p2.y)
end
function unit(p,u)
u=u or 1
local x = 0
local y = 0
if p.x>0 then x=u end
if p.x<0 then x=-u end
if p.y>0 then y=u end
if p.y<0 then y=-u end
return {x=x,y=y}
end
2024-08-09 06:54:52 +00:00
function limit(val,lim)
if (abs(val) > lim) then
return val*lim/abs(val)
end
return val
end
__gfx__
000000000000000000000000000000000000aa00000000005000000500000000000b300000000000000000000000000000000000000000000000000000000000
00a9a90000a9a90000a9a90000a9a90000a9000000a9a90000000000000000000033330000000000000000000000000000000000000000000000000000000000
001111000011110000111100001111000001000000111100000000000000000000b3430000000000000000000000000000000000000000000000000000000000
01111110011111100111111001111110010010100111111000000000000000000035bb3000000000000000000000000000000000000000000000000000000000
0a9999400a9999400a9999400a9999400a9990400a776540000000000000000003b3433000000000000000000800009000000000000000000000000000000000
5a9999458a9999455a9999455a999948000909555a7c564500000000000000000b343b30000b3000000000000a0000a000000000000000000000000000000000
5949444589494445594944455949444859490440596715450000000000000000b3b4533300b3b300030303000400004000000000000000000000000000000000
0055550000555500008888000055550050555500007c5600500000050000000000045000000b3000033003030400004000000000000000000000000000000000
66566665000000000000000560000000d8ddddbd0000000000566660000000000003333333333333333330007766776600000000000000000000000000000000
666666660000000000000006660000005d7c56d5000000000666666600000000003d3343433d3343433d33007665766500000000000000000000000000000000
56666657000000000000005756600000566715570000000006666657000000000434465354344653543446505446545400000000000000000000000000000000
66756666000000000000066666750000667c5666000000006675666600000000444454d4444454d4444454d4446454d400000000000000000000000000000000
66666666000000000000666666666000666715660000000066666666000000000644444446444444464444404444444400000000000000000000000000000000
66666665006600000006666566666600667c5565000000006666666500000000d4454445d4454445d4454445d454544500000000000000000000000000000000
65666657076567600066665765666650656556570000000065666650000000005444445454444454544444505444545400000000000000000000000000000000
67656666666666566765666667656666666566660000000007656600000000000445464444454644444546404654564400000000000000000000000000000000
00000007777777777d8ddbd77000000006566665665666600000000000000000454445444544454445444544000000000000000eeeeeeeeee000000000000000
000000767676767676dddd766500000000666666666666000000000000000000044d4446444d4446444d44400000000000000088888888888200000000000000
00000077666666666661166665000000000666575666600000000000000000005444465454444654544446540000000000000e22222222222220000000000000
0000007661116116616d16165500000000006666667500000000000000000000444454d4444454d4444454d00000000000008888888888888882000000000000
000000776d161dd66d166dd6650000000000066666600000000000000000000004444444464444444644440000000000000e2222222222222222200000000000
000000766666666666666666550000000000006566000000000000000000000000454445d4454445d44544450000000000888888888888888888820000000000
0000007665656565656565656500000000000007600000000000000000000000544444545444445454444450000000000e222222222222222222222000000000
00000005555555555555555550000000000000000000000000000000000000000445464444454644444546400000000088888888888888888888888200000000
6460000677c000000000000000000000000000000000000000000000000000004544454445444544454445440000000054444544544445445444454400000000
545646666611cc00000000000000000000000000000000000000000000000000444d4446444de446444dbb460000000055455555555555555545555500000000
6555456661d1115000000000000000000000000000000000000000000000000054464654544e8854544b3314000000004444544444c414d44445444400000000
5455556661dd1565000000000000000000000000000000000000000000000000446554d4444882d4444411d40000000055555545555554555555555500000000
65554566666656550000000000000000000000000000000000000000000000004465144446442644464444440000000045444444444445444444444400000000
5455556666656555000000000000000000000000000000000000000000000000d4414445d4464445d44544450000000055545555555455555545554500000000
555111665656555000000000000000000000000000000000000000000000000054444454544445445444445400000000444445444414d5144445d54400000000
11100006555555000000000000000000000000000000000000000000000000004445464444454644444546440000000054554555545555555545554500000000
2024-08-10 14:22:13 +00:00
__label__
30003330330033000000033033303300333030003030000033300330000033000330033030300000000005555555555555555555550000000033333330000000
30003030303030300000300030003030030030003030000003003030000030303030300030300000000005dd111d1d1d11101000050000003300000003300000
30003330303030300000300033003030030030003330000003003030000030303030300033000000000005dd1ddd1d1d10001000050000030000000000030000
30003030303030300000303030003030030030000030000003003030000030303030300030300000000005dd11dd1d1d11001000050000300000000000003000
33303030303033300000333033303030030033303330000003003300000033303300033030300300000005dd1ddd1d1d10001000050003000000000000000300
00000000000000000000000000000000000000000000000000000000000000000000000000000000000005dd1dddd11d11101110050030000000000000000030
00000000000000000000000000000000000000000000000000000000000000000000000000000000000005555555555555555555550030000000000000000030
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000003
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033300033300000000000300000000000000000003
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000333330030300000000000300000000000000000003
000000000000000000000000000000000000000000000000000000000000000000000000000000000000033333330303000000000003000000000bbbbbbbbbb8
000000000000000000000000000000000000000000000000000000000000000000000000000000000000003030300303000000000003000000000b0000000083
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000303330033300000000000300000000000000000008
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000003
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000030
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000030
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033300033300030333000003000000000000000300
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033300030300300300000000300000000000003000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000333330030300300333000000030000000000030000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033300030300300003000000003300000003300000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000030300033303000333000000000033333330000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000033300000000030003030300000003300000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033330030300000000030003030300000000300000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000033300030300000000030003030300000000300000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000333300030300000000030003330300000000300000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300033300000000033300300333000003330000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000a9a900000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000111100000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000001111110000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000a999940000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000005a999945000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000059494445000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000555500000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000
006600000000000000660000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000
0765676000000000076567600000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000
66666656000000006666665600000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000
66566665d8ddddbd66566665000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000
666666665d7c56d5666666660000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000
56666657566715575666665700000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000
66756666667c566666756666000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000
6666666666671566666666660000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000
66666665667c5565666666650000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000
65666657656556576566665700000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000
676566666665666667656666000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000
6656666566566665665666650000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000
66666666666666666666666600000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000
566666575666665756666657000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000
6675666666756666667566660000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000
66666666666666666666666600000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000
666666656666666566666665000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000
6566665765666657656666570000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000
6765666667656666676566660000000000000000000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000
66566665665666656656666560000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000
666666666666666666666666660000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000
5666665756666657566666575660000000000000000000000000000000000000000000000000000000000000000000000000000000bbb0000000000000000000
6675666666756666667566666675000000000000000000000000000000000000000000000000000000000000000000000000000000bbb0000000000000000000
666666666666666666666666666660000000000000000000000000000000000000000000000000000000000000000000000000000bbbbb000000000000000000
6666666566666665666666656666660000000000000000000000000000000000000000000000000000000000000000000000000000bbb0000000000000000000
6566665765666657656666576566665000000000000000000000000000000000000000000000000000000000000000000000000000b0b0000000000000000000
67656666676566666765666667656666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
66566665665666656656666566566665600000000000000000000000000000000000000000000000000000000000000000000005d8ddddbd6000000000000000
666666666666666666666666666666666600000000000000000000000000000000000000000000000000000000000000000000065d7c56d56600000000000000
56666657566666575666665756666657566000000000000000000000000000000000000000000000000000000000000000000057566715575660000000000000
66756666667566666675666666756666667500000000000000000000000000000000000000000000000000000000000000000666667c56666675000000000000
66666666666666666666666666666666666660000000000000000000000000000000000000000000000000000000000000006666666715666666600000000000
66666665666666656666666566666665666666000000000000660000000000000000000000000000000000000000000000066665667c55656666660000000000
65666657656666576566665765666657656666500000000007656760000000000000000000000000000000000000000000666657656556576566665000000000
67656666676566666765666667656666676566660000000066666656000000000000000000000000000000000000000067656666666566666765666600000000
66566665665666656656666566566665665666656656666566566665665666656656666566566665665666656656666566566665665666656656666566566665
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
56666657566666575666665756666657566666575666665756666657566666575666665756666657566666575666665756666657566666575666665756666657
66756666667566666675666666756666667566666675666666756666667566666675666666756666667566666675666666756666667566666675666666756666
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
66666665666666656666666566666665666666656666666566666665666666656666666566666665666666656666666566666665666666656666666566666665
65666657656666576566665765666657656666576566665765666657656666576566665765666657656666576566665765666657656666576566665765666657
67656666676566666765666667656666676566666765666667656666676566666765666667656666676566666765666667656666676566666765666667656666
__gff__
0000000000000200010000000000000001000000810001000101018100000000000181000000000001010100000100000101000000000000010101000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2024-08-09 19:53:57 +00:00
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000011001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000011110000000000000000000000000000000000001210141000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000111100000000060000001210101300000000000000000000000000000000121010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000110000000000000000000000000000110000
2024-08-09 19:53:57 +00:00
0012101013000000000000121010101000000000000000000000000000000012101010101013000000000000000000000000000000000000000000000000000011000000000000000000000020212123202123000000000000000000110000121010130000000000000000202122101300000000000000000000000012101300
1210101010130000000012101010101011001100000000110000000000121010101010101010130011000000000012141300000000000000000000000000001110130000000000000000000020212121212123000000000011001210101010101010101300001100000000202121101013000012101300000000001210101013
1010101010101010141010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010101010101010101010101010212221101010101010
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000b09000000000000003d3d191a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000060000000000080a090000000000000000181b1a000000000000000000282a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000b000008091829292a00000000080a090a28392a002c2d2e0000000000282a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
08000a1b091819192929392a0a0a0a181919191929292a0a3c3d3e0a0a091b08282a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1919191919192929392929291919192929292929292929292929292929382929292929291010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
2024-08-09 20:49:24 +00:00
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000016000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121413000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000001100000000000000000000000600000016000000000030223100000000000000000000003022212300000000000000101010000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2024-08-09 20:49:24 +00:00
0000000000121013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000241025000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1300000000162500000000001100000020212223000000000000000000000000000000000000302121222300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1013000000000000000000121013000000000000000000000016000000000000000000000000302121213100000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1010130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2024-08-10 05:56:16 +00:00
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
__sfx__
000400002c2501f250132503365036660396503764035630316202f6202c620246201d6101b6101b61019610126100e61010610116100c6000d6000e6000c6000a60007600016000060000000000000000000000
010800003d0202d0203d0203d61421620216201d6101c6101a6150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0001002005750087500b7500b7500a750067500375005750087500a7500b7500a75009750047500475006750097500a7500a75009750087500675006750087500a7500a75008750067500675008750097500a750
00020000226502265026150241501d150161500e1500c150061500315001150001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010800002605000000260502163021610216102161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
002000001885000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000