-- title: aba
-- author: pixelbath
-- desc: lets gooo
-- site: website link
-- license: MIT License
-- script: lua
local ADD,DEL,SORT,UNPK,CONCAT=table.insert,table.remove,table.sort,table.unpack,table.concat
local RAD,DEG,MIN,MAX,ABS,RAND,SQRT,SIN,COS,PI,HUGE,CEIL,FLOOR=math.rad,math.deg,math.min,math.max,math.abs,math.random,math.sqrt,math.sin,math.cos,math.pi,math.huge,math.ceil,math.floor
local function lerp(a,b,s)
return a+(b-a)*s
end
-- return clamped value between 0 and 1
local function norm(v,max)
return MAX(0,MIN(1.0,v/max))
end
local function outQuad(a,b,s)
return -(b-a) * s * (s - 2) + a
end
local dbg_ln=0
function dbg_init()
dbg_ln=0
end
function dbg(obj)
local objstr=tostring(obj)
rect(0,dbg_ln*7,#objstr*4+1,7,0)
print(objstr, 1, dbg_ln*7+1,5,1,1,1)
dbg_ln=dbg_ln+1
end
local t=0
local player={
seen_tut_battery=false,
hasSystem=false,
}
local sprites={
icn_batt=9,
icn_heart=10,
icn_food=11,
tl_powon=37,
tl_powoff=39,
}
local sys={
batt=78,
battLow=true,
battDel=20,
pwrOn=false,
sx=56,sy=3,
titleShowMenu=false,
mainMenuSelIndex=1,
init=false,
}
local logoStripe={15,14,8,8,8,9,10,10,11,12,2,13}
local palettes={
pico8 = "0000001D2B537E2553008751AB52365F574FC2C3C7FFF1E8FF004DFFA300FFEC2700E43629ADFF83769CFF77A8FFCCAA",
db16 = "140c1c44243430346d4e4a4e854c30346524d04648757161597dced27d2c8595a16daa2cd2aa996dc2cadad45edeeed6",
}
local mainMenu={
{ text="New Game", func="mnuNewGame", },
{ text="Options", func="mnuOptions" },
}
local callbacks={
mnuNewGame=function() initGame() TIC=updateMainGameBoot end,
mnuOptions=function() trace("Options selected") end,
}
local dialog={
nar_tut_batt="In this hellish existence, the only thing keeping you tethered to reality is this game. It's a good thing the battery on this thing will probably outlast you, because it's now the only thing keeping you from joining the compost pile."
}
local particles={}
local particles_sec={}
local p2_idx=1
local dlgWidth,dlgHeight=160,80
function changePalette(pal)
for i=1,#pal//2 do
poke(0x3FC0+i-1,tonumber(string.sub(pal,i*2-1,i*2),16))
end
end
function prt(txt,x,y,clr,shd)
shd=shd or 0
clr=clr or 1
x=x or 0
y=y or 0
print(txt,x,y,clr,1,1,1)
if shd==1 then print(txt,x-1,y+1,0,1,1,1) end
end
local days = {
{ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335},
{ 366, 397, 425, 456, 486, 517, 547, 578, 609, 639, 670, 700},
{ 731, 762, 790, 821, 851, 882, 912, 943, 974,1004,1035,1065},
{1096,1127,1155,1186,1216,1247,1277,1308,1339,1369,1400,1430},
}
function tstampToDateTime(epoch)
epoch = tonumber(epoch)
local date_time = {}
date_time.second = epoch % 60; epoch = math.floor(epoch / 60)
date_time.minute = epoch % 60; epoch = math.floor(epoch / 60)
date_time.hour = epoch % 24; epoch = math.floor(epoch / 24)
local years = epoch//(365*4+1)*4
epoch = epoch % (365*4+1)
dbg(epoch)
local year
for y = 4,1,-1 do
if epoch >= days[y][1] then
year = y
goto yearContinue
end
end
::yearContinue::
local month
for m = 12, 1, -1 do
if epoch >= days[year][m] then
month = m
goto monthContinue
end
end
::monthContinue::
date_time.year = years + year + 1970 - 1
date_time.month = month
date_time.day = epoch - days[year][month] + 1
trace(date_time.year)
return string.format("%04d-%02d-%02d %02d:%02d:%02d", date_time.year, date_time.month, date_time.day, date_time.hour, date_time.minute, date_time.second)
end
-- handle picoplayer map
function remapPico(tile,x,y)
local outTile=tile
if tile==sprites.tl_powon or tile==sprites.tl_powoff then
if sys.pwrOn then
outTile=sprites.tl_powon
else
outTile=sprites.tl_powoff
end
end
return outTile,0,0
end
function createParticle(x,y,clr,z)
return {
x = x, y = y, z = z,
lastx = 0, lasty = 0,
dx=nil,dy=nil,
t = 0,
vel = 0,
color = clr,
}
end
-- reset all variables
function initGame()
player.seen_tut_battery=false
player.hasSystem=false
sys.batt=78
sys.battLow=true
sys.pwrOn=false
sys.titleShowMenu=false
sys.mainMenuSelIndex=1
t=0
sync(0, 1, false)
end
function readSpriteToParticles(sprite_id,xoff,yoff)
xoff=xoff or 0
yoff=yoff or 0
local x,y=0,0
for i=0,31 do
local val=peek4(0x8000+(64*sprite_id)+i)
if val>0 then
table.insert(particles, { x=0,y=0,dx=x+121+xoff,dy=y+49+yoff,clr=val })
-- s=string.format("%02x",val)
-- trace(tostring(i)..": "..tostring(x)..","..tostring(y).." : "..tostring(s))
end
x=x+1
if x>7 then
x=0
y=y+1
end
end
end
function updateMainGameBoot()
dbg_init()
cls(0)
if (t>50) then
map(0, 17, 30, 17, 0, 0, -1, 1)
end
if (t>100) then
t=0
TIC=updateMainGameIntro
return
end
dbg(t)
t=t+1
end
function updateMainGameIntro()
dbg_init()
if not sys.init then
initGame()
sys.init=true
-- init rain particles
for i = 0, 100 do
local pt=createParticle(math.random() * 240, math.random() * 126, 3, math.random() * 7 + 1)
pt.vel=(math.random() * 3.5) + 4.5
table.insert(particles, pt)
end
for i = 0,35 do
local pt=createParticle(0,0,3,0)
pt.t=10
table.insert(particles_sec, pt)
end
end
cls(0)
-- local centerx,centery,prg=120,68,outQuad(0,1,norm(t-35,70))
-- local wx,wy = drawDialogWindow(prg*dlgWidth,prg*dlgHeight)
map(0, 0, 30, 17, 0, 0, -1, 1)
local mx,my=mouse()
doRainOverlay(my/136)
prt(tstampToDateTime(tstamp()),20,30,7)
-- if t>80 then
-- drawProgressiveBoxedText(dialog.nar_tut_batt,wx+12,wy,dlgWidth-16,dlgHeight)
-- end
t=t+1
dbg(t)
end
function updateSystemBoot()
cls(0)
map(0, 0, 30, 17, 0, 0, -1, 1, remapPico)
if t > 80 then
sys.pwrOn=true
end
if t > 120 then
rect(sys.sx, sys.sy, 128, 128, 6)
end
if t > 125 then
rect(sys.sx, sys.sy, 128, 128, 7)
end
local h = 128
local y0 = 0
if t > 200 then
y0 = lerp(0, 50, norm(t-180, 50))
h = lerp(128, 20, norm(t-180, 50))
end
if t>230 then
drawLogoText("ESCAPEBOY", 105, 60, norm(t-180, 50))
end
if t > 140 then
local prg = norm(t-140, 100)
local sprd = outQuad(150,0,prg)
drawStripe(outQuad(-440,0,prg), sprd, y0, h)
end
if t>350 then
drawPicoWipe((t-350)/35)
end
if t>385 then
rect(sys.sx,sys.sy,128,128,1)
end
if t > 400 then
t = 0
TIC = updateSystemTitle
end
t=t+1
end
function updateSystemTitle()
dbg_init()
-- load pico title screen to Sprites
if t == 1 then sync(2,2,false) end
sys.pwrOn=true
cls(0)
-- draw picoplayer
map(0, 0, 30, 17, 0, 0, -1, 1, remapPico)
-- draw title screen splat
spr(256,sys.sx,sys.sy,-1,1,0,0,16,16)
if t<30 then
drawPicoWipe(1-t/30)
end
if not sys.titleShowMenu then
if t>100 then
local mnuPrompt = "Press a Button"
local tx=sys.sx+64-(#mnuPrompt*2)
prt(mnuPrompt,tx,sys.sy+100,7)
end
if btnp(4) or btnp(5) or btnp(6) or btnp(7) then
sys.titleShowMenu=true
end
else
drawMenu(mainMenu,sys.mainMenuSelIndex,sys.sx+54,100)
if btnp(0) then
sys.mainMenuSelIndex=sys.mainMenuSelIndex-1
if sys.mainMenuSelIndex==0 then sys.mainMenuSelIndex=#mainMenu end
end
if btnp(1) then
sys.mainMenuSelIndex=sys.mainMenuSelIndex+1
if sys.mainMenuSelIndex>#mainMenu then sys.mainMenuSelIndex=1 end
end
if btnp(4) then
sys.titleShowMenu=false
end
if btnp(5) then
callbacks[mainMenu[sys.mainMenuSelIndex]["func"]]()
end
end
doSystemBatteryStuff()
dbg(sys.batt)
t=t+1
end
function doSystemBatteryStuff()
-- check/draw battery indicator
if sys.batt<15 then
if t%30==0 then
sys.battLow=not sys.battLow
end
if sys.battLow then
spr(sprites.icn_batt, sys.sx + 110, sys.sy + 8, 0)
end
if sys.batt<1 then
t=0
TIC = updateSystemTitleFadeDead
end
end
-- drain battery
if t%sys.battDel==0 then sys.batt=sys.batt-1 end
end
function doRainOverlay(pct)
pct=pct or 1
local num=MIN(pct*#particles, #particles)
if num<1 then return end
for i = 1,num do
local p = particles[i]
if p.lasty and p.lasty > 130-(p.z * 6.8) then
local p2 = particles_sec[p2_idx]
p2.x=p.x
p2.y=p.y+1
p2.z=p.z
p2.t=0
p2_idx=p2_idx+1
if p2_idx>#particles_sec then p2_idx=1 end
p.y = -10
p.lasty = 0
p.x = math.random() * 240
end
p.lasty = p.y
p.lastx = p.x
p.y = p.y + p.vel
line(p.x, p.y, p.lastx, p.lasty, p.color)
end
for i=1,#particles_sec do
local p2 = particles_sec[i]
local s = p2.t * ((8-p2.z)/10)
if p2.t<12 then
ellib(p2.x,p2.y,s*2,s*1,p2.color)
end
p2.t=p2.t+1
end
end
function updateSystemTitleFadeDead()
map(0, 0, 30, 17, 0, 0, -1, 1, remapPico)
if t>=25 then
TIC = updateSystemDead
end
t=t+1
end
function updateSystemDead()
dbg_init()
sys.batt=0
map(0, 0, 30, 17, 0, 0, -1, 1, remapPico)
-- TODO: some sort of fancy kill screen
if t>20 then sys.pwrOn=false end
if t>40 then
t=0
TIC = updateSystemEnd
end
t=t+1
end
function updateSystemEnd()
cls(0)
if t==1 then
sync(0, 1, false)
end
if t>10 then
t=-20
TIC = updateRealWorldStreet
end
t=t+1
end
function updateRealWorldStreet()
dbg_init()
map(0, 0, 30, 17, 0, 0, -1, 1)
if player.hasSystem and not player.seen_tut_battery and t>35 then
local centerx,centery,prg=120,68,outQuad(0,1,norm(t-35,70))
local wx,wy = drawDialogWindow(prg*dlgWidth,prg*dlgHeight)
if t>80 then
drawProgressiveBoxedText(dialog.nar_tut_batt,wx+12,wy,dlgWidth-16,dlgHeight)
end
end
t=t+1
end
local tb_idx=0
function drawWavyText(txt,x,y,clr,amp,s)
for i=0,#txt do
local sv=SIN(i+s*t)*amp
local ltr = txt:sub(i,i)
print(ltr,i*4+x,sv*3+y,clr,1,1,1)
end
end
function drawProgressiveBoxedText(txt,x,y,w,h,del)
w,h=w or 80,h or 30
del=del or 3
local word,line="",""
local lines={}
for i=0,tb_idx do
-- if i>22 then goto continue end
local chr=txt:sub(i,i)
if chr~=" " then
word=word..chr
else
local wordlen=0
local j=i+1
while j <= #txt and txt:sub(j, j) ~= " " do
wordlen=wordlen+1
j=j+1
end
-- if new word exceeds line length, store line
-- and start next one with new word
if #line + #word + 1 + wordlen > w//4 then
table.insert(lines, line)
line = word .. " "
word = ""
else
line = line .. word .. " "
word = ""
end
end
end
table.insert(lines, line..word)
for i=1,#lines do
print(lines[i], x, y+i*7,15,1,1,1)
end
if t%del==0 then
tb_idx = MIN(tb_idx + 1, #txt)
end
end
function cprow2rowpico(srcr,dstr)
srcr=MAX(0,srcr)
dstr=MIN(135,dstr)
dbg(srcr)
memcpy(dstr*120+28,srcr*120+28,64)
end
function drawDialogWindow(w,h)
w=w or 16
h=h or 12
w=MAX(16,w)
h=MAX(12,h)
local x,y=120-(w//2),68-(h//2)
rect(x+7,y+7,w-14,h-14,3)
for xg=0,w-8,8 do
spr(12,xg+x,y)
spr(44,xg+x,y+h-8)
end
for yg=0,h-8,8 do
spr(27,x,yg+y)
spr(29,x+w-8,yg+y)
end
-- corners last
spr(11,x,y)
spr(13,x+w-8,y)
spr(43,x,y+h-8)
spr(45,x+w-8,y+h-8)
return x,y
end
function drawPicoWipe(prg)
local ypos=(128+sys.sy)-(prg*16*8+24)
clip(sys.sx,sys.sy+1,128,128)
for x=0,120,8 do
spr(98,x+sys.sx,ypos,0)
spr(114,x+sys.sx,ypos+8,0)
spr(130,x+sys.sx,ypos+16,0)
end
rect(sys.sx,ypos+24,128,128,1)
clip()
end
function drawLogoText(txt,x,y,prg)
local sl=FLOOR(#txt*prg)
local sv=0
for i=0,tb_idx do
local ltr = txt:sub(i,i)
if i==tb_idx and i<#txt then
sv=3-(t%3)
end
print(ltr,i*4+x,sv*2+y,clr,1,1,1)
end
if t%3==0 then
tb_idx = MIN(tb_idx + 1, #txt)
end
end
function drawStripe(x, spread, clipst, clipheight)
clip(sys.sx,sys.sy+clipst,128,clipheight-sys.sy)
for k,v in pairs(logoStripe) do
local xo=sys.sx+(k-1)+x+(spread*k)
line(xo, sys.sy+127, xo+64, sys.sy, v)
end
clip()
end
function cb_NewGame()
TIC = updateSystemBoot
end
function cb_Options()
TIC = updateRealWorldStreet
end
function drawMenu(items, sel, x, y)
for k,v in pairs(mainMenu) do
prt(v.text,x,y+(k-1)*8,7)
if sel==k then prt("x",x-8,y+(k-1)*8,7) end
end
end
function TIC()
updateMainGameBoot()
end
--
-- 000:6666666666666666666666666666666666666666666666666666666666666666
-- 001:d66666666d6666666d6666666666666d6666666d666666d6666666d666666d66
-- 002:6666666666666666666666666666666666666666666666666666666666666666
-- 003:6666666666666666666666666666666d666666dd66666ddd6666d6dd66666ddd
-- 004:6665555566155555615555557155555571555555715555557155555571555555
-- 005:5555555555555555555555555555555555555555555555555555555555555555
-- 006:5555555555555541555554115555511155555111555551115555511155555111
-- 007:5555555511111111111111113333333333333333333333333333333333333333
-- 008:5555555514555555114555551115555511155555111555551115555511155555
-- 009:0000000000080800888808808080808880808088880888800808000000000000
-- 016:6666666666666666666666666666666666666666666666666666666666666666
-- 017:66666d6666666d666666d6666666d66666656666666d6666665d666666d66666
-- 018:66666666666666666666666d666666dd66666d6d666ddddd66dddddd6dd66ddd
-- 019:66d6ddddddddddd6dddddd6dddddd6ddddddddd6dddddd66dddddd6dddddd6dd
-- 020:7155555571555555715555557155555571555555715555557155555571555555
-- 021:5555555555555555555555555555555555555555555555555555555555555555
-- 022:5555511155555111555551115555511155555111555551115555511155555111
-- 023:3333333333333333333333333333333333333333333333333333333333333333
-- 024:1115555511155555111555551115555511155555111555551115555511155555
-- 032:66666666666666666666666666666666666666666666666d6666666d666666dd
-- 033:65d666666d6666665d666666d6666666d6666d6666666d6666666d6666666d66
-- 034:dd666dddd6666ddd66666d6d666666666666666d6666666d666666dd666666dd
-- 035:dddddddddddddddddddddddd6ddddddddddddd6ddddd66ddddd66ddddd66dddd
-- 036:7155555571555555715555557155555571555555715555557155555571555555
-- 037:5555555555555555555115555518715555188155555115555555555555555555
-- 038:5555511155555111555551115555511155555111555551115555511155555111
-- 039:5555555555555555555115555512415555122155555115555555555555555555
-- 040:5555146655555146555555165555551455555514555555145555551455555514
-- 048:666666d6666666d666666d6666666d6666666d6666666d666666d6666666d666
-- 049:66666d66666666d6666666d6666666d6666666d6666666d6666666d6666666d6
-- 050:6666666d66666666666666666666666666666666666666666666666666666666
-- 051:d6ddd6ddddddddddddddddd66dddd66666666666666666666666666666666666
-- 052:7155555571555555715555d57155556671555555715555557155555571555555
-- 053:555555555555555556556556556565d565d5d555555555555555555555555555
-- 054:55555111555551115555511166555111d5555111555551115555511155555111
-- 056:5555551455555514555555145555551455555514555555145555551455555514
-- 064:6666d6666666d666666d6666666d6666666d6666666d666666d6666666d66666
-- 065:666666d6666666d56666665d6666665d6666666d6666666d6666666d6666666d
-- 066:6666666666666666666666666666666d666666d6666666d666666d666666d666
-- 067:0000000000000000000000000000000c000000cc00000ccc0000cccc000ccccc
-- 068:00ccc0000cc66c00cccc66c0cccccc6ccccccccccccccccccccccccccccccccc
-- 069:00000000000000000000000000000000c0000000cc000000ccc00000cccc0000
-- 070:5555511155555111555551115555511155555411555555415555555555555555
-- 071:3333333333333333333333331111111111111111111111115555555555555555
-- 072:1115555511155555111555551115555511455555145555555555555555555555
-- 080:66d6666666d6666666d6666666d6666666d666666d6666666d6666666d666666
-- 081:6666666d6666666d6666666d6666666d66666666666666666666666666666666
-- 082:666d66d66ddd6d666d6dd666dddd6666d5d6666655d6666655666666d6666666
-- 083:001ccccc00cccccc01cccccc0ccccccc0cc000000cc000000cc000000cc00000
-- 084:ccccccccccccccccccccccccccccccccc10000cc0000000c0000000100000000
-- 085:ccccc000cccccc00cccccc10ccccccc0ccccccc0ccccccc0ccccccc0ccccccc0
-- 096:6666666666666666666666666666666666666666666666666666666666666666
-- 097:66666666666666666666666666666dd66666dd66666d666666d6666665dd6666
-- 098:0000000000000000000001000010000000010001100010000100000000000010
-- 099:0cc000000cc0000001c0000000c0000000100000000000000000000000000000
-- 100:cccc0000ccccc000ccccc000ccccc000ccccc000ccccc000ccc1000000000000
-- 101:1cccccc00ccccc100ccccc000cccc1000cccc0000ccc00001cc00000c1000000
-- 112:666666666666666666666666666666656666666d666666d6666666d6666666d6
-- 113:6dd666665dd66666dd666666dd666666d6666666666d6666666d666666666666
-- 114:0000000110001000010001001010101001011101101011100111011110111111
-- 128:666666d6666666d6666666d6666666d6666666d6666666666666666666666666
-- 129:6666666666d666666d6666666d6666666d6666666d6666666d66666666666666
-- 130:1101110111111110111101111111101111111111111111111111111111111111
--
--
-- 001:0000000000000000000222220023888800288888002888880028888800288888
-- 002:0000000000000000222220008888320088888200888882008888820088888200
-- 003:00000000000000000000000000000022000002dd000028830002883f0002883f
-- 004:00000000000000000000000022200000ddd20000838d20003f38d2003f388200
-- 005:00000000000000000000000000000022000002ff00002ee60002ee6f0002ee6f
-- 006:00000000000000000000000022200000fff20000e6ef20006f6ef2006f6ee200
-- 007:00000000000000000000000000000022000002ee00002bb20002bb2f0002bb2f
-- 008:00000000000000000000000022200000eee2000022be2000ff2be2002f2bb200
-- 009:00000000000000000000000000000022000002cc000026220002662f0002662f
-- 010:00000000000000000000000022200000ccc20000226c2000f226c2002f266200
-- 011:0000000000788888002222220027333300283333002833330028333300283333
-- 012:0000000088888888222222223333333333333333333333333333333333333333
-- 013:0000000088aaaa0022222a003333280033332800333328003333280033332800
-- 016:222222002ffff2002f22f2002f22f2002ffff2002f22f2002222220000000000
-- 017:0028888800288888002888880023888800223333000222220000000000000000
-- 018:8888820088888200888882008888320033332200222220000000000000000000
-- 019:000288830002883f0002283f0000228300000222000000220000000000000000
-- 020:f38882003f3882003f3822008382200022220000222000000000000000000000
-- 021:0002eee60002eee60002be6f00002be6000002bb000000220000000000000000
-- 022:ff6ee2006f6ee200f6eeb2006eeb2000bbb20000222000000000000000000000
-- 023:0002bb2f0002bb2f00025b2f000025b200000255000000220000000000000000
-- 024:ff2bb2002f2bb2002f2b5200b2b5200055520000222000000000000000000000
-- 025:0002662f0002662f0002462f0000242200000244000000220000000000000000
-- 026:f22662002f266200ff2642002224200044420000222000000000000000000000
-- 027:0028333300283333002833330028333300283333002833330028333300283333
-- 028:3333333333333333333333333333333333333333333333333333333333333333
-- 029:3333280033332800333328003333280033332800333328003333280033332800
-- 032:222222002ffff2002f2222002ffff2002222f2002ffff2002222220000000000
-- 033:222222002ffff2002222f20022ff22002f2222002ffff2002222220000000000
-- 034:222222002f22f2002f22f20022ff22002f22f2002f22f2002222220000000000
-- 043:00283333002833330028333300283333002a88880028a7aa0022222200000000
-- 044:33333333333333333333333333333333888888887aaa7aaa2222222200000000
-- 045:33332800333328003333280033332700888882007aa7a8002222220000000000
-- 048:0000000000000000100000000000000010000000010200004020100001010100
-- 049:0000000000000000002000200112010120202222332111131222121113331333
-- 050:0000000000000000020000200012021120202222332111131222121113331333
-- 051:0000000002220002000020000110010120202022332111131222121413331337
-- 064:1111111133133313111111111331133311111111331337131111111113331333
-- 065:1111111133137313111111111333133311111111331333111111111117331333
-- 066:1111111433133317111111141331133711111114331333171111111413331337
-- 067:1122221133777713148887211388873314888721338887131474474112122123
-- 080:2111111113133313211111112331133321111111131337132111111122332333
-- 081:1111111133133313111111111331133311111111331337131111111112212112
-- 082:4212121001212100401210220421122240113333041377734177777717777777
-- 083:1111111122222aa22222aa22222aa22222aa22222222222222222222a222a222
-- 096:3333333273777727777772777777277777727777772777777237777723333333
-- 097:3333333377777737777777777777777777777777777777777777777733333333
-- 098:2222222222222222222222222222222222222222222222222222222222222222
-- 099:11111111222222222222222222222222222222222222222222222222a222a222
--
--
-- 000:1111111111111111111111111111111111111111111111111111111111111111
-- 001:1111111111111111111111111111111111111111111111111111111111111111
-- 002:1111111111111111111111111111111111111111111111111111111111111111
-- 003:1111111111111111111111111111111111111111111111111111111111111155
-- 004:1111111111111111111111111111111111155555115555551155552225522222
-- 005:1111111111111111111111111111111155551111555555552222222222222222
-- 006:1111111111111111111111111111111111111115555555522222222222222222
-- 007:1111111111111111111111111111111155551111222222222222222222222222
-- 008:1111111111111111111111111111122111122222222222222222222222222222
-- 009:1111111111111111111155551555555522222222222222222222222222222222
-- 010:111522ee15522222552222222222222222222222222222222222222222222222
-- 011:eeeeeeeeeeeeeeee2eeeeeee22eeeeee22eeeeee222eeeee222eeeee222eeeee
-- 012:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 013:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 014:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 015:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 016:1111111111111111111111111111111111111111111111111111111111111111
-- 017:1111111111111111111111111111111111111115111155551115552211552222
-- 018:1111111111111115111111121155222255222225222222552222225522222552
-- 019:1155552255222222225555525555222255222222522222222222222222222222
-- 020:2222222222222222222222222222222222222222222222222222222222222222
-- 021:2222222222222222222222222222222222222222222222222222222222222222
-- 022:2222222222222222222222222222222222222222222222222222222222222222
-- 023:22222222222222222222222222222222222222222222222222222222222222ee
-- 024:22222222222222222222222222222222222222222222222222222222eeeddddd
-- 025:222222222222222222222222222222222222dd2222ddddddddddeeeeddeeeeee
-- 026:22222222222222222222222222222222222222dd22ddddddeeeeeeeeeeeeeeee
-- 027:22deeeee22deeeee2deeeeeeddeeeeeedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 028:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 029:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 030:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 031:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 032:1111111111111111111111111111111111111115111111151111115211111122
-- 033:115522221152222215222222522222252222255522e555dd2e555ddeee555dee
-- 034:22222522222252dd22225ddd55555ddedddee5eeeeeeeeeeeeeeeeeeeeeeeeee
-- 035:22222222dddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 036:2eeee222deeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 037:22ee2222eeeee222eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 038:222222222222222522225555e5555eeee55eeeee55eeeeee5eeeee22eeee222d
-- 039:222eeeee55eeeeeeeeeee2eeeee22eeeee2eeeee22eeeeeedecc6deeec11cc6e
-- 040:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 041:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 042:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 043:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeff
-- 044:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffff
-- 045:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffefffffffffffffffffffffff
-- 046:eeeeeeeeeeeeeeeeeeeeeeeeeeeefffffffffffefffffeeefffeeeeeffeeeeee
-- 047:eeeeeeeeeeeeeeeeefffeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 048:111115221111122e111152ee11152eee11122eee5152eeee5522eeee522eeeee
-- 049:e555deeee555deeeee55eeeeee55eeeeeee55eeeeeee5feeeeeee5ffeeeeeeee
-- 050:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2feeeeee2ffffeee2
-- 051:eeeeeeeeeeeeeeeeeeeeeeeeee22222222222222222222222222222222222222
-- 052:eeeeeeeeeeeeeeeeeeeeeeee2eeeeeee22ee2222222222222222222222222222
-- 053:eeeeeeeeeeeeeeeeeeeeee22ee222222222222dd22225eee2255eee2555e2225
-- 054:ee222dee2222deec22ddeeecddeeee21eeee22eee22255ee22555eee5552eeee
-- 055:c15ecc6c61eeccc6c66eccc6cc11c1cc111ec1cceeec11cceee61e1ceee61e1c
-- 056:eeeeeeee5eeeeeeeceefeeee65eefeee61eeeffe61eeeeffc6eeeeefc61eeeee
-- 057:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffeeeffffe
-- 058:eeeeeeeeeeeeefffeeefffffefffffffffffffffffffffeefffeeeeeeeeeeeee
-- 059:ffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeee
-- 060:ffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeedc6c
-- 061:ffffffffffffffffffffeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 062:ffffeeeefffffeeeeeefffeeeeeeefeeeeeeeefeeeeeeeefeeeeeeeeeeeeeeee
-- 063:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 064:522eeeee522eeeee222eeeee2222eeee2222eeee222eeeee2eeeeeeeeeeeeeee
-- 065:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeffffff2
-- 066:eefffee2eeefffe2eeeefff2eeeeff22eeeeef22fff22222f222222222222225
-- 067:222222222222222222222222222222222222222222222225222555555555ddee
-- 068:222222552222255222222ccc222cc11122cc115d55c11dd5dcc1ee55eccc6c22
-- 069:5522255522255552cccccccccccc111cccc61ee1ccc61ee1ccc61ee1ccc61ee1
-- 070:522eeeee2eeeeeee6eeeeeeec6eeeeeecc65eceeccc6e1cccccc1e11cccc1eee
-- 071:eccc6ccce1c1111ceec1eee1ec15eee1c15eeeee15eeeeee5eeeeeeeeeeeeeee
-- 072:cc6ceeeecc615eeecc61eeffcc61effe1cc1eeeee111eeeeeeeeeeeeeeeeeeee
-- 073:effffeeefffeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 074:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 075:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeec5eeeeec61eeecccc6
-- 076:eeeeccc6eeeeccc6eeeeccc6eeeeccc6eeeeccc6eeecccc6eeccccc6ecc1ccc6
-- 077:5eeeeeee1eeeeeee1eeeeeee1eeeeeee1eeeeeee1eeeeeee1eeeeeee1eeeeeee
-- 078:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeefeeeeee
-- 079:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 080:ee222222eeeeeee2eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 081:2222222222222555eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 082:25555555555eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 083:55eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 084:e1ccc61e551cc11eeee111eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 085:ccc61eecccc61eecccc61cccccc6111cccc61ee1ccc61eeeccc61eeeccc61eee
-- 086:ccc15eeccc15eee1cc1eeeeecccceeeeccc6ceee1ccc61ee1ccc61ee1ccc61ef
-- 087:cc6eecc6ccc6ccccccccc111cccc11eecccc1eeecccc1eeecccc1eeecccc1eef
-- 088:eeeeeccc6eeccc1115ccc11eeecc61eeeccc61ef1ccc61cc1ccc6c111cccc11e
-- 089:c6ceeeeccc65eecccc61eeccccc1eeccc111eecc11eeee111eeeeeeceeeeeecc
-- 090:ccccccee111cc6cecee1cc6cc1eeccc611ecccc61cccccc6cc11ccc6c11eccc6
-- 091:eeccccccee1cccc1eeeccc615eeccc611eeccc611eeccc611eeccc611efccc61
-- 092:cc11ccc6111ecccceeeecccceeefcccceefeccc6efeeccc6ffffccc6fffeccc6
-- 093:1fcccceeccc666cfc11ccc6511eccc611ef1cc6c1ff1ccc61ff1ccc61ffdccc6
-- 094:feeeeeeeeeeeeeeefeffeeeeeffffeffffffefff1fffffff1fffffff1fffffff
-- 095:eeeeeeefeeeeeefeeeeeefefeeeffefffeffefffefffffffffffffffffffffff
-- 096:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 097:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 098:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 099:eeeeeecceeeeccc1eeecc115eecc15eeedc15eeeecc1eeeeeccc66dee1cccc61
-- 100:ccc66cee1cccc6cee1cccc6ce1ccccc6eecccccceecccccceeccccccecc1cccc
-- 101:ccc61eeeccc61eeeccc61fffcccc1ffc1ccccccc6111111165eeeeee61eeeccc
-- 102:eccc61fffcccc1ffcccc1dffccc1dfffcc1deeee11deeeeeeeeeeeeec6eeeeee
-- 103:cccc1fffcccc1ffecccc1eeecccc1eeecccc1eee1111deeeeeeeeeeecc6eeeee
-- 104:1ccc61eee1cc6ceee1ccc6ceee1ccc6ceee1cccceeee1111eeeeeeeeec6eeeec
-- 105:eeeeeccceeeeeccceeeeeccccccee1cccc11eecc11deef11eeeeeeefccccccef
-- 106:61eeccc661efccc661ffccc6666cccc6ccc11cc6111df111fffffffffffccccc
-- 107:1feccc611ffccc611feccc611ef1cc661fffccccdfff1111fffffffffffffff6
-- 108:ffefccc6ffffccc6ffffccc6ccffccc6c11fcccc1dff1111fff7f777cf7f7777
-- 109:1fffccc61fffccc11f7fccc117ffccc5177dcc1fd77ccc17777ccc17777cccda
-- 110:1f7fffffd7ffffff7ffffffff77777f777777f777777777777a7777aaaaa7aaa
-- 111:ffffffffffffffff7ffffff7ffffff7f7777f7ffa77f777f7777777777777777
-- 112:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 113:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 114:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
-- 115:ee1cccc1eee1111eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeceeeccccc
-- 116:ecc1ccccecc11cccec151ccccc1e1ccccc1e1cccc15ee1cc61eee1cc6ccccccc
-- 117:cceeccccc65e11ccc61ee1ccc61ee1cccc6ee1ccccc1e5ccccc1ee5ccccccccc
-- 118:cc6eeeeccc65ee5ccc61ee1ccc61ee1ccc61ee1cccc1eee1cccc5ee1ccc61ee1
-- 119:ccc6eeeeccc65eeeccc61eeeccc61eeecccc1eeeccccceeecccc65eecccc61ee
-- 120:ec65eeccecc1ecc1ecc1ecccecc1ecccecc1e1ccecc1ee11ecc1eeececc1eecc
-- 121:111cc6cf5ee1cc6ceef1ccc6cee1cccc11eccccc1ecccccccc11ccccc15bcccc
-- 122:ffccccccff51cccccfff1ccc65ff1ccc61fff1cc61fff1cc61fff1cc61bbbb1c
-- 123:cffffffc65fffffc6cffff7cc65ff77cc6cf777ccc65777ccc61777ccc6c77ac
-- 124:65f777776177777a61777aa7617aaa7a61aaaaaa61aaaaaa61aaaaaa61aaaaad
-- 125:77acc1aa7adcc1aaaacc1daaaacc1aaaacccdaaaacc1aaaacccdaaaacc1aaaaa
-- 126:aaa7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-- 127:aaaa777aaaaa7aa7aaa7aaaaaa7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-- 128:eeeeeeeeeeeeeeeeeeeeeeeeee33333b33333333333333333333333333333333
-- 129:eeeeeeeeeeeeeeeeeeeeeeeebbbbbbbb33333bbb333333333333333333333333
-- 130:eeeeeeeeeeeeeeeeeeeeeeeebbeeeeeebbbbbbbebbbbbbbb33bbbbbb3bbb3333
-- 131:eee1111ceeeeeecceeeeeecceeeeeec1eeeeecc1eeeeec15bbeecc1ebbbcc153
-- 132:c11111cc15eee51c1eeeee1c5eeeee1ceeeeee1ceeeeebb1eebbbb313bbb3333
-- 133:ccc6111cccc61e1cccc61ee1cccc65b1cccc61b1cccc6133cccc6c531cccc613
-- 134:ccc61ee1cccc1eeccccc6bbcccccc6cccccccccc1cccccc131cccc1133111113
-- 135:cccc61ebccccc1b1ccccc6111ccccc6c1ccccccc11cccccc331cccc133311115
-- 136:1c11dccccc11cccccc11ccccc151ccccc131cccc15331ccc533331cc33333311
-- 137:61bbcccc6133cccc6133cccc6133cccc61dccccc66cc1ccccc115ccc11133511
-- 138:6133331c6133331c61333bb16133333161333331cc333333c153333315333333
-- 139:ccc65aacccc61accccc6cacccccc61c1cccc6cc11ccccc111ccccc131cccc113
-- 140:1aaaaaad1aaaaaad1aaaaaadaaaaaaaaaaaaaaaabbbbbbbb333333bb3333333b
-- 141:cc1aaaaaccdaaaaacccaaaaa1ccaaaaaa1ccaaaabb1ccbbbbbb1cccc33bb5111
-- 142:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac6caaaaccc6cbbbccc6cbbb1cc15b33
-- 143:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbb333333333
-- 144:3333333333333333333333333333333333333333333333333333333333333333
-- 145:33333bbb33333333333333333333333333333333333333333333333333333333
-- 146:bb333333333333333333333333333333333333333333333c33333ccc333dcccc
-- 147:333cc13333ccc13333cc15333ccc1333ccc15333ccc13333cc153333c1533333
-- 148:333333333333333333333333333333333333333333333333333333333333333c
-- 149:1cccccc331cccc6133111115333333333333cccc33ccccccccc11111c1113333
-- 150:3333333333333333333333333333cccccccccccc111111115333333333333333
-- 151:3333333333333333333ccccccccccccc11111111533333333333333333333333
-- 152:3333333333333333cc6c6663cccccccc11111111333333353333333333333333
-- 153:333333333333333333333333ccc63333cccccccc111111cc3333351133333333
-- 154:3333333333333333333333333333333ccccccccccccccc111111115333333333
-- 155:31ccc13331cc11333cc11333cc11333311133333133333333333333333333333
-- 156:3333333333333333333333333333333333333333333333333333333333333333
-- 157:3333333333333333333333333333333333333333333333333333333333333333
-- 158:355b333333333333333333333333333333333333333333333333333333333333
-- 159:3333333333333333333333333333333333333333333333333333333333333333
-- 160:3333333333333333333333333333333333333333333333333333333333333333
-- 161:3333333333333333333333333333333333333333333333333333333333333333
-- 162:333ccccc333cccc1333ccc15333cc15333311533333333333333333333333333
-- 163:153333335333333333333333333333333333333b33333bbb3333bbb3333bb333
-- 164:333333cc333333cc333333cc3333bb1cbbbbb31cb3333351333333b533333b33
-- 165:1333c6c31bbccc631bb1cc6c1bbb1cc6c1bb11cccccb1cc111cccc1535111153
-- 166:3333333333333333333333333333333333333bb33bbbb333bb33333333333333
-- 167:3333333333333333333333333333333333333333333333333333333333333333
-- 168:33333333333333333333333333333333333333333333333333333333333333bb
-- 169:333333333333333333333333333333333333333333bbbbbbbbb33333333333bb
-- 170:3333333333333333333333333333333333333333bbb33bbbbbbbbbbb3333bbbb
-- 171:3333333333333333333333333333333333333333b3333333bbbb3333bbbbb333
-- 172:3333333333333333333333333333333333333333333333333333333333333333
-- 173:3333333333333333333333333333333333333333333333333333333333333333
-- 174:3333333333333333333333333333333333333333333333333333333333333333
-- 175:3333333333333333333333333333333333333333333333333333333333333333
-- 176:3333333333333333333333333333333333333333333333333333333333333333
-- 177:3333333333333333333333333333333333333333333333333333333333333333
-- 178:3333333333333333333333333333333333333333333333333333333333333333
-- 179:3333333333333333333333333333333333333333333333333333333333333333
-- 180:3333333333333333333333333333333333333333333333333333333333333333
-- 181:3333333333333333333333333333333333333333333333333333333333333333
-- 182:3333333333333333333333333333333333333333333333333333333333333333
-- 183:3333333333333333333333333333333333333333333333333333333333333333
-- 184:33bbbbb333333333333333333333333333333333333333333333333333333333
-- 185:33333b3333333333333333333333333333333333333333333333333333333333
-- 186:33333bbb33333b333333b3333333333333333333333333333333333333333333
-- 187:bbbbbb333b333bb333333bb3333333bb333333b3333333333333333333333333
-- 188:3333333333333333333333333333333333333333333333333333333333333333
-- 189:3333333333333333333333333333333333333333333333333333333333333333
-- 190:3333333333333333333333333333333333333333333333333333333333333333
-- 191:3333333333333333333333333333333333333333333333333333333333333333
-- 192:3333333333333333333333333333333333333333333333333333333333333333
-- 193:3333333333333333333333333333333333333333333333333333333333333333
-- 194:3333333333333333333333333333333333333333333333333333333333333333
-- 195:3333333333333333333333333333333333333333333333333333333333333333
-- 196:3333333333333333333333333333333333333333333333333333333333333333
-- 197:3333333333333333333333333333333333333333333333333333333333333333
-- 198:3333333333333333333333333333333333333333333333333333333333333333
-- 199:3333333333333333333333333333333333333333333333333333333333333333
-- 200:3333333333333333333333333333333333333333333333333333333333333333
-- 201:3333333333333333333333333333333333333333333333333333333333333333
-- 202:3333333333333333333333333333333333333333333333333333333333333333
-- 203:3333333333333333333333333333333333333333333333333333333333333333
-- 204:3333333333333333333333333333333333333333333333333333333333333333
-- 205:3333333333333333333333333333333333333333333333333333333333333333
-- 206:3333333333333333333333333333333333333333333333333333333333333333
-- 207:33333333333333333333bbbb33bbbbbb3b333333333333333333333333333333
-- 208:3333333333333333333333333333333333333333333333333333333333333333
-- 209:3333333333333333333333333333333333333333333333333333333333333333
-- 210:3333333333333333333333333333333333333333333333333331111331111333
-- 211:3333333333333333333333333333333333333333333333333333333333333333
-- 212:3333333333333333333333333333333333333333333333333333333333333333
-- 213:3333333333333333333333333333333333333333333333333333333333333333
-- 214:3333333333333333333333333333333333333333333333333333333333333333
-- 215:3333333333333333333333333333333333333333333333333333333333333333
-- 216:3333333333333333333333333333333333333333333333333333333333333333
-- 217:3333333333333333333333333333333333333333333333333333333333333333
-- 218:3333333333333333333333333333333333333333333333333333333333333333
-- 219:3333333333333333333333333333333333333333333333333333333333333333
-- 220:3333333333333333333333333333333333333333333333333333333333333333
-- 221:3333333333333333333333333333333333333333333333333333333333333333
-- 222:3333333333333333333333333333333333333333333333333333333333333333
-- 223:3333333333333333333333333333333333333333333333333333333333333333
-- 224:3333333333333333333111333311111333333311333331113333111333311133
-- 225:3333333333333311333311113331111311111133131111333111111311111111
-- 226:1113333313333333333333333333333333333333333333333333333311133333
-- 227:3333333333333333333333333333333333333331333331113331111131111111
-- 228:3333333333333333333333333111133311133333313333331133333333333333
-- 229:3333333333333333333333333333333333333333333333333333333333333333
-- 230:3333333333333333333333333333333333333333333333333333333331111333
-- 231:3333333333333333333333333333333333333333333333333333333333333333
-- 232:3333333333333333333333333333333333333333333333333333333333333333
-- 233:3333333333333333333333333333333333333333333333333333333333333333
-- 234:3333333333333333333333333333333333333333333333333333333333333333
-- 235:3333333333333333333333333333333333333333333333333333333333333333
-- 236:3333333333333333333333333333333333333333333311333331113133111311
-- 237:3333333333333333333333333333333133333311313331131111111311111133
-- 238:3333333333333333333333331333333333333333333333333333333333333333
-- 239:3333333333333333333333333333333133333313333331113331111133111113
-- 240:3331333133333311333311113331111131111111111111111111111111111111
-- 241:1111111111111111111111111111111111111111111111111111111111111111
-- 242:1111111111111111111111111111111111111111111111111111111111111111
-- 243:1111111311111133111113331111111111111111111111331111111111111111
-- 244:3333333333333333333333331333333333333333333333311111311111111111
-- 245:3333333333333311333311113311111111111113111111331111111111111111
-- 246:1111111311113333111333331333333333333333333333333333333311133333
-- 247:3333333333333333333333333333333133333311333131133311111131111111
-- 248:3331111333113333111333331133333313333333333333111111111111111111
-- 249:3333333333333333333333333333333333333333333331111133111111111111
-- 250:3333333333331333331113333111333311133111111111111111111111111111
-- 251:3333331133333111333111113311111111111111111111111111111111111111
-- 252:3111311111111111111111111111111111111111111111111111111111111111
-- 253:1111133311111333111333331113331311133113113311111131111111111111
-- 254:3333333333333333333311333311131131111111111111111111111111111111
-- 255:3311113331111311111111111111111111111111111111111111111111111111
--
--
--
-- 003:000023231300003300132313230023132323233300132300001333002323000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 004:330005040423232400051404142314041404140423041433230424000504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 005:240005140404142400051404140414041404140414041404140424000514000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 006:240005040434042400051404340414041434140414043404040424000504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 007:240005041404042400050404140414041404141414040404140424000504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 008:240005040404142400051404140414041404140414040404140424000504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 009:240305140404042403051404140414041404140414041404140424030514000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 010:242505150515051525051514150415141504151415141504151424250515000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 011:061606160616061606160616061606160616061606160616061606160616000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006
-- 012:363536363536363536363536363536363536363536363536363636363636360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 013:262626262626262626262626262626262626262626262626262626262626000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 014:262626262626262626262626262626262626262626262626262626262626000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 015:262626262626262626262626262626262626262626262626262626262626000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-- 016:262626262626262626262626262626262626262626262626262626262626000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
--
--
-- 000:00000000ffffffff00000000ffffffff
-- 001:0123456789abcdeffedcba9876543210
-- 002:0123456789abcdef0123456789abcdef
--
--
-- 000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304000000000
--
--
-- 000:100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
--
--
-- 000:0000001d2b537e2553008751ab52365f574fc2c3c7fff1e8ff004dffa300ffec2700e43629adff83769cff77a8ffccaa
--
--
-- 000:140c1c44243430346d4e4a4e854c30346524d04648757161597dced27d2c8595a16daa2cd2aa996dc2cadad45edeeed6
--
--
-- 000:0000001d2b537e2553008751ab52365f574fc2c3c7fff1e8ff004dffa300ffec2700e43629adff83769cff77a8ffccaa
--