Rem Project: minimal media challenge Rem Created: 30/12/2006 12:29:28 Rem ***** Main Source File ***** gosub display datatoimage(1) colouriseimage(1,2,0,255,0) colouriseimage(1,3,0,0,255) colouriseimage(1,4,255,255,0) colouriseimage(1,5,0,255,255) colouriseimage(1,6,255,0,255) gosub constants gosub types gosub make_frame gosub make_gun gosub create_GUI dummy=free_object() make object cube dummy,1 restart: gosub create_level countdownstarttime=timer() starttime#=timer() do if currentball>0 then position object dummy,limb position x(currentball,0),limb position y(currentball,0),0 gosub timer_maths gosub countdown gosub aim_gun gosub load_gun gosub fire_gun gosub move_ball gosub collision gosub drop_balls gosub update_sprites gosub display_level gosub move_gun sync loop `____________________________________________________________________________________________________________ `SUBROUTINES aim_gun: if leftkey()=1 then dec gun.angle,gunrotationspeed#*dt# if rightkey()=1 then inc gun.angle,gunrotationspeed#*dt# if gun.angle>65 then gun.angle=65 if gun.angle<-65 then gun.angle=-65 zrotate object pivot,-gun.angle return collision: if firing=1 `collision with side walls if ball(currentball).x>maxframex#-ballsize#/2.0 and collisionflagright=0 ball(currentball).vx=-ball(currentball).vx collisionflagright=1 endif if ball(currentball).x<minframex#+ballsize#/2.0 and collisionflagleft=0 ball(currentball).vx=-ball(currentball).vx collisionflagleft=1 endif `reset collision flags, which prevent multiple collisions with same wall in rapid succession if collisionflagright=1 and ball(currentball).x<0 then collisionflagright=0 if collisionflagleft=1 and ball(currentball).x>0 then collisionflagleft=0 `collision with top wall if ball(currentball).y>maxframey#-ballsize#/2.0 ball(currentball).y=maxframey#-ballsize#/2.0 firing=0 collisionflagleft=0 collisionflagright=0 endif `collision with other balls `remstart target=object collision(currentball,0) if target>ballseed and ball(target).falling=0 and target<>currentball `collision with deadzone - game over if ball(currentball).y<deadzoney#+ballsize#/2.0 gosub game_over goto restart endif firing=0 collisionflagleft=0 collisionflagright=0 `if same colour, delete both balls if ball(currentball).colour=ball(target).colour ball(currentball).falling=1 ball(target).falling=1 inc score update_text(scoretext,scoretextimage,"Score: "+str$(score),"Arial",24,1,0,0,250,0) `check for balls which are unsupported else `if different colour, refine position for correct surface contact point object currentball,object position x(target),object position y(target),0 position object currentball,object position x(target),object position y(target),0 move object currentball,-ballsize#*0.99 `if resting ontop of another ball, give ball elevated status, to prevent from dropping if object position y(currentball)>object position y(target) then ball(currentball).elevated=1 endif endif `remend endif return constants: sw#=screen width() sh#=screen height() borderwidth#=2 framewidth#=240 maxframex#=120 minframex#=-120 frameheight#=340 maxframey#=170 minframey#=-170 deadzoney#=-100 gunsize#=15 gunspeed#=0.1 gunrotationspeed#=0.05 ballseed=100 global currentball currentball=ballseed ballsize#=20 ballspeed#=0.3 dropspeed#=0.2 fadespeed#=0.1 level=1 countdownstartvalue=180 countdownon=1 global spritesize# spritesize#=32 return countdown: if countdownon=1 countdowntimer=(timer()-countdownstarttime)/1000 countdown=countdownstartvalue-countdowntimer if countdown<>oldcountdown then update_text(timertext,timertextimage,"Time: "+str$(countdown),"Arial",24,1,0,0,250,0) oldcountdown=countdown if countdown=0 gosub game_over goto restart endif endif return display: set display mode 1024,768,32 color backdrop 0 autocam off sync on sync position camera 0,0,-450 return display_level: if firsttime=0 firsttime=1 nextlevelbox=free_sprite() nextlevelboximage=free_image() make_box(nextlevelbox,nextlevelboximage,sw#/2.0-100,sh#/2.0-20,200,40) nextleveltext=free_sprite() nextleveltextimage=free_image() make_box(nextleveltext,nextleveltextimage,sw#/2.0-100,sh#/2.0-20,200,40) update_text(nextleveltext,nextleveltextimage,"Level "+str$(level)+"! Press Any Key.","Arial",20,0,0,250,0,0) sync sync wait 500 wait key repeat until scancode()=0 delete sprite nextlevelbox delete image nextlevelboximage delete sprite nextleveltext delete image nextleveltextimage endif return drop_balls: countballs=0 for n=ballseed+1 to currentball-1 if object exist(n)=1 inc countballs if ball(n).falling=1 dec ball(n).y,dropspeed#*dt# inc ball(n).fade,fadespeed#*dt# position object n,object position x(n),ball(n).y,0 set sprite alpha n+1000,255-ball(n).fade if ball(n).fade>255.0 or ball(n).y<deadzoney# delete object n delete sprite n+1000 endif endif endif next n `check for level completed if countballs=0 inc level dec countdownstartlevel,15 if level>5 winbox=free_sprite() winboximage=free_image() make_box(winbox,winboximage,sw#/2.0-100,sh#/2.0-20,200,40) wintext=free_sprite() wintextimage=free_image() make_box(wintext,wintextimage,sw#/2.0-100,sh#/2.0-20,200,40) update_text(wintext,wintextimage,"You Win! Score: "+str$(score),"Arial",20,0,0,250,0,0) sync wait 1000 wait key repeat until scancode()=0 end endif update_text(leveltext,leveltextimage,"Level: "+str$(level),"Arial",24,1,0,0,250,0) nextlevelbox=free_sprite() nextlevelboximage=free_image() make_box(nextlevelbox,nextlevelboximage,sw#/2.0-100,sh#/2.0-20,200,40) nextleveltext=free_sprite() nextleveltextimage=free_image() make_box(nextleveltext,nextleveltextimage,sw#/2.0-100,sh#/2.0-20,200,40) update_text(nextleveltext,nextleveltextimage,"Level "+str$(level)+"! Press Any Key.","Arial",20,0,0,250,0,0) sync wait 1000 wait key repeat until scancode()=0 delete sprite nextlevelbox delete image nextlevelboximage delete sprite nextleveltext delete image nextleveltextimage for n=ballseed+1 to currentball if object exist(n) delete object n delete sprite n+1000 endif next n undim ball(0) currentball=ballseed firing=0 loaded=0 colour=0 goto restart endif return create_GUI: scorebox=free_sprite() scoreboximage=free_image() make_box(scorebox,scoreboximage,0,0,200,40) scoretext=free_sprite() scoretextimage=free_image() make_box(scoretext,scoretextimage,0,0,200,40) update_text(scoretext,scoretextimage,"Score: 0","Arial",24,1,0,0,250,0) levelbox=free_sprite() levelboximage=free_image() make_box(levelbox,levelboximage,sw#-200,0,200,40) leveltext=free_sprite() leveltextimage=free_image() make_box(leveltext,leveltextimage,sw#-200,0,200,40) update_text(leveltext,leveltextimage,"Level: 1","Arial",24,1,0,0,250,0) timerbox=free_sprite() timerboximage=free_image() make_box(timerbox,timerboximage,sw#/2.0-100,0,200,40) timertext=free_sprite() timertextimage=free_image() make_box(timertext,timertextimage,sw#/2.0-100,0,200,40) update_text(timertext,timertextimage,"Time: 60","Arial",24,1,0,0,250,0) return fire_gun: if loaded=1 and firing=0 and spacekey()=1 and firingflag=0 firingflag=1 loaded=0 firing=1 ball(currentball).angle=gun.angle ball(currentball).vx=ballspeed#*sin(ball(currentball).angle) ball(currentball).vy=ballspeed#*cos(ball(currentball).angle) ball(currentball).x=limb position x(currentball,0) ball(currentball).y=limb position y(currentball,0) unglue object currentball position object currentball,ball(currentball).x,ball(currentball).y,0 endif if firingflag=1 and scancode()=0 then firingflag=0 return game_over: gameoverbox=free_sprite() gameoverboximage=free_image() make_box(gameoverbox,gameoverboximage,sw#/2.0-100,sh#/2.0-20,200,40) gameovertext=free_sprite() gameovertextimage=free_image() make_box(gameovertext,gameovertextimage,sw#/2.0-100,sh#/2.0-20,200,40) update_text(gameovertext,gameovertextimage,"Game Over! Press Any Key.","Arial",20,0,0,250,0,0) sync wait 500 wait key repeat until scancode()=0 delete sprite gameoverbox delete image gameoverboximage delete sprite gameovertext delete image gameovertextimage for n=ballseed+1 to currentball if object exist(n) delete object n delete sprite n+1000 endif next n undim ball(0) currentball=ballseed firing=0 loaded=0 level=1 score=0 colour=0 firsttime=0 update_text(scoretext,scoretextimage,"Score: 0","Arial",24,1,0,0,250,0) update_text(leveltext,leveltextimage,"Level: 1","Arial",24,1,0,0,250,0) update_text(timertext,timertextimage,"Time: 60","Arial",24,1,0,0,250,0) return load_gun: if firing=0 and loaded=0 `check for any unsupported balls for object=ballseed+1 to currentball if object exist(object)=1 if ball(object).falling=0 and ball(object).elevated=0 supported=0 if object position y(object)>=maxframey#-ballsize#/2.0 then supported=1 if supported=0 for checktarget=ballseed+1 to currentball if collision<>checktarget and object exist(checktarget)=1 if ball(checktarget).falling=0 collision=object collision(object,checktarget) if collision>0 if object position y(checktarget)>object position y(object) then supported=1 endif endif endif next checktarget endif if supported=0 ball(object).falling=1 set object collision off object endif endif endif next object loaded=1 inc currentball dim ball(currentball) as balltype make object sphere currentball,ballsize# spritemask(currentball) sprite currentball+1000,object screen x(currentball)-spritesize#/2.0,object screen y(currentball)-spritesize#/2.0,sprite image(currentball+1000) glue object to limb currentball,gunbarrel,0 position object currentball,0,object size y(gunbarrel)/2.0+ballsize#/2.0,0 ball(currentball).colour=colour:inc colour if colour>5 then colour=0 if ball(currentball).colour=0 then set sprite image currentball+1000,1 if ball(currentball).colour=1 then set sprite image currentball+1000,2 if ball(currentball).colour=2 then set sprite image currentball+1000,3 if ball(currentball).colour=3 then set sprite image currentball+1000,4 if ball(currentball).colour=4 then set sprite image currentball+1000,5 if ball(currentball).colour=5 then set sprite image currentball+1000,6 endif return make_frame: frametop=free_object() make object box frametop,framewidth#+(borderwidth#*2),borderwidth#,borderwidth# position object frametop,0,maxframey#+(borderwidth#/2.0),0 set object collision off frametop framebottom=free_object() make object box framebottom,framewidth#+(borderwidth#*2),borderwidth#,borderwidth# position object framebottom,0,minframey#-(borderwidth#/2.0),0 set object collision off framebottom frameleft=free_object() make object box frameleft,borderwidth#,frameheight#+(borderwidth#*2),borderwidth# position object frameleft,minframex#-(borderwidth#/2.0),0,0 set object collision off frameleft frameright=free_object() make object box frameright,borderwidth#,frameheight#+(borderwidth#*2),borderwidth# position object frameright,maxframex#+(borderwidth#/2.0),0,0 set object collision off frameright deadzone=free_object() make object box deadzone,framewidth#+(borderwidth#*2),borderwidth#/2.0,borderwidth# position object deadzone,0,deadzoney#,0 set object collision off deadzone return make_gun: pivot=free_object() make object cube pivot,1 hide object pivot position object pivot,0,minframey#+gunsize#,0 set object collision off pivot gunbase=free_object() make object box gunbase,gunsize#*4,gunsize#,borderwidth#*2 position object gunbase,0,minframey#+gunsize#/2.0,0 color object gunbase,rgb(150,150,250) set object collision off gunbase gundisc=free_object() make object sphere gundisc,gunsize#*2,30,30 gundisctexture=free_image() create bitmap 1,100,100 ink rgb(100,100,100),0 box 0,0,100,100 ink rgb(120,120,120),0 box 0,0,50,100 get image gundisctexture,0,0,100,100,1 delete bitmap 1 texture object gundisc,gundisctexture scale object gundisc,100,100,0.01 position object gundisc,0,0,0 glue object to limb gundisc,pivot,0 set object collision off gundisc gunbarrel=free_object() make object box gunbarrel,gunsize#/4.0,gunsize#*1.5,borderwidth# position object gunbarrel,0,(gunsize#*0.5),0 glue object to limb gunbarrel,pivot,0 color object gunbarrel,rgb(250,0,0) set object collision off gunbarrel return move_ball: if firing=1 inc ball(currentball).x,ball(currentball).vx*dt# inc ball(currentball).y,ball(currentball).vy*dt# position object currentball,ball(currentball).x,ball(currentball).y,0 endif return move_gun: if level>4 inc gunx#,gunspeed#*dt# if gunx#>maxframex#*0.75 then gunspeed#=-abs(gunspeed#):gunflagright=1 if gunx#<minframex#*0.75 then gunspeed#=abs(gunspeed#):gunflagleft=1 if gunflagright=1 and gunx#<0 then gunflagright=0 if gunflagleft=1 and gunx#>0 then gunflagleft=0 position object pivot,gunx#,object position y(pivot),0 position object gunbase,gunx#,object position y(gunbase),0 else position object pivot,0,object position y(pivot),0 position object gunbase,0,object position y(gunbase),0 endif return timer_maths: time#=timer()-starttime# changeintime#=time#-oldtime# inc sumofchangeintime#,changeintime# inc timerloopcounter if timerloopcounter=9 timerloopcounter=0 dt#=sumofchangeintime#/10.0 `dt#=delta time, the change in time per loop, averaged over 10 loops sumofchangeintime#=0 endif oldtime#=time# return types: type balltype colour as integer x as float y as float vx as float vy as float angle as float fade as float falling as integer elevated as integer endtype type guntype angle as float x as float y as float endtype global gun as guntype return update_sprites: for n=ballseed+1 to currentball if object exist(n)=1 and sprite exist(n+1000) spritenumber=n+1000 sprite spritenumber,object screen x(n)-spritesize#/2.0,object screen y(n)-spritesize#/2.0,sprite image(spritenumber) endif next n if firing=0 sprite currentball+1000,object screen x(dummy)-spritesize#/2.0,object screen y(dummy)-spritesize#/2.0,sprite image(currentball+1000) endif return `___________________________________________________________________________________________________________ `FUNCTIONS create_level: if level=1 then restore level1 if level=2 then restore level2 if level=3 then restore level3 if level=4 then restore level4 if level=5 then restore level5 dim number(10,10) for y=1 to 10 for x=1 to 10 read number(x,y) if number(x,y)<>8 inc currentball global dim ball(currentball) as balltype ball(currentball).colour=number(x,y) if ball(currentball).colour=9 then ball(currentball).colour=rnd(5):ball(currentball).elevated=1 make object sphere currentball,ballsize# spritemask(currentball) ball(currentball).x=x*ballsize#-(ballsize#*5.5) ball(currentball).y=maxframey#-ballsize#/2.0-((y-1)*ballsize#*0.99) position object currentball,ball(currentball).x,ball(currentball).y,0 if ball(currentball).colour=0 then set sprite image currentball+1000,1 if ball(currentball).colour=1 then set sprite image currentball+1000,2 if ball(currentball).colour=2 then set sprite image currentball+1000,3 if ball(currentball).colour=3 then set sprite image currentball+1000,4 if ball(currentball).colour=4 then set sprite image currentball+1000,5 if ball(currentball).colour=5 then set sprite image currentball+1000,6 endif next x next y gosub update_sprites return function spritemask(currentball) spritenumber=currentball+1000 sprite spritenumber,0,0,1 sprite spritenumber,object screen x(currentball)-spritesize#/2.0,object screen y(currentball)-spritesize#/2.0,1 size sprite spritenumber,spritesize#,spritesize# endfunction function free_object() repeat inc n until object exist(n)=0 endfunction n function free_image() repeat inc n until image exist(n)=0 endfunction n function free_sprite() repeat inc n until sprite exist(n)=0 endfunction n function datatoimage(image) memblock=1 read size make memblock 1,size read sx `as dword read sy `as dword read depth `as dword write memblock dword 1,0,sx write memblock dword 1,4,sy write memblock dword 1,8,depth for x=0 to sx-1 for y=0 to sy-1 pos=(y*sx+x)*4+12 read b `as byte read g `as byte read r `as byte read a `as byte write memblock byte 1,pos,b write memblock byte 1,pos+1,g write memblock byte 1,pos+2,r write memblock byte 1,pos+3,a next y next x make image from memblock image,1 endfunction data 16396 data 64 data 64 data 32 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,217,219,1,231,231,231,13,246,246,246,13,237,242,247,19,234,241,246,44,160,206,225,46,82,157,201,46,74,177,225,46,66,212,255,33,59,207,255,13,54,200,250,13,52,185,231,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,183,222,1,222,222,244,19,246,243,248,54,248,248,248,105,247,247,247,164,245,250,255,206,252,252,252,209,236,242,247,215,230,236,239,241,142,185,208,242,85,133,178,242,77,166,213,242,69,210,255,229,61,211,255,209,55,209,255,206,49,206,255,168,43,203,255,135,38,198,255,77,33,191,248,25,32,176,227,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,212,241,6,202,202,243,63,220,220,247,156,247,250,255,212,250,251,251,242,249,249,249,255,248,252,255,255,254,254,254,255,239,244,249,255,228,234,231,255,175,202,217,255,97,150,188,255,88,140,184,255,79,176,223,255,71,214,255,255,63,212,255,255,56,210,255,255,50,208,255,255,44,205,255,255,39,200,255,251,34,196,253,219,30,192,250,164,27,188,247,98,23,182,242,36,27,156,205,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,234,251,6,226,226,251,63,217,217,248,168,217,217,249,241,245,245,253,255,253,253,253,255,252,255,255,255,250,250,250,255,255,255,255,255,242,243,243,255,233,238,242,255,194,213,217,255,110,167,197,255,100,146,186,255,90,168,212,255,81,210,255,255,73,214,255,255,65,212,255,255,58,210,255,255,51,208,255,255,46,207,255,255,40,203,255,255,35,198,255,255,31,195,252,255,27,190,250,254,24,186,246,226,21,181,242,142,18,176,238,43,20,154,206,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,251,254,1,247,247,255,57,240,240,255,168,232,232,253,241,223,223,251,255,241,241,254,255,254,254,255,255,254,254,254,255,253,255,253,255,251,254,251,255,246,249,246,255,238,241,238,255,214,224,223,255,145,185,207,255,112,154,191,255,102,161,202,255,92,202,245,255,83,217,255,255,75,215,255,255,67,213,255,255,59,210,255,255,53,209,255,255,47,207,255,255,41,205,255,255,36,201,255,255,32,196,255,255,28,193,251,255,24,188,248,255,21,183,244,255,19,179,240,228,17,175,237,142,15,171,233,43,20,138,184,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,108,251,251,255,231,244,244,255,255,236,236,254,255,236,236,254,255,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,244,247,244,255,230,235,232,255,186,204,218,255,125,169,200,255,114,160,198,255,104,190,230,255,94,219,255,255,85,218,255,255,76,215,255,255,68,213,255,255,60,211,255,255,54,209,255,255,47,207,255,255,42,206,255,255,37,203,255,255,32,198,255,255,28,194,253,255,25,189,249,255,22,186,245,255,19,181,242,255,17,178,239,255,15,173,236,228,13,168,232,108,12,159,219,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,158,255,255,255,249,255,255,255,255,247,247,255,255,239,239,255,255,250,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,253,255,255,255,255,255,240,244,248,255,220,224,232,255,146,187,209,255,128,166,199,255,116,180,217,255,105,214,255,255,95,220,255,255,86,218,255,255,77,215,255,255,69,213,255,255,61,211,255,255,54,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,201,255,255,29,196,255,255,25,192,251,255,22,187,248,255,19,182,244,255,17,179,240,255,15,174,237,255,13,170,233,249,12,166,230,151,11,162,226,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,1,255,255,255,64,255,255,255,200,255,255,255,255,255,255,255,255,255,255,255,255,249,249,255,255,247,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,253,253,255,253,254,254,255,234,239,237,255,188,210,221,255,140,176,205,255,129,174,208,255,117,205,243,255,106,223,255,255,96,221,255,255,86,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,203,255,255,29,199,255,255,25,194,254,255,22,189,250,255,19,185,246,255,17,181,243,255,15,177,239,255,13,172,236,255,12,168,232,254,11,165,228,187,11,161,225,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,108,255,255,255,231,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,248,252,248,255,223,230,234,255,152,192,213,255,141,175,206,255,129,192,226,255,117,221,255,255,106,223,255,255,96,221,255,255,87,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,43,206,255,255,37,205,255,255,33,203,255,255,29,200,255,255,25,188,247,255,22,145,193,255,19,102,141,255,17,152,207,255,15,178,240,255,13,173,237,255,12,170,233,255,11,166,230,255,11,162,226,217,11,150,214,74,15,102,156,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,149,255,255,255,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,252,250,252,255,237,239,239,255,190,210,221,255,152,184,210,255,140,181,213,255,129,214,248,255,117,226,255,255,106,223,255,255,96,221,255,255,86,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,203,255,255,29,188,243,255,25,123,162,255,22,38,56,255,19,19,19,255,17,104,144,255,15,180,243,255,13,176,239,255,12,172,234,255,11,168,231,255,11,165,227,255,11,160,224,238,11,134,197,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,3,255,255,255,110,255,255,255,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,247,247,247,255,220,225,228,255,163,195,214,255,151,182,211,255,139,198,229,255,128,225,255,255,116,226,255,255,105,223,255,255,95,220,255,255,86,218,255,255,77,215,255,255,69,213,255,255,61,211,255,255,54,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,182,235,255,29,102,135,255,25,25,41,255,22,22,22,255,19,66,93,255,17,156,209,255,15,181,244,255,13,177,240,255,12,173,237,255,11,170,233,255,11,166,230,255,11,162,225,255,11,155,218,224,11,108,171,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,74,255,255,255,238,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,251,253,255,239,237,239,255,197,212,220,255,160,187,213,255,149,186,215,255,137,215,247,255,125,228,255,255,114,225,255,255,104,223,255,255,94,220,255,255,85,218,255,255,76,215,255,255,68,213,255,255,60,211,255,255,54,209,255,255,47,207,255,255,42,206,255,255,37,175,224,255,32,80,105,255,28,28,28,255,25,25,25,255,22,22,22,255,19,90,125,255,17,168,223,255,15,183,245,255,13,178,242,255,12,174,238,255,11,171,234,255,11,167,231,255,11,164,227,255,11,160,224,255,11,134,196,191,11,90,154,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,255,45,255,255,255,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,255,250,251,251,255,228,231,232,255,174,202,217,255,158,186,213,255,146,197,227,255,135,227,255,255,123,228,255,255,112,225,255,255,102,222,255,255,92,219,255,255,83,217,255,255,75,215,255,255,67,213,255,255,59,210,255,255,53,209,255,255,47,207,255,255,41,206,255,255,36,127,163,255,32,32,32,255,28,34,49,255,24,40,57,255,21,21,21,255,19,19,19,255,17,81,113,255,15,163,220,255,13,180,243,255,12,176,239,255,11,172,236,255,11,168,232,255,11,165,228,255,11,161,225,255,11,154,218,254,11,108,170,146,11,88,152,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,241,255,24,247,247,255,187,251,251,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,251,251,255,255,248,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,246,247,247,255,214,223,228,255,165,194,215,255,154,188,216,255,143,210,241,255,132,230,255,255,120,227,255,255,110,224,255,255,100,222,255,255,90,219,255,255,81,216,255,255,73,214,255,255,65,212,255,255,58,210,255,255,51,208,255,255,46,207,255,255,40,205,255,255,35,175,225,255,31,119,155,255,27,151,198,255,24,155,205,255,21,73,101,255,18,18,18,255,16,16,16,255,14,79,111,255,13,159,215,255,12,178,240,255,11,173,237,255,11,170,233,255,11,166,230,255,11,162,226,255,11,159,222,255,11,124,185,245,11,89,153,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,226,248,1,234,234,255,135,240,240,255,254,244,244,255,255,247,247,255,255,249,249,255,255,250,250,255,255,249,249,255,255,247,247,255,255,244,244,255,255,247,246,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,243,244,245,255,194,214,224,255,160,189,214,255,150,193,221,255,139,221,253,255,128,229,255,255,117,226,255,255,107,223,255,255,97,221,255,255,88,218,255,255,79,216,255,255,71,214,255,255,63,212,255,255,56,210,255,255,50,208,255,255,44,206,255,255,39,205,255,255,34,204,255,255,30,203,255,255,27,202,255,255,23,201,255,255,21,175,231,255,18,81,112,255,16,16,16,255,14,14,14,255,13,74,108,255,11,159,215,255,11,176,238,255,11,171,234,255,11,167,231,255,11,164,227,255,11,160,224,255,11,143,206,255,11,90,154,224,11,87,150,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,220,252,43,226,226,254,228,232,232,255,255,236,236,255,255,239,239,255,255,241,241,255,255,242,242,255,255,241,241,255,255,239,239,255,255,238,237,255,255,246,246,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,255,235,241,241,255,170,202,219,255,155,185,212,255,145,202,232,255,134,227,255,255,123,228,255,255,113,225,255,255,103,222,255,255,94,220,255,255,85,218,255,255,77,215,255,255,69,213,255,255,61,211,255,255,55,209,255,255,49,208,255,255,43,206,255,255,38,205,255,255,33,203,255,255,29,202,255,255,26,202,255,255,23,201,255,255,20,200,255,255,18,170,226,255,16,78,110,255,14,14,14,255,12,12,13,255,11,94,134,255,11,168,227,255,11,172,236,255,11,168,232,255,11,165,228,255,11,161,224,255,11,156,220,255,11,107,170,255,11,88,152,184,11,84,148,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,205,239,1,211,211,249,142,217,217,251,255,223,223,253,255,227,227,255,255,230,230,255,255,232,232,255,255,232,232,255,255,232,232,255,255,231,230,255,255,233,232,255,255,248,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,251,252,252,255,220,232,234,255,159,192,214,255,149,184,213,255,139,213,245,255,129,229,255,255,118,226,255,255,109,224,255,255,99,221,255,255,90,219,255,255,82,217,255,255,74,215,255,255,66,212,255,255,59,210,255,255,53,209,255,255,47,207,255,255,42,206,255,255,37,205,255,255,32,203,255,255,28,202,255,255,25,201,255,255,22,200,255,255,19,200,255,255,17,197,255,255,15,171,226,255,14,66,95,255,12,12,12,255,11,18,35,255,11,122,168,255,11,171,234,255,11,170,233,255,11,166,230,255,11,162,225,255,11,158,221,255,11,122,185,255,11,89,153,249,11,85,148,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,195,236,43,202,202,244,228,208,208,246,255,213,213,249,255,217,217,252,255,220,220,254,255,222,222,255,255,222,222,255,255,222,222,255,255,221,220,255,255,229,228,255,255,251,251,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,247,250,247,255,197,217,225,255,152,182,209,255,143,187,217,255,133,220,254,255,123,228,255,255,113,225,255,255,104,223,255,255,95,220,255,255,86,218,255,255,78,216,255,255,71,214,255,255,63,212,255,255,57,210,255,255,51,208,255,255,45,207,255,255,40,205,255,255,35,204,255,255,31,203,255,255,27,202,255,255,24,201,255,255,21,200,255,255,19,200,255,255,17,198,255,255,15,195,255,255,13,149,201,255,12,36,58,255,11,11,11,255,11,46,71,255,11,148,204,255,11,171,234,255,11,167,230,255,11,162,226,255,11,159,222,255,11,133,196,255,11,90,153,255,11,85,149,191,11,82,146,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,181,181,219,1,186,186,227,142,192,192,239,255,198,198,241,255,203,203,244,255,206,206,248,255,209,209,251,255,211,211,252,255,211,211,254,255,211,211,255,255,211,210,255,255,228,227,255,255,252,252,255,255,255,255,255,255,254,255,254,255,253,255,254,255,252,254,252,255,253,253,253,255,235,241,240,255,172,199,215,255,145,177,207,255,136,192,224,255,126,228,255,255,117,226,255,255,108,224,255,255,99,221,255,255,90,219,255,255,82,217,255,255,75,215,255,255,67,213,255,255,61,211,255,255,54,209,255,255,48,208,255,255,43,206,255,255,38,205,255,255,34,204,255,255,30,203,255,255,26,202,255,255,23,201,255,255,21,200,255,255,18,199,255,255,16,199,255,255,14,195,255,255,13,186,249,255,11,114,155,255,11,11,17,255,11,11,11,255,11,87,125,255,11,166,226,255,11,167,231,255,11,164,227,255,11,160,224,255,11,148,210,255,11,95,159,255,11,87,150,249,11,83,147,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,169,169,208,43,176,176,216,228,182,182,235,255,187,187,238,255,192,192,242,255,195,195,246,255,198,198,248,255,199,199,249,255,200,200,250,255,199,199,250,255,200,199,251,255,228,227,253,255,254,253,254,255,254,254,254,255,253,254,254,255,252,255,254,255,250,253,255,255,249,249,249,255,220,226,229,255,146,186,207,255,137,173,205,255,129,199,234,255,119,227,255,255,111,225,255,255,102,212,249,255,94,177,208,255,86,154,182,255,78,168,202,255,71,202,246,255,64,212,255,255,57,210,255,255,51,208,255,255,46,207,255,255,41,206,255,255,36,204,255,255,32,203,255,255,28,202,255,255,25,201,255,255,22,200,255,255,20,200,255,255,17,199,255,255,15,199,255,255,14,196,255,255,12,192,255,255,11,172,231,255,11,65,95,255,11,11,11,255,11,24,43,255,11,134,185,255,11,168,232,255,11,165,228,255,11,161,224,255,11,153,216,255,11,101,165,255,11,88,152,255,11,83,147,191,11,79,142,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,159,159,189,105,166,166,211,255,171,171,235,255,176,176,238,255,181,181,243,255,184,184,243,255,186,186,245,255,188,188,247,255,188,188,246,255,188,188,247,255,193,191,248,255,229,228,251,255,252,253,252,255,252,253,252,255,251,253,254,255,249,253,255,255,244,247,244,255,239,239,239,255,200,211,217,255,137,173,201,255,129,171,205,255,120,208,244,255,112,225,255,255,104,213,249,255,96,140,161,255,88,88,88,255,81,81,81,255,74,74,74,255,67,118,142,255,60,198,245,255,54,209,255,255,49,208,255,255,44,206,255,255,39,205,255,255,34,204,255,255,31,203,255,255,27,202,255,255,24,201,255,255,21,200,255,255,19,200,255,255,17,199,255,255,15,199,255,255,13,197,255,255,12,192,255,255,11,189,252,255,11,137,185,255,11,19,36,255,11,11,11,255,11,82,120,255,11,165,227,255,11,166,228,255,11,161,225,255,11,158,221,255,11,113,174,255,11,88,152,255,11,84,148,249,11,81,144,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,144,144,218,4,149,149,173,174,155,155,214,255,160,160,238,255,165,165,244,255,169,169,248,255,172,172,247,255,174,174,249,255,176,176,249,255,176,176,247,255,176,176,246,255,185,183,245,255,233,230,249,255,250,251,250,255,250,253,251,255,251,253,252,255,254,251,254,255,237,241,237,255,229,224,229,255,172,191,201,255,129,164,197,255,120,173,209,255,113,216,253,255,105,223,255,255,98,179,209,255,90,90,90,255,83,83,83,255,76,76,76,255,69,69,69,255,63,63,63,255,57,157,195,255,51,208,255,255,46,207,255,255,41,206,255,255,37,205,255,255,33,203,255,255,29,202,255,255,26,202,255,255,23,201,255,255,20,200,255,255,18,199,255,255,16,199,255,255,14,198,255,255,13,197,255,255,12,194,255,255,11,190,254,255,11,178,238,255,11,73,107,255,11,11,11,255,11,35,58,255,11,142,197,255,11,166,230,255,11,162,226,255,11,159,221,255,11,118,180,255,11,89,153,255,11,85,148,255,11,81,144,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,133,133,216,33,139,139,159,229,145,145,203,255,150,150,235,255,154,154,238,255,158,158,239,255,160,160,239,255,163,163,246,255,166,164,250,255,165,164,250,255,169,165,252,255,185,184,245,255,234,232,247,255,248,248,248,255,248,252,251,255,247,251,255,255,252,252,252,255,240,236,240,255,216,211,217,255,148,176,191,255,119,157,193,255,112,175,213,255,105,219,255,255,98,221,255,255,91,157,184,255,84,84,84,255,78,78,78,255,71,71,71,255,65,65,65,255,59,59,59,255,53,134,166,255,48,208,255,255,43,206,255,255,39,205,255,255,34,204,255,255,31,203,255,255,27,202,255,255,24,201,255,255,22,200,255,255,19,200,255,255,17,199,255,255,15,199,255,255,14,198,255,255,12,198,255,255,11,195,255,255,11,190,254,255,11,186,250,255,11,122,167,255,11,11,23,255,11,11,15,255,11,102,146,255,11,167,230,255,11,162,226,255,11,159,222,255,11,124,186,255,11,89,153,255,11,85,149,255,11,82,146,201,11,78,140,13,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,123,124,209,81,129,129,146,251,134,134,178,255,139,139,221,255,143,143,224,255,146,146,224,255,149,149,223,255,151,151,229,255,152,152,236,255,152,152,240,255,154,152,244,255,186,184,245,255,235,235,247,255,247,245,247,255,247,250,247,255,246,250,246,255,251,247,251,255,238,238,238,255,210,213,215,255,134,168,191,255,111,152,191,255,104,179,219,255,98,221,255,255,91,219,255,255,85,172,205,255,78,78,78,255,72,72,72,255,66,66,66,255,60,60,60,255,55,55,55,255,50,154,193,255,45,207,255,255,40,205,255,255,36,204,255,255,32,203,255,255,29,202,255,255,26,202,255,255,23,201,255,255,20,200,255,255,18,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,195,255,255,11,191,255,255,11,188,250,255,11,160,218,255,11,46,72,255,11,11,11,255,11,66,99,255,11,161,222,255,11,164,227,255,11,159,222,255,11,124,186,255,11,90,154,255,11,87,149,255,11,82,146,236,11,78,142,43,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,113,114,220,147,118,119,138,255,123,124,153,255,128,128,199,255,132,132,214,255,135,135,214,255,137,137,213,255,139,139,215,255,140,140,216,255,141,141,218,255,140,140,228,255,179,178,234,255,233,235,243,255,245,240,245,255,244,244,244,255,241,246,241,255,237,243,247,255,239,239,239,255,210,216,218,255,111,162,187,255,102,149,189,255,96,183,225,255,90,219,255,255,84,217,255,255,78,204,247,255,72,122,146,255,67,67,67,255,61,61,61,255,56,56,56,255,51,105,132,255,46,193,243,255,42,206,255,255,37,205,255,255,34,204,255,255,30,203,255,255,27,202,255,255,24,201,255,255,21,200,255,255,19,200,255,255,17,199,255,255,15,199,255,255,14,198,255,255,12,198,255,255,11,198,255,255,11,196,255,255,11,191,255,255,11,188,251,255,11,182,244,255,11,82,118,255,11,11,11,255,11,36,60,255,11,142,196,255,11,164,227,255,11,160,224,255,11,130,191,255,11,90,154,255,11,87,150,255,11,83,146,254,11,78,142,87,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,117,109,227,1,122,112,242,168,109,110,162,255,113,114,133,255,117,118,176,255,120,121,209,255,123,124,208,255,125,126,207,255,128,128,208,255,129,129,208,255,129,129,211,255,129,129,219,255,175,174,232,255,228,232,233,255,241,241,242,255,238,238,238,255,234,239,245,255,231,237,242,255,223,234,234,255,206,211,215,255,99,155,185,255,94,144,187,255,88,190,234,255,83,217,255,255,78,216,255,255,72,214,255,255,67,200,245,255,61,160,197,255,56,136,168,255,51,154,193,255,47,194,243,255,42,206,255,255,38,205,255,255,35,204,255,255,31,203,255,255,28,202,255,255,25,201,255,255,22,200,255,255,20,200,255,255,18,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,196,255,255,11,192,255,255,11,189,251,255,11,184,248,255,11,110,154,255,11,11,15,255,11,15,30,255,11,118,165,255,11,165,227,255,11,160,224,255,11,125,188,255,11,91,154,255,11,87,150,255,11,83,147,255,11,79,142,135,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,105,94,231,13,120,109,250,206,99,99,185,255,103,103,121,255,107,108,152,255,110,111,203,255,112,113,203,255,114,115,202,255,116,117,202,255,117,118,203,255,117,118,203,255,117,118,210,255,175,179,228,255,225,225,229,255,239,238,239,255,233,227,233,255,238,233,238,255,222,233,233,255,211,217,211,255,180,195,206,255,90,147,179,255,86,141,185,255,81,193,238,255,76,215,255,255,71,214,255,255,66,212,255,255,61,211,255,255,56,210,255,255,52,209,255,255,47,207,255,255,43,206,255,255,39,205,255,255,35,204,255,255,32,203,255,255,29,202,255,255,26,202,255,255,23,201,255,255,21,200,255,255,19,200,255,255,17,199,255,255,15,199,255,255,14,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,192,255,255,11,189,252,255,11,184,248,255,11,136,185,255,11,22,41,255,11,11,11,255,11,95,138,255,11,165,228,255,11,160,224,255,11,125,188,255,11,91,155,255,11,87,150,255,11,83,147,255,11,79,143,168,13,74,134,1,0,0,0,0,0,0,0,0, data 0,0,0,0,96,84,233,13,110,98,247,209,92,90,205,255,94,94,116,255,97,97,130,255,100,100,194,255,102,102,199,255,104,104,199,255,105,105,200,255,106,107,200,255,106,107,199,255,106,107,202,255,171,173,219,255,225,230,238,255,236,236,236,255,229,229,229,255,222,227,222,255,213,219,225,255,200,206,212,255,172,184,192,255,82,139,173,255,78,139,185,255,74,193,241,255,69,213,255,255,65,212,255,255,60,211,255,255,56,210,255,255,51,208,255,255,47,207,255,255,43,206,255,255,40,205,255,255,36,204,255,255,33,203,255,255,29,202,255,255,27,202,255,255,24,201,255,255,22,200,255,255,19,200,255,255,17,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,192,255,255,11,189,252,255,11,185,249,255,11,154,209,255,11,39,61,255,11,11,11,255,11,81,119,255,11,165,228,255,11,161,224,255,11,120,183,255,11,91,155,255,11,88,150,255,11,83,147,255,11,79,143,206,12,76,138,13,0,0,0,0,0,0,0,0, data 0,0,0,0,89,75,233,33,98,85,241,229,103,91,237,255,85,85,118,255,88,88,110,255,90,90,178,255,92,92,198,255,94,94,198,255,95,95,198,255,96,96,197,255,96,96,195,255,96,96,199,255,171,175,222,255,225,231,237,255,234,235,235,255,227,229,229,255,218,218,218,255,220,213,220,255,202,202,202,255,158,168,180,255,75,131,171,255,71,137,185,255,67,192,242,255,63,212,255,255,59,210,255,255,55,209,255,255,51,208,255,255,47,207,255,255,43,206,255,255,40,205,255,255,36,204,255,255,33,203,255,255,30,203,255,255,27,202,255,255,24,201,255,255,22,200,255,255,20,200,255,255,18,199,255,255,16,199,255,255,15,199,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,189,252,255,11,185,249,255,11,171,230,255,11,53,81,255,11,11,11,255,11,72,107,255,11,165,228,255,11,161,225,255,11,116,178,255,11,91,155,255,11,88,152,255,11,83,147,255,11,79,143,209,11,76,139,13,0,0,0,0,0,0,0,0, data 0,0,0,0,81,67,233,46,90,76,238,242,102,89,248,255,77,77,138,255,79,79,99,255,81,81,150,255,83,83,195,255,85,85,198,255,86,86,199,255,86,86,196,255,87,87,193,255,86,86,194,255,171,168,211,255,220,221,223,255,234,234,234,255,228,229,229,255,218,218,218,255,202,209,215,255,196,198,198,255,139,160,174,255,67,125,169,255,64,133,183,255,60,195,247,255,57,210,255,255,53,209,255,255,50,208,255,255,46,207,255,255,42,206,255,255,39,205,255,255,36,204,255,255,33,203,255,255,30,203,255,255,27,202,255,255,25,201,255,255,22,200,255,255,20,200,255,255,18,199,255,255,17,199,255,255,15,199,255,255,14,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,189,252,255,11,185,249,255,11,179,240,255,11,61,91,255,11,11,11,255,11,66,99,255,11,165,228,255,11,158,221,255,11,107,168,255,11,91,155,255,11,88,152,255,11,84,147,255,11,79,143,209,11,76,140,13,0,0,0,0,0,0,0,0, data 0,0,0,0,76,61,232,46,81,66,235,242,91,76,243,255,72,69,188,255,71,71,92,255,73,73,118,255,75,75,180,255,76,76,199,255,77,77,201,255,78,78,197,255,78,78,192,255,78,78,188,255,165,166,204,255,217,218,221,255,235,228,235,255,230,230,230,255,221,227,221,255,203,203,203,255,196,196,196,255,149,162,177,255,61,123,165,255,57,128,180,255,54,193,247,255,51,208,255,255,48,208,255,255,45,207,255,255,42,206,255,255,38,205,255,255,35,204,255,255,33,203,255,255,30,203,255,255,27,202,255,255,25,201,255,255,23,201,255,255,21,200,255,255,19,200,255,255,17,199,255,255,15,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,189,252,255,11,185,249,255,11,182,244,255,11,64,95,255,11,11,11,255,11,64,95,255,11,165,228,255,11,153,216,255,11,101,164,255,11,91,155,255,11,88,152,255,11,84,147,255,11,79,143,209,11,76,140,13,0,0,0,0,0,0,0,0, data 0,0,0,0,69,54,231,46,73,58,232,242,84,70,242,255,89,75,238,255,63,63,117,255,65,65,92,255,67,67,141,255,68,68,192,255,69,69,201,255,69,69,196,255,69,69,190,255,69,69,188,255,161,161,211,255,219,225,233,255,219,225,233,255,229,229,229,255,221,228,235,255,208,208,208,255,204,198,204,255,160,177,185,255,54,124,166,255,51,127,180,255,49,192,246,255,46,207,255,255,43,206,255,255,40,205,255,255,37,205,255,255,35,204,255,255,32,203,255,255,29,202,255,255,27,202,255,255,25,201,255,255,23,201,255,255,21,200,255,255,19,200,255,255,17,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,189,252,255,11,185,249,255,11,179,240,255,11,61,91,255,11,11,11,255,11,66,99,255,11,165,228,255,11,139,202,255,11,96,159,255,11,91,155,255,11,88,152,255,11,84,147,255,11,79,143,209,11,76,140,13,0,0,0,0,0,0,0,0, data 0,0,0,0,63,48,226,33,67,51,230,229,76,61,237,255,88,74,248,255,74,61,214,255,58,58,90,255,59,59,97,255,60,60,159,255,61,61,194,255,62,62,195,255,62,62,189,255,62,62,187,255,154,154,214,255,217,217,232,255,218,224,232,255,228,228,228,255,223,229,223,255,214,214,214,255,216,208,216,255,172,187,196,255,48,119,164,255,46,121,175,255,44,188,243,255,41,206,255,255,39,205,255,255,36,204,255,255,34,204,255,255,31,203,255,255,29,202,255,255,27,202,255,255,24,201,255,255,22,200,255,255,21,200,255,255,19,200,255,255,17,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,189,252,255,11,185,249,255,11,170,228,255,11,52,79,255,11,11,11,255,11,72,107,255,11,165,228,255,11,130,192,255,11,96,159,255,11,91,155,255,11,88,152,255,11,83,147,255,11,79,143,209,11,76,139,13,0,0,0,0,0,0,0,0, data 0,0,0,0,57,43,222,13,61,45,229,209,65,50,231,255,83,67,247,255,87,72,251,255,51,51,166,255,53,53,78,255,54,54,109,255,54,54,166,255,55,55,188,255,55,55,184,255,55,55,182,255,151,148,202,255,212,212,216,255,216,223,231,255,229,229,230,255,225,226,226,255,220,227,235,255,222,215,222,255,175,182,196,255,43,119,162,255,41,116,171,255,39,186,242,255,37,205,255,255,34,204,255,255,32,203,255,255,30,203,255,255,28,202,255,255,26,202,255,255,24,201,255,255,22,200,255,255,20,200,255,255,19,200,255,255,17,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,192,255,255,11,189,252,255,11,185,249,255,11,154,209,255,11,37,61,255,11,11,11,255,11,81,119,255,11,165,228,255,11,115,177,255,11,95,159,255,11,91,155,255,11,88,150,255,11,83,147,255,11,79,143,209,12,76,138,13,0,0,0,0,0,0,0,0, data 0,0,0,0,43,39,205,13,56,40,228,206,58,42,229,255,73,57,242,255,84,68,252,255,77,63,237,255,47,47,121,255,47,47,76,255,48,48,117,255,48,48,166,255,48,48,178,255,48,48,177,255,126,129,191,255,211,212,214,255,215,222,230,255,231,231,231,255,227,227,227,255,222,231,238,255,204,213,220,255,157,176,176,255,38,115,157,255,36,110,166,255,34,180,238,255,33,203,255,255,31,203,255,255,29,202,255,255,27,202,255,255,25,201,255,255,23,201,255,255,22,200,255,255,20,200,255,255,18,199,255,255,17,199,255,255,16,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,192,255,255,11,189,252,255,11,184,248,255,11,136,185,255,11,22,40,255,11,11,11,255,11,96,138,255,11,152,215,255,11,99,162,255,11,95,159,255,11,91,155,255,11,87,150,255,11,83,147,255,11,79,143,178,13,74,134,4,0,0,0,0,0,0,0,0, data 0,0,0,0,38,38,186,1,46,35,222,168,54,37,228,255,58,42,231,255,75,59,247,255,78,63,251,255,63,50,221,255,42,42,89,255,42,42,72,255,42,42,129,255,43,43,171,255,42,42,176,255,108,113,194,255,209,210,213,255,213,221,229,255,229,221,229,255,228,220,228,255,223,223,224,255,206,214,206,255,175,176,188,255,43,115,155,255,32,104,163,255,31,170,229,255,29,202,255,255,27,202,255,255,26,202,255,255,24,186,241,255,22,139,183,255,21,114,151,255,19,138,182,255,18,184,240,255,17,199,255,255,15,199,255,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,192,255,255,11,189,251,255,11,184,248,255,11,113,155,255,11,11,17,255,11,15,30,255,11,119,166,255,11,133,195,255,11,99,162,255,11,95,159,255,11,91,154,255,11,87,150,255,11,83,147,255,11,79,142,135,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,34,31,212,135,49,32,227,255,50,33,227,255,61,44,236,255,74,58,250,255,75,59,250,255,37,37,170,255,37,37,60,255,37,37,81,255,37,37,145,255,37,37,174,255,95,98,194,255,201,201,210,255,211,219,228,255,228,220,228,255,212,219,228,255,220,213,220,255,203,211,203,255,185,183,192,255,54,120,156,255,28,97,156,255,27,166,226,255,26,202,255,255,24,201,255,255,23,186,241,255,21,83,114,255,20,20,20,255,19,19,19,255,17,17,17,255,16,79,111,255,15,183,240,255,14,198,255,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,191,255,255,11,188,251,255,11,182,244,255,11,82,118,255,11,11,11,255,11,36,60,255,11,140,194,255,11,118,180,255,11,99,162,255,11,95,158,255,11,90,154,255,11,87,150,255,11,83,146,255,11,78,142,94,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,27,27,201,77,38,28,218,251,46,29,227,255,48,31,228,255,64,47,242,255,72,55,250,255,64,48,233,255,33,33,114,255,33,33,59,255,33,33,97,255,33,33,151,255,76,81,190,255,194,194,209,255,211,211,227,255,211,219,228,255,208,217,225,255,218,211,218,255,201,210,201,255,190,185,195,255,78,135,155,255,25,92,150,255,24,152,211,255,23,201,255,255,22,200,255,255,20,138,183,255,19,19,19,255,18,18,18,255,17,17,17,255,16,16,16,255,15,15,15,255,14,135,181,255,13,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,195,255,255,11,191,255,255,11,188,250,255,11,160,216,255,11,46,71,255,11,11,11,255,11,67,100,255,11,139,200,255,11,102,166,255,11,97,161,255,11,94,158,255,11,90,154,255,11,87,149,255,11,82,146,242,11,78,142,54,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,24,24,197,25,25,25,203,219,41,26,222,255,44,27,226,255,48,31,229,255,63,46,244,255,69,52,250,255,46,32,212,255,29,29,105,255,29,29,61,255,29,29,100,255,30,34,161,255,187,187,207,255,208,208,210,255,210,218,227,255,222,215,222,255,213,213,213,255,198,206,215,255,192,186,194,255,99,145,161,255,22,95,151,255,21,137,197,255,20,198,255,255,19,200,255,255,18,112,150,255,17,17,17,255,16,16,16,255,15,15,15,255,14,14,14,255,13,13,13,255,12,108,147,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,195,255,255,11,190,254,255,11,186,250,255,11,121,166,255,11,11,23,255,11,11,15,255,11,101,144,255,11,121,183,255,11,101,165,255,11,97,161,255,19,99,161,255,11,89,153,255,11,85,149,255,11,82,146,212,11,78,140,19,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,24,24,180,1,22,22,199,164,27,23,211,255,40,23,224,255,42,24,226,255,47,30,231,255,60,43,244,255,66,49,249,255,59,43,234,255,25,25,124,255,25,25,58,255,25,25,111,255,150,150,186,255,206,206,209,255,209,209,226,255,221,212,221,255,208,209,209,255,192,200,209,255,191,182,191,255,119,152,160,255,20,97,150,255,19,124,185,255,18,191,252,255,17,199,255,255,16,136,181,255,15,15,15,255,14,14,14,255,14,14,14,255,13,13,13,255,12,12,12,255,11,134,180,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,190,254,255,11,178,238,255,11,73,107,255,11,11,11,255,11,36,59,255,11,122,177,255,11,105,168,255,11,101,165,255,11,97,160,255,53,122,174,255,11,89,153,255,11,85,148,255,11,81,144,164,15,75,132,1,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,19,19,198,98,20,20,200,254,34,21,220,255,39,21,225,255,39,21,225,255,49,32,234,255,63,45,248,255,66,48,250,255,58,43,235,255,22,22,111,255,22,22,71,255,97,98,145,255,183,183,188,255,206,208,208,255,203,211,220,255,209,209,209,255,193,202,193,255,187,179,187,255,134,157,158,255,17,104,148,255,17,109,170,255,16,185,248,255,15,199,255,255,14,183,240,255,14,78,109,255,13,13,13,255,12,12,12,255,12,12,12,255,11,76,108,255,11,182,240,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,192,255,255,11,189,252,255,11,137,185,255,11,18,35,255,11,11,11,255,11,77,115,255,11,121,183,255,11,105,167,255,11,100,164,255,55,126,178,255,59,126,176,255,11,88,152,255,11,84,148,251,11,81,144,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,17,17,194,36,18,18,197,226,21,18,209,255,35,18,223,255,37,19,225,255,37,19,225,255,51,34,238,255,63,46,250,255,64,47,251,255,49,35,222,255,19,19,122,255,58,58,117,255,143,143,151,255,169,169,170,255,194,202,211,255,214,214,214,255,199,199,199,255,179,187,196,255,148,163,160,255,33,112,147,255,15,97,160,255,14,171,233,255,14,198,255,255,13,198,255,255,12,182,240,255,12,134,180,255,11,108,147,255,11,134,180,255,11,182,240,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,192,255,255,11,171,230,255,11,64,94,255,11,11,11,255,11,25,45,255,11,108,160,255,11,108,171,255,11,103,167,255,11,100,162,255,113,164,202,255,61,126,176,255,11,88,152,255,11,83,147,212,11,79,142,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,22,22,168,1,16,16,196,142,16,16,198,255,27,16,217,255,34,17,223,255,35,17,225,255,35,17,225,255,51,33,239,255,61,44,250,255,62,45,251,255,54,38,236,255,46,35,191,255,115,112,162,255,144,144,146,255,169,162,169,255,193,193,193,255,208,209,209,255,190,198,190,255,162,174,167,255,71,127,149,255,13,88,149,255,13,153,216,255,12,198,255,255,12,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,195,255,255,11,186,249,255,11,114,155,255,11,11,19,255,11,11,11,255,11,73,112,255,11,107,167,255,11,107,170,255,11,102,166,255,61,132,182,255,137,179,211,255,60,124,175,255,11,87,150,254,11,83,147,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,194,43,14,14,196,228,14,14,201,255,30,15,220,255,32,15,222,255,33,15,224,255,34,16,225,255,48,30,238,255,60,42,250,255,60,42,250,255,61,43,251,255,64,48,240,255,104,97,192,255,163,154,166,255,168,168,168,255,191,191,191,255,197,197,197,255,172,174,174,255,108,138,154,255,12,89,143,255,12,130,192,255,11,196,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,197,255,255,11,194,255,255,11,149,201,255,11,36,58,255,11,11,11,255,11,41,67,255,11,103,159,255,11,110,173,255,11,107,168,255,11,101,165,255,146,186,216,255,140,181,212,255,31,103,161,255,11,85,149,212,11,82,146,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,171,1,13,13,194,142,13,13,196,255,13,13,204,255,30,13,222,255,30,13,222,255,31,13,224,255,31,13,224,255,37,19,230,255,52,34,244,255,58,40,250,255,58,40,250,255,66,49,243,255,113,108,192,255,161,153,165,255,162,162,162,255,168,170,170,255,176,177,177,255,146,167,183,255,13,103,148,255,11,108,171,255,11,184,248,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,196,255,255,11,168,225,255,11,63,90,255,11,11,11,255,11,17,34,255,11,90,138,255,11,112,173,255,11,109,172,255,11,105,168,255,94,155,197,255,164,198,223,255,140,180,211,255,11,89,153,254,11,85,148,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,192,43,12,12,194,228,12,12,196,255,21,12,214,255,29,12,222,255,29,12,222,255,29,12,222,255,30,12,224,255,30,12,224,255,43,25,237,255,54,36,248,255,57,39,250,255,65,48,243,255,91,81,214,255,136,136,176,255,152,143,152,255,147,139,147,255,154,160,162,255,66,131,158,255,11,91,154,255,11,167,231,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,167,224,255,11,73,105,255,11,11,11,255,11,11,11,255,11,71,112,255,11,110,170,255,11,112,174,255,11,108,171,255,43,124,179,255,180,210,231,255,164,197,223,255,92,147,190,255,11,88,152,198,11,84,148,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,158,1,11,11,194,108,11,11,196,249,11,11,201,255,29,11,222,255,29,11,222,255,29,11,222,255,29,11,222,255,30,12,224,255,30,12,224,255,37,19,231,255,53,35,246,255,57,39,250,255,57,39,250,255,69,54,236,255,112,112,186,255,125,136,147,255,132,133,136,255,91,125,141,255,11,90,147,255,11,137,200,255,11,196,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,171,227,255,11,75,107,255,11,11,11,255,11,11,11,255,11,55,88,255,11,103,161,255,11,115,177,255,11,110,173,255,11,107,170,255,157,196,223,255,178,208,230,255,160,195,221,255,46,115,169,231,11,87,150,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,184,10,11,11,195,151,11,11,196,254,13,11,207,255,29,11,222,255,29,11,222,255,29,11,222,255,29,11,222,255,30,12,224,255,30,12,224,255,31,13,225,255,45,27,238,255,51,33,244,255,53,35,246,255,59,42,237,255,84,70,206,255,113,102,153,255,97,110,120,255,11,88,134,255,11,110,173,255,15,194,246,255,112,220,245,255,150,222,243,255,112,216,245,255,15,203,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,166,221,255,11,107,146,255,11,144,194,255,11,150,201,255,11,66,95,255,11,11,11,255,11,11,11,255,11,57,90,255,11,105,162,255,11,118,179,255,11,113,176,255,11,109,172,255,136,184,216,255,188,215,235,255,174,205,228,255,131,175,207,249,11,89,153,108,12,83,144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,192,24,11,11,196,187,11,11,196,255,12,11,206,255,25,11,219,255,29,11,222,255,29,11,222,255,29,11,222,255,29,11,222,255,30,12,224,255,30,12,224,255,40,22,233,255,43,25,237,255,43,25,237,255,43,25,237,255,48,33,227,255,63,52,196,255,39,60,162,255,34,97,183,255,186,216,231,255,226,226,228,255,224,224,227,255,227,227,227,255,184,218,236,255,15,152,201,255,11,172,236,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,112,152,255,11,11,11,255,11,18,34,255,11,28,46,255,11,11,11,255,11,11,11,255,11,55,88,255,11,107,164,255,11,120,182,255,11,115,178,255,11,112,174,255,95,160,202,255,192,219,237,255,183,212,233,255,168,201,225,255,51,121,172,158,11,88,152,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,194,45,11,11,195,217,11,11,196,255,11,11,200,255,15,11,208,255,25,11,219,255,25,11,219,255,24,11,218,255,25,11,219,255,30,12,224,255,30,12,224,255,35,17,228,255,42,24,236,255,43,25,237,255,43,25,237,255,43,25,237,255,42,24,234,255,137,133,236,255,226,226,226,255,226,226,226,255,224,224,226,255,226,226,248,255,227,236,248,255,111,164,192,255,11,97,161,255,11,172,236,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,165,220,255,11,64,91,255,11,11,11,255,11,11,11,255,11,11,11,255,11,58,93,255,11,110,166,255,11,121,184,255,11,118,180,255,11,114,177,255,73,148,195,255,195,221,239,255,188,216,235,255,176,207,229,255,119,168,204,200,11,90,154,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,194,74,11,11,195,238,11,11,196,255,11,11,196,255,11,11,196,255,11,11,198,255,11,11,200,255,11,11,200,255,11,11,200,255,11,11,204,255,16,11,209,255,19,11,213,255,24,11,218,255,33,15,226,255,39,21,232,255,47,29,236,255,170,167,233,255,225,225,225,255,226,236,248,255,224,224,226,255,226,236,248,255,224,224,230,255,149,180,204,255,11,82,143,255,11,132,195,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,174,232,255,11,85,121,255,11,11,19,255,11,11,11,255,11,33,60,255,11,101,155,255,11,120,183,255,11,116,179,255,79,154,200,255,195,222,240,255,190,218,237,255,180,210,231,255,156,193,220,220,20,99,159,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,167,3,11,11,194,97,11,11,194,224,11,11,194,255,11,11,195,255,11,11,195,255,11,11,195,255,11,11,195,255,11,11,196,255,11,11,196,255,11,11,196,255,11,11,203,255,17,11,210,255,19,11,213,255,29,11,222,255,36,18,228,255,146,133,236,255,246,236,248,255,248,236,226,255,230,227,226,255,224,216,224,255,225,216,226,255,111,159,190,255,11,78,142,255,11,115,178,255,11,196,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,198,255,255,11,195,255,255,11,176,239,255,11,139,197,255,11,73,116,255,11,11,29,255,11,11,11,255,11,63,102,255,11,119,182,255,113,175,213,255,195,223,240,255,190,218,237,255,181,212,232,255,168,202,226,210,44,118,172,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,195,55,11,11,195,191,11,11,195,254,11,11,195,255,11,11,192,255,11,11,192,255,11,11,194,255,11,11,194,255,15,11,192,255,59,47,190,255,111,100,191,255,130,124,188,255,130,125,185,255,123,119,178,255,134,137,191,255,209,210,234,255,242,234,243,255,231,225,231,255,221,219,226,255,176,196,215,255,12,107,158,255,11,78,142,255,11,132,195,255,11,198,255,255,11,198,255,255,11,198,255,255,11,195,255,255,11,176,239,255,11,152,215,255,11,138,201,255,11,134,197,255,11,126,186,255,11,91,141,255,11,59,99,255,17,100,155,255,144,194,224,255,192,221,240,255,188,218,237,255,180,212,233,252,169,203,227,181,48,122,176,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,172,24,11,11,156,146,11,11,155,245,11,11,159,255,11,11,160,255,11,11,164,255,53,51,180,255,153,148,200,255,189,185,198,255,194,190,194,255,185,184,185,255,176,176,176,255,165,165,165,255,148,158,149,255,123,147,153,255,125,168,194,255,148,184,207,255,106,159,191,255,12,108,159,255,11,78,142,255,11,97,161,255,11,172,236,255,11,198,255,255,11,185,249,255,11,166,230,255,11,152,215,255,11,138,201,255,11,138,201,255,11,137,198,255,11,133,195,255,11,130,192,255,11,126,189,255,57,148,199,255,173,212,235,255,186,218,238,255,182,215,236,255,176,210,232,245,156,196,223,145,44,122,177,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0