pico-8 cartridge // http://www.pico-8.com version 42 __lua__ debug_light_col = true dt = 1.0/30.0 blocker_flag = 0 bcg_flag = 1 money_flag = 2 door_flag = 0x10 player_flag = 6 enemy_flag = 7 alert_level = 0.0 -- [0.0-1.0] alert_level_acc = 1.0/30.0 alert_level_deacc = alert_level_acc / 20.0 -- disable repetead btnp triggers poke(0x5f5c,255) -- enble inverted fills, add +6144 to color to use it poke(0x5f34, 0x2) -- utilities function lerp(x,y,t) return y*t+x*(1.0-t) end -- end - utilities -- triangles -- based on -- https://github.com/emutyworks/learning-pico-8/blob/main/triangle/triangle.p8 function rotate(ang,x,y) local rx,ry rx = flr(x*cos(ang) - y*sin(ang)) ry = flr(x*sin(ang) + y*cos(ang)) return rx,ry end -- ang [0,1] -> [0,360] degrees function rotate_triangle(cx,cy,ang,tr) local t = {} for k,v in pairs(tr.n) do local rx,ry = rotate(ang,v.x,v.y) add(t,{x=rx+cx,y=ry+cy}) end tr.t[1].x = t[1].x tr.t[1].y = t[1].y tr.t[2].x = t[2].x tr.t[2].y = t[2].y tr.t[3].x = t[3].x tr.t[3].y = t[3].y end function draw_triangle(tr, col) local t = tr.t if t[1].y > t[2].y then t[1],t[2] = t[2],t[1] end if t[2].y > t[3].y then t[2],t[3] = t[3],t[2] end if t[2].y < t[1].y then t[1],t[2] = t[2],t[1] end local p = {} calc_line(t[1].x,t[1].y,t[3].x,t[3].y,col,p,0) calc_line(t[1].x,t[1].y,t[2].x,t[2].y,col,p,1) calc_line(t[2].x,t[2].y,t[3].x,t[3].y,col,p,2) local ad = 1 if t[1].x > t[2].x then ad = -1 end for k,v in pairs(p) do for x=v.x0,v.x1,ad do pset(x,k,col) end end end function calc_line(x0,y0,x1,y1,col,p,flg) if (x0>=x1 and y0>=y1) or y0>=y1 then x0,y0,x1,y1 = x1,y1,x0,y0 end local dx,ax local dy = y1-y0 if x0<=x1 and y0<=y1 then dx = x1-x0 ax = 1 else dx = x0-x1 ax = -1 end local dx2,dy2 = dx*2,dy*2 local l = {} if dx > dy then local d,y = -dx,y0 for x=x0,x1,ax do if d > 0 then y += 1 d -= dx2 end d += dy2 add(l,{x=x,y=y}) pset(x,y,col) end else local d,x = -dy,x0 for y=y0,y1 do if d > 0 then x += ax d -= dy2 end d += dx2 add(l,{x=x,y=y}) pset(x,y,col) end end if flg == 0 then for k,v in pairs(l) do if p[v.y] and p[v.y].x0 > v.x then p[v.y] = {x0=v.x,y0=v.y,x1=0,y1=0} else p[v.y] = {x0=v.x,y0=v.y,x1=0,y1=0} end end else for k,v in pairs(l) do if p[v.y] and p[v.y].x1 < v.x then p[v.y] = {x0=p[v.y].x0,y0=p[v.y].y0,x1=v.x,y1=v.y} end end end end function make_camera_actor(x,y,angle,w,h,range) local c = {} c.x = x c.y = y c.angle = angle if range == nil then range = 0.125 end c.range = range if w == nil then w = 10 end if h == nil then h = 30 end c.tr = { -- normal/default rotation n = { {x=0,y=0}, {x=-w,y=h}, {x=w,y=h} }, -- transformed t = { {x=0,y=0}, {x=-w,y=h}, {x=w,y=h} } } add(cameras,c) return c end function update_camera_actor(cam) local hp = 0.25 local angle = sin(sin(sin(time()*0.3)*hp)*hp) angle *= cam.range angle += cam.angle rotate_triangle(cam.x,cam.y,angle,cam.tr) end function draw_camera_actor(cam) draw_triangle(cam.tr,10) end -- end - triangles function make_actor(x,y,s,t,col) local a = {} a.x=x a.y=y a.dx=0.0 a.dy=0.0 a.mdx=2.0 a.mdy=120.0 a.xr=0.0 a.yr=0.0 a.t = t -- type a.ddy = 1.0 -- gravity a.w=8 a.h=8 -- half-width a.standing = false a.s = s -- sprite a.collidable = col a.move = nil add(actors, a) return a end function make_player(x,y,s,id) local pl = make_actor(x,y,s,t_pl,true) pl.w = 8 pl.h = 8 pl.mdx_walk = 1.3 pl.mdx_hide = 0.4 pl.jump_dy = -5.3 --jump init force pl.jump_ddy = -0.5 -- jump force applied every frame pl.mdx = pl.mdx_walk pl.id = i -- for input pl.coyote_duration = 0.2 pl.coyote_timestamp = 0.0 pl.hiding = false pl.walking_sound_last_time = time() pl.walking_sound_delay = 0.2 pl.move = move_player pl.animations = {} local idle_animation = {} idle_animation.frames = {1,2} idle_animation.times = {0.4,0.4} pl.animations["idle"] = idle_animation local run_animation = {} run_animation.frames = {3,4} run_animation.times = {0.3,0.3} pl.animations["run"] = run_animation local hide_animation = {} hide_animation.frames = {5} hide_animation.times = {1} pl.animations["hide"] = hide_animation local die_animation = {} die_animation.frames = {6,7,6} die_animation.times = {0.2,0.3,10.0} pl.animations["die"] = die_animation pl.current_anim = "idle" pl.anim_curr_frame = 1 pl.anim_last_time = time() pl.anim_curr_time = 0 pl.flipped = false player = pl return pl end function update_actor_animation(ac) if ac.animations == nil then return end ac.anim_curr_time += time() - ac.anim_last_time ac.anim_last_time = time() local curr_anim = ac.animations[ac.current_anim] if (curr_anim != nil) then if (ac.anim_curr_time > curr_anim.times[ac.anim_curr_frame]) then ac.anim_curr_frame += 1 if (ac.anim_curr_frame > #curr_anim.frames) then ac.anim_curr_frame = 1 end ac.anim_curr_time = 0 end end end function change_actor_anim(ac, anim) if (anim != ac.current_anim) then ac.anim_curr_frame = 1 ac.anim_curr_time = 0 ac.current_anim = anim end end function make_police(x,y) local p = make_actor(x,y,s,t_en,true) p.mdx = 2.0 p.walk_dx = 0.3 p.force_jump = false p.mdx = 2.5 p.move = move_police p.animations = {} local idle_animation = {} idle_animation.frames = {8,9} idle_animation.times = {0.4,0.4} p.animations["idle"] = idle_animation local walk_animation = {} walk_animation.frames = {8,24} walk_animation.times = {0.4,0.4} p.animations["walk"] = walk_animation p.current_anim = "idle" p.anim_curr_frame = 1 p.anim_last_time = time() p.anim_curr_time = 1.0/rnd(10) p.flipped = false add(police, p ) end function make_bullet(x,y,dx,owner) local b = {} b.x = x b.y = y b.w = 1 b.h = 1 b.dx = dx b.collidable = true b.owner_actor = owner add(bullets,b) end function draw_bullets() for i,b in pairs(bullets) do circfill(b.x,b.y,1,10) end end function update_bullets() for i,b in pairs(bullets) do if b != nil then b.x += b.dx local col = collides_map(b, blocker_flag) if col == false then for i,a in pairs(actors) do if collides(b,a) then col = true --actors[i] = nil break end end end if col == true then bullets[i] = nil end end end end function make_money(x,y) local m = make_actor(x,y,23) if money_actors == nil then money_actors = {} end add(money_actors,m) return m end function make_particle(x,y,s,dx,dy) local ac = make_actor(x,y,s,t_pr,true) ac.w = 2 ac.h = 2 ac.dx = dx ac.dy = dy ac.lifetime = 2+rnd(1.0) ac.start_time = time() ac.move = move_particle end function draw_actor(ac) local sprite if (ac.animations != nil) then sprite = ac.animations[ac.current_anim].frames[ac.anim_curr_frame] else sprite = ac.s end spr(sprite,ac.x,ac.y,1,1, ac.flipped) end function draw_fow(x,y,r,c1,c2,pulse_f) if (c1 == nil) then c1 = 3 end if (c2 == nil) then c2 = 0 end if pulse_f == nil then pulse_f = 1 end if fow_t == nil then fow_t = 0 end fow_t += dt*0.2*pulse_f local pulse = sin(fow_t) local pulse2 = sin(fow_t+0.1) fillp(0b1110101111100101.1) circfill(x,y,r-7+pulse2*10,c1+6144) fillp(0b0011001111001100.1) circfill(x,y,r+2+pulse*10,c2+6144) fillp() circfill(x,y,r+6+pulse*10,c2+6144) fillp() end function is_standing(pl) if (pl.coyote_timestamp != nil) then return time() - pl.coyote_timestamp < pl.coyote_duration or pl.standing end return pl.standing end function move_player(pl) if (player_alive) then if (btn(0,pl.id)) then pl.dx -= 1 change_actor_anim(pl, "run") player.flipped = true elseif (btn(1,pl.id)) then pl.dx += 1 change_actor_anim(pl, "run") player.flipped = false else if (is_standing(pl)) then pl.dx *= 0.9 else pl.dx *= 0.95 end pl.xr = 0 change_actor_anim(pl, "idle") end -- hide button if (btn(3,pl.id) and is_standing(pl)) then pl.mdx = pl.mdx_hide pl.hiding = true change_actor_anim(pl, "hide") else pl.mdx = pl.mdx_walk pl.hiding = false end -- jump button if (btnp(4,pl.id) and is_standing(pl)) then pl.standing = false pl.dy = pl.jump_dy sfx(3) end if (btn(4,pl.id) and pl.standing == false and pl.dy < 0) then pl.dy += pl.jump_ddy end end end function move_police(p) if alert_level > 0.3 then p.dx = 0.8 * alert_level if p.flipped == true then p.dx *= -1 end else p.dx = 0 end local px = 0 if p.dx > 0 then px = flr(p.x/8) else px = ceil(p.x/8) end local py = flr(p.y/8) if p.dx > 0 then px +=1 elseif p.dx < 0 then px -= 1 end local mxy = mget(px,py) local res = fget(mxy,blocker_flag) if res then p.dx *= -1.0 p.flipped = not p.flipped return end local mxy = mget(px,py+1) local res = fget(mxy,blocker_flag) if not res then p.dx *= -1.0 p.flipped = not p.flipped return end end function move_particle(ac) if( ac.standing == true ) then ac.dx *= 0.95 end if (time() - ac.start_time > ac.lifetime) then del(actors, ac) end end function move_actor(ac) if (ac.move != nil) then ac.move(ac) end -- move x if(abs(ac.dx)>ac.mdx)then ac.dx = ac.mdx*sgn(ac.dx) end ac.xr += ac.dx local movex = flr(ac.xr) if( ac.dx < 0 ) then movex += 1 end if(movex != 0) then ac.xr -= movex local movexsgn = sgn(movex) while( movex != 0 ) do ac.x += movexsgn local col = collides_anything(ac) if( col == false ) then movex -= movexsgn else -- on colide movex = 0 ac.dx = 0 ac.x -= movexsgn break end end ac.x = min(max(ac.x,0),c_level.width*8-8) end -- move y if(abs(ac.dy)>ac.mdy)then ac.dy = ac.mdy*sgn(ac.dy) end -- if not standing, then then add y acc. if( ac.standing == false ) then ac.dy += ac.ddy ac.yr += ac.dy local movey = flr(ac.yr) if( ac.dy < 0 ) then movey += 1 end if(movey != 0) then ac.yr -= movey local moveysgn = sgn(movey) while( movey != 0 ) do ac.y += moveysgn local col = collides_anything(ac) if( col == false ) then movey -= moveysgn else -- on colide if( ac.dy > 0) then ac.standing = true end movey = 0 ac.dy = 0 ac.y -= moveysgn break end end end else ac.y += 1 if( not collides_anything(ac) ) then ac.standing = false ac.coyote_timestamp = time() end ac.y -= 1 end end function collides_anything(a) if( a.collidable == false) then return false end local col = false -- for nextactor in all(actors) do -- if( collides(a,nextactor) ) do -- col = true -- break -- end -- end if( col == false ) then col = collides_map(a, blocker_flag) if (a == player and player_alive == true and collides_map(a, 3)) then kill_player() end end return col end function collides(a1, a2) if (a1==a2) then return false end if (aabb(a1.x, a1.y, a1.w, a1.h, a2.x, a2.y, a2.w, a2.h )) then return true end return false end function a_collides_camera_actors(a) for i=1,#cameras do local result = a_collides_t(a,cameras[i].tr.t) if result == true then return true end end return false end function a_collides_t(a,t) return aabb_triangle_intersects(a.x, a.y, a.w, a.h, t[1].x, t[1].y, t[2].x, t[2].y, t[3].x, t[3].y) end -- left top corner and full height and width function aabb(x1,y1,w1,h1,x2,y2,w2,h2) x1 += w1*0.5 y1 += h1*0.5 x2 += w2*0.5 y2 += h2*0.5 local dx = x1 - x2 local dy = y1 - y2 if (abs(dx) < (w1+w2)*0.5 ) then if (abs(dy) < (h1+h2)*0.5 ) then return true end end return false end function aabb_triangle_intersects(b_x, b_y, b_w, b_h, t1_x, t1_y, t2_x, t2_y, t3_x, t3_y) return aabb_line_intersects(b_x, b_y, b_w, b_h, t1_x, t1_y, t2_x, t2_y) or aabb_line_intersects(b_x, b_y, b_w, b_h, t1_x, t1_y, t3_x, t3_y) or aabb_line_intersects(b_x, b_y, b_w, b_h, t2_x, t2_y, t3_x, t3_y) end function aabb_line_intersects(b_x, b_y, b_w, b_h, x1, y1, x2, y2) local l = b_x local r = b_x + b_w local t = b_y local b = b_y + b_h -- normalize segment local dx, dy = x2 - x1, y2 - y1 local d = sqrt(dx*dx + dy*dy) if d == 0 then return false end local nx, ny = dx/d, dy/d -- minimum and maximum intersection values local tmin, tmax = 0, d -- x-axis check if nx == 0 then if x1 < l or x1 > r then return false end else local t1, t2 = (l - x1)/nx, (r - x1)/nx if t1 > t2 then t1, t2 = t2, t1 end tmin = max(tmin, t1) tmax = min(tmax, t2) if tmin > tmax then return false end end -- y-axis check if ny == 0 then if y1 < t or y1 > b then return false end else local t1, t2 = (t - y1)/ny, (b - y1)/ny if t1 > t2 then t1, t2 = t2, t1 end tmin = max(tmin, t1) tmax = min(tmax, t2) if tmin > tmax then return false end end -- points of intersection -- one point local qx, qy = x1 + nx*tmin, y1 + ny*tmin if tmin == tmax then return true end -- two points return true end function check_player_on_screen() local onscreen = true if (player.x < cameraposx or player.x > cameraposx + 128 or player.y > 128) then onscreen = false end return onscreen end function init_map() levelmap = {} lasttimechunkgen = 0 genchunkdelay = 1 cameraposx = 0 cameraposy = 0 cameraspeed = 46 screenshake_start_time = 0 screenshake_duration = 0.3 start_screenshake = false local lvl1 = {} lvl1.posx = 0 lvl1.posy = 0 lvl1.width = 55 lvl1.height = 17 make_camera_actor(90,80,0) make_camera_actor(25*8,11*8,-0.25,10,30,0.125) make_camera_actor(28*8,6*8,0.125,8,50,0.08) make_camera_actor(39*8,4*8,-0.125,8,50,0.125) make_camera_actor(51*8,9*8,-0.125,8,40,0.125) make_camera_actor(35*8,10*8,0.125,10,35,0.125) add(levelmap,lvl1) c_level = {} c_level = lvl1 for ix=0,c_level.width do for iy=0,c_level.height do local mxy = mget(ix,iy) local player_res = fget(mxy,player_flag) if( player_res ) then make_player(ix*8,iy*8,1,t_pl) end local enemy_res = fget(mxy,enemy_flag) if( enemy_res ) then make_police(ix*8,iy*8) end local money_res = fget(mxy,money_flag) if( money_res ) then make_money(ix*8,iy*8) end end end end function draw_map() palt(0,false) palt(8,true) map(0,0,c_level.posx,c_level.posy,c_level.width,c_level.height,blocker_flag + bcg_flag + door_flag) palt(0,true) palt(8,false) end function kill_player() player_alive = false time_killed = time() start_screenshake = true screenshake_start_time = time() player.dx = 0 change_actor_anim(player, "die") sfx(3) spawn_blood_particle(player.x, player.y) local hi = dget(0) if( hi < score ) then dset(0, score) end end function finish_level() player_alive = false player.dx = 0 end function collides_map(a, flag) local cx = c_level.posx local cy = 0 local cw = c_level.width*8 local ch = 16*8 if( aabb(a.x, a.y, a.w, a.h, cx, cy, cw, ch) ) then local x = flr((a.x-c_level.posx)/8+c_level.posx) local y = flr((a.y)/8+c_level.posy) local x_max = flr((a.x+a.w-c_level.posx-1)/8+c_level.posx) local y_max = flr((a.y+a.h-1)/8+c_level.posy) for ix=x,x_max do for iy=y,y_max do local mxy = mget(ix,iy) local fxy = fget(mxy,flag) if( fxy ) then return true end end end end return false end function screenshake() if (time() - screenshake_start_time < screenshake_duration) then cameraposx += cos(time()*12)*4 cameraposy = cos(time()*10)*3 else start_screenshake = false end end function spawn_blood_particle(x,y) for z=0,20 do local dx = rnd(1.0) local dy = rnd(2.5) local negx = false local negy = false negx = (flr(rnd(2)) == 1) negy = (flr(rnd(2)) == 1) if (negx == true) then dx *= -1 end if (negy == true) then dy *= -1 end make_particle(x,y,68,dx,dy) end end function start_gameplay() t_pl = 1 -- type player t_en = 2 -- type enemy t_so = 3 -- type solid t_pr = 4 -- type particle music(-1) actors = {} -- all actors police = {} -- police actors cameras = {} bullets = {} score = 0 hiscore = dget(0) show_title = false player_alive = true spawning_player = true gameplaye_start_time = time() spawn_last_time = 0 time_killed = time() init_map() end function init_title() need_txt = {x=0, y=64, w=18, h=4} for_txt = {x=1, y=64, w=18, h=4} thief_txt = {x=0, y=71, w=29, h=78} logo_posx = 35 logo_posy = 42 need_txt_start_offset = 1.0 for_txt_start_offset = 0.5 + need_txt_start_offset thief_txt_start_offset = 0.8 + for_txt_start_offset press_start_start_offset = 1 + thief_txt_start_offset make_camera_actor(logo_posx-5,logo_posy,-0.125,10,30,0.125*0.5) make_camera_actor(logo_posx+thief_txt.w*2+5,42,0.125,10,30,-0.125*0.5) end function _init() cartdata(0) music(0) particles = {} cameras = {} show_title = true if (show_title == true) then init_title() else init_map() start_gameplay() end end function update_anybutton() anybut = false if ( btn(0,0) or btn(1,0) or btn(2,0) or btn(3,0) or btn(4,0) or btn(5,0) ) then if( btnp(0,0) or btnp(1,0) or btnp(2,0) or btnp(3,0) or btnp(4,0) or btnp(5,0) ) then anybut = true end end end function update_camera(pl) local cam_border_x = 10 cam_dx = pl.x - (cameraposx+64); local dx_sgn = sgn(cam_dx) if abs(cam_dx) > cam_border_x then cameraposx += cam_dx-cam_border_x*dx_sgn cameraposx = min(max(cameraposx, 0), c_level.width*8-128) end end function solve_player_cameras_collisions(p) if (debug_light_col and player_alive == true and a_collides_camera_actors(p) and not p.hiding) then alert_level += alert_level_acc alert_level = min(alert_level, 1.0) else alert_level -= alert_level_deacc alert_level = max(alert_level, 0.0) end end function solve_player_money_collisions(p) if #money_actors == 0 then return end for i=1,#money_actors,1 do if money_actors[i] != nil do if collides(p,money_actors[i]) then del(actors,money_actors[i]) money_actors[i] = nil score += 500 end end end end function solve_player_police_collisions(p) if #police == 0 then return end for i=1,#police,1 do if police[i] != nil do if collides(p,police[i]) then kill_player() return end end end end function solve_player_door_collision(p) local px = flr(p.x/8) local py = flr(p.y/8) local mxy = mget(px,py) local res = fget(mxy,4) if res then local dx = abs(p.x-px*8) local dy = abs(p.y-py*8) if (dx <2 and dy <2 ) then finish_level() end end end function player_shooting(p) if (btnp(5,p.id)) then local offset = 0 if p.flipped then make_bullet(p.x-1+2,p.y+2,-4) else make_bullet(p.x+8+2,p.y+2,4) end end end function update_title() if (anybut) then start_gameplay() end foreach(cameras,update_camera_actor) end function update_gameplay() foreach(cameras, update_camera_actor) foreach(actors, move_actor) foreach(actors,update_actor_animation) player_shooting(player) update_bullets() if (player_alive == true) then solve_player_cameras_collisions(player) solve_player_money_collisions(player) solve_player_door_collision(player) solve_player_police_collisions(player) end update_camera(player) if (check_player_on_screen() == false and player_alive == true) then kill_player() end if (player_alive == false and (time() - time_killed) >= 2) then start_gameplay() end if (start_screenshake == true) then screenshake() end if (spawning_player == true and anybut ) then spawning_player = false end if (player.current_anim == "run" and time() - player.walking_sound_last_time > player.walking_sound_delay and player.standing == true) then sfx(1) player.walking_sound_last_time = time() end end function _update() update_anybutton() if (show_title == true) then update_title() else update_gameplay() end end function print_score() local score_text = ""..flr(score) for x=0,5-#score_text do score_text = "0"..score_text end local hiscore_text = ""..flr(hiscore) for x=0,5-#hiscore_text do hiscore_text = "0"..hiscore_text end hiscore_text = "hi:"..hiscore_text print(score_text,cameraposx+100+1,10+1,9) print(score_text,cameraposx+100,10,7) print(hiscore_text,cameraposx+88,4,9) end function draw_title() cls() camera(0,0) rectfill (0,0,127,127,1) local text_color = 5 local colors = {2,8,9} camera(0,0) local need_dt = time()-need_txt_start_offset; local for_dt = time()-for_txt_start_offset; local thief_dt = time()-thief_txt_start_offset; local start_dt = time()-press_start_start_offset; local anim_time = 0.2; palt(0,false) palt(1,true) if need_dt > 0 then local w = 18 local t = min(need_dt/anim_time,1.0) local x = lerp(-w,logo_posx,t) sspr(0,64,w,5,x,logo_posy,w*2,5*2) end if for_dt > 0 then local w = 11 local t = min(for_dt/anim_time,1.0) local x = lerp(128,logo_posx+18*2,t) sspr(19,64,w,5,x,logo_posy,w*2,5*2) end if thief_dt > 0 then local t = min(thief_dt/anim_time,1.0) local y = lerp(128,logo_posy+6*2,t) sspr(0,71,29,8,logo_posx,y,29*2,8*2) end if start_dt > 0 then local cam_colors = {3,8,10} local color_anim_time = 1.2 local color_n = flr(lerp(1,#cam_colors,min(start_dt/color_anim_time,1))) pal(10,cam_colors[color_n]) foreach(cameras,draw_camera_actor) pal() local fow_anim_time = 1.0 local size = lerp(90,60,min(start_dt/fow_anim_time,1)) draw_fow(64,logo_posy+20,size) text_color = colors[ flr((time()*10)%#colors)+1 ] print("press start", 43, 100, text_color) print("krzysztof siewiorek-pieniazek", 10, 120, 1) end palt(1,false) palt(0,true) end function draw_game() -- static background cls() camera(cameraposx,cameraposy) foreach(cameras,draw_camera_actor) -- background tiles draw_map() -- actors foreach(actors, draw_actor) draw_bullets() local radius = lerp(45,18,alert_level) draw_fow(player.x,player.y,radius,0,0,5.0*alert_level+1.0) print_score() print("l:\x8b \nr:\x91 \njump:\x8e \nshoot:\x97 \n",5,5,9) if (player_alive == false) then print("game over", cameraposx+46, 40, 8) end end function _draw() if (show_title == true) then draw_title() else draw_game() end end __gfx__ 00000000000880000000000000088000000880000000000000000000000000000011600000000000000000000000000000000000000000000000000000000000 00000000008888800008800000888880008888800000000000000000000000000011111000116000000000000000000000000000000000000000000000000000 00000000018212e000888880018212e001812e8000000000000000000000000000f4f40000111110000000000000000000000000000000000000000000000000 000000000182120008821ee0018212000181210000000000000000000000000000fe8e0000f4f400000000000000000000000000000000000000000000000000 000000000081110001821200008111000081110000000000004004000040004000112000001e8e00000000000000000000000000000000000000000000000000 000000000088880000811100008888000088880000000000008ee800008ee8800011519a0011219a000000000000000000000000000000000000000000000000 00000000008ee80000888800008ee800008ee8000088880001888880088888800f1c119000fc1190000000000000000000000000000000000000000000000000 00000000004004000040040000400100001004000881118001811280088112800022020000220200000000000000000000000000000000000000000000000000 d1ddd1d1100100d00000100000000000000000000000000000444400000000000011600000000000000000000000000000000000000000000000000000000000 1d11111d0d0001000000000000000000000000000000000004222240000000000011111000000000000000000000000000000000000000000000000000000000 0110d10001d0100000100000000000000000000000000000049999403b3bb00000f4f40000000000000000000000000000000000000000000000000000000000 11d110101010000d10000000000000000000000000000000049999401311100000fe8e0000000000000000000000000000000000000000000000000000000000 000101d00d00d0000000001000000000000000000000000004999840003b33b30011200000000000000000000000000000000000000000000000000000000000 10100101000101000000000000000000000000000000000004999940001311110111519a00000000000000000000000000000000000000000000000000000000 00010000010000d0010000000000000000000000000000000499994003ba3330f01cd19000000000000000000000000000000000000000000000000000000000 010001001001d000000001000000000000000000000000000499994003a33b300020220000000000000000000000000000000000000000000000000000000000 6d040506000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 64550406000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 d6405456000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11115011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 600010dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6d5d05d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 dd0000d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6d05506d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 64050d46000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 d4505066000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6500506d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 6050d546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 66d05d6d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 64d00d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 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 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 31113133133133311113331131133111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 33113131131131131113111313131311000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 31313133133131131113113113131311000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 31133131131131131113313113133111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 31113133133133311113111331131311000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 33333313311133133193333139333311000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11931113311133193133111133111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 10330009300033030039000093000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 10390003200029029023000032000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 10230002933932092092330029230111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 10920009200023023023000092000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 10290002900032032092000023000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11321113211129129123292191111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e600 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6000000000000d6e600000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6d6000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e600000000d60000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d60000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7 __label__ 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000097f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000a777e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000b7d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 007777077770077700777700000777700c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 07707700770077000770770000070070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 07777700770077000770770770777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 07700000770077000770770000770070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 07700007777077770777700000777770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 66606660066006600000666000006660000066600000600066600000000000000000000000000000000000000000000000000000000000000000000000000000 60600600600060600000606000006060000000600000600060600000000000000000000000000000000000000000000000000000000000000000000000000000 66600600600060606660666000006060000066600000666066000000000000000000000000000000000000000000000000000000000000000000000000000000 60000600600060600000606000006060000060000000606060600000000000000000000000000000000000000000000000000000000000000000000000000000 60006660066066000000666000006660060066600600666066600000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 06000660060000006660666066006060000066606060000060006660606066606000066066606660600066600000066066606660666006600000600060006660 60006000006000000060606006006060000000606060000060006000606060606000606060006000600060000000600060606660600060000000600060006060 60006000006000006660606006006660666066606660000060006600060066606000606066006600600066000000600066606060660066600000600060006660 60006000006000006000606006000060000060000060000060006000606060606000606060006000600060000000606060606060600000600000600060006000 06000660060000006660666066600060000066600060000066606660606060606660660060006000666066600000666060606060666066000000666066606000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 66600660066066606660660006600000066066606660666066606660660006606660000000000000000000000000000000000000000000000000000000000000 60606060606006000600606060000000600060606060060060600600606060006000000000000000000000000000000000000000000000000000000000000000 66006060606006000600606060000000600066606600060066000600606060006600000000000000000000000000000000000000000000000000000000000000 60606060606006000600606060600000600060606060060060600600606060606000000000000000000000000000000000000000000000000000000000000000 66606600660006006660606066600000066060606060060060606660666066606660060006000000000000000000000000000000000000000000000000000000 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 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 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 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __gff__ 0040404040404040800000000000000001010100000010048000000000000000020000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __map__ 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000001212000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000001011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000001112000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0017000000000000000000000000000000000000001211101110101200000000000000000000001011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0010100800000000100000000000000000000000000000121010111000000000000000000000001110000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000101010101010100000000000000000000000000000001211100000000000000000000000171011000000000000000000001112000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000300000000000081700000000000000000000001210120000000000000008000010101011000000000000000000001000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000300000000010101000000000000000000000000011000000001710101010000000003000000000000000000000001112000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000200000000000000000000000000000000000000010000000101110101111000000002000000000000000000000001210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0100000000300000000017000000000000000000000000000010100000000000000000000000003000000000000000000000001111120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1010101010101010101010000000000000000000000000000000170000000000000000000000002000000000000008000016001010110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1112111110101011121011111010101011101000001010101010101010101010101000000000081010100000101010101010101111111200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1100110011001200110012111011111210111000001012101210121112001200111010101010101012000000101011121110101111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1200120012000000120000121200120012001200001212001110100012120000000011121100121200000010111212100000101200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000120000001100001200000000000000000000000012000000111000171011101200120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000111110101011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __sfx__ 001000200f0000f0000f0000f000180001d0001c0001c000180001c0001a0001d0001f0002100023000240001000011100131001510017100111000e100111001310018100181001a1001c1001c1001c10000000 010800000c135186020630218306010020200201002020021f0020100208202062021a6021d5021c3021c2021a1021a1021c7021d7021a70218002280001c0001a0021a002000020000000000000000000000000 010c0000376471f453000002830018303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010800001c151281511a0001f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 01100000240030c0000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 011200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0112000f180020c000185001c502105001c500115021d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __music__ 02 46444344 02 48424344