Page 1 of 1

Phosphor crt effect screen saver

Posted: Fri Mar 03, 2023 7:20 am
by idle
note
it will download a sound file if you compile with "#WITHSOUND = 1"
it opens a borderless windows full screen
Esc key to end
press any other key to initiate the apocalypse.

edit fixed for osx

Code: Select all

;Putin's ACME clock, any key to activate, esc to end 
;Author idle 5/4/23  
;license mit 

;Thanks to ModArchive.org and the anon creator of the_final_countdown.mod  

;Demo shows an easy way to make a crt effect with an overlay, so its posible to do mono,cga,ega,rgb effects 
;See DisplayMessageCenter function how overlay is done 

;To make it into a screensaver on windows, compile as an exe and rename the file to .scr 
;then right click in explorer and choose install. 

;Other useful tips the rockets are plotted with verlet intergration and the orientation is easily derived from the 
;line made by the current postion - the last position. 
; 
;keys 
;Esc to end 
;Any other keys to break the matix and accidently start The Final Count Down 
;1 use Satan-3 on relaunch  
;2 use a mix on relaunch  
;3 use HwaDong-12s / Vlads Impalier on relaunch   

EnableExplicit 

#WITHSOUND = 1

InitSprite()
InitKeyboard() 
InitMouse() 
InitSound() 

Global font,font1
Global event,ct,sc,bput=0,st=ElapsedMilliseconds()+30000
Global width, height,color,lt 
Global snd,spath.s,mode=1

Structure vrocket 
  sp.i
  scale.d
  sx.d
  sy.d
  x.d 
  y.d
  vx.d
  vy.d
  color.i
  w.i
  h.i
EndStructure   

Global NewList rockets.vrocket()

Structure matrix  
  ncols.i
  nrows.i
  total.i 
  twidth.i
  theight.i 
  gcount.i
  Array depth.i(0) 
  Array mat.i(0)
  Array spmatrix.i(0)
EndStructure   

Global matrix.matrix
Global sp,sp1,spexp,spexp1,img2  
UsePNGImageDecoder() 

Procedure init_rockets()
  Protected a,img,img1  
  
  img = CatchImage(#PB_Any,?Rocket,?EndRocket -?Rocket)
  If IsImage(img) 
    sp = CreateSprite(#PB_Any,ImageWidth(img),ImageHeight(img)) 
    If StartDrawing(SpriteOutput(sp)) 
      DrawingMode(#PB_2DDrawing_XOr) 
      DrawImage(ImageID(img),0,0) 
      StopDrawing()   
    EndIf 
    
    img1 = CatchImage(#PB_Any,?Rocket1,?EndRocket1 -?Rocket1)
    If IsImage(img1) 
      sp1 = CreateSprite(#PB_Any,ImageWidth(img1),ImageHeight(img1)) 
      If StartDrawing(SpriteOutput(sp1)) 
        DrawingMode(#PB_2DDrawing_XOr) 
        DrawImage(ImageID(img1),0,0) 
        StopDrawing()   
      EndIf 
    EndIf 
    
    spexp = CreateSprite(#PB_Any,512,512) 
    If StartDrawing(SpriteOutput(spexp)) 
      Circle(256,256,256,1) 
      StopDrawing()   
    EndIf 
    
    If IsImage(img2) 
      spexp1 = CreateSprite(#PB_Any,ImageWidth(img2),ImageHeight(img2)) 
      If StartDrawing(SpriteOutput(spexp1)) 
        DrawingMode(#PB_2DDrawing_XOr) 
        DrawImage(ImageID(img2),0,0) 
        StopDrawing()   
      EndIf 
    Else 
      sp1 = sp  
    EndIf 
    
  EndIf 
  
  If IsSprite(sp) 
    For a = 0 To 100 
      AddElement(rockets()) 
      rockets()\color = RGB(Random(255,125),Random(255,125),Random(255,125))
      rockets()\scale = (Random(10) * 0.1) 
      If Random(1)  
        rockets()\sp = sp 
        rockets()\w = SpriteWidth(sp) 
        rockets()\h = SpriteHeight(sp) 
      Else 
        rockets()\sp = sp1 
        rockets()\w = SpriteWidth(sp1) 
        rockets()\h = SpriteHeight(sp1) 
      EndIf   
      
    Next 
  Else 
    MessageRequester("error","no sprite")
    End 
  EndIf  
EndProcedure   

Procedure ResetRockets() 
  
  If ListSize(Rockets()) = 0 
    init_rockets()
  EndIf   
  
  ForEach rockets() 
    If mode = 1 
      rockets()\sp = sp  
    ElseIf mode = 3 
      rockets()\sp = sp1 
    ElseIf Random(1) 
      rockets()\sp = sp  
    Else 
      rockets()\sp = sp1  
    EndIf   
    rockets()\x = Random(Width) 
    rockets()\y = Height 
    rockets()\sx = rockets()\x
    rockets()\sy = rockets()\y
    Rockets()\vy = Rockets()\y + Random(60,12)  
    Rockets()\vx = Rockets()\x + (1 - Random(2))  
  Next 
  
EndProcedure   

Procedure InitMatrix(width,height) 
  ;Protected char.s,chars.s = "ハミヒーウシナモニサワツオリアホテマケメエカキムユラセネスタヌヘ+-/*><=,.0123456789abcdefABCDEF"
  Protected char.s,chars.s = "бвгджзклмнпрстфхцчшщаэыуояеёюиъь+-/*><=,.0123456789ABCDEFKPUTIN" 
  Protected len = Len(chars)
  Protected a,tempImage,font,fontsTextWidth,fontsTextHeight,mx,my  
  ReDim matrix\spmatrix(len) 
  
  font = LoadFont(#PB_Any,"Arial",22,#PB_Font_HighQuality | #PB_Font_Bold)
  
  For a = 0 To len 
    tempImage = CreateImage(#PB_Any,1,1)    ;if you need to get the size of a font in pixels         
    If tempImage
      If StartDrawing(ImageOutput(tempImage)) ;draw to the temp image 
        DrawingFont(FontID(font))             ;with the selected font  
        char.s = Mid(chars,a,1)
        fontsTextWidth = TextWidth(char)       ;get the width and height in pixles     
        fontsTextHeight = TextHeight(char)   
        If fontsTextWidth > mx 
          mx = fontsTextWidth 
        EndIf 
        If fontsTextHeight > my 
          my = fontsTextHeight 
        EndIf 
        StopDrawing()  
        
        matrix\spmatrix(a) = CreateSprite(#PB_Any,fontsTextWidth,fontsTextHeight) ;create the sprite of required size 
        If matrix\spmatrix(a) 
          If StartDrawing(SpriteOutput(matrix\spmatrix(a)))   ;now you can draw the text to the sprite 
            DrawingFont(FontID(font)) 
            DrawingFont(FontID(font)) 
            DrawText(0,0,char,RGB(1,1,1))
            StopDrawing()
          EndIf  
        EndIf
      EndIf
      FreeImage(tempImage)   
    EndIf 
  Next 
  
  matrix\ncols = width / (mx)
  matrix\nrows = height / (my)
  matrix\twidth = mx 
  matrix\theight = my 
  matrix\total =  matrix\ncols *  matrix\nrows
  ReDim matrix\mat(matrix\total)
  ReDim matrix\depth(matrix\ncols) 
  
  For a = 0 To matrix\ncols 
    matrix\depth(a) = Random(matrix\nrows,0) 
  Next 
  
  For a = 0 To matrix\total
    matrix\mat(a) = matrix\spmatrix(Random(ArraySize(matrix\spmatrix()),1)) 
  Next 
  
EndProcedure 

Procedure DrawMatrix(color) 
  Protected a,xx,yy,sp
  Protected sfy.f = (0-255) / (0-matrix\nrows)
  Static et,et1,col
  
  For a = 0 To matrix\total-1 
    xx = a / matrix\nrows 
    yy = a % matrix\nrows 
    sp = matrix\mat(a) 
    DisplayTransparentSprite(sp,(xx*matrix\twidth),(yy * matrix\theight), matrix\depth(xx)*sfy-(yy*sfy),color) 
    
  Next    
  
  If ElapsedMilliseconds() > et 
    For a = 0 To matrix\ncols  
      matrix\depth(a) = Random(matrix\nrows,10) 
    Next   
    et = ElapsedMilliseconds()+500;250
  EndIf  
  If ElapsedMilliseconds() > et1 
    For a = 0 To matrix\total
      matrix\mat(a) = matrix\spmatrix(Random(ArraySize(matrix\spmatrix()),1)) 
    Next 
    et1 = ElapsedMilliseconds()+125
  EndIf  
  
EndProcedure  

Procedure Displaymessage(x,y,msg.s)
  Protected sp,timg,fw,fh
  
  timg = CreateImage(#PB_Any,1,1)            
  StartDrawing(ImageOutput(timg))
  DrawingFont(FontID(font))  
  fw = TextWidth(msg)
  fh = TextHeight(msg)  
  StopDrawing()  
  
  sp = CreateSprite(#PB_Any,fw,fh) 
  
  StartDrawing(SpriteOutput(sp))
  DrawText(0,0,msg,RGB(0,255,0))
  StopDrawing()
  TransparentSpriteColor(sp,0)
  DisplayTransparentSprite(sp,x,y)
  FreeSprite(sp)
  FreeImage(timg)      
EndProcedure

Procedure DrawRockets() 
  Protected dx.d,dy.d,gravity.d = -0.098
  Protected angle.d,color
  
  ForEach Rockets()                       ;verlet intergration 
    dx = (Rockets()\x - Rockets()\vx) 
    dy = (Rockets()\y - Rockets()\vy) 
    Rockets()\vx = Rockets()\x
    Rockets()\vy = Rockets()\y + gravity 
    Rockets()\x + dx 
    Rockets()\y + dy 
    angle.d = ATan2(-dy,dx) * (180/#PI)    ;get the normal  
    ZoomSprite(Rockets()\sp,Rockets()\w * Rockets()\scale , Rockets()\h * Rockets()\scale )
    RotateSprite(rockets()\sp,angle,#PB_Absolute)
    
    DisplayTransparentSprite(rockets()\sp,Rockets()\x,Rockets()\y,255,Rockets()\color) 
    
    If dy > 0 
      If (rockets()\y + (Rockets()\h * Rockets()\scale) > height  And Rockets()\y < height) 
        color = RGB(Random(255,125),Random(255,125),Random(255,125))
        dy = 10.0 / (Rockets()\h * rockets()\scale) * (height - Rockets()\y)
        If Rockets()\sp = sp
          ZoomSprite(spexp,Rockets()\h * Rockets()\scale * dy,Rockets()\h * Rockets()\scale*dy)
          dx = Rockets()\x + (rockets()\w * rockets()\scale * 0.5) - SpriteWidth(spexp)*0.5
          DisplayTransparentSprite(spexp,dx,height-(Rockets()\h * Rockets()\scale * dy * 0.5),192,color) 
        Else 
          ZoomSprite(spexp1,Rockets()\h * Rockets()\scale * dy,Rockets()\h * Rockets()\scale*dy)
          dx = Rockets()\x + (rockets()\w * rockets()\scale * 0.5) - SpriteWidth(spexp1)*0.5
          DisplayTransparentSprite(spexp1,dx,height-(Rockets()\h * Rockets()\scale * dy * 0.5),192,color) 
          
        EndIf 
        
      EndIf   
      If rockets()\y > 2 * height    
        If mode = 1 
          rockets()\sp = sp  
        ElseIf mode = 3 
          rockets()\sp = sp1 
        ElseIf Random(1) 
          rockets()\sp = sp  
        Else 
          rockets()\sp = sp1  
        EndIf   
        
        rockets()\color = RGB(Random(255,125),Random(255,125),Random(255,125))
        rockets()\scale = (Random(10) * 0.1) 
        rockets()\x = Random(Width) 
        rockets()\y = Height 
        rockets()\sx = rockets()\x
        rockets()\sy = rockets()\y
        Rockets()\vy = Rockets()\y + Random(60,12)  
        Rockets()\vx = Rockets()\x + (10 - Random(20))  
      EndIf   
    EndIf      
  Next   
  
EndProcedure 

Procedure DisplayMessageCenter(window,msg.s,color=255,scale.f=1.00)
  
  Protected spriteNumber,tempImage,fontsTextWidth,fontsTextHeight,cx,cy,a,b
  Static overlay,ct1
  
  ct1+1 
  
  If Not overlay 
    overlay = CreateSprite(#PB_Any,width,height) ;make the crt overlay   
    If overlay 
      If StartDrawing(SpriteOutput(overlay))   
        Box(0,0,width,height,RGB(1,1,1)) 
        For a = 2 To width-1 Step 2  
          For b = 2 To height-3 Step 3 
            Plot(a,b,0) 
            Plot(a,b+1,0)
          Next 
        Next
        StopDrawing() 
      EndIf  
    EndIf      
  EndIf 
  
  tempImage = CreateImage(#PB_Any,1,1)    ;if you need to get the size of a font in pixels         
  If tempImage
    If StartDrawing(ImageOutput(tempImage)) ;draw to the temp image 
      DrawingFont(FontID(font))             ;with the selected font  
      fontsTextWidth = TextWidth(msg)       ;get the width and height in pixles     
      fontsTextHeight = TextHeight(msg)  
      
      StopDrawing()  
      spriteNumber = CreateSprite(#PB_Any,fontsTextWidth,fontsTextHeight) ;create the sprite of required size 
      
      If spriteNumber 
        If StartDrawing(SpriteOutput(spriteNumber))   ;now you can draw the text to the sprite 
          DrawingFont(FontID(font)) 
          DrawText(0,0,msg,color)
          StopDrawing()
          TransparentSpriteColor(spriteNumber,0)
          cx = (((width - (fontsTextWidth*scale)) / 2)) 
          cy = (((height - (fontsTextHeight*scale)) / 2))         
          ZoomSprite(spriteNumber,fontsTextWidth*scale,fontsTextHeight*scale)  
          DisplayTransparentSprite(spriteNumber,cx-(ct1&2),cy-(ct1&1))  ;jitter the x and y ccoordinates  
        EndIf   
        FreeSprite(spriteNumber)
        TransparentSpriteColor(overlay,0)
        DisplayTransparentSprite(overlay,0,0,255)  
      EndIf 
    EndIf  
    FreeImage(tempImage)       
  EndIf 
  
EndProcedure 

CompilerIf #WITHSOUND 
  spath = GetTemporaryDirectory() + "the_final_countdown.mod"
  If FileSize(spath) > 0 
    LoadMusic(0,spath) 
  ElseIf ReceiveHTTPFile("https://api.modarchive.org/downloads.php?moduleid=131843#the_final_countdown.mod",spath) 
    LoadMusic(0,spath) 
  EndIf 
  spath = GetTemporaryDirectory() + "spunk.png"
  If FileSize(spath) > 0 
    img2 = LoadImage(#PB_Any,spath)  
  ElseIf ReceiveHTTPFile("https://dnscope.io/idlefiles/spunk.png",spath) 
    img2 = LoadImage(#PB_Any,spath)  
  EndIf   
  
CompilerEndIf 

ExamineDesktops() 
width = DesktopWidth(0)
height = DesktopHeight(0) 

font = LoadFont(#PB_Any,"Arial",height/8,#PB_Font_HighQuality | #PB_Font_Bold)
OpenScreen(width,height,32,"Putin's ACME clock")
initmatrix(width,height)
ResetRockets()  

Global bdraw,cdtime 

Repeat  
  
  ExamineKeyboard() 
  ExamineMouse() 
  
  If bput > 0   
    ClearScreen(RGB((ct&63)*2,0,0))
    color = RGB(Random(255),Random(255),Random(255))
    drawMatrix(color)
    
    If bdraw 
      DrawRockets() 
    EndIf  
    cdtime = Date()-(ct*60+(60-ct)) 
    If Date() - cdtime > (Hour(Date())*3600)
      bdraw=1 
    EndIf     
    ;DisplayMessageCenter(0,"ТФCД-" + FormatDate("%hh:%ii:%ss",cdtime),RGB(0,255,0),0.025*sc) 
    DisplayMessageCenter(0,FormatDate("%hh:%ii:%ss",cdtime),RGB(0,255,0),0.025*sc) 
    ct+1  
  Else 
    ClearScreen(0)
    color=RGB(0,255,0)
    drawMatrix(color)
    DisplayMessageCenter(0,FormatDate("%hh:%ii:%ss", Date()),color)
    ct=0
    bdraw=0
  EndIf 
  
  sc+1 
  sc%60
  FlipBuffers()
  
  If KeyboardPushed(#PB_Key_1) 
    mode = 1 
  ElseIf KeyboardPushed(#PB_Key_2) 
    mode = 2 
  ElseIf KeyboardPushed(#PB_Key_3)   
    mode = 3 
  ElseIf (KeyboardInkey() Or ElapsedMilliseconds() > st) 
    
    bput ! 1
    CompilerIf #WITHSOUND
      If bput 
        ResetRockets() 
        If IsMusic(0) 
          st = ElapsedMilliseconds()  + 300000
          SetMusicPosition(0,0)
          PlayMusic(0) 
        EndIf 
      ElseIf IsMusic(0)   
        StopMusic(0) 
      EndIf 
    CompilerElse 
      If bput 
        ResetRockets() 
         st = ElapsedMilliseconds()  + 300000
      EndIf   
    CompilerEndIf 
    
  EndIf 
  
Until KeyboardPushed(#PB_Key_Escape)     


DataSection 
  Rocket: 
  Data.q $0A1A0A0D474E5089,$524448490D000000,$F7010000B1000000,$293D7B0000000208
  Data.q $5948700900000057,$0E0000C30E000073,$000064A86FC701C3,$E707454D49740700
  Data.q $0C7F242B22090304,$4144492B0F00005B,$DB6F3B9DEDDA7854,$04AC434129801B56
  Data.q $500E0A8376C76348,$015A878249D1B059,$1BF5412C8983C43C,$9B8ABADA45D20BF8
  Data.q $4C90520E804B553B,$246D2F15AA14B30D,$05189C4022833174,$2687490F4B40A144
  Data.q $2C5F413E2076274E,$10533CF921EBC2EB,$1E1E17BCF879145B,$00000000000492D2
  Data.q $65965963E1000000,$9C00219A4D838C59,$BB1FFB7DFDFD98F8,$86294924868CBBBB
  Data.q $79080C52A46AB460,$82A904921313C802,$85070ED40138013C,$6A009C009E41F283
  Data.q $004F20F941C28387,$7848E141C3B5004E,$C3B5004E004F20F9,$004F20F97248E159
  Data.q $6C48E171C3B5004E,$C3B5004E004F20F9,$004F20F96648E14D,$6048E165C3B5004E
  Data.q $004E004E004F20F9,$0A5AD244CDF784FD,$293C3B5004E004F2,$09C009E41F2A891C
  Data.q $9424AAA2FB7876A0,$D004E004E004F20F,$20A5A4244CD8F84F,$7F876B92404E004F
  Data.q $004F20F9778E4BAF,$CDEF84FD004E004E,$04E004F20A5BEC44,$6A71EEF77B89D324
  Data.q $52DDE2266D0227E9,$F44E812027003B50,$A7D3E9E8BE60FDFB,$A8296889133413F4
  Data.q $FC11DAB49013801D,$004F20F95F8E139F,$65089DA2404E004E,$8FEAB114B37E20C2
  Data.q $3B5266D963306F82,$44FDB92027002700,$04F20A5AFC44CD58,$089FB42404E004E0
  Data.q $009E414B598899B7,$4C7A009C009C009C,$09E499B538CC1A31,$FB139C4809C009C0
  Data.q $2EEEEECCECE2FBFB,$6A4CDB0C660D263D,$2404E004E004E007,$9B478CC1AD14C7BB
  Data.q $9C009C009C009E49,$3198366298F70480,$1380138013C93368,$5FE2138013801380
  Data.q $D16B99DFBE014874,$076A51CBE91138C8,$04E004E004E004E0,$397D223A2E2444E0
  Data.q $801DA9472E09C29A,$8013801380138013,$229510B931138013,$F8EFE138528027FB
  Data.q $013801DA828A7046,$0138013801380138,$D5EAF060C190E138,$5D03C1E0F8376F2B
  Data.q $27253F662C4271D7,$2793FDFF7FDF2727,$3D3D2FCB8183064F,$FC3E1F0F7AF5ED3D
  Data.q $DA7C161616DFB7ED,$576EDD3335887061,$76ED555492496596,$A30C308E5A69A6BB
  Data.q $B1F8FC7A9BD868D1,$E7138F77BBDC2D83,$D3099D73FBFBFB0B,$965959FD868D1B34
  Data.q $B5E72F97CBC68D1B,$87DC3AAAA8E9D3A1,$C22D916267038383,$A46E8CE9D3A6C217
  Data.q $EFDFB8FC7E3EAD5A,$1B51E3E3E3D9F2CF,$DE71084216813A5C,$E4FAEBAEBD7A9B09
  Data.q $E8FB56AD5A69A0F4,$2E591D1D1CA28A83,$A281CFB085908B40,$D5AB4A28A9B7E728
  Data.q $07A7CE47EC630C32,$CFD226B969B3669B,$9E5D0F87C3C10B16,$EA3FC6D179B36683
  Data.q $1D635AB568C30D3D,$45A017963A74E9B2,$3070707596584298,$09F5D753DEEC2BE1
  Data.q $214C22D02773C1E9,$C3D213252C313AA6,$0D116821772677F0,$7A9A3A3A3ACB2C21
  Data.q $835E596AD5A167BE,$876F53E9F4F2B316,$0B0F2BDFB96AD5BE,$CF085D3DB73047C7
  Data.q $33E0AAEAEAD6A4FF,$28A09E10A81138B3,$6788B4A252D2D2CA,$15013F3C919D18C9
  Data.q $B088C9117221337A,$369F458B17AEBA13,$AFC5972E51B1B1BE,$1D3BC8B20965963E
  Data.q $F544CD34C13C216F,$D7A1460089E72116,$3C385B373D7AF5EB,$F6F6F6CAE572BC3C
  Data.q $426845B2724ACACA,$3279A69A9A698AF8,$9245BD8E78CF613F,$16BA313838D40B90
  Data.q $9C0B460D55542BC6,$519C2FF7A98845F0,$E113839B5DE7D7AF,$F56AD536109FE13B
  Data.q $89C2FEBFAFE0E0E0,$ECE7947D76313868,$6784E05EDAF9EDED,$B48253D3975DBB74
  Data.q $22BC98BD4DE13817,$C40DE884E05A5A26,$D113815A5DBC2D54,$1CD34D145146C216
  Data.q $5B4899139A22423F,$F6F272727A7A7A75,$3076EDDB96595BED,$76BA54A972CB2A5F
  Data.q $B8DC6F57ABD5DAED,$D9B2924965F2F971,$709E6E1535626C6C,$CECECE1F0F87C4EF
  Data.q $C9FBFDFEF379BCDE,$EBBDDEEF52A54FDB,$8879967D7AF57AF5,$9DFF0ECFD1ADADAD
  Data.q $16161717171766CD,$B8776CD3E4BA5D2E,$C94E0E13CED1DBD3,$6A5F27CA7D9ADADA
  Data.q $992B75BADCECECEE,$8B162E03B4933D35,$7CF92A54AE2A9F53,$B13FDF125E7DB13E
  Data.q $FAFAC83EF93CBCBC,$F263C270F62BE0BA,$D5A7E8B952A57CF9,$89260949CB97356A
  Data.q $5FAFAFACACACAC4E,$89B9B9BCB972D3F4,$059D8DCB97238913,$92965E5E5BDBDBDF
  Data.q $A5669168B89D424D,$9D89227042909952,$4E1D81600850A166,$A357D5F57E69DB88
  Data.q $DA5DDE12D5AB53FF,$ABCEB66CE13F3984,$BCB972CD3BE701DB,$42279231C221B1B1
  Data.q $77DA684E8C2850A3,$7379BCDC4ED1202E,$80A142D555435378,$BAFD7EBDD1EF1210
  Data.q $15BECB6B6B6712BD,$B458B17F1F849902,$44F26129F5F65C1F,$15DDDDDD5D5D58C4
  Data.q $EDC8FF7B40C4F9FC,$3EA4DBEC90CBE7B1,$8884E0775E288E15,$09C009C00ED4DBD7
  Data.q $09C009C009C009C0,$9C009C0009C009C0,$9C009C009C009C00,$9C009C009C009C00
  Data.q $9C009C009C009C00,$C009C0009C009C00,$C009C009C009C009,$0000000000000009
  Data.q $E7D533BC2E480000,$02700310A99DE5F1,$0270027002700270,$0270027002700270
  Data.q $0270027002700270,$0270027002700270,$2700270027002700,$2700270027002700
  Data.q $2700270027002700,$2700270027002700,$7002700270027000,$7002700270027002
  Data.q $7002700270027002,$7002700270027002,$0027002700270002,$0027002700270027
  Data.q $0027002700270027,$0027002700270027,$0270027002700027,$0270027002700270
  Data.q $0270027002700270,$0270027002700270,$2700270027000270,$2700270027002700
  Data.q $2700270027002700,$2700270027002700,$D152924924002700,$A9C437A2B2CB5DDA
  Data.q $279CA20279320D88,$EFDBD82213124F3C,$7608562748AA568A,$49D22272F101DA9E
  Data.q $FD8E089E40877222,$B02C23D14C7A7DFD,$42B13A66CD5A331E,$311385880ED43870
  Data.q $C76334A83951124B,$38C44E9A203B51A1,$C38BC669807F8849,$9248489CD44076A4
  Data.q $E0232113C960F910,$DCFC1371C92A7784,$A8913CF491BBBCF6,$54403B5381F221AA
  Data.q $34FC3C04249B1227,$09DE100ED4168223,$D014669143688492,$1092413B0201DA82
  Data.q $24138C2013C85873,$4168108D27076109,$3E0849209CF100ED,$88076A0B40846950
  Data.q $46968312224904E4,$904E188076A0B408,$C30809E480342224,$108D3186B4449209
  Data.q $49209D5080ED4168,$D4168108D3487144,$5374449209C9080E,$8101DA82D0211A45
  Data.q $4F20AA7A8892413B,$2A906224904ECF80,$CA080ED4168108D2,$211A45526C449209
  Data.q $92413BFE01DA82D0,$DFBF44EB70AA5988,$6E20948B4CC464E7,$A0EC0D4CEF208286
  Data.q $0AA6588D5413C882,$5C449209CEF04C7A,$01DA82D0211A4553,$48AA77889241383E
  Data.q $83063B53845A0423,$83E0DDBCAF57ABC1,$F789CE7F3F9E0F07,$A4E4E4E249304C9C
  Data.q $B8B162E5CB94E9D3,$4F4F4F8F66E6B6B6,$F9FE7F9FF7FDFF7F,$0E625B5B5BB7DBED
  Data.q $D8DB3B3B383060EB,$CBF2FCBF8370F0D8,$3DE7162C517C5F17,$9B84E1CD62CEF365
  Data.q $BD7AEBAB366CEC69,$9F2767677555575E,$1F9A1B38ACACAFCF,$B7687E1F87F1FC7F
  Data.q $22DEE83879A69ADB,$3B4D8E62D0380C54,$476F61A346CD34C6,$3C7C7C71A346E596
  Data.q $AA3A74E8C30C16D7,$EE58E9D3A7F70EAA,$BB76EACB2D60E9F0,$B76AAAA4924B2CB2
  Data.q $C30C76D9D34D35DB,$F34D34A6F61A3468,$E9D3A6C211C348E3,$669A69AB56B06E8C
  Data.q $1E3E3E3D9F2CC618,$08818C04277C41B5,$93EBAEAAAAA36138,$D1F6AD5AB4D34687
  Data.q $9D70C1FC99451507,$2CB2C21384063010,$4571BF394515D75D,$FB1FDFBF66CD9A51
  Data.q $DCB56AD36343F391,$24747470312852EF,$D5AB4D8420840C60,$67B3FAF5EA5BE8BA
  Data.q $AB568C30D77586CF,$4EDF870AAF21D635,$13A1E1699E031808,$5D75775D88674363
  Data.q $040E0E0E4334309F,$539EF68C0C6A6277,$8C89D19DE393C063,$6EDDBB76ED96B338
  Data.q $BF09FDFEFF72E3DB,$93F892D2D2CA28A9,$56A8FD17ABABAB3F,$FCBE54A95CB2C9AB
  Data.q $A7E9FA7E92494BF2,$EBABA6CCCC1AB56A,$D2F3A74A2E6BCB52,$E2F2009A0EFD366C
  Data.q $E4CA28A263A9EFD0,$84C0F9620AB8242E,$C658D224013B3A74,$CE1AAE03A44E8CC0
  Data.q $7DBC58B14A232FA6,$637B8FC835AFB6FB,$CD2A26FDB1A7CF69,$3BC62D0033A74F84
  Data.q $9725769F4DE6F371,$5DBEDF6EA66CB9CB,$B945146C9392952A,$F80E98DF907AFD7E
  Data.q $BB2E5CB37373635A,$33A11A7E9FA7C2D9,$BDE7777776063EEA,$CEF6B0845532EA17
  Data.q $C4E42334D33A3DE5,$55A2B75BADE6E6E6,$EBD7AF5F7F01327D,$78787870B66E7AF5
  Data.q $B484EDEDED95CAE5,$FB63C82640C7C1AB,$7932793C9F5FD7F5,$E3FFDFEFF72A6A3E
  Data.q $773BCFF3FCFE3F8F,$39840C409A5CB8EE,$BC00EB87F7EFD12D,$3286336F19D55542
  Data.q $CC9E69A6A69A613F,$D5D60F2EFEB3D84F,$E17FBD4C421F95E4,$C4E30425D7798B58
  Data.q $2714406271185AE8,$3A75AB56A6C213FC,$C3041A7C990B671D,$F9789C21018CC430
  Data.q $B1D6A68C42AFA5F2,$DC213FC277839F77,$ECF67B3C4EF840C7,$F3EBD7A8FF10DAFC
  Data.q $E51F5D8C20F9E16A,$620E77DDF77C0C47,$D9B37EFDFA274C20,$076F0B55F2BDA4F4
  Data.q $39A1031E0AEDDBA1,$17587AF5EBF7EFD1,$BF44E1FA7817534D,$FC2D3FC622BC9FDF
  Data.q $18857089CCF2F2BB,$EB8A966D34D020DE,$03187B44DDF820C9,$69A6567397808E33
  Data.q $B2DFF7FDFC9C9C9E,$6F650660EDDBB72C,$ED76BB5D2A54AF6F,$E5C6E371B93E4F93
  Data.q $C1B366CA492597CB,$0A3D1E8F1861BB7C,$EBEAD5AA58D48966,$A4E1EBBDDEEFAFD7
  Data.q $F138B3235BF66A56,$79BD9D9D9EFFBFEF,$FF7F53F7FBFDE6F3,$04B37AF5E9FE7F9F
  Data.q $DC35023D1FAAAA99,$CD98B8B8BB366CC9,$B8A0EF34BA5D2F66,$BC5E2F9A69959F7C
  Data.q $031C07AEBA3A74E8,$8D1D5EAF578B8B8B,$2F011D8DD68F6701,$3D1E8FEBAE80709D
  Data.q $F37CDFCB2C85AC9A,$7A71387EA9BBCB8D,$C0631987C3E1FA7A,$818B39DEEF77ACB2
  Data.q $4B4B4BB366C99DD1,$11C660620E0B0B0B,$8306952A52A148C8,$7CF92A54A9DFE4C1
  Data.q $7D894E0E197BC05E,$F8ECECEC0C6A6683,$2764611692330311,$16E6C7AFAFAF01CF
  Data.q $F43CEB7A9A54A968,$A95F3E7C89DF0818,$293972E5DB4C2654,$42031E0B2F2F2C46
  Data.q $5A7E8BF5F5F589E4,$635C40A17D85972E,$B1B972E59C778840,$4B2F2F2F2CB28033
  Data.q $8D89C21018FC42F1,$65DDB0952DB18D8D,$AD8E2177944063BC,$CF818C672EEA71B2
  Data.q $B5B2AC2E271CFF3F,$CA62933ECFB3ED5A,$0F3C22F3E7C818D8,$F6F6ECABE7138A22
  Data.q $1F389D5C66E6E6F6,$812C2B90556AD503,$73274614285BA3DE,$CA063E72B8DB59EC
  Data.q $6B1390203120B2E5,$5EBD7ADD09C36B6B,$880C6C2358A41428,$157B25A5A5EDBEF5
  Data.q $1227CF7F96D6D6C2,$5A3B107EC2725103,$C051717161BB094F,$ABABAB4C3688C818
  Data.q $2FD92A54B84A79C9,$50A27384062A1023,$42063C1093BEC428,$37F00BC1F2113F5E
  Data.q $3D6152A548C30CE2,$70109C1A9AE228E4,$138013803F3BF804,$1380138013801380
  Data.q $1380138013801380,$0C30C3FF52270310,$9FF8F14F0C962806,$D44A13DE5895B8CE
  Data.q $77999D695FD9B03D,$CC2AA63EC37F168B,$78D88FC0EFD8C4ED,$F0555C479209CAE0
  Data.q $4826E7023523BAF8,$E33E47CF5BF6FDBE,$8F8253F10F24AD9F,$39FCFE78F2726279
  Data.q $25BECF486B803167,$5AE244792A12A3E0,$A908EB099C72F834,$D35C139A10A9A22C
  Data.q $443C904E1081E98A,$09DA6B931E882153,$46691EC2D7F5FD7C,$EB8488F25389E8FC
  Data.q $E1C793A4638C48E9,$38B9133FF6B461E1,$2919C7A288DA568B,$3801DAD513BD70C1
  Data.q $3801380138013801,$3801380138013801,$8013801380013801,$8013801380138013
  Data.q $0000001380138013,$0000000000000000,$84FF7811DBDE882E,$0270027003BF70DF
  Data.q $0270027002700270,$0000000002700270,$0FF9FFE000000000,$1BCF15C4BEF446C0
  Data.q $444E454900000000
  EndRocket:
  Rocket1: 
  Data.q $0A1A0A0D474E5089,$524448490D000000,$F7010000B1000000,$293D7B0000000208
  Data.q $5948700900000057,$0E0000C30E000073,$000064A86FC701C3,$DA78544144490020
  Data.q $C7F9F75B4C5D9DED,$B1B631B18DB05F8F,$5EC027628C431B8D,$9C9BA52A6D35E382
  Data.q $D2A96864D4C9476E,$D4C5CB48BB9AB968,$845EA555DA40CD49,$AAA82EC17659BB48
  Data.q $45E5D150AB4E4848,$D8532429554B1C6E,$F3DB561A90D4D941,$980F8301B6190D42
  Data.q $18C062117F38BFF0,$AAAF7CF39F1E5E7C,$F3CF3F1FCFCF8C42,$50A14281043EFB7B
  Data.q $2850A142850A1428,$142850A142850A14,$0A142850A142850A,$850A142850A14285
  Data.q $42850A142850A142,$A142850A142850A1,$50A142850A142850,$2850A142850A1428
  Data.q $142850A142850A14,$4C91E250A142850A,$28E1C3A4924F0FCA,$220C182244899FF8
  Data.q $9D38F1E3C0215213,$6A6AE9D3AF5EBD4E,$C17575756D5AB46A,$642C2C2E2E2E2DAF
  Data.q $B9B9B9F9F9F9D9B3,$9128A494514A3468,$58B16EDDBB038449,$D5AB5468D193264C
  Data.q $87F91756AD468D1A,$53A69A3972E74D34,$F4F4F4CCCCCCD4A9,$1B8990F844A4E4E4
  Data.q $468C3870E5CB9705,$D171410E2860C1A3,$2254A95264C99D34,$321C37171F1F1891
  Data.q $2F5EBCF9F3E0D1F1,$246464638714282B,$68F8990C8F8B0E1C,$145D8D9B36DDBB70
  Data.q $1122464C99238536,$B10C901A432191F1,$62C40C0C0FF7EFC9,$9A68902AB72E5CB1
  Data.q $E0303033FE7FCFFE,$0E8A8AA43045FBF7,$7E2FC5FF9FCFE70F,$A5366CDB2FCBF2F1
  Data.q $B5B5142A20D82952,$2EBDDEEF63870EB5,$E04C4C4C50A14B97,$F9F2A361E18A55D7
  Data.q $38B6FB7DBC99327C,$D2850A1101854602,$8A3972E5482AF4E9,$4F149F88BC5E2EA2
  Data.q $0B021A1A1AEAEAEA,$F62C58E5E5E5A304,$803E2F3F19FF3FE7,$CF4AD8BE540A28A0
  Data.q $102069F4FA7B3D9E,$38810E4C6B124920,$B39F2B6B6B4CE673,$56AD3265F2CFDDCD
  Data.q $B97EFF7FBCDCDCDB,$2069213214514E5C,$637B76ECA952A4D6,$0B052ACF67B3E363
  Data.q $5956D6D6D1010545,$CB8B162D54CDAC40,$C88383830C1832E5,$1ECF67B38CB33B04
  Data.q $2AEA5552A550783C,$3870EF5F5F514290,$0115142C7C3D7AF4,$A8741E368743A1C4
  Data.q $D8D8D1A372E5C92C,$24904CD00B1F08D8,$EA8F47A3B9DCEE79,$5E2C189A4C113A74
  Data.q $13340449E025E97A,$C984E2713F9FCFE7,$6AC2C19A5CCD1264,$65C058B0468D1AB5
  Data.q $E9CE773B9FF7EFC2,$28B12D3172E5CA74,$4B5B5B54C9930A14,$4826500899CC0410
  Data.q $DEDED77EEFDDFC92,$0C1858A716CEE02E,$1005555554C99306,$F47F8FF1FC4CA00B
  Data.q $5A9116575E957CF9,$95268D1ACD9B36AD,$1FC4C88544DB414A,$2C58CE673387F0FE
  Data.q $1A358847CC4C9916,$850D9B367575754D,$85C2E35936C4C842,$B6232B222D2D2D0B
  Data.q $C0419501745982C2,$B1D8FEFFDFFBF131,$2A54A5EB1ACE2263,$DF581065A16B6B6B
  Data.q $B1C4F9F3EFDFBF45,$7B7B43060CA2511A,$D679B138C3E7CFBB,$A1D0E87D7FAFF5F8
  Data.q $3468D24A422AAAAA,$9C5002A1202D01CC,$B895EDEDED7CF9F0,$C376EDC41CFE55CB
  Data.q $E9F4E241380A1509,$9082850AADADADD3,$71209C390A85409E,$A1980D65A901C0E0
  Data.q $49B5B5B448270142,$412072150B404833,$C9911E3FC376EDC2,$E1C2A1770C993264
  Data.q $49041DCC1E3C7870,$FBB1B366D7AF5E92,$34C7E3F1FC78F1B2,$FCDE6F3782F8B34D
  Data.q $D1A30A1BB96FDBF6,$BD6F1077313A74E8,$133ACEBFAFEBD6F5,$69A7EFEFE83C1E0F
  Data.q $F3943060DABABABA,$BC3E1F0F53535352,$E5F97B162C56EB75,$AA8A1A39EBEBEB97
  Data.q $87D3C179F9F9AAAA,$468D1A74E9C271F0,$751452D5AB565FD6,$3C3C302040A9D4EA
  Data.q $E9F0F0EBB535353C,$9D9DFBFEFFBE9FA7,$AC7BF4E11C8E479D,$FA782BDDEEF6A952
  Data.q $9BE6F924904E3810,$713DF59FBFDFEE6F,$50A11B8DC6E39D66,$EBD7A10410489128
  Data.q $8F1E287FE97D7AF5,$EF3B9DCEE0F0783F,$9DE77DC5F32EFBBE,$B951DFB7376EDC77
  Data.q $371B8DEFFDFFBFFC,$F1E09D3E0450FC04,$5654EB17070E1C78,$0C1DFF3172E5D5AB
  Data.q $91D7575760C18306,$9A9A9BDBDBDA4723,$E8D1A3A69A5BFF8A,$03CF27676740C0C0
  Data.q $E92BDDEEF6E9D3A2,$5D2EA9B1C4A3931A,$22D1D1D192A4C4BA,$3F060C1E3C7887D3
  Data.q $BF7EFC2002A3E8FA,$EE54AA3BFCE66CD9,$E70263ABD857BBDD,$DEFBDF37E6FCDF8E
  Data.q $9B3B3B354C3A38F7,$50A143A1B60BE7CF,$A18306F3E7CF9F3E,$6363633264CCF6A0
  Data.q $BDEF92C3C6C48D8C,$0D1A3587C3E1DEF7,$D3E9F4F142891FE7,$248695714AEF77BB
  Data.q $A66C6EEE21A1A1C9,$7AFEADBEBEBEE9D3,$993250D0D0F77777,$F5F5F58B16397E64
  Data.q $5CFC42850808F115,$46EFD6125A5A5D34,$267A70F1E3C27AC8,$7676E299143060DB
  Data.q $CAF1D1D1D9249276,$9FE7F9F10410AF2B,$91421F4F143D5FF3,$B9BB93A74E132421
  Data.q $F436264F6A62297E,$098A7E4DF916F6F6,$3C793264CC993246,$AFACC6B21098A11E
  Data.q $984FF4E1A9A9AFAF,$7B7B7A632D6DE6CD,$6BE7CF841041038B,$AD5AB4646DE66E6E
  Data.q $3870E132429A0B80,$65666E6E68E3DEB8,$BA18B995B366D1B3,$A156D6D69A346923
  Data.q $1BFBF7E131821F66,$A4BC5B883EB91B1B,$987EE02142852B00,$1316C2E39B304C30
  Data.q $CD3D6262B797C23B,$7CF9F098610FA542,$771CD9F90FE1FC3F,$5BBE655D5D5D1C38
  Data.q $6EDEBD7A46098B3E,$B79C736609854BB7,$52391C8F3A74E120,$B1654A952304C541
  Data.q $890482E429290458,$C93264A6B341388A,$E2A46662229A51DD,$CA56CD04E8E09F5F
  Data.q $F0F0F5FD7F5F3264,$3A75870E122F3970,$F95AB56ABEAFABDD,$090528D88EA12B1C
  Data.q $BA9A9A9FD81CFC12,$EDB67D9F67DEEF77,$624489180BB6C3F2,$EEDBE3F1F8F27272
  Data.q $84F5EBD5233BB2A9,$C7E21428649245B8,$B0F4F4F58B1632DD,$18B163BBBBBB8F9B
  Data.q $03034B4B4B9B0E6F,$28969DDC138F2203,$EFAC02040F1E3C50,$A729D4EA782F305F
  Data.q $D555555453C3C9D3,$1FE7C23AB009D5D5,$7AE1E3C79CEE773B,$2142851820239B3D
  Data.q $732E992A54A74E9D,$F8F8C2C2C2D88F5C,$BB8263F933C7CF38,$62627A69A26B7663
  Data.q $0E70EE9CEBF5FAE2,$AC20824993260E0E,$D5D5D5D473D72B56,$95F57D5FDFFBFF7F
  Data.q $B1B1AEAEAE898B38,$950D0D0C4B4F4E31,$3264C8BCAD053CB9,$7A704F57F3B91BFC
  Data.q $860E0E0F8F1E2ECC,$2F28BB18A732E1C3,$2A2326EE6DFB7EDE,$8E93B441A1A1AA95
  Data.q $58B11C668E018181,$EEEAE7A85BBBBBAC,$F911DEA38A28A6EE,$4CD5E78868687E7C
  Data.q $389C4F249209EA9E,$896515A70C0AC5C1,$463468D79F3E6755,$2F972E53AAF591A3
  Data.q $334F84F2793F2F2F,$98ECC71707729E4D,$F14A952448919F56,$2F34CB68698D5279
  Data.q $96AD5A070CEDDBB5,$4C4F2906FFC73FA3,$C3876EDDB84C5770,$652D7A52C9E4F271
  Data.q $2E974BE1E1E1D9B3,$3FA6EF5EBC119295,$BABAA99326B56AD2,$A376D3DEB0D1A35A
  Data.q $313CA41BCF1D3A74,$5AB53B1F59EBD7A1,$7A99A69A080DD3BD,$7A3D1E49241638B0
  Data.q $D9931F1654DDCCB4,$AA2FB4F2102DE520,$F8CA5119B878E9D3,$747761FB6EB6B6B6
  Data.q $CE794E0FB7DBEC74,$D4D4D44C4F2906F3,$F915DAFB5AAA3100,$716816F3C5CB971D
  Data.q $49241307CA41BCF1,$EDF6FB42ED825772,$5D5DA7EAD8E8E8EB,$AD5E34D403870E5D
  Data.q $0E1307CA41B9F356,$C5EBFAEA07940387,$D1A42EC0A1B5C51B,$F17FBF150CF4F868
  Data.q $A4924E0ABA6E9856,$AB56A8C7E68162C5,$1D5B133A936FD879,$F3009FAE5D5684D2
  Data.q $34AAB62651299AB6,$E6AEAEAA6B9755A1,$9A569B132891CAAD,$36265D24414BAB00
  Data.q $9132D14BAB009A56,$BC3E011717162448,$11670AA1BF5EEDDB,$8585C183044CFC45
  Data.q $B6B4D4D4DF0F8005,$197FB5CDDDDDD1A9,$F68B2CD9B282F132,$F5EBC08CCD6A2CA5
  Data.q $03DA78B21F4E79F2,$230072E5CF9F9F9B,$7784B7FF01199AF3,$3C51D1C645C5C5A4
  Data.q $609C660E6E6E6271,$2D23BC25B90408CC,$9C53CA2FB6F02C2C,$D4E60A54A9A34688
  Data.q $6FFE6EDDBB76EDDF,$ACD9B3A69A2E9709,$666666A28A09EAD8,$4AF0135353788E60
  Data.q $8D8BCFCFCDCB9722,$330D3D3D38306089,$737373D34D17C07D,$49C9C98820826362
  Data.q $2A54A9408BEC6E41,$C0A4A609908A8D1A,$B3E199999A17780F,$489514504C7F2D29
  Data.q $4F4C7122EC7D3024,$C1131FC995E9F34F,$4EC7D31C7C7C7060,$FCF927272664C995
  Data.q $5F80FA6181EEBC8B,$245D8FA604CDF04C,$5E7B8773C122448E,$CC23232383060899
  Data.q $7C7C638989547D45,$844FCFBE6DE3679C,$6C02A1822448E1C3,$13C0150C098010E2
  Data.q $25150C2B39C82107,$DFF08C8C8E4C992A,$18945430260041B1,$FFE61C3848912224
  Data.q $3450A14C0FD30B4F,$44B8403434363636,$E773B93C9E4F530A,$989898548F4F4F4E
  Data.q $B46C6C69A9A9A898,$9074559E59DCAD5A,$A413EBEBED1D1D18,$7B7B7BB6E760B121
  Data.q $2AA020CC4BF2FCBF,$6BE2906604E32109,$8FE3F8FFDFEFF712,$064C13242E5AEA85
  Data.q $58B119B366CD9B31,$02040C3E1F0F1ACB,$6155DF6089F27C9F,$2C2AAAAAA8A28087
  Data.q $BADD6EB79697D62C,$51F05BF190B2F97C,$366CD8B162CA28A0,$1ACF042C7128D1A3
  Data.q $D070706208209850,$F3264C8B1C4A3468,$980BAFD7EB83C1E0,$C465305881310035
  Data.q $CE8601F4F957ABD5,$9931ECF67B161AC4,$A3C4068498F75C4C,$B95CAFFBFBFA8F47
  Data.q $B302040A26D51582,$A3972E5192ABB3B3,$EB056DF8EB4F8A28,$74BD7D7D649248EB
  Data.q $6BB5DAE21133772E,$6B8A89944AB8D8A5,$02019797968E5829,$AB0A0A5B9E098B01
  Data.q $B7DBE9E9E9D5D5D5,$75BC13160203436F,$E5CB964C9920830B,$4C4037BE01676766
  Data.q $1D3A74A005F4DA70,$E924904C2824AB4C,$065D66EE5F20B972,$BA7DD20972E5C183
  Data.q $56A460E254909832,$2BA7DD20870E1DAB,$7542460E25A90983,$A4BB76EC260CAE9F
  Data.q $4B5FB9E0FA5AC712,$F49F9AE5D30130C5,$45C1328908E36DB1,$2A5AFDCF114AB0B7
  Data.q $0A4B601316690986,$D282AC2DD1704C10,$2009862A5AFD9F07,$2A5AFDCF1104C2DD
  Data.q $AFDCF35D1B290986,$7F8C2DD6809832A5,$CF087A9A82D6D6D5,$403D4C82616EB404
  Data.q $3625002813910DF5,$D5394402646FB728,$7A985EA04C82D2D2,$09902929C0B4B4B4
  Data.q $9C1B366C2850A5E1,$03060C8402644CD5,$2DDB0099E14CD59C,$6BE7383A74E94F8C
  Data.q $053E30B76C026784,$5BB601DC880D7CEA,$09820619B3829F18,$D7CE401496185BA6
  Data.q $D39E30B76C026080,$6F40982035F39007,$026080D7CE404676,$982014960930B772
  Data.q $F9C203E96B616EC0,$008C2DD8566B281A,$105258130A06BE73,$A8A2826140D7CE60
  Data.q $2C7122B2B2B93264,$4C280F53E0AD5AB4,$544C83264CC18304,$1ED006BE7E0B5757
  Data.q $08203D4E2AEAEAD8,$42853ABABAF2BDD0,$78F2FFF132091F81,$9E2640990D9B363C
  Data.q $25CD8990C157CA4B,$4262B144C8E57BCD,$3171716A37CAF79A,$5E57BE9213204891
  Data.q $C0B95AA1058585A0,$674D3446098B0262,$7BED21041DCC59B3,$E7E7E6E5CB95EBE5
  Data.q $82F2BDF690820991,$84104C8737373138,$A89D2097AF95EFB4,$3334D7CAF7813221
  Data.q $E04C886A277FC333,$2D3D3D31C4B5F2BD,$9470607BC083A4F8,$13BC2127272664C9
  Data.q $96A40264098B0264,$0262840489129696,$F1F1B9B9B9A28099,$98A8013204C50871
  Data.q $410E57BC08389200,$F7810712702B2B2B,$77BBDECD9B2821CA,$04395EF020E2480F
  Data.q $79C30E1C34FA7D3D,$1380E2441CAF783F,$B972B82E57BC0824,$BE52131012EA9C1C
  Data.q $847A3D1EA54A9604,$A7A7CAF7CA4A144C,$D921310038CCE1A7,$B366CB3D9ECFE57B
  Data.q $CE0B95EF02098AA0,$C395EE8090EBC004,$35E5CBE8EDCBCA6C,$2292CB6C0FD83535
  Data.q $4C6A4CF67B3F4E9D,$4B2DB03F61D5D5D4,$820826352B366C8A,$4A5B607EC5ADADA8
  Data.q $0393DB92E5C850A1,$5AB572BDD01462D8,$740518B60026412D,$144B9A56B6B6BCAF
  Data.q $05E172BDE28C5AD0,$28C5B0261428C5AD,$144C8A316C285132,$0E938513228C5B0A
  Data.q $8B08816083055F89,$5C1102C1060ABC09,$28132140EE6140EE,$560990A04C850264
  Data.q $62C2205820C15785,$970440B04182AF02,$2205880C157CA43B,$05880C157CA42638
  Data.q $880C157CA4263822,$0C157E2426382205,$7B25B6E74040F5D4,$2426382205880C15
  Data.q $263822058E0C157B,$08816383055EA908,$96FCAA0A34688991,$29A9A9898B013166
  Data.q $E5069A6903DD6242,$D40E0703898E0564,$0E25493264CAD6D6,$D2492098E0881638
  Data.q $C4C0078AED4AF5EB,$BB76E7CF9F098801,$79E2640E26152A55,$C9120A926CD9B090
  Data.q $80E25A0464647264,$9F967524241304C2,$1102CA022448E9A6,$7942899024181310
  Data.q $B120A921C3871E3C,$426080483604B4B4,$06C167676787B782,$72E5D2492099E109
  Data.q $ECEAEAEAF52BAA49,$43BEC18FC7E3ECEC,$E51660E260909981,$B9E38981322B56AC
  Data.q $4C402B0F341D3A74,$00460E254976EDD8,$C5A4924130A0AC3D,$2B0F4000C5A09162
  Data.q $44C9931E3C784C28,$8130A0AC3CD05248,$0AC3D0A144C8561E,$642B0F46FCA4D899
  Data.q $3851321587A105E2,$C10F53982B0F40E9,$C7074E9D2B0F4098,$E6C0B890EE4A0AC3
  Data.q $88683D813042644D,$43B25CC04F59084C,$223636368E9C8426,$8713CC077217A813
  Data.q $555555561E813182,$587A04C608B3EF30,$897000C1830A1429,$462B0F6521DCC842
  Data.q $1ECA426485477730,$84C90A8EEE608C56,$151DDCC118AC3D94,$474DAD587B290992
  Data.q $3D9484C90A8EEE01,$2151DDC004E2D6AC,$60064C9983060899,$E0547770053E7713
  Data.q $65E5E5B9B9B9AB35,$26080FC3AA013329,$0225A5A5BBEEFBBE,$7C48489129AC4C85
  Data.q $FBFF7FEA144C8A3A,$244D8991B857C49F,$3D611362640A25F1,$E92CA013D6144C81
  Data.q $C098203F0EA817F9,$0EE4A07E1D5051DD,$E1D850A3B983F0EC,$2641F87614289907
  Data.q $614289907E1D850A,$7607A99362641F87,$907E1D850A2641F8,$98501316E0292C09
  Data.q $7D2A4848912A28A0,$3E57E9C040D46D80,$C3B301F4A92E3E3E,$26C03E982426200F
  Data.q $8FA4E959CF54020E,$0E2661264C9F3E7C,$64919191D9CF5402,$D256565626052932
  Data.q $B7A0057E5F5834E9,$B3D83F07E0FC50A2,$32EEDBF22E5C8F67,$7272727A7A7A6C99
  Data.q $22A136C4E3026262,$A142BF68E14B4E9D,$C7730F9F3E9D3A70,$A94EAEAEB2492236
  Data.q $AF366CD87D214A54,$F1E3C8DB77BE8BD7,$2605214285366CD8,$B96980E1C3B56AD4
  Data.q $B5836FD9A909880D,$A04D6A5887D406DC,$924F42E5CB83060C,$A6C0A04D6A438962
  Data.q $7A036FB3484C280F,$0A26428136131492,$16144C85026C098B,$0262C0990A04D813
  Data.q $85026C098201496E,$851321409B0A144C,$03A4E144C85026C2,$04CF087A9A81409B
  Data.q $1ABD867366828136,$132140990A04C850,$09B0263E25026428,$68035E10339B3414
  Data.q $81DC8807AEEA0673,$6736850A3B986736,$28990CE6D0A144C8,$9B428513219CDA14
  Data.q $9CDA07A993626433,$0264339B42851321,$353E8104C5A00A4B,$7C806736980E26C2
  Data.q $FA7A90990CE6D06A,$3891951F4C4C7F40,$4B39B1D245DE6808,$B98FE82323239326
  Data.q $7D11122470E1C2BD,$C38489123A69A0A8,$091213160F6F9861,$159CF00104839015
  Data.q $69697260DC442A13,$183044C880907209,$859B29F1131B1B1C,$8241B031B1B18585
  Data.q $2482600AA898F3C0,$D416DF11169696C9,$319D302D2D2DB56A,$B76EDCF9F3E13281
  Data.q $CA952A132B12A54A,$F94025D1358376ED,$6DD3E9F4E241336D,$3468D5D376E26D6D
  Data.q $241A976DFA3F358C,$8721AB56A03BEF44,$E370150C0906050A,$24BB6FD1536CA484
  Data.q $D03898513236DFA1,$9E00E26E90991B6F,$265407D31B6FD03E,$D0262C28991B6FD0
  Data.q $6FD0262C28991B6F,$81496E0262C0991B,$DEDBF40FA7C2DB7E,$FD0A144C8DB7E844
  Data.q $6DFA0749C28991B6,$F46DBF420BF6DFA3,$26428132174146DB,$3E5540990A04C850
  Data.q $4285DB7E8DB7E813,$B7E844DEDBF46DBF,$4C8DB7E850A3B98D,$A1428991B6FD0A14
  Data.q $46DBF428513236DF,$3236DFA07A993626,$A4B02646DBF42851,$6C2DB7E8104C5A00
  Data.q $F40A4A6DEDBF40E2,$6FD03E9EA42646DB,$F9F3264C91F4A4BB,$48FA79E2640E263C
  Data.q $3C83002B2B2BD3A7,$49124BB6FD0D49EB,$C5171A6575757592,$AB58B31F8FC7F1E3
  Data.q $FB7E6F379BF1E3C6,$8F9F3E693E2CB7ED,$47390174AD60A346,$9450A9D3A73E7CF9
  Data.q $D0A142448915B165,$9A9BDBDBDA472391,$89A9A9A9A979CA9A,$4A9532FCBF2F8989
  Data.q $6565749F165EBD79,$1285D2B6434E9D25,$2D5B972E50A14224,$EE895DCC4343434F
  Data.q $B93264A1A1A1EEEE,$3D3D3D62C589D7BB,$C6FF940C0C0D4BCC,$17C5F17FCF9F2BD6
  Data.q $F5BDDEF8A1536D60,$66CDBAFEBFAF5BD6,$6E3764FB9875F32B,$BD25E1CC428508DC
  Data.q $F1494F4BEBD7AF5E,$DCEE770783C1FC78,$77BA531977DDF779,$B099B376EDC779DE
  Data.q $07264C972E5CF2E5,$AEB6296C77310707,$56B5CB9756AD5B96,$12AEAEAEC18306B4
  Data.q $607468D1D34D0953,$05E7EB93B3B3A060,$1428C1C4B626706B,$14DDDDDD13FC6D0A
  Data.q $6062C922E9D3A545,$FA1FE0ABABABA060,$2E56D956A28A7EFD,$8807D33042850B97
  Data.q $3B3B3460E256C1DC,$50A1FEA60BE7CF9B,$C18379F3E7CF9F28,$C6C664C994926050
  Data.q $C6FF7EFC060606C6,$7C3E1DEF7BDEFE60,$7972A54AEF6BF598,$3D3D5E10FA6C1979
  Data.q $D3057D6C5353533D,$AB7F56DF5F5F74E9,$7D7D7D62C58CF6A0,$42850FDFAB7FBF7E
  Data.q $F4F4F64C9928DCAB,$1E3C78593CF13D60,$DD3A75EBD7A9D3A7,$0C8BBD167DFFBFF7
  Data.q $49D9D9D390914306,$BCAF2BC747476492,$43CE7F9FE7C41042,$EEF6EAEAEAA9B0F5
  Data.q $DBB038D626692BDD,$8D193264C58B16ED,$367868D1AD5AB546,$F6F436264F6A609F
  Data.q $366FDFBF4DF916F6,$E3CA952A1B7A399B,$458B163B7DBEDCF1,$C858AC80A28A51A3
  Data.q $0E1C3972E5C14378,$6086B8183068D1A3,$F14BF97F2FF47474,$FCFDF5F5F514BBCF
  Data.q $696971A4D4E73FE7,$2244A952A74E9D29,$A7190E010E3E3E31,$1BCBD7AF3E7CF834
  Data.q $FE6F379BC6CBEB0A,$A14275F32ABF57EA,$34CF79F8C763B1D0,$91918E061932674D
  Data.q $4E4A19142C387091,$7F8D9B36DDBB7069,$D5A94C0525E2A25F,$4E9D5AB56AD5AB6A
  Data.q $9F3EBD7AF6EDDBA7,$4581A3229432104F,$A9A9A387144C5A71,$DD82864509B366C9
  Data.q $BC6F1BDCEE773C41,$6D859B3666D6D6D1,$CAE9D3ACBCBCB2CD,$02FA5132B473FD99
  Data.q $734F67B3D860C186,$0D4D4D6363637373,$A387862C942D876F,$CDB101B5B5B68F47
  Data.q $E7291C8E479D3A76,$C4C2CFE09B366C15,$EFF658B160C1830C,$1E12B250C04FCFDF
  Data.q $E95EDEDED93C9E4E,$C9933264C940A2C9,$743A1C3060DC4040,$0E2D2D2D3D9ECF68
  Data.q $C3B9B714F9FCA387,$D7B5F67B3D9FF7EF,$6578FA706CD9B35E,$7BBDDE1F0F879932
  Data.q $1A351A3461DC9CB7,$A4C95FE08468D18D,$555CD9B306868692,$AE898B291E69C555
  Data.q $783C1ECF67B3AEAE,$AFA9A9A9859B5410,$72B95C08102AFABE,$33398A28A1D79CA5
  Data.q $A346A03C815AB56C,$8B168D8D8DCD9B31,$451757574946E205,$CFEB5F29361EEC51
  Data.q $2C58EEEEEEA5B0C2,$51451CB97319E706,$E881CD881170B71B,$BBBBBB79E2E6EEEE
  Data.q $58A72F3CE0C6C6C7,$5A673399C4077628,$3C78F19455415B5B,$850A15A1B4700810
  Data.q $74E9D4A9529D3A74,$D9B368D1A30BCA40,$02214449EB23468C,$7EB898989E9A6820
  Data.q $8383839C3BA73AFD,$2A54A1794E1264C9,$966CEC584713264D,$D3A4652A04343431
  Data.q $A82B933E21A1A1E9,$22A1A1A1E9A682F2,$F3B4CC138DB83FE7,$E3C40B7A7083C1E0
  Data.q $97F7F7F6EF77BBF1,$EDDBB11E69D8C539,$A14285A2108D8D8D,$09C591A3468D1A30
  Data.q $DCEE7924904CA96A,$93B4CE0D7B5ED7B9,$7FF2DFDBFB7E2029,$BAA6A6A6A2C18EC3
  Data.q $CA952A346EF05ABA,$C52A54AA54AAB56A,$FE7F389952F3F74A,$91B36701BC6F1BFC
  Data.q $3CF9F22C44B28AD3,$1830654A952D4590,$E3BC9F3D37676766,$51E8F471ACC4A54A
  Data.q $4891220CE7304020,$430DB7924922952A,$12098410731070E6,$58B16346E9C04104
  Data.q $94DF37CDFE3F1F8E,$5C2E2C652B2DF2BF,$D64818FF1FE3F0B8,$8B8B8B72E5C89860
  Data.q $B366F078A5333333,$952E974BE1E1E1D9,$D5AB500D756E3F52,$3E79F05926264C9A
  Data.q $7FBFDF2F2F2D74A8,$027BFCE03E0F83FF,$24921E15BB8F156D,$676749FA2A868687
  Data.q $713F32C3F0FC3F67,$EE2B7AF5E4C3B6F9,$6B6B756AD48152CC,$FB1D1D1DE75BB6EB
  Data.q $74E9D527E8ABEDF6,$8722F178BB1D8EC7,$822DDBB73E7CF84C,$2E5CBB40BA52F01D
  Data.q $C993298FD15AD5AB,$97F2FE5FA5E97A5E,$D6241F45C8F8ECE5,$AD8E8E8EBEDF6FB4
  Data.q $DB51AA05D5D5DA7E,$EB6B6B654A0D67EE,$09A21309C9BE6F9B,$23A8DE2F5FD68C12
  Data.q $A74EAF52E6888E47,$1454DC5EBB7CF9F3,$6B6B6E9F4FA71209,$D37CCA9586527383
  Data.q $4271389E49249A43,$5ADADAB264C84C34,$AC5DD3E9F4FB56AD,$C38F1E3C27196D62
  Data.q $690EADE07B5910E1,$B7B53F58DCBAA08A,$5B0773363E7CFBB7,$BAA08A6951151086
  Data.q $777AF5ECD9B328DC,$972E1C4AB7CA6C51,$D14D2AEE3A89D40B,$703AAAAAAA059754
  Data.q $893A5C85422EC0E0,$C6E5D54C534AAB63,$71274B90A845DD87,$57A23FAF76EDC9AC
  Data.q $508209FA4A235353,$62A1A77BB76E54A9,$071328BB76EC2673,$EE8D4DB5A6A6A6A3
  Data.q $2B1458CBFD766EEE,$42A1A76D9B36AD5E,$7EC058B1613169BE,$4CCCD9B329195875
  Data.q $8C9A36996F5EBDDF,$C3876AD5AAB57AC0,$4DCA27FF4A78F1E1,$F8F1E2635CB6098B
  Data.q $B08B64E9D3A2E2E2,$D6D6D838383E3C78,$3734EBCE5EDEDED6,$90C25BAD95113337
  Data.q $B4E727B1EA775ABD,$51F47D1F22448898,$D4BE65E3C78C1830,$102070F0F0D4D4D4
  Data.q $5D5D5D59FF3FE7F8,$AF9F3E046631ABE6,$B56AD5279599B9B9,$08102A753A9D4514
  Data.q $1AED4D4D4F0F0F0C,$DFF7FDF4FD3F4FFA,$1835F8AB64ECECEF,$C9B1F4F4AB972E0C
  Data.q $5B5B5B67B3D9E63A,$8103264C96523959,$E5DBB7607C1F07C0,$A491DDDEAD5AB972
  Data.q $A7ADFDBFB7FE3C78,$8BC5E2E7A7A7A7A7,$555D5FCA8FD1FA3F,$3E56B67E95CC952A
  Data.q $B1EC782CAD5EA808,$C9248DDADEBC2568,$C5899CDE9D9E9E9E,$3B8134FD6850A162
  Data.q $BABABB397D763A23,$CB927A394A060606,$6256DE36C6C6C6E5,$D07763D8F5CB49F1
  Data.q $6BCDAC4CA7148F21,$8181B972E6B57820,$FFDFE49241025D81,$28A2BB148C8977FE
  Data.q $D7DFDFBF48ADD36A,$29A74E906BF1B7D7,$5F5F5F6332EADA8A,$F5C77E9DC729F191
  Data.q $8EC76393F27E4FC4,$ACB6AE1153D9E8B1,$F7F7CF9F3ABABAA8,$FBFAA28A7FFC17F7
  Data.q $B5CA66E62A2A0BFB,$ABE9BCBE5F2ED76B,$C595B5B5A170B85D,$6EE4E4E4F4D347B7
  Data.q $D9468D1FDFBF0A4A,$05DCB6AE1155A7BD,$A287A7A7B831F5C5,$A54D27BB81E122A8
  Data.q $398B8DCA14962552,$FAB6FACE36F4CFE5,$57AC241E5B571C29,$6EFD7D7D7575756B
  Data.q $2066473C1C387098,$FE2D1E5988ACB6AE,$64E17160BFDCA514,$16FF6E255555554D
  Data.q $2A54A834343559AE,$F6F6F4EFF8AA462E,$5ABB148C5C583B6E,$FDF582937F2D1E5B
  Data.q $294BDBB76E5CB926,$2AAAAABF3F1BE533,$6AD5EE02BB148CE9,$282F2BBB394B1A34
  Data.q $2ADA5D997D7AF482,$D5A914BB89A0A46E,$78A86DB43A1D0F6A,$2B5B5B53C78F0981
  Data.q $4CA3870E576291B5,$B0A142A452EE0C33,$04C0BE91EEDB6CD9,$02BB148F20694777
  Data.q $57DDB618306AD5EE,$B1D1CF5EBD09817B,$ABC623F2DAB87109,$EEDBF5EBD717A395
  Data.q $B983A74E84C0BE91,$264CA5B148F5C844,$B8787863FC7F8FF3,$F17C5FC38709179C
  Data.q $52A54B8BDB77AEC5,$8E09F585E6C47B6D,$FEBFAF993266264E,$BEAF74E9D291FCBA
  Data.q $535353F743D82AFA,$CACFB3ECFBDDEEF7,$12244DEDEDE88074,$E5671F8FC7939393
  Data.q $32C7A947D9C6D80C,$CD99264C9F69BA38,$69861B59861FF28B,$23D83BAD5E41507C
  Data.q $95B6AE0A51CB62E5,$52F9F48F7C5AD5E8,$DC3E1F0E8743A1C4,$539630F3D6C0D0D0
  Data.q $562FE312D886A76B,$A9DC4C53A3BF5F5F,$1C8A1616175ABD12,$56DAB829098AE2BB
  Data.q $FBBECF67B3EB57AE,$3B94F06E371BBBEE,$2F2D84BAC51F3AB6,$960601F8B5ABDA2A
  Data.q $3CE7B6EDAB889099,$7C85F332F16C3F80,$C3845F2E667A665C,$B71317ACD11BAE61
  Data.q $FC6DA62E6DFB7EDF,$FB3F67F61E52C5A7,$F8A4793973737359,$FD6AD584F5E7FA01
  Data.q $892ACDEBBA7F4FE9,$4C9935ABC68ADAB8,$81E7FFCB4D891226,$AA7F4FE9FE0C1821
  Data.q $9BE6FCECECEA91D0,$96A2DDC93C9E4E6F,$3AB7ABABAB5ABCC8,$ADAB9A90EE6E5362
  Data.q $9E4F271C3876EDDB,$916B57B2106FC52C,$C27D77947EB95ACF,$34EF073C5523344A
  Data.q $1FC53954CD34D102,$B9968F47A3C92496,$339FACF91553B847,$1B22B2317678F1E1
  Data.q $E45AD5EB0231D629,$F93A74EA2FBE7EB3,$D8012DAB8E9514D9,$F04CE7BA69C8B5AB
  Data.q $30465B57112C54B9,$F1D3A742624B5ABD,$AA025B57112243E9,$BDFF732AEAEAEB57
  Data.q $D5C7493ADB3C1318,$204B4C21E8FAD896,$65493DBFE39BDAF9,$932AD5E80239548D
  Data.q $878FB5F2C48AB6C9,$D73C523A15812BDD,$DB2B2B2B4CD6024F,$9C06D73C523813D7
  Data.q $44495104000059E9,$7CF94CD6C24F5441,$A16D5C948413221E,$4265012D2D2EB579
  Data.q $D88B5ABCA0B6AE52,$AF281378A471CA36,$5AE291C004F5A056,$8B8B8B5AEEB57BAC
  Data.q $C5C58912244FACDB,$87B15CC5AE291C45,$4DAB61616175F770,$D2960C182267FFEC
  Data.q $F758B5C523F453A8,$B766CD913175DD6A,$4B366C8E0DF3E9FA,$F148C81CB920B4D3
  Data.q $BEEF616EDDB93F56,$99EDF9F9F9B972E6,$D54272E5CF9F9F98,$F049FAB78A461077
  Data.q $F6DCDCDCF4D340F7,$5F2B68B1CDCDCC4C,$68A952A51D252389,$A68D1A23BCFDBA34
  Data.q $666668292F1C2952,$14504CE7EA51C8A6,$D17A25E383333335,$ECE4E45D3D3D3D34
  Data.q $B4F4F4E0C1822673,$CC99328FC503E980,$CD61785F9164E4E4,$8A07EFBE1272726A
  Data.q $A4292C0990A262D3,$597BF14489123890,$C09122545141302F,$5E3E3E31C4EE21F4
  Data.q $C183044C0BCE1AFC,$1C4E521F4C71F1F1,$4F121F4C303DC6C4,$4AC443E981309B1C
  Data.q $DFDEDB2323239326,$8C8C8E0C1822642C,$ECECECD7A228C630,$4D7FAFF5FE8F47A3
  Data.q $209A204F39154D4D,$BFB6F0E1C2448911,$D2D142850FC5C9B9,$516E081ECF67B2D2
  Data.q $FAFEF77BBDD18E9C,$CB973F7FBFDEBFD7,$3F117AF5E8343435,$53B9DCEE4F2793EF
  Data.q $3060F53E4D975B4A,$F7B8B76EDCF9F3E8,$121F87E1FA409820,$CC9A9A9A24489104
  Data.q $241E95788F58B366,$48E1C38559CEAD88,$448C60A2AAE22224,$21318A24AC4B319F
  Data.q $A3A3A3C3870A31C1,$D1D1993267879CA2,$5AC4F5E6C48312D1,$00D0D0D8D8D8D155
  Data.q $FF7FBA319CBB81D6,$67B9DEBC7F1FC7FE,$B1B1A6A6A6A26262,$69A290A98AB56AD1
  Data.q $93E0408187C3E1FA,$118E090997293E4F,$3ED32FEFF7FB5145,$ADADD6EB7969600C
  Data.q $918E69098CEE563A,$262CB111A6E3A2C8,$CD9B34744C463824,$C993391FD2B9B366
  Data.q $A5EBF5FAE0F0783C,$5118E09098928D67,$9349E95555555514,$5785DD5EAF579149
  Data.q $14463824E0EDF6E9,$3466CD9B162C5945,$F47E9A6991F12B1A,$572B95FF7F7F51E8
  Data.q $C128116A4BCFF176,$958D1A341C1C1A31,$AD76BB5EC3CCC8F8,$31CD2133DDC16714
  Data.q $301D881F2E47C4AA,$056647ACAA31CD21,$1E6231CD21319D88,$7216B6B6B6B6B6B9
  Data.q $D87C3E1E64C99D95,$42663B10265FDFDF,$F93C81C3F4C4639A,$5DDD5EAF5754A662
  Data.q $B5A31C12132E5951,$E19CDC61A34697C9,$72793C9FA69A48C4,$D5B3AFD7EBFDFEFF
  Data.q $A723FA5463814322,$80A952AB366CA952,$EB75BADE162648C4,$FB14C2E9DE3F8FE3
  Data.q $313134D68C6A484C,$CBFC108208850A11,$F97CB810207E86B0,$BB463814F85DBB32
  Data.q $C952A579F3E432FE,$7A3A3A3A4F3353F3,$18E057D08E1DCEE7,$7CF9264C90CBFAED
  Data.q $D3D7D7D7DA4FF5EA,$8B5F1632FA11C3D3,$DD7AF5E7CF9F4924,$1B1CFAE366CDB76E
  Data.q $8C89123264C9D34D,$C9DADE61C3848C8C,$31E983870ED4F56C,$A952735D3383EEC3
  Data.q $386549E7E0912254,$3A71E3C7B53D6C46,$FF5F07958B972E9D,$A29468D1E3E3E398
  Data.q $D1C46386549E7E28,$3262C58B76EDDB83,$68D6AD5AA3468C99,$2E5CE9A69F1FC534
  Data.q $99999A952A74D347,$E4149C9C9E9E9E99,$5EBB3C3C46386531,$8DDAB56B265A67AF
  Data.q $0B0B0B8B8B8BE6BE,$6E6E7E7E7E766CD9,$3CF118E19467F04E,$A8048913A39D1B02
  Data.q $142850A118E193A7,$0A142850A142850A,$E800FFE980A14285,$009DBE90CCACB7EA
  Data.q $AE444E4549000000
  EndRocket1:
  
EndDataSection    


   

Re: green phosphor crt effect

Posted: Fri Mar 03, 2023 10:12 am
by dige
Nice! :D thx for sharing

Re: green phosphor crt effect

Posted: Fri Mar 03, 2023 5:37 pm
by normeus
@idle, Most fun I've had all week! I even busted an LOL when the song started playing...
Oh the late 80's .... "Mr. Gorbachev, tear down this wall!".

Truly made my day.
Thank you.
Norm.

Re: green phosphor crt effect

Posted: Fri Mar 03, 2023 8:12 pm
by idle
normeus wrote: Fri Mar 03, 2023 5:37 pm @idle, Most fun I've had all week! I even busted an LOL when the song started playing...
Oh the late 80's .... "Mr. Gorbachev, tear down this wall!".

Truly made my day.
Thank you.
Norm.
Glad it made your day, I was quite enjoying it myself. Ive updated it to use Cyrilic alphabet. the letters are ТФCД = TFCD the initials of the song.

Also fixed it to work on OSX but full screen only.

Re: green phosphor crt effect screen saver

Posted: Sat Mar 04, 2023 4:43 pm
by minimy
HAHAHA Very nice dude!! Impressive countdown!! :lol:
Make love and not war! ^^
... And remember dont push the red button!! :mrgreen:

Re: green phosphor crt effect screen saver

Posted: Mon Mar 06, 2023 3:08 am
by idle
minimy wrote: Sat Mar 04, 2023 4:43 pm HAHAHA Very nice dude!! Impressive countdown!! :lol:
Make love and not war! ^^
... And remember dont push the red button!! :mrgreen:
In this case don't press any button!

I changed it so you can do any color for matrix effect text.

Re: Phosphor crt effect screen saver

Posted: Mon Mar 06, 2023 6:19 am
by normeus
I spend most of my time programming HTML/JS/PHP so I thank the people who program in Purebasic to create this type of programs
The final countdown is a classic. It's the bests part of the program.
Autocrats/Killers aside its a fun program

Norm.

Re: Phosphor crt effect screen saver

Posted: Wed Mar 08, 2023 8:29 pm
by Kwai chang caine
Really splendid..... :shock:
For a moment, I thought I was in the middle of a matrix movie :mrgreen:
Thanks for sharing 8)

Re: Phosphor crt effect screen saver

Posted: Fri Mar 17, 2023 12:39 am
by idle
updated with retro mod file

Re: Phosphor crt effect screen saver

Posted: Sat Mar 18, 2023 10:16 am
by Lunasole
Haha. Nice ☢️

Re: Phosphor crt effect screen saver

Posted: Wed Apr 05, 2023 2:10 am
by idle
Updated with added FX

Code: Select all

;Putin's ACME clock, any key to activate, esc to end 
;Author idle 5/4/23  
;license mit 

;Thanks to ModArchive.org and the anon creator of the_final_countdown.mod  

;Demo shows an easy way to make a crt effect with an overlay, so its posible to do mono,cga,ega,rgb effects 
;See DisplayMessageCenter function how overlay is done 

;To make it into a screensaver on windows, compile as an exe and rename the file to .scr 
;then right click in explorer and choose install. 

;Other useful tips the rockets are plotted with verlet intergration and the orientation is easily derived from the 
;line made by the current postion - the last position. 

EnableExplicit 

#WITHSOUND = 1

InitSprite()
InitKeyboard() 
InitMouse() 
InitSound() 

Global font,font1
Global event,ct,sc,bput=0,st=ElapsedMilliseconds()+30000
Global width, height,color,lt 
Global snd,spath.s,mode=1

Structure vrocket 
  sp.i
  scale.d
  sx.d
  sy.d
  x.d 
  y.d
  vx.d
  vy.d
  color.i
  w.i
  h.i
EndStructure   

Global NewList rockets.vrocket()

Structure matrix  
  ncols.i
  nrows.i
  total.i 
  twidth.i
  theight.i 
  gcount.i
  Array depth.i(0) 
  Array mat.i(0)
  Array spmatrix.i(0)
EndStructure   

Global matrix.matrix
Global sp,sp1,spexp,spexp1,img2  
UsePNGImageDecoder() 

Procedure init_rockets()
  Protected a,img,img1  
  
  img = CatchImage(#PB_Any,?Rocket,?EndRocket -?Rocket)
  If IsImage(img) 
    sp = CreateSprite(#PB_Any,ImageWidth(img),ImageHeight(img)) 
    If StartDrawing(SpriteOutput(sp)) 
      DrawingMode(#PB_2DDrawing_XOr) 
      DrawImage(ImageID(img),0,0) 
      StopDrawing()   
    EndIf 
    
    img1 = CatchImage(#PB_Any,?Rocket1,?EndRocket1 -?Rocket1)
    If IsImage(img1) 
      sp1 = CreateSprite(#PB_Any,ImageWidth(img1),ImageHeight(img1)) 
      If StartDrawing(SpriteOutput(sp1)) 
        DrawingMode(#PB_2DDrawing_XOr) 
        DrawImage(ImageID(img1),0,0) 
        StopDrawing()   
      EndIf 
    EndIf 
    
    spexp = CreateSprite(#PB_Any,512,512) 
    If StartDrawing(SpriteOutput(spexp)) 
      Circle(256,256,256,1) 
      StopDrawing()   
    EndIf 
    
    If IsImage(img2) 
      spexp1 = CreateSprite(#PB_Any,ImageWidth(img2),ImageHeight(img2)) 
      If StartDrawing(SpriteOutput(spexp1)) 
        DrawingMode(#PB_2DDrawing_XOr) 
        DrawImage(ImageID(img2),0,0) 
        StopDrawing()   
      EndIf 
    Else 
      sp1 = sp  
    EndIf 
    
  EndIf 
  
  If IsSprite(sp) 
    For a = 0 To 100 
      AddElement(rockets()) 
      rockets()\color = RGB(Random(255,125),Random(255,125),Random(255,125))
      rockets()\scale = (Random(10) * 0.1) 
      If Random(1)  
        rockets()\sp = sp 
        rockets()\w = SpriteWidth(sp) 
        rockets()\h = SpriteHeight(sp) 
      Else 
        rockets()\sp = sp1 
        rockets()\w = SpriteWidth(sp1) 
        rockets()\h = SpriteHeight(sp1) 
      EndIf   
      
    Next 
  Else 
    MessageRequester("error","no sprite")
    End 
  EndIf  
EndProcedure   

Procedure ResetRockets() 
  
  If ListSize(Rockets()) = 0 
    init_rockets()
  EndIf   
  
  ForEach rockets() 
    If mode = 1 
      rockets()\sp = sp  
    ElseIf mode = 3 
      rockets()\sp = sp1 
    ElseIf Random(1) 
      rockets()\sp = sp  
    Else 
      rockets()\sp = sp1  
    EndIf   
    rockets()\x = Random(Width) 
    rockets()\y = Height 
    rockets()\sx = rockets()\x
    rockets()\sy = rockets()\y
    Rockets()\vy = Rockets()\y + Random(60,12)  
    Rockets()\vx = Rockets()\x + (1 - Random(2))  
  Next 
  
EndProcedure   

Procedure InitMatrix(width,height) 
  ;Protected char.s,chars.s = "ハミヒーウシナモニサワツオリアホテマケメエカキムユラセネスタヌヘ+-/*><=,.0123456789abcdefABCDEF"
  Protected char.s,chars.s = "бвгджзклмнпрстфхцчшщаэыуояеёюиъь+-/*><=,.0123456789ABCDEFKPUTIN" 
  Protected len = Len(chars)
  Protected a,tempImage,font,fontsTextWidth,fontsTextHeight,mx,my  
  ReDim matrix\spmatrix(len) 
  
  font = LoadFont(#PB_Any,"Arial",22,#PB_Font_HighQuality | #PB_Font_Bold)
  
  For a = 0 To len 
    tempImage = CreateImage(#PB_Any,1,1)    ;if you need to get the size of a font in pixels         
    If tempImage
      If StartDrawing(ImageOutput(tempImage)) ;draw to the temp image 
        DrawingFont(FontID(font))             ;with the selected font  
        char.s = Mid(chars,a,1)
        fontsTextWidth = TextWidth(char)       ;get the width and height in pixles     
        fontsTextHeight = TextHeight(char)   
        If fontsTextWidth > mx 
          mx = fontsTextWidth 
        EndIf 
        If fontsTextHeight > my 
          my = fontsTextHeight 
        EndIf 
        StopDrawing()  
        
        matrix\spmatrix(a) = CreateSprite(#PB_Any,fontsTextWidth,fontsTextHeight) ;create the sprite of required size 
        If matrix\spmatrix(a) 
          If StartDrawing(SpriteOutput(matrix\spmatrix(a)))   ;now you can draw the text to the sprite 
            DrawingFont(FontID(font)) 
            DrawingFont(FontID(font)) 
            DrawText(0,0,char,RGB(1,1,1))
            StopDrawing()
          EndIf  
        EndIf
      EndIf
      FreeImage(tempImage)   
    EndIf 
  Next 
  
  matrix\ncols = width / (mx)
  matrix\nrows = height / (my)
  matrix\twidth = mx 
  matrix\theight = my 
  matrix\total =  matrix\ncols *  matrix\nrows
  ReDim matrix\mat(matrix\total)
  ReDim matrix\depth(matrix\ncols) 
  
  For a = 0 To matrix\ncols 
    matrix\depth(a) = Random(matrix\nrows,0) 
  Next 
  
  For a = 0 To matrix\total
    matrix\mat(a) = matrix\spmatrix(Random(ArraySize(matrix\spmatrix()),1)) 
  Next 
  
EndProcedure 

Procedure DrawMatrix(color) 
  Protected a,xx,yy,sp
  Protected sfy.f = (0-255) / (0-matrix\nrows)
  Static et,et1,col
  
  For a = 0 To matrix\total-1 
    xx = a / matrix\nrows 
    yy = a % matrix\nrows 
    sp = matrix\mat(a) 
    DisplayTransparentSprite(sp,(xx*matrix\twidth),(yy * matrix\theight), matrix\depth(xx)*sfy-(yy*sfy),color) 
    
  Next    
  
  If ElapsedMilliseconds() > et 
    For a = 0 To matrix\ncols  
      matrix\depth(a) = Random(matrix\nrows,10) 
    Next   
    et = ElapsedMilliseconds()+500;250
  EndIf  
  If ElapsedMilliseconds() > et1 
    For a = 0 To matrix\total
      matrix\mat(a) = matrix\spmatrix(Random(ArraySize(matrix\spmatrix()),1)) 
    Next 
    et1 = ElapsedMilliseconds()+125
  EndIf  
  
EndProcedure  

Procedure Displaymessage(x,y,msg.s)
  Protected sp,timg,fw,fh
  
  timg = CreateImage(#PB_Any,1,1)            
  StartDrawing(ImageOutput(timg))
  DrawingFont(FontID(font))  
  fw = TextWidth(msg)
  fh = TextHeight(msg)  
  StopDrawing()  
  
  sp = CreateSprite(#PB_Any,fw,fh) 
  
  StartDrawing(SpriteOutput(sp))
  DrawText(0,0,msg,RGB(0,255,0))
  StopDrawing()
  TransparentSpriteColor(sp,0)
  DisplayTransparentSprite(sp,x,y)
  FreeSprite(sp)
  FreeImage(timg)      
EndProcedure

Procedure DrawRockets() 
  Protected dx.d,dy.d,gravity.d = -0.098
  Protected angle.d,color
  
  ForEach Rockets()                       ;verlet intergration 
    dx = (Rockets()\x - Rockets()\vx) 
    dy = (Rockets()\y - Rockets()\vy) 
    Rockets()\vx = Rockets()\x
    Rockets()\vy = Rockets()\y + gravity 
    Rockets()\x + dx 
    Rockets()\y + dy 
    angle.d = ATan2(-dy,dx) * (180/#PI)    ;get the normal  
    ZoomSprite(Rockets()\sp,Rockets()\w * Rockets()\scale , Rockets()\h * Rockets()\scale )
    RotateSprite(rockets()\sp,angle,#PB_Absolute)
    
    DisplayTransparentSprite(rockets()\sp,Rockets()\x,Rockets()\y,255,Rockets()\color) 
    
    If dy > 0 
      If (rockets()\y + (Rockets()\h * Rockets()\scale) > height  And Rockets()\y < height) 
        color = RGB(Random(255,125),Random(255,125),Random(255,125))
        dy = 10.0 / (Rockets()\h * rockets()\scale) * (height - Rockets()\y)
        If Rockets()\sp = sp
          ZoomSprite(spexp,Rockets()\h * Rockets()\scale * dy,Rockets()\h * Rockets()\scale*dy)
          dx = Rockets()\x + (rockets()\w * rockets()\scale * 0.5) - SpriteWidth(spexp)*0.5
          DisplayTransparentSprite(spexp,dx,height-(Rockets()\h * Rockets()\scale * dy * 0.5),192,color) 
        Else 
          ZoomSprite(spexp1,Rockets()\h * Rockets()\scale * dy,Rockets()\h * Rockets()\scale*dy)
          dx = Rockets()\x + (rockets()\w * rockets()\scale * 0.5) - SpriteWidth(spexp1)*0.5
          DisplayTransparentSprite(spexp1,dx,height-(Rockets()\h * Rockets()\scale * dy * 0.5),192,color) 
          
        EndIf 
        
      EndIf   
      If rockets()\y > 2 * height    
        If mode = 1 
          rockets()\sp = sp  
        ElseIf mode = 3 
          rockets()\sp = sp1 
        ElseIf Random(1) 
          rockets()\sp = sp  
        Else 
          rockets()\sp = sp1  
        EndIf   
        
        rockets()\color = RGB(Random(255,125),Random(255,125),Random(255,125))
        rockets()\scale = (Random(10) * 0.1) 
        rockets()\x = Random(Width) 
        rockets()\y = Height 
        rockets()\sx = rockets()\x
        rockets()\sy = rockets()\y
        Rockets()\vy = Rockets()\y + Random(60,12)  
        Rockets()\vx = Rockets()\x + (10 - Random(20))  
      EndIf   
    EndIf      
  Next   
  
EndProcedure 

Procedure DisplayMessageCenter(window,msg.s,color=255,scale.f=1.00)
  
  Protected spriteNumber,tempImage,fontsTextWidth,fontsTextHeight,cx,cy,a,b
  Static overlay,ct1
  
  ct1+1 
  
  If Not overlay 
    overlay = CreateSprite(#PB_Any,width,height) ;make the crt overlay   
    If overlay 
      If StartDrawing(SpriteOutput(overlay))   
        Box(0,0,width,height,RGB(1,1,1)) 
        For a = 2 To width-1 Step 2  
          For b = 2 To height-3 Step 3 
            Plot(a,b,0) 
            Plot(a,b+1,0)
          Next 
        Next
        StopDrawing() 
      EndIf  
    EndIf      
  EndIf 
  
  tempImage = CreateImage(#PB_Any,1,1)    ;if you need to get the size of a font in pixels         
  If tempImage
    If StartDrawing(ImageOutput(tempImage)) ;draw to the temp image 
      DrawingFont(FontID(font))             ;with the selected font  
      fontsTextWidth = TextWidth(msg)       ;get the width and height in pixles     
      fontsTextHeight = TextHeight(msg)  
      
      StopDrawing()  
      spriteNumber = CreateSprite(#PB_Any,fontsTextWidth,fontsTextHeight) ;create the sprite of required size 
      
      If spriteNumber 
        If StartDrawing(SpriteOutput(spriteNumber))   ;now you can draw the text to the sprite 
          DrawingFont(FontID(font)) 
          DrawText(0,0,msg,color)
          StopDrawing()
          TransparentSpriteColor(spriteNumber,0)
          cx = (((width - (fontsTextWidth*scale)) / 2)) 
          cy = (((height - (fontsTextHeight*scale)) / 2))         
          ZoomSprite(spriteNumber,fontsTextWidth*scale,fontsTextHeight*scale)  
          DisplayTransparentSprite(spriteNumber,cx-(ct1&2),cy-(ct1&1))  ;jitter the x and y ccoordinates  
        EndIf   
        FreeSprite(spriteNumber)
        TransparentSpriteColor(overlay,0)
        DisplayTransparentSprite(overlay,0,0,255)  
      EndIf 
    EndIf  
    FreeImage(tempImage)       
  EndIf 
  
EndProcedure 

CompilerIf #WITHSOUND 
  spath = GetTemporaryDirectory() + "the_final_countdown.mod"
  If FileSize(spath) > 0 
    LoadMusic(0,spath) 
  ElseIf ReceiveHTTPFile("https://api.modarchive.org/downloads.php?moduleid=131843#the_final_countdown.mod",spath) 
    LoadMusic(0,spath) 
  EndIf 
  spath = GetTemporaryDirectory() + "spunk.png"
  If FileSize(spath) > 0 
    img2 = LoadImage(#PB_Any,spath)  
  ElseIf ReceiveHTTPFile("https://dnscope.io/idlefiles/spunk.png",spath) 
    img2 = LoadImage(#PB_Any,spath)  
  EndIf   
  
CompilerEndIf 

ExamineDesktops() 
width = DesktopWidth(0)
height = DesktopHeight(0) 

font = LoadFont(#PB_Any,"Arial",height/8,#PB_Font_HighQuality | #PB_Font_Bold)
OpenScreen(width,height,32,"Putin's ACME clock")
initmatrix(width,height)
ResetRockets()  

Global bdraw,cdtime 

Repeat  
  
  ExamineKeyboard() 
  ExamineMouse() 
  
  If bput > 0   
    ClearScreen(RGB((ct&63)*2,0,0))
    color = RGB(Random(255),Random(255),Random(255))
    drawMatrix(color)
    
    If bdraw 
      DrawRockets() 
    EndIf  
    cdtime = Date()-(ct*60+(60-ct)) 
    If Date() - cdtime > (Hour(Date())*3600)
      bdraw=1 
    EndIf     
    DisplayMessageCenter(0,"ТФCД-" + FormatDate("%hh:%ii:%ss",cdtime),RGB(0,255,0),0.025*sc) 
    ct+1  
  Else 
    ClearScreen(0)
    color=RGB(0,255,0)
    drawMatrix(color)
    DisplayMessageCenter(0,FormatDate("%hh:%ii:%ss", Date()),color)
    ct=0
    bdraw=0
  EndIf 
  
  sc+1 
  sc%60
  FlipBuffers()
  
  If KeyboardPushed(#PB_Key_1) 
    mode = 1 
  ElseIf KeyboardPushed(#PB_Key_2) 
    mode = 2 
  ElseIf KeyboardPushed(#PB_Key_3)   
    mode = 3 
  ElseIf (KeyboardInkey() Or ElapsedMilliseconds() > st) 
    
    bput ! 1
    If bput 
      ResetRockets() 
      If IsMusic(0) 
        st = ElapsedMilliseconds()  + 300000
        SetMusicPosition(0,0)
        PlayMusic(0) 
      EndIf 
    ElseIf IsMusic(0)   
      StopMusic(0) 
    EndIf 
    
  EndIf 
  
Until KeyboardPushed(#PB_Key_Escape)     


DataSection 
  Rocket: 
  Data.q $0A1A0A0D474E5089,$524448490D000000,$F7010000B1000000,$293D7B0000000208
  Data.q $5948700900000057,$0E0000C30E000073,$000064A86FC701C3,$E707454D49740700
  Data.q $0C7F242B22090304,$4144492B0F00005B,$DB6F3B9DEDDA7854,$04AC434129801B56
  Data.q $500E0A8376C76348,$015A878249D1B059,$1BF5412C8983C43C,$9B8ABADA45D20BF8
  Data.q $4C90520E804B553B,$246D2F15AA14B30D,$05189C4022833174,$2687490F4B40A144
  Data.q $2C5F413E2076274E,$10533CF921EBC2EB,$1E1E17BCF879145B,$00000000000492D2
  Data.q $65965963E1000000,$9C00219A4D838C59,$BB1FFB7DFDFD98F8,$86294924868CBBBB
  Data.q $79080C52A46AB460,$82A904921313C802,$85070ED40138013C,$6A009C009E41F283
  Data.q $004F20F941C28387,$7848E141C3B5004E,$C3B5004E004F20F9,$004F20F97248E159
  Data.q $6C48E171C3B5004E,$C3B5004E004F20F9,$004F20F96648E14D,$6048E165C3B5004E
  Data.q $004E004E004F20F9,$0A5AD244CDF784FD,$293C3B5004E004F2,$09C009E41F2A891C
  Data.q $9424AAA2FB7876A0,$D004E004E004F20F,$20A5A4244CD8F84F,$7F876B92404E004F
  Data.q $004F20F9778E4BAF,$CDEF84FD004E004E,$04E004F20A5BEC44,$6A71EEF77B89D324
  Data.q $52DDE2266D0227E9,$F44E812027003B50,$A7D3E9E8BE60FDFB,$A8296889133413F4
  Data.q $FC11DAB49013801D,$004F20F95F8E139F,$65089DA2404E004E,$8FEAB114B37E20C2
  Data.q $3B5266D963306F82,$44FDB92027002700,$04F20A5AFC44CD58,$089FB42404E004E0
  Data.q $009E414B598899B7,$4C7A009C009C009C,$09E499B538CC1A31,$FB139C4809C009C0
  Data.q $2EEEEECCECE2FBFB,$6A4CDB0C660D263D,$2404E004E004E007,$9B478CC1AD14C7BB
  Data.q $9C009C009C009E49,$3198366298F70480,$1380138013C93368,$5FE2138013801380
  Data.q $D16B99DFBE014874,$076A51CBE91138C8,$04E004E004E004E0,$397D223A2E2444E0
  Data.q $801DA9472E09C29A,$8013801380138013,$229510B931138013,$F8EFE138528027FB
  Data.q $013801DA828A7046,$0138013801380138,$D5EAF060C190E138,$5D03C1E0F8376F2B
  Data.q $27253F662C4271D7,$2793FDFF7FDF2727,$3D3D2FCB8183064F,$FC3E1F0F7AF5ED3D
  Data.q $DA7C161616DFB7ED,$576EDD3335887061,$76ED555492496596,$A30C308E5A69A6BB
  Data.q $B1F8FC7A9BD868D1,$E7138F77BBDC2D83,$D3099D73FBFBFB0B,$965959FD868D1B34
  Data.q $B5E72F97CBC68D1B,$87DC3AAAA8E9D3A1,$C22D916267038383,$A46E8CE9D3A6C217
  Data.q $EFDFB8FC7E3EAD5A,$1B51E3E3E3D9F2CF,$DE71084216813A5C,$E4FAEBAEBD7A9B09
  Data.q $E8FB56AD5A69A0F4,$2E591D1D1CA28A83,$A281CFB085908B40,$D5AB4A28A9B7E728
  Data.q $07A7CE47EC630C32,$CFD226B969B3669B,$9E5D0F87C3C10B16,$EA3FC6D179B36683
  Data.q $1D635AB568C30D3D,$45A017963A74E9B2,$3070707596584298,$09F5D753DEEC2BE1
  Data.q $214C22D02773C1E9,$C3D213252C313AA6,$0D116821772677F0,$7A9A3A3A3ACB2C21
  Data.q $835E596AD5A167BE,$876F53E9F4F2B316,$0B0F2BDFB96AD5BE,$CF085D3DB73047C7
  Data.q $33E0AAEAEAD6A4FF,$28A09E10A81138B3,$6788B4A252D2D2CA,$15013F3C919D18C9
  Data.q $B088C9117221337A,$369F458B17AEBA13,$AFC5972E51B1B1BE,$1D3BC8B20965963E
  Data.q $F544CD34C13C216F,$D7A1460089E72116,$3C385B373D7AF5EB,$F6F6F6CAE572BC3C
  Data.q $426845B2724ACACA,$3279A69A9A698AF8,$9245BD8E78CF613F,$16BA313838D40B90
  Data.q $9C0B460D55542BC6,$519C2FF7A98845F0,$E113839B5DE7D7AF,$F56AD536109FE13B
  Data.q $89C2FEBFAFE0E0E0,$ECE7947D76313868,$6784E05EDAF9EDED,$B48253D3975DBB74
  Data.q $22BC98BD4DE13817,$C40DE884E05A5A26,$D113815A5DBC2D54,$1CD34D145146C216
  Data.q $5B4899139A22423F,$F6F272727A7A7A75,$3076EDDB96595BED,$76BA54A972CB2A5F
  Data.q $B8DC6F57ABD5DAED,$D9B2924965F2F971,$709E6E1535626C6C,$CECECE1F0F87C4EF
  Data.q $C9FBFDFEF379BCDE,$EBBDDEEF52A54FDB,$8879967D7AF57AF5,$9DFF0ECFD1ADADAD
  Data.q $16161717171766CD,$B8776CD3E4BA5D2E,$C94E0E13CED1DBD3,$6A5F27CA7D9ADADA
  Data.q $992B75BADCECECEE,$8B162E03B4933D35,$7CF92A54AE2A9F53,$B13FDF125E7DB13E
  Data.q $FAFAC83EF93CBCBC,$F263C270F62BE0BA,$D5A7E8B952A57CF9,$89260949CB97356A
  Data.q $5FAFAFACACACAC4E,$89B9B9BCB972D3F4,$059D8DCB97238913,$92965E5E5BDBDBDF
  Data.q $A5669168B89D424D,$9D89227042909952,$4E1D81600850A166,$A357D5F57E69DB88
  Data.q $DA5DDE12D5AB53FF,$ABCEB66CE13F3984,$BCB972CD3BE701DB,$42279231C221B1B1
  Data.q $77DA684E8C2850A3,$7379BCDC4ED1202E,$80A142D555435378,$BAFD7EBDD1EF1210
  Data.q $15BECB6B6B6712BD,$B458B17F1F849902,$44F26129F5F65C1F,$15DDDDDD5D5D58C4
  Data.q $EDC8FF7B40C4F9FC,$3EA4DBEC90CBE7B1,$8884E0775E288E15,$09C009C00ED4DBD7
  Data.q $09C009C009C009C0,$9C009C0009C009C0,$9C009C009C009C00,$9C009C009C009C00
  Data.q $9C009C009C009C00,$C009C0009C009C00,$C009C009C009C009,$0000000000000009
  Data.q $E7D533BC2E480000,$02700310A99DE5F1,$0270027002700270,$0270027002700270
  Data.q $0270027002700270,$0270027002700270,$2700270027002700,$2700270027002700
  Data.q $2700270027002700,$2700270027002700,$7002700270027000,$7002700270027002
  Data.q $7002700270027002,$7002700270027002,$0027002700270002,$0027002700270027
  Data.q $0027002700270027,$0027002700270027,$0270027002700027,$0270027002700270
  Data.q $0270027002700270,$0270027002700270,$2700270027000270,$2700270027002700
  Data.q $2700270027002700,$2700270027002700,$D152924924002700,$A9C437A2B2CB5DDA
  Data.q $279CA20279320D88,$EFDBD82213124F3C,$7608562748AA568A,$49D22272F101DA9E
  Data.q $FD8E089E40877222,$B02C23D14C7A7DFD,$42B13A66CD5A331E,$311385880ED43870
  Data.q $C76334A83951124B,$38C44E9A203B51A1,$C38BC669807F8849,$9248489CD44076A4
  Data.q $E0232113C960F910,$DCFC1371C92A7784,$A8913CF491BBBCF6,$54403B5381F221AA
  Data.q $34FC3C04249B1227,$09DE100ED4168223,$D014669143688492,$1092413B0201DA82
  Data.q $24138C2013C85873,$4168108D27076109,$3E0849209CF100ED,$88076A0B40846950
  Data.q $46968312224904E4,$904E188076A0B408,$C30809E480342224,$108D3186B4449209
  Data.q $49209D5080ED4168,$D4168108D3487144,$5374449209C9080E,$8101DA82D0211A45
  Data.q $4F20AA7A8892413B,$2A906224904ECF80,$CA080ED4168108D2,$211A45526C449209
  Data.q $92413BFE01DA82D0,$DFBF44EB70AA5988,$6E20948B4CC464E7,$A0EC0D4CEF208286
  Data.q $0AA6588D5413C882,$5C449209CEF04C7A,$01DA82D0211A4553,$48AA77889241383E
  Data.q $83063B53845A0423,$83E0DDBCAF57ABC1,$F789CE7F3F9E0F07,$A4E4E4E249304C9C
  Data.q $B8B162E5CB94E9D3,$4F4F4F8F66E6B6B6,$F9FE7F9FF7FDFF7F,$0E625B5B5BB7DBED
  Data.q $D8DB3B3B383060EB,$CBF2FCBF8370F0D8,$3DE7162C517C5F17,$9B84E1CD62CEF365
  Data.q $BD7AEBAB366CEC69,$9F2767677555575E,$1F9A1B38ACACAFCF,$B7687E1F87F1FC7F
  Data.q $22DEE83879A69ADB,$3B4D8E62D0380C54,$476F61A346CD34C6,$3C7C7C71A346E596
  Data.q $AA3A74E8C30C16D7,$EE58E9D3A7F70EAA,$BB76EACB2D60E9F0,$B76AAAA4924B2CB2
  Data.q $C30C76D9D34D35DB,$F34D34A6F61A3468,$E9D3A6C211C348E3,$669A69AB56B06E8C
  Data.q $1E3E3E3D9F2CC618,$08818C04277C41B5,$93EBAEAAAAA36138,$D1F6AD5AB4D34687
  Data.q $9D70C1FC99451507,$2CB2C21384063010,$4571BF394515D75D,$FB1FDFBF66CD9A51
  Data.q $DCB56AD36343F391,$24747470312852EF,$D5AB4D8420840C60,$67B3FAF5EA5BE8BA
  Data.q $AB568C30D77586CF,$4EDF870AAF21D635,$13A1E1699E031808,$5D75775D88674363
  Data.q $040E0E0E4334309F,$539EF68C0C6A6277,$8C89D19DE393C063,$6EDDBB76ED96B338
  Data.q $BF09FDFEFF72E3DB,$93F892D2D2CA28A9,$56A8FD17ABABAB3F,$FCBE54A95CB2C9AB
  Data.q $A7E9FA7E92494BF2,$EBABA6CCCC1AB56A,$D2F3A74A2E6BCB52,$E2F2009A0EFD366C
  Data.q $E4CA28A263A9EFD0,$84C0F9620AB8242E,$C658D224013B3A74,$CE1AAE03A44E8CC0
  Data.q $7DBC58B14A232FA6,$637B8FC835AFB6FB,$CD2A26FDB1A7CF69,$3BC62D0033A74F84
  Data.q $9725769F4DE6F371,$5DBEDF6EA66CB9CB,$B945146C9392952A,$F80E98DF907AFD7E
  Data.q $BB2E5CB37373635A,$33A11A7E9FA7C2D9,$BDE7777776063EEA,$CEF6B0845532EA17
  Data.q $C4E42334D33A3DE5,$55A2B75BADE6E6E6,$EBD7AF5F7F01327D,$78787870B66E7AF5
  Data.q $B484EDEDED95CAE5,$FB63C82640C7C1AB,$7932793C9F5FD7F5,$E3FFDFEFF72A6A3E
  Data.q $773BCFF3FCFE3F8F,$39840C409A5CB8EE,$BC00EB87F7EFD12D,$3286336F19D55542
  Data.q $CC9E69A6A69A613F,$D5D60F2EFEB3D84F,$E17FBD4C421F95E4,$C4E30425D7798B58
  Data.q $2714406271185AE8,$3A75AB56A6C213FC,$C3041A7C990B671D,$F9789C21018CC430
  Data.q $B1D6A68C42AFA5F2,$DC213FC277839F77,$ECF67B3C4EF840C7,$F3EBD7A8FF10DAFC
  Data.q $E51F5D8C20F9E16A,$620E77DDF77C0C47,$D9B37EFDFA274C20,$076F0B55F2BDA4F4
  Data.q $39A1031E0AEDDBA1,$17587AF5EBF7EFD1,$BF44E1FA7817534D,$FC2D3FC622BC9FDF
  Data.q $18857089CCF2F2BB,$EB8A966D34D020DE,$03187B44DDF820C9,$69A6567397808E33
  Data.q $B2DFF7FDFC9C9C9E,$6F650660EDDBB72C,$ED76BB5D2A54AF6F,$E5C6E371B93E4F93
  Data.q $C1B366CA492597CB,$0A3D1E8F1861BB7C,$EBEAD5AA58D48966,$A4E1EBBDDEEFAFD7
  Data.q $F138B3235BF66A56,$79BD9D9D9EFFBFEF,$FF7F53F7FBFDE6F3,$04B37AF5E9FE7F9F
  Data.q $DC35023D1FAAAA99,$CD98B8B8BB366CC9,$B8A0EF34BA5D2F66,$BC5E2F9A69959F7C
  Data.q $031C07AEBA3A74E8,$8D1D5EAF578B8B8B,$2F011D8DD68F6701,$3D1E8FEBAE80709D
  Data.q $F37CDFCB2C85AC9A,$7A71387EA9BBCB8D,$C0631987C3E1FA7A,$818B39DEEF77ACB2
  Data.q $4B4B4BB366C99DD1,$11C660620E0B0B0B,$8306952A52A148C8,$7CF92A54A9DFE4C1
  Data.q $7D894E0E197BC05E,$F8ECECEC0C6A6683,$2764611692330311,$16E6C7AFAFAF01CF
  Data.q $F43CEB7A9A54A968,$A95F3E7C89DF0818,$293972E5DB4C2654,$42031E0B2F2F2C46
  Data.q $5A7E8BF5F5F589E4,$635C40A17D85972E,$B1B972E59C778840,$4B2F2F2F2CB28033
  Data.q $8D89C21018FC42F1,$65DDB0952DB18D8D,$AD8E2177944063BC,$CF818C672EEA71B2
  Data.q $B5B2AC2E271CFF3F,$CA62933ECFB3ED5A,$0F3C22F3E7C818D8,$F6F6ECABE7138A22
  Data.q $1F389D5C66E6E6F6,$812C2B90556AD503,$73274614285BA3DE,$CA063E72B8DB59EC
  Data.q $6B1390203120B2E5,$5EBD7ADD09C36B6B,$880C6C2358A41428,$157B25A5A5EDBEF5
  Data.q $1227CF7F96D6D6C2,$5A3B107EC2725103,$C051717161BB094F,$ABABAB4C3688C818
  Data.q $2FD92A54B84A79C9,$50A27384062A1023,$42063C1093BEC428,$37F00BC1F2113F5E
  Data.q $3D6152A548C30CE2,$70109C1A9AE228E4,$138013803F3BF804,$1380138013801380
  Data.q $1380138013801380,$0C30C3FF52270310,$9FF8F14F0C962806,$D44A13DE5895B8CE
  Data.q $77999D695FD9B03D,$CC2AA63EC37F168B,$78D88FC0EFD8C4ED,$F0555C479209CAE0
  Data.q $4826E7023523BAF8,$E33E47CF5BF6FDBE,$8F8253F10F24AD9F,$39FCFE78F2726279
  Data.q $25BECF486B803167,$5AE244792A12A3E0,$A908EB099C72F834,$D35C139A10A9A22C
  Data.q $443C904E1081E98A,$09DA6B931E882153,$46691EC2D7F5FD7C,$EB8488F25389E8FC
  Data.q $E1C793A4638C48E9,$38B9133FF6B461E1,$2919C7A288DA568B,$3801DAD513BD70C1
  Data.q $3801380138013801,$3801380138013801,$8013801380013801,$8013801380138013
  Data.q $0000001380138013,$0000000000000000,$84FF7811DBDE882E,$0270027003BF70DF
  Data.q $0270027002700270,$0000000002700270,$0FF9FFE000000000,$1BCF15C4BEF446C0
  Data.q $444E454900000000
  EndRocket:
  Rocket1: 
  Data.q $0A1A0A0D474E5089,$524448490D000000,$F7010000B1000000,$293D7B0000000208
  Data.q $5948700900000057,$0E0000C30E000073,$000064A86FC701C3,$DA78544144490020
  Data.q $C7F9F75B4C5D9DED,$B1B631B18DB05F8F,$5EC027628C431B8D,$9C9BA52A6D35E382
  Data.q $D2A96864D4C9476E,$D4C5CB48BB9AB968,$845EA555DA40CD49,$AAA82EC17659BB48
  Data.q $45E5D150AB4E4848,$D8532429554B1C6E,$F3DB561A90D4D941,$980F8301B6190D42
  Data.q $18C062117F38BFF0,$AAAF7CF39F1E5E7C,$F3CF3F1FCFCF8C42,$50A14281043EFB7B
  Data.q $2850A142850A1428,$142850A142850A14,$0A142850A142850A,$850A142850A14285
  Data.q $42850A142850A142,$A142850A142850A1,$50A142850A142850,$2850A142850A1428
  Data.q $142850A142850A14,$4C91E250A142850A,$28E1C3A4924F0FCA,$220C182244899FF8
  Data.q $9D38F1E3C0215213,$6A6AE9D3AF5EBD4E,$C17575756D5AB46A,$642C2C2E2E2E2DAF
  Data.q $B9B9B9F9F9F9D9B3,$9128A494514A3468,$58B16EDDBB038449,$D5AB5468D193264C
  Data.q $87F91756AD468D1A,$53A69A3972E74D34,$F4F4F4CCCCCCD4A9,$1B8990F844A4E4E4
  Data.q $468C3870E5CB9705,$D171410E2860C1A3,$2254A95264C99D34,$321C37171F1F1891
  Data.q $2F5EBCF9F3E0D1F1,$246464638714282B,$68F8990C8F8B0E1C,$145D8D9B36DDBB70
  Data.q $1122464C99238536,$B10C901A432191F1,$62C40C0C0FF7EFC9,$9A68902AB72E5CB1
  Data.q $E0303033FE7FCFFE,$0E8A8AA43045FBF7,$7E2FC5FF9FCFE70F,$A5366CDB2FCBF2F1
  Data.q $B5B5142A20D82952,$2EBDDEEF63870EB5,$E04C4C4C50A14B97,$F9F2A361E18A55D7
  Data.q $38B6FB7DBC99327C,$D2850A1101854602,$8A3972E5482AF4E9,$4F149F88BC5E2EA2
  Data.q $0B021A1A1AEAEAEA,$F62C58E5E5E5A304,$803E2F3F19FF3FE7,$CF4AD8BE540A28A0
  Data.q $102069F4FA7B3D9E,$38810E4C6B124920,$B39F2B6B6B4CE673,$56AD3265F2CFDDCD
  Data.q $B97EFF7FBCDCDCDB,$2069213214514E5C,$637B76ECA952A4D6,$0B052ACF67B3E363
  Data.q $5956D6D6D1010545,$CB8B162D54CDAC40,$C88383830C1832E5,$1ECF67B38CB33B04
  Data.q $2AEA5552A550783C,$3870EF5F5F514290,$0115142C7C3D7AF4,$A8741E368743A1C4
  Data.q $D8D8D1A372E5C92C,$24904CD00B1F08D8,$EA8F47A3B9DCEE79,$5E2C189A4C113A74
  Data.q $13340449E025E97A,$C984E2713F9FCFE7,$6AC2C19A5CCD1264,$65C058B0468D1AB5
  Data.q $E9CE773B9FF7EFC2,$28B12D3172E5CA74,$4B5B5B54C9930A14,$4826500899CC0410
  Data.q $DEDED77EEFDDFC92,$0C1858A716CEE02E,$1005555554C99306,$F47F8FF1FC4CA00B
  Data.q $5A9116575E957CF9,$95268D1ACD9B36AD,$1FC4C88544DB414A,$2C58CE673387F0FE
  Data.q $1A358847CC4C9916,$850D9B367575754D,$85C2E35936C4C842,$B6232B222D2D2D0B
  Data.q $C0419501745982C2,$B1D8FEFFDFFBF131,$2A54A5EB1ACE2263,$DF581065A16B6B6B
  Data.q $B1C4F9F3EFDFBF45,$7B7B43060CA2511A,$D679B138C3E7CFBB,$A1D0E87D7FAFF5F8
  Data.q $3468D24A422AAAAA,$9C5002A1202D01CC,$B895EDEDED7CF9F0,$C376EDC41CFE55CB
  Data.q $E9F4E241380A1509,$9082850AADADADD3,$71209C390A85409E,$A1980D65A901C0E0
  Data.q $49B5B5B448270142,$412072150B404833,$C9911E3FC376EDC2,$E1C2A1770C993264
  Data.q $49041DCC1E3C7870,$FBB1B366D7AF5E92,$34C7E3F1FC78F1B2,$FCDE6F3782F8B34D
  Data.q $D1A30A1BB96FDBF6,$BD6F1077313A74E8,$133ACEBFAFEBD6F5,$69A7EFEFE83C1E0F
  Data.q $F3943060DABABABA,$BC3E1F0F53535352,$E5F97B162C56EB75,$AA8A1A39EBEBEB97
  Data.q $87D3C179F9F9AAAA,$468D1A74E9C271F0,$751452D5AB565FD6,$3C3C302040A9D4EA
  Data.q $E9F0F0EBB535353C,$9D9DFBFEFFBE9FA7,$AC7BF4E11C8E479D,$FA782BDDEEF6A952
  Data.q $9BE6F924904E3810,$713DF59FBFDFEE6F,$50A11B8DC6E39D66,$EBD7A10410489128
  Data.q $8F1E287FE97D7AF5,$EF3B9DCEE0F0783F,$9DE77DC5F32EFBBE,$B951DFB7376EDC77
  Data.q $371B8DEFFDFFBFFC,$F1E09D3E0450FC04,$5654EB17070E1C78,$0C1DFF3172E5D5AB
  Data.q $91D7575760C18306,$9A9A9BDBDBDA4723,$E8D1A3A69A5BFF8A,$03CF27676740C0C0
  Data.q $E92BDDEEF6E9D3A2,$5D2EA9B1C4A3931A,$22D1D1D192A4C4BA,$3F060C1E3C7887D3
  Data.q $BF7EFC2002A3E8FA,$EE54AA3BFCE66CD9,$E70263ABD857BBDD,$DEFBDF37E6FCDF8E
  Data.q $9B3B3B354C3A38F7,$50A143A1B60BE7CF,$A18306F3E7CF9F3E,$6363633264CCF6A0
  Data.q $BDEF92C3C6C48D8C,$0D1A3587C3E1DEF7,$D3E9F4F142891FE7,$248695714AEF77BB
  Data.q $A66C6EEE21A1A1C9,$7AFEADBEBEBEE9D3,$993250D0D0F77777,$F5F5F58B16397E64
  Data.q $5CFC42850808F115,$46EFD6125A5A5D34,$267A70F1E3C27AC8,$7676E299143060DB
  Data.q $CAF1D1D1D9249276,$9FE7F9F10410AF2B,$91421F4F143D5FF3,$B9BB93A74E132421
  Data.q $F436264F6A62297E,$098A7E4DF916F6F6,$3C793264CC993246,$AFACC6B21098A11E
  Data.q $984FF4E1A9A9AFAF,$7B7B7A632D6DE6CD,$6BE7CF841041038B,$AD5AB4646DE66E6E
  Data.q $3870E132429A0B80,$65666E6E68E3DEB8,$BA18B995B366D1B3,$A156D6D69A346923
  Data.q $1BFBF7E131821F66,$A4BC5B883EB91B1B,$987EE02142852B00,$1316C2E39B304C30
  Data.q $CD3D6262B797C23B,$7CF9F098610FA542,$771CD9F90FE1FC3F,$5BBE655D5D5D1C38
  Data.q $6EDEBD7A46098B3E,$B79C736609854BB7,$52391C8F3A74E120,$B1654A952304C541
  Data.q $890482E429290458,$C93264A6B341388A,$E2A46662229A51DD,$CA56CD04E8E09F5F
  Data.q $F0F0F5FD7F5F3264,$3A75870E122F3970,$F95AB56ABEAFABDD,$090528D88EA12B1C
  Data.q $BA9A9A9FD81CFC12,$EDB67D9F67DEEF77,$624489180BB6C3F2,$EEDBE3F1F8F27272
  Data.q $84F5EBD5233BB2A9,$C7E21428649245B8,$B0F4F4F58B1632DD,$18B163BBBBBB8F9B
  Data.q $03034B4B4B9B0E6F,$28969DDC138F2203,$EFAC02040F1E3C50,$A729D4EA782F305F
  Data.q $D555555453C3C9D3,$1FE7C23AB009D5D5,$7AE1E3C79CEE773B,$2142851820239B3D
  Data.q $732E992A54A74E9D,$F8F8C2C2C2D88F5C,$BB8263F933C7CF38,$62627A69A26B7663
  Data.q $0E70EE9CEBF5FAE2,$AC20824993260E0E,$D5D5D5D473D72B56,$95F57D5FDFFBFF7F
  Data.q $B1B1AEAEAE898B38,$950D0D0C4B4F4E31,$3264C8BCAD053CB9,$7A704F57F3B91BFC
  Data.q $860E0E0F8F1E2ECC,$2F28BB18A732E1C3,$2A2326EE6DFB7EDE,$8E93B441A1A1AA95
  Data.q $58B11C668E018181,$EEEAE7A85BBBBBAC,$F911DEA38A28A6EE,$4CD5E78868687E7C
  Data.q $389C4F249209EA9E,$896515A70C0AC5C1,$463468D79F3E6755,$2F972E53AAF591A3
  Data.q $334F84F2793F2F2F,$98ECC71707729E4D,$F14A952448919F56,$2F34CB68698D5279
  Data.q $96AD5A070CEDDBB5,$4C4F2906FFC73FA3,$C3876EDDB84C5770,$652D7A52C9E4F271
  Data.q $2E974BE1E1E1D9B3,$3FA6EF5EBC119295,$BABAA99326B56AD2,$A376D3DEB0D1A35A
  Data.q $313CA41BCF1D3A74,$5AB53B1F59EBD7A1,$7A99A69A080DD3BD,$7A3D1E49241638B0
  Data.q $D9931F1654DDCCB4,$AA2FB4F2102DE520,$F8CA5119B878E9D3,$747761FB6EB6B6B6
  Data.q $CE794E0FB7DBEC74,$D4D4D44C4F2906F3,$F915DAFB5AAA3100,$716816F3C5CB971D
  Data.q $49241307CA41BCF1,$EDF6FB42ED825772,$5D5DA7EAD8E8E8EB,$AD5E34D403870E5D
  Data.q $0E1307CA41B9F356,$C5EBFAEA07940387,$D1A42EC0A1B5C51B,$F17FBF150CF4F868
  Data.q $A4924E0ABA6E9856,$AB56A8C7E68162C5,$1D5B133A936FD879,$F3009FAE5D5684D2
  Data.q $34AAB62651299AB6,$E6AEAEAA6B9755A1,$9A569B132891CAAD,$36265D24414BAB00
  Data.q $9132D14BAB009A56,$BC3E011717162448,$11670AA1BF5EEDDB,$8585C183044CFC45
  Data.q $B6B4D4D4DF0F8005,$197FB5CDDDDDD1A9,$F68B2CD9B282F132,$F5EBC08CCD6A2CA5
  Data.q $03DA78B21F4E79F2,$230072E5CF9F9F9B,$7784B7FF01199AF3,$3C51D1C645C5C5A4
  Data.q $609C660E6E6E6271,$2D23BC25B90408CC,$9C53CA2FB6F02C2C,$D4E60A54A9A34688
  Data.q $6FFE6EDDBB76EDDF,$ACD9B3A69A2E9709,$666666A28A09EAD8,$4AF0135353788E60
  Data.q $8D8BCFCFCDCB9722,$330D3D3D38306089,$737373D34D17C07D,$49C9C98820826362
  Data.q $2A54A9408BEC6E41,$C0A4A609908A8D1A,$B3E199999A17780F,$489514504C7F2D29
  Data.q $4F4C7122EC7D3024,$C1131FC995E9F34F,$4EC7D31C7C7C7060,$FCF927272664C995
  Data.q $5F80FA6181EEBC8B,$245D8FA604CDF04C,$5E7B8773C122448E,$CC23232383060899
  Data.q $7C7C638989547D45,$844FCFBE6DE3679C,$6C02A1822448E1C3,$13C0150C098010E2
  Data.q $25150C2B39C82107,$DFF08C8C8E4C992A,$18945430260041B1,$FFE61C3848912224
  Data.q $3450A14C0FD30B4F,$44B8403434363636,$E773B93C9E4F530A,$989898548F4F4F4E
  Data.q $B46C6C69A9A9A898,$9074559E59DCAD5A,$A413EBEBED1D1D18,$7B7B7BB6E760B121
  Data.q $2AA020CC4BF2FCBF,$6BE2906604E32109,$8FE3F8FFDFEFF712,$064C13242E5AEA85
  Data.q $58B119B366CD9B31,$02040C3E1F0F1ACB,$6155DF6089F27C9F,$2C2AAAAAA8A28087
  Data.q $BADD6EB79697D62C,$51F05BF190B2F97C,$366CD8B162CA28A0,$1ACF042C7128D1A3
  Data.q $D070706208209850,$F3264C8B1C4A3468,$980BAFD7EB83C1E0,$C465305881310035
  Data.q $CE8601F4F957ABD5,$9931ECF67B161AC4,$A3C4068498F75C4C,$B95CAFFBFBFA8F47
  Data.q $B302040A26D51582,$A3972E5192ABB3B3,$EB056DF8EB4F8A28,$74BD7D7D649248EB
  Data.q $6BB5DAE21133772E,$6B8A89944AB8D8A5,$02019797968E5829,$AB0A0A5B9E098B01
  Data.q $B7DBE9E9E9D5D5D5,$75BC13160203436F,$E5CB964C9920830B,$4C4037BE01676766
  Data.q $1D3A74A005F4DA70,$E924904C2824AB4C,$065D66EE5F20B972,$BA7DD20972E5C183
  Data.q $56A460E254909832,$2BA7DD20870E1DAB,$7542460E25A90983,$A4BB76EC260CAE9F
  Data.q $4B5FB9E0FA5AC712,$F49F9AE5D30130C5,$45C1328908E36DB1,$2A5AFDCF114AB0B7
  Data.q $0A4B601316690986,$D282AC2DD1704C10,$2009862A5AFD9F07,$2A5AFDCF1104C2DD
  Data.q $AFDCF35D1B290986,$7F8C2DD6809832A5,$CF087A9A82D6D6D5,$403D4C82616EB404
  Data.q $3625002813910DF5,$D5394402646FB728,$7A985EA04C82D2D2,$09902929C0B4B4B4
  Data.q $9C1B366C2850A5E1,$03060C8402644CD5,$2DDB0099E14CD59C,$6BE7383A74E94F8C
  Data.q $053E30B76C026784,$5BB601DC880D7CEA,$09820619B3829F18,$D7CE401496185BA6
  Data.q $D39E30B76C026080,$6F40982035F39007,$026080D7CE404676,$982014960930B772
  Data.q $F9C203E96B616EC0,$008C2DD8566B281A,$105258130A06BE73,$A8A2826140D7CE60
  Data.q $2C7122B2B2B93264,$4C280F53E0AD5AB4,$544C83264CC18304,$1ED006BE7E0B5757
  Data.q $08203D4E2AEAEAD8,$42853ABABAF2BDD0,$78F2FFF132091F81,$9E2640990D9B363C
  Data.q $25CD8990C157CA4B,$4262B144C8E57BCD,$3171716A37CAF79A,$5E57BE9213204891
  Data.q $C0B95AA1058585A0,$674D3446098B0262,$7BED21041DCC59B3,$E7E7E6E5CB95EBE5
  Data.q $82F2BDF690820991,$84104C8737373138,$A89D2097AF95EFB4,$3334D7CAF7813221
  Data.q $E04C886A277FC333,$2D3D3D31C4B5F2BD,$9470607BC083A4F8,$13BC2127272664C9
  Data.q $96A40264098B0264,$0262840489129696,$F1F1B9B9B9A28099,$98A8013204C50871
  Data.q $410E57BC08389200,$F7810712702B2B2B,$77BBDECD9B2821CA,$04395EF020E2480F
  Data.q $79C30E1C34FA7D3D,$1380E2441CAF783F,$B972B82E57BC0824,$BE52131012EA9C1C
  Data.q $847A3D1EA54A9604,$A7A7CAF7CA4A144C,$D921310038CCE1A7,$B366CB3D9ECFE57B
  Data.q $CE0B95EF02098AA0,$C395EE8090EBC004,$35E5CBE8EDCBCA6C,$2292CB6C0FD83535
  Data.q $4C6A4CF67B3F4E9D,$4B2DB03F61D5D5D4,$820826352B366C8A,$4A5B607EC5ADADA8
  Data.q $0393DB92E5C850A1,$5AB572BDD01462D8,$740518B60026412D,$144B9A56B6B6BCAF
  Data.q $05E172BDE28C5AD0,$28C5B0261428C5AD,$144C8A316C285132,$0E938513228C5B0A
  Data.q $8B08816083055F89,$5C1102C1060ABC09,$28132140EE6140EE,$560990A04C850264
  Data.q $62C2205820C15785,$970440B04182AF02,$2205880C157CA43B,$05880C157CA42638
  Data.q $880C157CA4263822,$0C157E2426382205,$7B25B6E74040F5D4,$2426382205880C15
  Data.q $263822058E0C157B,$08816383055EA908,$96FCAA0A34688991,$29A9A9898B013166
  Data.q $E5069A6903DD6242,$D40E0703898E0564,$0E25493264CAD6D6,$D2492098E0881638
  Data.q $C4C0078AED4AF5EB,$BB76E7CF9F098801,$79E2640E26152A55,$C9120A926CD9B090
  Data.q $80E25A0464647264,$9F967524241304C2,$1102CA022448E9A6,$7942899024181310
  Data.q $B120A921C3871E3C,$426080483604B4B4,$06C167676787B782,$72E5D2492099E109
  Data.q $ECEAEAEAF52BAA49,$43BEC18FC7E3ECEC,$E51660E260909981,$B9E38981322B56AC
  Data.q $4C402B0F341D3A74,$00460E254976EDD8,$C5A4924130A0AC3D,$2B0F4000C5A09162
  Data.q $44C9931E3C784C28,$8130A0AC3CD05248,$0AC3D0A144C8561E,$642B0F46FCA4D899
  Data.q $3851321587A105E2,$C10F53982B0F40E9,$C7074E9D2B0F4098,$E6C0B890EE4A0AC3
  Data.q $88683D813042644D,$43B25CC04F59084C,$223636368E9C8426,$8713CC077217A813
  Data.q $555555561E813182,$587A04C608B3EF30,$897000C1830A1429,$462B0F6521DCC842
  Data.q $1ECA426485477730,$84C90A8EEE608C56,$151DDCC118AC3D94,$474DAD587B290992
  Data.q $3D9484C90A8EEE01,$2151DDC004E2D6AC,$60064C9983060899,$E0547770053E7713
  Data.q $65E5E5B9B9B9AB35,$26080FC3AA013329,$0225A5A5BBEEFBBE,$7C48489129AC4C85
  Data.q $FBFF7FEA144C8A3A,$244D8991B857C49F,$3D611362640A25F1,$E92CA013D6144C81
  Data.q $C098203F0EA817F9,$0EE4A07E1D5051DD,$E1D850A3B983F0EC,$2641F87614289907
  Data.q $614289907E1D850A,$7607A99362641F87,$907E1D850A2641F8,$98501316E0292C09
  Data.q $7D2A4848912A28A0,$3E57E9C040D46D80,$C3B301F4A92E3E3E,$26C03E982426200F
  Data.q $8FA4E959CF54020E,$0E2661264C9F3E7C,$64919191D9CF5402,$D256565626052932
  Data.q $B7A0057E5F5834E9,$B3D83F07E0FC50A2,$32EEDBF22E5C8F67,$7272727A7A7A6C99
  Data.q $22A136C4E3026262,$A142BF68E14B4E9D,$C7730F9F3E9D3A70,$A94EAEAEB2492236
  Data.q $AF366CD87D214A54,$F1E3C8DB77BE8BD7,$2605214285366CD8,$B96980E1C3B56AD4
  Data.q $B5836FD9A909880D,$A04D6A5887D406DC,$924F42E5CB83060C,$A6C0A04D6A438962
  Data.q $7A036FB3484C280F,$0A26428136131492,$16144C85026C098B,$0262C0990A04D813
  Data.q $85026C098201496E,$851321409B0A144C,$03A4E144C85026C2,$04CF087A9A81409B
  Data.q $1ABD867366828136,$132140990A04C850,$09B0263E25026428,$68035E10339B3414
  Data.q $81DC8807AEEA0673,$6736850A3B986736,$28990CE6D0A144C8,$9B428513219CDA14
  Data.q $9CDA07A993626433,$0264339B42851321,$353E8104C5A00A4B,$7C806736980E26C2
  Data.q $FA7A90990CE6D06A,$3891951F4C4C7F40,$4B39B1D245DE6808,$B98FE82323239326
  Data.q $7D11122470E1C2BD,$C38489123A69A0A8,$091213160F6F9861,$159CF00104839015
  Data.q $69697260DC442A13,$183044C880907209,$859B29F1131B1B1C,$8241B031B1B18585
  Data.q $2482600AA898F3C0,$D416DF11169696C9,$319D302D2D2DB56A,$B76EDCF9F3E13281
  Data.q $CA952A132B12A54A,$F94025D1358376ED,$6DD3E9F4E241336D,$3468D5D376E26D6D
  Data.q $241A976DFA3F358C,$8721AB56A03BEF44,$E370150C0906050A,$24BB6FD1536CA484
  Data.q $D03898513236DFA1,$9E00E26E90991B6F,$265407D31B6FD03E,$D0262C28991B6FD0
  Data.q $6FD0262C28991B6F,$81496E0262C0991B,$DEDBF40FA7C2DB7E,$FD0A144C8DB7E844
  Data.q $6DFA0749C28991B6,$F46DBF420BF6DFA3,$26428132174146DB,$3E5540990A04C850
  Data.q $4285DB7E8DB7E813,$B7E844DEDBF46DBF,$4C8DB7E850A3B98D,$A1428991B6FD0A14
  Data.q $46DBF428513236DF,$3236DFA07A993626,$A4B02646DBF42851,$6C2DB7E8104C5A00
  Data.q $F40A4A6DEDBF40E2,$6FD03E9EA42646DB,$F9F3264C91F4A4BB,$48FA79E2640E263C
  Data.q $3C83002B2B2BD3A7,$49124BB6FD0D49EB,$C5171A6575757592,$AB58B31F8FC7F1E3
  Data.q $FB7E6F379BF1E3C6,$8F9F3E693E2CB7ED,$47390174AD60A346,$9450A9D3A73E7CF9
  Data.q $D0A142448915B165,$9A9BDBDBDA472391,$89A9A9A9A979CA9A,$4A9532FCBF2F8989
  Data.q $6565749F165EBD79,$1285D2B6434E9D25,$2D5B972E50A14224,$EE895DCC4343434F
  Data.q $B93264A1A1A1EEEE,$3D3D3D62C589D7BB,$C6FF940C0C0D4BCC,$17C5F17FCF9F2BD6
  Data.q $F5BDDEF8A1536D60,$66CDBAFEBFAF5BD6,$6E3764FB9875F32B,$BD25E1CC428508DC
  Data.q $F1494F4BEBD7AF5E,$DCEE770783C1FC78,$77BA531977DDF779,$B099B376EDC779DE
  Data.q $07264C972E5CF2E5,$AEB6296C77310707,$56B5CB9756AD5B96,$12AEAEAEC18306B4
  Data.q $607468D1D34D0953,$05E7EB93B3B3A060,$1428C1C4B626706B,$14DDDDDD13FC6D0A
  Data.q $6062C922E9D3A545,$FA1FE0ABABABA060,$2E56D956A28A7EFD,$8807D33042850B97
  Data.q $3B3B3460E256C1DC,$50A1FEA60BE7CF9B,$C18379F3E7CF9F28,$C6C664C994926050
  Data.q $C6FF7EFC060606C6,$7C3E1DEF7BDEFE60,$7972A54AEF6BF598,$3D3D5E10FA6C1979
  Data.q $D3057D6C5353533D,$AB7F56DF5F5F74E9,$7D7D7D62C58CF6A0,$42850FDFAB7FBF7E
  Data.q $F4F4F64C9928DCAB,$1E3C78593CF13D60,$DD3A75EBD7A9D3A7,$0C8BBD167DFFBFF7
  Data.q $49D9D9D390914306,$BCAF2BC747476492,$43CE7F9FE7C41042,$EEF6EAEAEAA9B0F5
  Data.q $DBB038D626692BDD,$8D193264C58B16ED,$367868D1AD5AB546,$F6F436264F6A609F
  Data.q $366FDFBF4DF916F6,$E3CA952A1B7A399B,$458B163B7DBEDCF1,$C858AC80A28A51A3
  Data.q $0E1C3972E5C14378,$6086B8183068D1A3,$F14BF97F2FF47474,$FCFDF5F5F514BBCF
  Data.q $696971A4D4E73FE7,$2244A952A74E9D29,$A7190E010E3E3E31,$1BCBD7AF3E7CF834
  Data.q $FE6F379BC6CBEB0A,$A14275F32ABF57EA,$34CF79F8C763B1D0,$91918E061932674D
  Data.q $4E4A19142C387091,$7F8D9B36DDBB7069,$D5A94C0525E2A25F,$4E9D5AB56AD5AB6A
  Data.q $9F3EBD7AF6EDDBA7,$4581A3229432104F,$A9A9A387144C5A71,$DD82864509B366C9
  Data.q $BC6F1BDCEE773C41,$6D859B3666D6D6D1,$CAE9D3ACBCBCB2CD,$02FA5132B473FD99
  Data.q $734F67B3D860C186,$0D4D4D6363637373,$A387862C942D876F,$CDB101B5B5B68F47
  Data.q $E7291C8E479D3A76,$C4C2CFE09B366C15,$EFF658B160C1830C,$1E12B250C04FCFDF
  Data.q $E95EDEDED93C9E4E,$C9933264C940A2C9,$743A1C3060DC4040,$0E2D2D2D3D9ECF68
  Data.q $C3B9B714F9FCA387,$D7B5F67B3D9FF7EF,$6578FA706CD9B35E,$7BBDDE1F0F879932
  Data.q $1A351A3461DC9CB7,$A4C95FE08468D18D,$555CD9B306868692,$AE898B291E69C555
  Data.q $783C1ECF67B3AEAE,$AFA9A9A9859B5410,$72B95C08102AFABE,$33398A28A1D79CA5
  Data.q $A346A03C815AB56C,$8B168D8D8DCD9B31,$451757574946E205,$CFEB5F29361EEC51
  Data.q $2C58EEEEEEA5B0C2,$51451CB97319E706,$E881CD881170B71B,$BBBBBB79E2E6EEEE
  Data.q $58A72F3CE0C6C6C7,$5A673399C4077628,$3C78F19455415B5B,$850A15A1B4700810
  Data.q $74E9D4A9529D3A74,$D9B368D1A30BCA40,$02214449EB23468C,$7EB898989E9A6820
  Data.q $8383839C3BA73AFD,$2A54A1794E1264C9,$966CEC584713264D,$D3A4652A04343431
  Data.q $A82B933E21A1A1E9,$22A1A1A1E9A682F2,$F3B4CC138DB83FE7,$E3C40B7A7083C1E0
  Data.q $97F7F7F6EF77BBF1,$EDDBB11E69D8C539,$A14285A2108D8D8D,$09C591A3468D1A30
  Data.q $DCEE7924904CA96A,$93B4CE0D7B5ED7B9,$7FF2DFDBFB7E2029,$BAA6A6A6A2C18EC3
  Data.q $CA952A346EF05ABA,$C52A54AA54AAB56A,$FE7F389952F3F74A,$91B36701BC6F1BFC
  Data.q $3CF9F22C44B28AD3,$1830654A952D4590,$E3BC9F3D37676766,$51E8F471ACC4A54A
  Data.q $4891220CE7304020,$430DB7924922952A,$12098410731070E6,$58B16346E9C04104
  Data.q $94DF37CDFE3F1F8E,$5C2E2C652B2DF2BF,$D64818FF1FE3F0B8,$8B8B8B72E5C89860
  Data.q $B366F078A5333333,$952E974BE1E1E1D9,$D5AB500D756E3F52,$3E79F05926264C9A
  Data.q $7FBFDF2F2F2D74A8,$027BFCE03E0F83FF,$24921E15BB8F156D,$676749FA2A868687
  Data.q $713F32C3F0FC3F67,$EE2B7AF5E4C3B6F9,$6B6B756AD48152CC,$FB1D1D1DE75BB6EB
  Data.q $74E9D527E8ABEDF6,$8722F178BB1D8EC7,$822DDBB73E7CF84C,$2E5CBB40BA52F01D
  Data.q $C993298FD15AD5AB,$97F2FE5FA5E97A5E,$D6241F45C8F8ECE5,$AD8E8E8EBEDF6FB4
  Data.q $DB51AA05D5D5DA7E,$EB6B6B654A0D67EE,$09A21309C9BE6F9B,$23A8DE2F5FD68C12
  Data.q $A74EAF52E6888E47,$1454DC5EBB7CF9F3,$6B6B6E9F4FA71209,$D37CCA9586527383
  Data.q $4271389E49249A43,$5ADADAB264C84C34,$AC5DD3E9F4FB56AD,$C38F1E3C27196D62
  Data.q $690EADE07B5910E1,$B7B53F58DCBAA08A,$5B0773363E7CFBB7,$BAA08A6951151086
  Data.q $777AF5ECD9B328DC,$972E1C4AB7CA6C51,$D14D2AEE3A89D40B,$703AAAAAAA059754
  Data.q $893A5C85422EC0E0,$C6E5D54C534AAB63,$71274B90A845DD87,$57A23FAF76EDC9AC
  Data.q $508209FA4A235353,$62A1A77BB76E54A9,$071328BB76EC2673,$EE8D4DB5A6A6A6A3
  Data.q $2B1458CBFD766EEE,$42A1A76D9B36AD5E,$7EC058B1613169BE,$4CCCD9B329195875
  Data.q $8C9A36996F5EBDDF,$C3876AD5AAB57AC0,$4DCA27FF4A78F1E1,$F8F1E2635CB6098B
  Data.q $B08B64E9D3A2E2E2,$D6D6D838383E3C78,$3734EBCE5EDEDED6,$90C25BAD95113337
  Data.q $B4E727B1EA775ABD,$51F47D1F22448898,$D4BE65E3C78C1830,$102070F0F0D4D4D4
  Data.q $5D5D5D59FF3FE7F8,$AF9F3E046631ABE6,$B56AD5279599B9B9,$08102A753A9D4514
  Data.q $1AED4D4D4F0F0F0C,$DFF7FDF4FD3F4FFA,$1835F8AB64ECECEF,$C9B1F4F4AB972E0C
  Data.q $5B5B5B67B3D9E63A,$8103264C96523959,$E5DBB7607C1F07C0,$A491DDDEAD5AB972
  Data.q $A7ADFDBFB7FE3C78,$8BC5E2E7A7A7A7A7,$555D5FCA8FD1FA3F,$3E56B67E95CC952A
  Data.q $B1EC782CAD5EA808,$C9248DDADEBC2568,$C5899CDE9D9E9E9E,$3B8134FD6850A162
  Data.q $BABABB397D763A23,$CB927A394A060606,$6256DE36C6C6C6E5,$D07763D8F5CB49F1
  Data.q $6BCDAC4CA7148F21,$8181B972E6B57820,$FFDFE49241025D81,$28A2BB148C8977FE
  Data.q $D7DFDFBF48ADD36A,$29A74E906BF1B7D7,$5F5F5F6332EADA8A,$F5C77E9DC729F191
  Data.q $8EC76393F27E4FC4,$ACB6AE1153D9E8B1,$F7F7CF9F3ABABAA8,$FBFAA28A7FFC17F7
  Data.q $B5CA66E62A2A0BFB,$ABE9BCBE5F2ED76B,$C595B5B5A170B85D,$6EE4E4E4F4D347B7
  Data.q $D9468D1FDFBF0A4A,$05DCB6AE1155A7BD,$A287A7A7B831F5C5,$A54D27BB81E122A8
  Data.q $398B8DCA14962552,$FAB6FACE36F4CFE5,$57AC241E5B571C29,$6EFD7D7D7575756B
  Data.q $2066473C1C387098,$FE2D1E5988ACB6AE,$64E17160BFDCA514,$16FF6E255555554D
  Data.q $2A54A834343559AE,$F6F6F4EFF8AA462E,$5ABB148C5C583B6E,$FDF582937F2D1E5B
  Data.q $294BDBB76E5CB926,$2AAAAABF3F1BE533,$6AD5EE02BB148CE9,$282F2BBB394B1A34
  Data.q $2ADA5D997D7AF482,$D5A914BB89A0A46E,$78A86DB43A1D0F6A,$2B5B5B53C78F0981
  Data.q $4CA3870E576291B5,$B0A142A452EE0C33,$04C0BE91EEDB6CD9,$02BB148F20694777
  Data.q $57DDB618306AD5EE,$B1D1CF5EBD09817B,$ABC623F2DAB87109,$EEDBF5EBD717A395
  Data.q $B983A74E84C0BE91,$264CA5B148F5C844,$B8787863FC7F8FF3,$F17C5FC38709179C
  Data.q $52A54B8BDB77AEC5,$8E09F585E6C47B6D,$FEBFAF993266264E,$BEAF74E9D291FCBA
  Data.q $535353F743D82AFA,$CACFB3ECFBDDEEF7,$12244DEDEDE88074,$E5671F8FC7939393
  Data.q $32C7A947D9C6D80C,$CD99264C9F69BA38,$69861B59861FF28B,$23D83BAD5E41507C
  Data.q $95B6AE0A51CB62E5,$52F9F48F7C5AD5E8,$DC3E1F0E8743A1C4,$539630F3D6C0D0D0
  Data.q $562FE312D886A76B,$A9DC4C53A3BF5F5F,$1C8A1616175ABD12,$56DAB829098AE2BB
  Data.q $FBBECF67B3EB57AE,$3B94F06E371BBBEE,$2F2D84BAC51F3AB6,$960601F8B5ABDA2A
  Data.q $3CE7B6EDAB889099,$7C85F332F16C3F80,$C3845F2E667A665C,$B71317ACD11BAE61
  Data.q $FC6DA62E6DFB7EDF,$FB3F67F61E52C5A7,$F8A4793973737359,$FD6AD584F5E7FA01
  Data.q $892ACDEBBA7F4FE9,$4C9935ABC68ADAB8,$81E7FFCB4D891226,$AA7F4FE9FE0C1821
  Data.q $9BE6FCECECEA91D0,$96A2DDC93C9E4E6F,$3AB7ABABAB5ABCC8,$ADAB9A90EE6E5362
  Data.q $9E4F271C3876EDDB,$916B57B2106FC52C,$C27D77947EB95ACF,$34EF073C5523344A
  Data.q $1FC53954CD34D102,$B9968F47A3C92496,$339FACF91553B847,$1B22B2317678F1E1
  Data.q $E45AD5EB0231D629,$F93A74EA2FBE7EB3,$D8012DAB8E9514D9,$F04CE7BA69C8B5AB
  Data.q $30465B57112C54B9,$F1D3A742624B5ABD,$AA025B57112243E9,$BDFF732AEAEAEB57
  Data.q $D5C7493ADB3C1318,$204B4C21E8FAD896,$65493DBFE39BDAF9,$932AD5E80239548D
  Data.q $878FB5F2C48AB6C9,$D73C523A15812BDD,$DB2B2B2B4CD6024F,$9C06D73C523813D7
  Data.q $44495104000059E9,$7CF94CD6C24F5441,$A16D5C948413221E,$4265012D2D2EB579
  Data.q $D88B5ABCA0B6AE52,$AF281378A471CA36,$5AE291C004F5A056,$8B8B8B5AEEB57BAC
  Data.q $C5C58912244FACDB,$87B15CC5AE291C45,$4DAB61616175F770,$D2960C182267FFEC
  Data.q $F758B5C523F453A8,$B766CD913175DD6A,$4B366C8E0DF3E9FA,$F148C81CB920B4D3
  Data.q $BEEF616EDDB93F56,$99EDF9F9F9B972E6,$D54272E5CF9F9F98,$F049FAB78A461077
  Data.q $F6DCDCDCF4D340F7,$5F2B68B1CDCDCC4C,$68A952A51D252389,$A68D1A23BCFDBA34
  Data.q $666668292F1C2952,$14504CE7EA51C8A6,$D17A25E383333335,$ECE4E45D3D3D3D34
  Data.q $B4F4F4E0C1822673,$CC99328FC503E980,$CD61785F9164E4E4,$8A07EFBE1272726A
  Data.q $A4292C0990A262D3,$597BF14489123890,$C09122545141302F,$5E3E3E31C4EE21F4
  Data.q $C183044C0BCE1AFC,$1C4E521F4C71F1F1,$4F121F4C303DC6C4,$4AC443E981309B1C
  Data.q $DFDEDB2323239326,$8C8C8E0C1822642C,$ECECECD7A228C630,$4D7FAFF5FE8F47A3
  Data.q $209A204F39154D4D,$BFB6F0E1C2448911,$D2D142850FC5C9B9,$516E081ECF67B2D2
  Data.q $FAFEF77BBDD18E9C,$CB973F7FBFDEBFD7,$3F117AF5E8343435,$53B9DCEE4F2793EF
  Data.q $3060F53E4D975B4A,$F7B8B76EDCF9F3E8,$121F87E1FA409820,$CC9A9A9A24489104
  Data.q $241E95788F58B366,$48E1C38559CEAD88,$448C60A2AAE22224,$21318A24AC4B319F
  Data.q $A3A3A3C3870A31C1,$D1D1993267879CA2,$5AC4F5E6C48312D1,$00D0D0D8D8D8D155
  Data.q $FF7FBA319CBB81D6,$67B9DEBC7F1FC7FE,$B1B1A6A6A6A26262,$69A290A98AB56AD1
  Data.q $93E0408187C3E1FA,$118E090997293E4F,$3ED32FEFF7FB5145,$ADADD6EB7969600C
  Data.q $918E69098CEE563A,$262CB111A6E3A2C8,$CD9B34744C463824,$C993391FD2B9B366
  Data.q $A5EBF5FAE0F0783C,$5118E09098928D67,$9349E95555555514,$5785DD5EAF579149
  Data.q $14463824E0EDF6E9,$3466CD9B162C5945,$F47E9A6991F12B1A,$572B95FF7F7F51E8
  Data.q $C128116A4BCFF176,$958D1A341C1C1A31,$AD76BB5EC3CCC8F8,$31CD2133DDC16714
  Data.q $301D881F2E47C4AA,$056647ACAA31CD21,$1E6231CD21319D88,$7216B6B6B6B6B6B9
  Data.q $D87C3E1E64C99D95,$42663B10265FDFDF,$F93C81C3F4C4639A,$5DDD5EAF5754A662
  Data.q $B5A31C12132E5951,$E19CDC61A34697C9,$72793C9FA69A48C4,$D5B3AFD7EBFDFEFF
  Data.q $A723FA5463814322,$80A952AB366CA952,$EB75BADE162648C4,$FB14C2E9DE3F8FE3
  Data.q $313134D68C6A484C,$CBFC108208850A11,$F97CB810207E86B0,$BB463814F85DBB32
  Data.q $C952A579F3E432FE,$7A3A3A3A4F3353F3,$18E057D08E1DCEE7,$7CF9264C90CBFAED
  Data.q $D3D7D7D7DA4FF5EA,$8B5F1632FA11C3D3,$DD7AF5E7CF9F4924,$1B1CFAE366CDB76E
  Data.q $8C89123264C9D34D,$C9DADE61C3848C8C,$31E983870ED4F56C,$A952735D3383EEC3
  Data.q $386549E7E0912254,$3A71E3C7B53D6C46,$FF5F07958B972E9D,$A29468D1E3E3E398
  Data.q $D1C46386549E7E28,$3262C58B76EDDB83,$68D6AD5AA3468C99,$2E5CE9A69F1FC534
  Data.q $99999A952A74D347,$E4149C9C9E9E9E99,$5EBB3C3C46386531,$8DDAB56B265A67AF
  Data.q $0B0B0B8B8B8BE6BE,$6E6E7E7E7E766CD9,$3CF118E19467F04E,$A8048913A39D1B02
  Data.q $142850A118E193A7,$0A142850A142850A,$E800FFE980A14285,$009DBE90CCACB7EA
  Data.q $AE444E4549000000
  EndRocket1:
  
EndDataSection    

Come on people, have a laugh!
https://youtu.be/0WGVgfjnLqc

Re: Phosphor crt effect screen saver

Posted: Wed Apr 05, 2023 9:33 pm
by Lunasole
idle wrote: Wed Apr 05, 2023 2:10 am Updated with added FX and if that don't get you this should !!

Come on you boring people, have a laugh!
https://youtu.be/0WGVgfjnLqc
Seems something wrong with a matrix, DrawRockets() never called

Re: Phosphor crt effect screen saver

Posted: Wed Apr 05, 2023 9:52 pm
by SPH
Greaaaat ! :D 8)

Re: Phosphor crt effect screen saver

Posted: Wed Apr 05, 2023 10:39 pm
by idle
Lunasole wrote: Wed Apr 05, 2023 9:33 pm
idle wrote: Wed Apr 05, 2023 2:10 am Updated with added FX and if that don't get you this should !!

Come on you boring people, have a laugh!
https://youtu.be/0WGVgfjnLqc
Seems something wrong with a matrix, DrawRockets() never called
It should trigger the red alert after 30 seconds or when you hit a key, The rockets will fly when the count down goes to 00:00:00 I tested it on windows and OSX.

Other than that I was having a good laugh listing to Ian Dury Album Sex & Drugs & Rock & Roll!
I just missed out the 1st part but the rest was very good indeed!
https://youtu.be/xTeHS2Hcb-0

SPH wrote: Wed Apr 05, 2023 9:52 pm Greaaaat ! :D 8)
Thanks