"Lock" Windows

Share your advanced PureBasic knowledge/code with the community.
User avatar
Michael Vogel
Addict
Addict
Posts: 2811
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

"Lock" Windows

Post by Michael Vogel »

Code updated for 5.20+

Hi,

I just gave the following snippet into the german forum - based on a snippet which wanted to lock the pc for other users (while you are not in your room)...

The compiled exe is available under http://sudokuprogram.googlepages.com/lockme.exe - it includes selfmade graphics and sound (not very well done)

You can unlock the system with the combination "1234" (or - if anything fail - you can also "!")...

Michael


Code: Select all

EnableExplicit 

Enumeration 
  #SafeWin 
  #GlassWin 
  #SpriteBack 
  #SpriteFore 
  #SoundClick 
  #SoundRot 
EndEnumeration 

Global code.s="" 
Global secret.s="1234" 

Global WinSafe,WinGlass 
Global WinX=128 
Global WinY=128 

Global dummy 
Global rot,x,y,mx,my 
Global active,wasactive 

Procedure.l Absolute(a,b,c,m) 
  Protected z 
  If c>m 
    z=-1 
  Else 
    z=1 
  EndIf 
  
  If a-b=0 
    ProcedureReturn 0 
  Else 
    ProcedureReturn z*(a-b);>>1 
  EndIf 
EndProcedure 
Procedure Init() 
  
  InitSprite() : InitMouse() : InitSound() 
  
  CatchSound(#SoundClick,?SoundClick) 
  CatchSound(#SoundRot,?SoundRot) 
  
  WinGlass=OpenWindow(#Glasswin,0,0,GetSystemMetrics_(#SM_CXSCREEN),GetSystemMetrics_(#SM_CYSCREEN),"-",#PB_Window_BorderLess|#PB_Window_Invisible) 
  SetWindowLong_(WinGlass,#GWL_EXSTYLE,GetWindowLong_(WinGlass,#GWL_EXSTYLE)|#WS_EX_LAYERED|#WS_EX_TOOLWINDOW) 
  SetLayeredWindowAttributes_(WinGlass,0,0,#LWA_ALPHA) 
  StickyWindow(#Glasswin,1) 
  HideWindow(#Glasswin,0) 
  
  WinSafe=OpenWindow(#SafeWin,0,0,256,256,"Safer Ex.",#PB_Window_ScreenCentered|#PB_Window_BorderLess|#PB_Window_Invisible) 
  SetWindowLong_(WinSafe,#GWL_EXSTYLE,GetWindowLong_(WinSafe,#GWL_EXSTYLE)|#WS_EX_TOOLWINDOW) 
  
  Dummy=CreateEllipticRgn_(4,4,255,254) 
  SetWindowRgn_(WinSafe,Dummy,#True) 
  DeleteObject_(Dummy) 
  
  OpenWindowedScreen(WinSafe,0,0,256,256,0,0,0) 
  
  UsePNGImageDecoder() 
  CatchSprite(#SpriteFore,?IconFore,#PB_Sprite_AlphaBlending)
  CatchSprite(#SpriteBack,?IconBack,#PB_Sprite_AlphaBlending) 
  
  SpriteQuality(#PB_Sprite_BilinearFiltering)
  
  For dummy=0 To 224 Step 16 
    SetLayeredWindowAttributes_(WinGlass,0,dummy,#LWA_ALPHA) 
  Next dummy 
  
  StickyWindow(#SafeWin,1) 
  HideWindow(#SafeWin,0) 
  
EndProcedure 
Procedure Main() 
  
  rot=36 
  Repeat 
    x=WindowMouseX(#SafeWin) 
    y=WindowMouseY(#SafeWin) 
    If GetAsyncKeyState_(#VK_LBUTTON)&$8000 
      If active 
        rot+Absolute(x,mx,y,128) 
        rot+Absolute(my,y,x,128) 
      Else 
        active=#True 
        wasactive=#True 
        PlaySound(#SoundRot,#PB_Sound_Loop) 
      EndIf 
      mx=x 
      my=y 
    Else 
      StopSound(#SoundRot) 
      active=#False 
      rot=rot%360 
      If rot<0 
        rot+360 
      EndIf 
      
      dummy=rot%36 
      If dummy<8
        rot/36
        rot*36 
      ElseIf dummy>28 
        rot/36 
        rot+1 
        rot*36 
      EndIf 
      
      If (wasactive) And (rot%36=0) 
        PlaySound(#SoundClick,0) 
        code+Str((11-rot/36)%10) 
        wasactive=#False 
      EndIf 
      
    EndIf 
    
    Select WaitWindowEvent(100) 
      Case #WM_CHAR 
        Select EventwParam() 
          Case '0',' ',#ESC 
            code="" 
            PlaySound(#SoundClick,0) 
          Case '!'; Remove that! 
            code=secret 
        EndSelect 
    EndSelect 
    
    SetForegroundWindow_(WinSafe) 
    BringWindowToTop_(WinSafe) 
    
    ClearScreen($a0a0a0) 
    
    RotateSprite(#SpriteFore,rot,#PB_Absolute) 
    DisplaySprite(#SpriteFore,0,0) 
    DisplaySprite(#SpriteBack,(SpriteWidth(#SpriteFore) - SpriteWidth(#spriteBack) - 4)/2,0) 
    
    FlipBuffers() 
    
  Until code=secret 
  
EndProcedure 

Init() 
Main()

DataSection
  IconBack:  ; Safe_Back.png / 317 Bytes
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$6891900000000208
  Data.q $5845742C00000036,$6F69746165724374,$5400656D6954206E,$6553203031206575
  Data.q $3220333130322070,$2034313A32333A33,$6044F5303037302D,$4D4974070000005B
  Data.q $2701060B09DD0745,$09000000B9B8F900,$F00A000073594870,$34AC4201F00A0000
  Data.q $4D41670400000098,$61FC0B8FB1000041,$4144499400000005,$3011206063DA7854
  Data.q $2D54890F87E3F102,$BCDF6EA402CF2F2B,$8F199999F6E6E369,$05DAEC8F7FBFDE52
  Data.q $5973B9CCF1013064,$540D51E10A07FFFF,$D76BB7DA10865400,$D158CCCCB786062F
  Data.q $8508264A8802B02F,$D904B7E3C62C12C7,$FFFFFE1E1E101478,$2810502E403D347F
  Data.q $1E34E0969873DD85,$8084B4C78C0425AB,$25B23C65109668F1,$43C6B1096C8F1944
  Data.q $0009229F12393000,$F6392DA7862FA400,$4E4549000000000C
  Data.a $44,$AE,$42,$60,$82
  IconFore:  ; Safe_Front.png / 7023 Bytes
  Data.q $0A1A0A0D474E5089,$524448490D000000,$0001000000010000,$3F10D30000000208
  Data.q $4D49740700000031,$2210050B09DD0745,$090000007FD10C21,$120B000073594870
  Data.q $7EDDD201120B0000,$4D416704000000FC,$61FC0B8FB1000041,$414449FE1A000005
  Data.q $5C70599DEDDA7854,$6AD77AB76FC799D5,$FBC6164B616CB649,$148121EC17849502
  Data.q $1C4EC61B6389E210,$C99352062F3030C3,$00C32A2A9AA92F0B,$C6C7132B8C21E135
  Data.q $A71C54F1B6240206,$0605914261E180C0,$28BC6C82F1B16604,$7FE7BBDEA4B5B5B6
  Data.q $FDDF752DDC8D31EF,$AD344B95FBFB739C,$F3BFFDF39CEFDF56,$10410428AB9EE59D
  Data.q $4104104104104104,$0410410410410410,$1041041041041041,$4104104104104104
  Data.q $0410410410410410,$1041041041041041,$4104104104104104,$0410410410410410
  Data.q $1041041041041041,$14A3501B78F83384,$E026A3E7C2F6050A,$21A0A59E01B79F89
  Data.q $0B880120151097C2,$6004851C22EA7D73,$0D483608B3C2111E,$14EF26E45829C009
  Data.q $86A5C5C85580121C,$73B29B3D55253004,$5DD1E084A802400F,$01201509C69928E7
  Data.q $AA0090CAFD721C78,$482A6D6CA2070DE0,$EA9B9C69C7A25300,$C8015DA8770045A1
  Data.q $9554548428F5DA1E,$76479E7BA28015DA,$2A7197CF07A9E8A9,$D74FA746DE005A6A
  Data.q $442E00576A33EBAC,$CD4FF99D103A1177,$75549D002BB549A6,$834F72576E5E2E62
  Data.q $21DA110880169A84,$71A802D35275B3C8,$E0274F40090A2448,$C4B65D35D951477E
  Data.q $CDCB8014DE4473DB,$5AEDB910AA9525C6,$00A0F117DFB0F022,$A1530247879B368C
  Data.q $C0141E215235B0A7,$3FA24489456AEC44,$0141E19FECF1AFB3,$BFCE75AF1EABB494
  Data.q $560B953FBD531A7D,$8CFD1BDA372D95F8,$34A6280141E2A587,$759A2B009DEE13A0
  Data.q $0F49F3D0843AAC8F,$C9AAC56899B2D9E0,$53508BD686F3F883,$EC9C5007B578AFDE
  Data.q $8D1B7D71E12F0804,$88AE97AC04E81E67,$0C00F6CF1F12EAF5,$B7523F9DE540FD73
  Data.q $91D97EF4EB52FEB7,$DCE9B9752C4E0058,$BDFAD68A19D6AF2E,$461800B12070F65F
  Data.q $DD973C9764112F0F,$6457EF19E3D976A3,$BBFD43096FE8031F,$2A262D3368ADA9D3
  Data.q $9832FA416DB30447,$7CB58F2BC6C700D3,$0A40F15FBD96A93D,$1FA1389D73096C54
  Data.q $BA280101E2BF79EF,$A43E2080CAD42035,$086F15FBD27BFC3F,$D6A44EC2034A9140
  Data.q $366280119E2BF7A0,$FBD7B46A8A71AA17,$F450023BC687BA25,$7BB63ACC317BC069
  Data.q $180102401902EF3F,$8A9B0BC1F7FA270A,$256EA597EF098808,$060D0C06A8C30010
  Data.q $887AE8D9B1A3046A,$62600EB2C8AFDE74,$8BBA6E5A7DFC5F0A,$64098B1AC82815D3
  Data.q $9B80D098C7A8D5B2,$36FC0D26009AE90D,$93488BF818CB85AE,$348F9579AF0E2902
  Data.q $588A6AA519CC1AE4,$0C3003D5C8AFDE0B,$920DE54F0FCEB8D5,$15FBDD94056BAA36
  Data.q $7BE980D298A00519,$52B5853D5A6DE5CC,$1400A922BF780F3A,$3DBD80D05AF5935B
  Data.q $B7806A49DE43BC80,$C337CA841EB09601,$826BED8C8A321898,$6B2C42EED85CEAE6
  Data.q $BF13660F5A3BACAC,$7ACD14B6FB2DB447,$628D580B0C2E2C89,$0B6871E7989902CD
  Data.q $ED75534CE6DB0890,$AE50025888BFBC9C,$5E0345676E9D6874,$2747A7FA1CE2E2DD
  Data.q $814B4457EF4C460A,$242269343A66E226,$3361101EC2241669,$101DCDCFB68472FE
  Data.q $F39F8B966B80D6DE,$8F1384EE89812094,$BF814480D172864D,$48445713BA861C88
  Data.q $5727553B912D1C1E,$B1ECB50BAB64C945,$F5D7934AF9C50045,$AFB86300DBCCDB2F
  Data.q $F79142D2751B1901,$BDDEA07B46948A4F,$4361B9042E9B9581,$4BE7935CDCC93388
  Data.q $C6044891B583162C,$19BC2952A58D8D8F,$32645E20C182850A,$74CDBCD3A74CFC19
  Data.q $6865738057E2A116,$FEA1D29A71419398,$1FBF7E8D8D8D3ADD,$EC1CB973264C9DCE
  Data.q $B2592F369B4DEBC4,$FFEC0E070BC5E2F4,$CBE5F2E6F00F83E0,$BD998E8EB6E5B96F
  Data.q $3E7C9BFDDEEDEFBD,$72EF2CD9B24BF13F,$4C016725E98086D8,$706A110321376B9C
  Data.q $365A5A5BEBEBEA2A,$7E9F3DB9DCFEFC6E,$70706179BF37E47A,$8A2F178B8D86C370
  Data.q $5DAED7D31D1DC346,$BF5FAE4F8E3E3E37,$DAEEAEAEADB5B5BE,$ED76BB750204576B
  Data.q $087FCEF3BA6A6A6C,$DEDED7F3BCEF2387,$8084B205DE1FA65E,$897C06DE12D97FAE
  Data.q $782CEEE009A33D50,$2DD1A344DE9159C3,$C28509E9E9EFEE5B,$763BF3F9FCEA74E9
  Data.q $91D1104791E47F6C,$7CCC53FE41CF2108,$0E1C3D1C05E11490,$35DF379BC3F0FC3F
  Data.q $E5FD0A352D0CC663,$0AF257FDBEDE7F2F,$EBC120CE1566F040,$6BAFE19B9B9A2A6B
  Data.q $FFE6F9BFDF87AED7,$A7E1A1A1AC763B1E,$80AE892A54F7FD3F,$EF0F7E0DADADA595
  Data.q $0AFC0D5998A3DF87,$244893C412991FB1,$1A1A18102078F1E2,$1E8792260621E7C2
  Data.q $BF073399CFEF087A,$3492AEA1CFF3FCFA,$92CD414A68A44C49,$0FC1FF770226EEA2
  Data.q $005D5D4974BA5AEE,$78D264C899324C09,$38B801231DBDBDB3,$259AF05945AF044A
  Data.q $418038A778EA087E,$E0EF034E6CB97389,$04646461287EF057,$2F0C4891A244893A
  Data.q $41CFF3FCF6389C4E,$DA13E6A2406B2206,$3CFF9072C7136138,$386A787270E3E8FA
  Data.q $744FC02BA3EB841C,$23BB17C728DB080B,$8532FE5C95791FD5,$631F6837C18B0F89
  Data.q $0320138C097B5525,$9C4B1B184FAC0E74,$E02E7F27C9E2793C,$59884455ED449164
  Data.q $99904537B928A9A0,$A7CB10D369B4C663,$8018181CD70E9F4F,$9D9DED24612247BB
  Data.q $A0D5905BC8F9089D,$7E4ABB3AA3764037,$97A5F9BE7AE58AC5,$77C5051F91396A0E
  Data.q $A315C6C4D6428320,$200BF9FCFE28A3A3,$8390497E6C45242D,$50C69113FA8A2538
  Data.q $BBE6F37F5C0BA2D1,$C6244D4F025E2F17,$A8C1FF206967F511,$F5D561A3A8AC1E17
  Data.q $FF7E25DCDABBCDE7,$8F8A84AA83043FFB,$A5C2E170BFD44795,$0C68D113C7C6974B
  Data.q $BBDDEEF41F07D049,$E1608A1B5BE0C21B,$B9984E2B99923F49,$657FC3F87EEBBAEE
  Data.q $CE767467D3E9D943,$A6052C8C2863EB84,$A172D8747477E821,$5F9F3E5D400FFBFD
  Data.q $E80643F6214507C3,$D1E8E3EA10C18279,$8E02BA37FDB6DBA3,$527C9A0BBE0561B5
  Data.q $2E9FB9CF42D1D320,$9B32FC3D9904B480,$48BA46CF982C1655,$4B4B7F020EF4D84B
  Data.q $15EFE6B35AD75DBB,$A41456E5197A2F35,$C0C1122459907555,$C160B57E451F1E20
  Data.q $F08E4723EEEEEEC2,$0597223794A313AD,$5315E9C928020E4D,$5D2368AD9BEEC06B
  Data.q $FABFD44193265FF8,$3C5E2F167CC879EA,$B30490FD8855F67B,$EDFB7D2E275EA30A
  Data.q $3F05795E57CFC2DF,$D706AE81C86011D1,$1BFE1D5D5CEE773A,$EE0C4353C8923962
  Data.q $E1E9249E0E04ABC1,$EBE8B45A2EF518FD,$050AABACD669BF5F,$BABA1BAAD5728E75
  Data.q $BB5D1DC2B6B6B4E6,$5CEAD786D01A15ED,$4EFAFBBF8C21D22A,$3A9D4E150C699325
  Data.q $F34FA7D3FEC0E075,$5A5CF7E3D049AAAE,$60CA8BADF0012C5F,$6DADAD03CB65BB80
  Data.q $385E2F164248FF08,$1720663319ECCE67,$06410E8743E0DF72,$D9FC3C3C3CEAB68A
  Data.q $83830D8063A19F67,$B3D9ECEAFC763B83,$70358F4632EB6BBC,$2E9609E842A70E1F
  Data.q $DBDA39480F5D453F,$974BA5FC8472C067,$F83F78B82486ED20,$015D072AC9BF37E6
  Data.q $8580BC1E9E9EB312,$DA65ACD66B6D6D6D,$716ECE2BE6CE88E0,$38BC2CE94D5B9534
  Data.q $F07366CB1B1B184A,$66B39D9DB99E9EAD,$B9472D74FAA8ECCE,$0D04980BD99BE6F9
  Data.q $F3E64C9933399CCC,$A39D2C98BBB3D985,$45CFF95B7F498130,$5C1205CFFC22FBF0
  Data.q $2C58C6C6C6ADF009,$D5D5D5DFDE42F706,$F1A2F4C66331D1D1,$15374DD3718D2A5C
  Data.q $747C58C6696968CD,$FF4E73B9B80D0E34,$F15697FDF942F7DD,$D0EE9CDC4C126036
  Data.q $6FDBFEF0BE061932,$CF012E0D73D3DD5F,$E1733D3D15BAEEBF,$F1BC6F22C55E366D
  Data.q $3F1C3C3036DDA286,$9A9BE7F3F9C4FC7E,$3DBEDF74FF1F8E5A,$564BCC2A69B5BB6C
  Data.q $FC2AA6B96711905E,$BABB0A87AC72807B,$A1437B96C830608B,$EE2FF29B0B6B6B40
  Data.q $03F629974F5DE4EE,$F562C7A7DBDA7CC8,$6D36CB65B2DD60C1,$A540AE9B5BB6CCDA
  Data.q $78C052B23A18B22C,$895E522802888E5F,$20C8ACAFC97FC27A,$65F189D99CCE8D1A
  Data.q $5B410E83F2441020,$B680D0AED6880AED,$4B6F5230448954AF,$64B85C2F101833A7
  Data.q $24A2625D7679BCDE,$D080A9FAB442AAAA,$C0D6989C31622802,$1D1D1E9D3A48C8C8
  Data.q $00B656B4DA6048C7,$ABCF9E8062EB662C,$75FDF93434365D77,$9D7158ACCB9739B0
  Data.q $C8438424C22E5F2D,$30303BE0605E0021,$90E1C3FB11E7CF98,$ABD583F7A228BD36
  Data.q $C12BA81377AACF6F,$F932670D0D0CB718,$9D8F66FF598E2713,$90227002AB825799
  Data.q $46A374BD1AFE1CE8,$A1A1BC48C8D35353,$3477C20B218D1A31,$B8D8C66158BBD535
  Data.q $41FF202A112D4EF1,$D1D1D1A5D2E97027,$E9F7DCABE2662C58,$A05EDEE1CEAB53CA
  Data.q $795D75DD8A550749,$08CDCDCD5AF3A03C,$E6B359BAEEFDDFF9,$90A1198E8E8952A4
  Data.q $AAD72AFBBBB3C7BA,$DCDA983316EC1CCB,$7FA6D37E7FDFD4DC,$9D3BD3F4FB3FEFEC
  Data.q $E3B8C5F3CB6D2FD8,$12B85F1255300F5E,$ECEFEBF5997215DE,$DADADBA5CB9B9EEE
  Data.q $FB8199F6297AB163,$247F0223559BBBEE,$5BCEE773B366CD12,$1E3730978D8562B1
  Data.q $6359B809BECADAAB,$29AD18657C018F6E,$75757557F13397A3,$7D8C0117B5735D5D
  Data.q $F9C7232675B913F1,$C66813B500FB973C,$D7E378DC0C182098,$267552518C14BBB5
  Data.q $D70375563B42B3BC,$7F0A87AFD6083FE0,$A54A949A8DFBF95E,$E7CC747464FD1E8E
  Data.q $7DAFA4F0C69DB3F3,$FFDFF71CEA38CECD,$4013A159DA8285CF,$1D8DA5A5A7E4800F
  Data.q $7710541D1B1462BB,$5357304A00BF872F,$DF9D30C79418AE93,$22449EE2F8BDB106
  Data.q $1D03B1F7EFC7E485,$15ED1BB4018C5778,$01830464647A6BB6,$0825F1E9898BF72E
  Data.q $2632BDD362BC537D,$870E1E3FFA6D5612,$C8DCB72DC2CF79B4,$083268AFD98C26BB
  Data.q $78FF1FD8F8F14306,$003D708BE4176448,$D5FABF57E7D4D85F,$733576F6A7FEEFBB
  Data.q $1F97AE6466151C40,$F3C3F602F601F8FF,$AF73DCF77BF3BCEF,$E00F7A202D406189
  Data.q $6AB1DDD6EB9D8832,$7AB0E10383838DD5,$03D044CFF974A1DB,$25A2D16068418304
  Data.q $6F30F87C3FCFE7F3,$AA402B807A83848B,$8C1972E7D7F5FD70,$3587C6D89B9B9B7D
  Data.q $7DD049976DE36E6B,$E0A14207F7EC2861,$21111CDBC77F95CA,$7DFF7B972E415C01
  Data.q $D40D053A74E634F5,$0106EA6A455BC8A9,$D5D5D3264CE93264,$9D75B791111EDBCD
  Data.q $867B3D9EDFEEF762,$2DBC0143F781AA6D,$1171EA7501860332,$23D974C9DA0280C8
  Data.q $24B888946DE63E47,$1F1F19CB7B973100,$2040A9F3B9DFF847,$E1C201EEA4FBF7E8
  Data.q $E330765162C5FE10,$8539345B79BB3D9E,$60B75A7CEAE77029,$9988A3468B0CD710
  Data.q $B9DA92A54BAED76B,$0E8F5112200B12B6,$70B5CA308E50448A,$2771AA106DF742E1
  Data.q $5EE810B8B5D6A5C5,$65BEF7BDEFFBF03C,$F20AD9D863C396CB,$4082217AC3B3A0CE
  Data.q $0DF5BADD682C8FC0,$14DF049A8DBC0D0D,$7AC2A0D33E7573B8,$66D7E5F2E3636355
  Data.q $83D91B033FBF19B3,$7D4F9F09651B78BD,$61673399817A1948,$7436C2BA31F2EC40
  Data.q $55DDCD02B8075A11,$762F85F3E7E7878F,$CD9B278FBB0DCB17,$E09AC893DE47BC59
  Data.q $DEFDFF7F1E3C443A,$B04F65000EC52A54,$B931CDD849946DE0,$7D3B4FA34E9D365C
  Data.q $04839DA413DE4FBA,$FED8EC7679C80570,$555238CF691FC7F1,$A49D1620F7094A90
  Data.q $6188662AA4C9D254,$BB55C4F4BD17BEDF,$F77BFD8B015C0120,$651C83D8EAF9F1EE
  Data.q $FDE00081904A0016,$45B78FAFAFA24489,$CDC5E30528024222,$232169A06742EF9B
  Data.q $7C766FFAEAD200AF,$677D7D7D7041893C,$700484448B6F2767,$C1834B2A45FEF005
  Data.q $7802E8CF24003A10,$242FF89E2786651B,$3DD5870C970A5A3C,$010E477281CE62AD
  Data.q $7482FE7F331539B8,$AA12C6C64489193A,$778DB93E4FB2650B,$D064FCCDA7C09805
  Data.q $D0D0DF5CEA83040F,$4B82568444936F10,$8E3E3E34FF9FF3F9,$6117EF0A36363FC0
  Data.q $6860A1FEC834D2B5,$0DF771E3C6489120,$56004F71CB71AD10,$678D860A7ADAECCA
  Data.q $CEE73DC5F1799CCE,$02CB6815D00C859D,$17B2B62789E00992,$EFBDBD7171D87FC8
  Data.q $F8726BB6F30F0F0E,$9B8833E00F4F82AA,$53DEF7BDEF0341B6,$8919191E1E1F6D4F
  Data.q $A5C97FCFF9F8E6B3,$870E163A3A322CA2,$8E785E17D9E1785F,$FB71CB71AD15AC4B
  Data.q $306087ACCA11205C,$6B314C993D31D1D8,$466CC22E6C097EFD,$AAF0D1A365CB96FE
  Data.q $1557C79CBC8A3755,$B59ACD67DD820C72,$E087C3C850B468D1,$BC9DB6DB7FBF7EFD
  Data.q $3B62BFADD6C5D28D,$DA4563C76BFC9158,$50B092687F7067DB,$4343435022024CBD
  Data.q $13264C6C6C6E1224,$81BA90F8B28C91EC,$BEBEAC7C7C75335B,$50C49DF5F50C183E
  Data.q $9AA34722825DB798,$9DE77B1F0AE8DCC6,$A74A18181F9F32BF,$DE6BF5DAEC052F2F
  Data.q $FE6ACF9DCEC2AA05,$48913E4A286B4FEF,$7790EBD62BDAF6BE,$9938B0029BC29CC9
  Data.q $DEDDF77DDF66CD90,$01C1C1D086D977DE,$E161D558BBC29736,$D8F690F0F0F4291F
  Data.q $3A9D4EFFF7B7A57A,$C7D1032ABD9BFD65,$42D9D29B4F230576,$A6A6E056EC58C67A
  Data.q $BD596E5BF6F6F6A6,$186CFA98B135C160,$656BBC7BF9BCDBFC,$52FF6D1FFDEEF672
  Data.q $EBEB6773B9D6BD1A,$2793C9D77E7F9E1B,$17F4FCC82B81ECAD,$B60F9B9803D7083D
  Data.q $A0CFAAD1F7693E3D,$68686078C36B6B6E,$8FBBDDEE7E3BB588,$841F2FCBC24D2577
  Data.q $A6D3E347476E9938,$9F34236D11A344B5,$BF805576AD42A01D,$A453C9DF14D72A00
  Data.q $EA9A9AD7CAF95F13,$F0D1CC4130020DD9,$D4040FEF01BC6F1B,$FE18ED47509127FC
  Data.q $D7B2A1FDB7337922,$5B76E0F56166F39A,$CCC24AB50A951D56,$85C2F858B1C2448B
  Data.q $5F2DC215614D167E,$81A952A46BF1CAC3,$FA7E9FD78C184181,$45622D89DFD58989
  Data.q $FC110D9C51DB9503,$FC1B97C79424911F,$4C411919187F4BD2,$08E8FDFDFD53264D
  Data.q $B45022BCE9EC9D98,$83042EDFDBFCFA04,$EDF6FAA753C5A875,$CADAA92FB4DBCBDB
  Data.q $F35B9C00AAE094BC,$FAFAFA22C8394873,$91C71389D766799E,$4BA5D2FE7F3F9C61
  Data.q $A281A089CBB01B18,$F3E5BFF9FCF5300D,$BB27C8E4713264D9,$4F458FF37470ED76
  Data.q $0AD7115884436715,$1BB17F7568C49BFA,$D2AE1BFC9F93FFC2,$06690B39D9D5DDDD
  Data.q $E873EED539F16DFB,$2E975581203621D0,$3E579F2170B85C0D,$F5AB62FC5FC3E8FA
  Data.q $BB7655E1CF33AA50,$A45DEB01573C6E10,$1B5D4548408953E9,$5A2B1B1B1C1C1C1E
  Data.q $8B57D5F5781FABC2,$68D1F1E3474747AF,$8BFEDFB7F4431EB4,$3A004091C14CA350
  Data.q $8B3F4B6D9E0AC3B3,$F820296D60E31B0C,$3B8A86060667E7F9,$E4EB9775FD7F5ECC
  Data.q $548D7858AC83C1E0,$4E39F53E8BC5E2E7,$B5EDEDED3FC7E3D9,$7F840F14B35512E5
  Data.q $554FC782A814E445,$DBE10B6F627F25F5,$C6F73DCF779BCDE6,$67B3D9F942ED3162
  Data.q $F4F577A9B1B5B5B7,$BA756F5BD6FE7CCD,$D5B1DAFDBBF77E5A,$E8061F7EFC9003EA
  Data.q $733A7485F3E49618,$A75FF83F2439DCEE,$50A415B55CF5606D,$BAE27A9C8A267088
  Data.q $EE6E37C6FA2D168B,$B37502060382EAEA,$71F18ADADAD55F67,$B76DC0D547813D41
  Data.q $8C5E7B3D8130F839,$A18026BF84EA2346,$47747EF03F2441A1,$DFDFDFD81C0FFD48
  Data.q $B1E2D7222666A5CF,$9869C18BB8D99628,$7FC1F07B2D96CB0D,$A200D3ADADD366C9
  Data.q $7E791676BC81A6B2,$9FA7D17BDB6FEAF5,$A143FBC10E1C2E7E,$6DAFAE055C1CFA20
  Data.q $FD8F63D489125377,$4A8C577947A3D1C7,$7CE04AF9A11476E5,$C633625F7E44A234
  Data.q $9E3E394E064C99C1,$33ECCD8862E1EC00,$71DF4A9521FC0E07,$19E3B1DB97EB3AC7
  Data.q $3BCF6B0FEF343C0C,$D71C78F123E3C5F2,$7E1F23C3C322448A,$8AD779A7D3E9D1F8
  Data.q $766E506A4453AA81,$71B7FE01E8EA9C88,$15F3E55CAE57F7E3,$1D644DDA0C409090
  Data.q $850BE68F1B5468D1,$6CC9E70ED59D3A7C,$B6DB6FF7E8D1B4DA,$6DA3B4EB06089713
  Data.q $A4C99B5F18489183,$56A6F1F810868687,$5FEBF5BD6F5BCA87,$64528FAEF2350B3F
  Data.q $39475D2F2E7C6D09,$6B3BE77F16189D95,$9A1802EAEBBABABA,$DA2D2D2D05741DE2
  Data.q $326419094A1F649E,$F77F88B41D964190,$2FE5FCEF857777DD,$4FFABEB9AF86429F
  Data.q $D11DA5D5104BC47B,$F8F058E466F80495,$8F57B5ED7C3F87C3,$4AE0A7A4F8263B1D
  Data.q $C5097DF8B2004810,$01289FFE3F8FD38D,$F5F52CA2CD9B36BC,$5C512673D80DE8F5
  Data.q $BAADDA6D51D80E0C,$4D97793C57366CB9,$850FEF3131C7B232,$1D1F5F346FC7D754
  Data.q $A079C8110B671F1F,$47B1EC7B3F279381,$71EA331195FA8C05,$E039A0E980803E7B
  Data.q $6F9BE6FF19368AA3,$D88942C512B95CAE,$1A10E88BC5E2F4F0,$245D7F7EBBE01A1A
  Data.q $CF576ECDBC9ED212,$31C78BFE7D8934B1,$2A54E983A8D207B1,$A688718913244895
  Data.q $F3E58F8F7E19B9B9,$9FE7F9E4FE3F8F85,$542D0D0995FBCE93,$381E2989F3A52597
  Data.q $D5EDFDBE73399CEF,$EBD4EA753D2E974B,$E0847E8FD1FA1FAF,$B097B21E42D9F78D
  Data.q $C5579F39BCC0F406,$36406FD17FE06D03,$C0C6368AFA247470,$67ECFFEA2045D0C7
  Data.q $1F6A189586E1BB3F,$3D24673399F2F83C,$84393B77431CB1AD,$ECBA974707A40E40
  Data.q $C0FFC08EF08B8E02,$AA360CBA5D2E0F03,$51D00DE8D3A5B3A7,$1DA286AC90503404
  Data.q $1EF11DDC3F82C2C1,$643284F6BC0214D9,$DBEDADE9FD3FB953,$6012CE05421843B7
  Data.q $968C6915516D989B,$92DA6D36984BF5C2,$D735D561B86E4B25,$65B2EA43EBEBEBCC
  Data.q $1475040E8E8E96CB,$5C51DA2B97809207,$FEFEF8C4167EED41,$A1B0D86EB75BADFE
  Data.q $EAFDBF6FDBEE7BBB,$17F5CFF11DE0AFAB,$E8CAE60483D64FB3,$36B4B162C70625FA
  Data.q $77F5FAE170B85E04,$D1E8FF78D5F57D5C,$6C362F16FF77BBA3,$C3C708FA8160B8D8
  Data.q $4F2777FFBFD83F87,$AACD3E453C7B649E,$ADE5436848DB7904,$5B8BBFC3D2200AD6
  Data.q $887A3B35A36D1427,$D412F6C645E59D0D,$6A24698447861144,$CA88EEA8938CE13E
  Data.q $BEA565990294D148,$40CB823CF0859DE4,$E9EDE551D62C8308,$0EC2103C3B080884
  Data.q $104A2174782C1ED3,$CF2E1CC23084BDB0,$21B52B11333F533D,$0E5C5184610A4D54
  Data.q $9630111CDF76C224,$B977AFDDD332439B,$F66C876CCA9BF06E,$77E06F9A32640C80
  Data.q $B2CD9CED9BB6D2F3,$D77D71058B0E406B,$E44C6B9772D7B00C,$760C4D5B024729FA
  Data.q $E5A6FC472A56996D,$9BE71C4B71915C3B,$BF3E98AE2E632BE2,$050AD16A256FC2BB
  Data.q $9A849CFBC514BA74,$C4A6036F3362A9E7,$D148E557F8B1385C,$D32C26FCA415538A
  Data.q $B5041702B42E9713,$4ECEA5F857EF4DCF,$3A69DFCAC90CE560,$72E65A82935C88A6
  Data.q $AC717F53AE7491C8,$1E821AE490E5CE97,$2AFE1F972D72EB8E,$BB4B77305C87FDF2
  Data.q $B00DBC85A5FF7EB0,$30B8A5D9D7EF4E8A,$A02744E5BA4EE28B,$F43177228DD110C8
  Data.q $D0DE7F958F9EBF7B,$6932AE8766F8995F,$6B2034C7942AEDA9,$795E4A84B18FF419
  Data.q $B80659692BD9374D,$DE8999500C74107A,$5C09BCF89BF784E9,$2471F55FDEA31D73
  Data.q $027C92C1F65DAB13,$0FA3B8A316D3EFD0,$5434F872ECDF636F,$992035A908A3FD22
  Data.q $C4F47D98B4F84C00,$9F13362A31A75315,$1854C73A22035794,$EB965C376BAAFEF2
  Data.q $0F523F5FD6725A25,$5FBD5B1401EB258B,$B9D2655E93C9E3B1,$F94CACE4549F0AA3
  Data.q $0AB97FDEFD155B24,$CBAACF84B804E8C4,$15C0F68949FA8623,$058EE9E83D56C991
  Data.q $BAA1A5A77EE3C599,$540A5F23F5ADCB92,$5FBD1C0E2FDEA301,$E3ACDEB3113237D1
  Data.q $1BCF9D7EF098011D,$3C06B6F1F15AD476,$61764B9FBDA90022,$0105E035879FF368
  Data.q $731CC0DFBAA798D8,$D1B04181E280D26B,$463CE32C3F9570FD,$335CAF2F5FEB52E5
  Data.q $07A179154CF61F25,$3823DFFD7EF56C50,$5E901FAF7B362C4E,$F55F3F15C3F7FA00
  Data.q $D20CE8F88F7CF50B,$4867EC4CF204EF46,$2C6DBFCE90BB002F,$171E0646780D099A
  Data.q $EA396FC2BFE1BD80,$02E832DF65D5C2A7,$D67EB7EF7E80165E,$D9428A523518E0B1
  Data.q $84CE171130059782,$61AA873ABB7DF49A,$2B503446A04EF6DE,$FC2BA71B7380A802
  Data.q $02DEDF7D260BE161,$536F7ED139D7D89A,$89C7AB8240F00213,$F002CBC76D5FC16B
  Data.q $1CFF0C58CF85417D,$1EB5F2D95FF975A3,$62AA00B2F0861608,$F1C58A69CC7AFB97
  Data.q $F0C005A6A526B958,$16FA86F18D573346,$A00576A657F4CD2F,$A7288835B63C15C7
  Data.q $0F2EDCE2B0C00576,$EF06FDEC0F0DCD3A,$715876E5B002D351,$00AED4136FF207FA
  Data.q $491227D3315C769C,$00485082002BB509,$F54CB65AB9E62153,$1C200485F129D688
  Data.q $80242281A429642E,$93004805A92F2129,$2410D730D3F7AF23,$809843C339883300
  Data.q $4E24B9873A192004,$79D16178A4FD089D,$400F50F8A17908D6,$F6347047002434D4
  Data.q $F07C8F5423638653,$41041041046B11DE,$0410410410410410,$1041041041041041
  Data.q $4104104104104104,$0410410410410410,$1041041041041041,$4104104104104104
  Data.q $0410410410410410,$1041041041041041,$7104104104104104,$4BEBAD29450FFF05
  Data.a $BC,$2C,$53,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42,$60,$82
  SoundClick: ; Click.wav / 5418 Bytes
  Data.q $0000152246464952,$20746D6645564157,$0001000100000010,$000158880000AC44
  Data.q $6174616400100002,$00000000000014B4,$FFFEFFFCFFFCFFFF,$FFF3FFF6FFFDFFFF
  Data.q $FFF1FFFDFFFCFFF6,$000BFFFBFFF0FFE9,$0004000A00130016,$FFFE0004000F0010
  Data.q $00160005FFF5FFF4,$000E0016001A0017,$FFEDFFEC00000016,$FFFAFFEEFFF2FFEC
  Data.q $FFE8FFF8FFF8FFFD,$FFD8FFE5FFD8FFDA,$001F000D0008FFE0,$0033002900110021
  Data.q $007E002AFFFF000E,$009900DC00F800D5,$00BE008F00630069,$0019008F010D00F0
  Data.q $00B30082002C000E,$0012FFE50023008F,$001800490094006A,$003600AD00BD0063
  Data.q $FFFDFF34FF17FF94,$003AFFF5004D0085,$00E8018E014F00D7,$00DB00B1000D0000
  Data.q $00840007FFF20049,$006C009A00D500F4,$0099011600CA006E,$0071002E00190029
  Data.q $0050006800D700B7,$00C3013F00D4007C,$017E016C00830046,$00780019004D00B7
  Data.q $FF97002300C700CC,$004A017B016D0060,$0025004BFF67FF2C,$FFBDFE96FE69FF14
  Data.q $FF2DFF0EFFEA005F,$FF5A001A00A1004E,$01DE01EC0130FFFE,$017200B3006A00B0
  Data.q $010E00F9016101DF,$FF17FF870045014B,$FDD7FE2DFE9DFE95,$FE2FFE01FD58FD83
  Data.q $0018FFC5FF21FE66,$FDACFE19FEA2FF47,$FCB6FD56FE37FE2F,$FE31FE1AFE3FFD7E
  Data.q $01620029FF0FFE82,$FEFBFEF6FF90011D,$FED5FF340066FFD9,$FDF9FE53FE9AFEE8
  Data.q $FE05FDEDFD50FD7D,$FD81FE31FEAFFE44,$FE4CFE8BFE01FD67,$FEF2FE6BFDECFDE6
  Data.q $FD9FFDB3FE3EFEC5,$FCDDFCCEFDB5FDF8,$FCA4FCA8FD26FD51,$0010FEB3FE99FE1D
  Data.q $FEE2FE5DFEA6FFF7,$FE94FE39FEAEFF63,$FD1CFD59FE0BFE3F,$FEB2FEFAFDF5FD64
  Data.q $FE6DFE06FE60FEB0,$FE76FE0FFD5FFD97,$FB67FCADFE66FEDB,$FC8FFC76FBCFFB6E
  Data.q $FBDDFAF6FB5FFC2A,$FF21FE7CFDDFFCDB,$FEE3004F00350010,$0074FEB2FD50FCFD
  Data.q $02C102CB02260140,$0040000000F1027D,$024A02D101F60149,$FE0FFF52FFEE0025
  Data.q $FFAEFF79FE6DFDEA,$FFB0FF9D001BFFCF,$FFA40047FF59FF75,$003DFE93FD81FE1D
  Data.q $FF94FF26FE6BFF90,$FF7E0039013F0069,$02C002CC02770083,$044B04D40418034D
  Data.q $08F706670483044B,$05D00527072A08CB,$060E0750085F081D,$06FD0851079F0606
  Data.q $04DD041A039604E8,$0299027A02FA0446,$0305026B00F80187,$00AB002E00CB0215
  Data.q $FE02FED0002F00A6,$0084FF59FF73FF57,$04010446022B00C3,$03240146016B02F2
  Data.q $05A9042E03F003C4,$08B0090D08B507AD,$05A0065B069307C2,$08D10716065505B2
  Data.q $0628073206A10771,$0B1909AA081F06E8,$0B600BA70A850AC9,$0C120B5009D90A2B
  Data.q $EA54ED34FA510531,$36B51F06F31CE618,$FC92C4E5DF672430,$C332EC082C2134AE
  Data.q $315035C71A78D4FA,$30DDF810C37500ED,$D3AECBCB074C349F,$C3CFD9A724A91A77
  Data.q $36111DA0D676C445,$35D905F9CCFFF936,$E9922C8B34D53036,$C247C16AC3B6C000
  Data.q $C69CC3A2C243C29D,$32DF32B4338700B2,$2FBF33793258337A,$C21AC433C287F270
  Data.q $E92EC2A5C3E9C224,$110E0F64359C2B38,$ED3F2B3033F130FA,$38CB2C5CF40FC000
  Data.q $CE88C000D63B1E15,$C067D4401FAF1557,$1E213AD61E2FDD45,$1B02EAE5C250DC75
  Data.q $D5FCE555E5C803FB,$F0651A29F537D15F,$1174CFD3C223C4D7,$328A347C321934EC
  Data.q $09383554319E348E,$C273C2FFC28FCB67,$E1A1DD6EDA25D033,$19EB00BFE89BE2BA
  Data.q $0FBC174A11681972,$E29BEA64E4D7F687,$0567CB6AC1ADC994,$EC21018227DF3430
  Data.q $0A9C32E52C7E0946,$37162169DE03CE01,$306CFDFAF2C42984,$E05CE9301C5F34B9
  Data.q $E261FA610A58FB95,$0FBB1B7602D8E750,$C263C473C0FDDE27,$2AE3355A2A33EFE8
  Data.q $344333BA1B3A090A,$C428C19BE1A529A5,$E057C294C3C7C0D5,$3273347928020D47
  Data.q $2E9829212FA134E4,$C150E6972767356B,$C161CB4ECBA4C3B2,$E174CE43C20EC2F4
  Data.q $F6F70A110AE7F4B2,$C3A8CDCBE9E1F058,$364B2C1BED4FC273,$2C64FD59F8202759
  Data.q $33423442338433F2,$2CC834A6330334B0,$C1ADC352C277EE22,$C9EEC27FC242C2B2
  Data.q $337834862A5CF65D,$2A452E19328B33DE,$CC42F05D14F427A4,$C194C2ACC26EC1A1
  Data.q $14431283FB77D033,$22E934662ADC1DF1,$1DB6F39CE514FA79,$351E32FC343833A0
  Data.q $2D89FB0BDC08183C,$C217D4891B573670,$C2BDD9AED5D4C3A5,$0706DC91C2F7C3AB
  Data.q $33C13416325E2163,$C1DEC9A1FDF62ECB,$E46DC0EEC391C1D5,$F3BC16F536D023A7
  Data.q $E24F279635730F9A,$2019D757C327C26E,$D8FF1FDF34B53543,$30BF32620727CD1E
  Data.q $1031E175E2410D3E,$F2B11F6E35203165,$33FD31BE1A6CF1E6,$243933153408334C
  Data.q $C2C2C086CCEEF9C8,$DE7BC949C2CDC1B3,$C95BCB25E6ABF119,$1347367330300117
  Data.q $26C7ED27C45CD306,$CA3CD8EE1404361E,$336834572FA001FB,$32E233FD33CD3457
  Data.q $D732146032C92ECF,$D6DAED98D7BDC113,$E522CD26C365C1BD,$08BD29FB23F10471
  Data.q $E0BAD4FFC9E7DB56,$D60BE100E2D1E356,$1AD8F748D198C8D1,$27B2173718952186
  Data.q $1EA22EBC348133A3,$0FDB0B73126C178C,$19E90DD911EB15FD,$DEC5FE4E1F672896
  Data.q $FC33EA89D99ED34A,$0C6805810749063E,$F3D00B651FC91AD9,$F638133F1447FC92
  Data.q $E7B8E059D6F6DB48,$D9B2CA9FD025E114,$28B22B301749F69B,$061617291E452064
  Data.q $15251357FE9FF769,$E205D3D9DD5AFBFC,$EC13F159F5BDF188,$E710D847D80EE3CB
  Data.q $16A105FBFD0DF64F,$2DB2242621D321E0,$19EA28583200336F,$EE81F51CFAF408F2
  Data.q $C295C244C623DA89,$0A1BEED3D5D2C6C1,$344533C331E7212D,$11FD0A05175B2FE9
  Data.q $C6F5DE0FFDA911A9,$F5BCDA6CC652C1E3,$10FC0306014D01E4,$157728592DE42421
  Data.q $116208B2F963FF39,$1078F65CEF8B0113,$0450116E22D6257A,$02170303FD40FD90
  Data.q $C332C1E4CEC5ED3E,$1D5EF79FD88DC8EB,$EF3AEB4F075B257D,$FD8602290AC803E0
  Data.q $25451E74115C0485,$ECEEF9E90AB91D3F,$C55ECA53D4B6E0BF,$D4ECCF38C9E5C62E
  Data.q $0437F809EA5DDD41,$33FA347F2D5D17F3,$19832B5C33D83451,$CE26D821E9070128
  Data.q $1C4B0737E806D20F,$062C062F0FA51C37,$F12D01E30CEA0B5C,$2BB7188CFAC4EB5A
  Data.q $F9ECFC850F4C25BA,$FC17F677FC41FE3B,$CAF4EE1710030F1C,$E413D721CD0FC3E7
  Data.q $0FE60321FBE6F215,$F0B1013C1A641F90,$FCB9FE50FDCCF3D9,$16721367103905F8
  Data.q $C38ED8E2024B179C,$01AC1456084CDC75,$08690621FE3EF667,$06460BBB13C20FED
  Data.q $10291B93201E11A2,$F08F0FD81C5A1382,$F2630182F772E59A,$1D7F172BFBD7E774
  Data.q $F91706E913FB1958,$E5BEFC5A0845FE91,$EECAEC7CE6BCDDCF,$F8A8FBFDFD0EF673
  Data.q $0E11066D00FDFAD3,$1B92236824841AF0,$DB17F1E308E9141A,$FEFFF9A9EC74DA61
  Data.q $0EBC1B6B19EA0AF6,$183416F30E0B07BC,$04A6FEDD03980EDD,$D7BFF7310B580DD5
  Data.q $0110F473D8B3C7D2,$0E7E1040070D00FC,$FACF030702B90652,$0A9A02BBF3AAEF64
  Data.q $0534079009130A85,$0DC915F50F84062A,$2267184206E20276,$E24BE8DEFF45184C
  Data.q $07DA084A011EEE9D,$1D3C15A20E25098C,$F609F3E008941AF4,$E650FBD30F8D0A71
  Data.q $F62DF964F34FE5F9,$00DAF43FEEA8F0C6,$08FE088E0F260D5A,$13A3141A17711231
  Data.q $209C26E322F91ACF,$ED28F076FE3710B6,$EE0FF7BFFC49F4AA,$FBABFDF8F538EC52
  Data.q $FCBEF6B8F1D2F438,$F207ED6EF189FAAF,$C7B4D9B1EF5AF707,$1B5A0726E388C94B
  Data.q $1C77168B153B1ADE,$FB6C0FBD1F1B21D6,$0B060E03FD4DF185,$04E1F2F0EC47F8A5
  Data.q $1B8717F8171A12C4,$28DF347C320627B6,$F714E338E1BA01F4,$D9A4D105E5C5FC3B
  Data.q $F90F14B81998FD46,$2C3315F2F096E42A,$258E0E2F094C1F01,$C13DCEA2FF6228B9
  Data.q $DC33F782F418D460,$26C915E0E88FCE33,$22F20C5B01B11385,$FF220E131E4C2965
  Data.q $F1E6FB51F86DF707,$1AA1F18DD80BDDF9,$0E9F161229A2316F,$FD6019A422B61872
  Data.q $FAA0F991E6FBE4CC,$EAC6CDA4C4AFDE1D,$E322DDA5EEACFA47,$11D0240E1DED0077
  Data.q $20A31A5F06790044,$F9BEE8C9ED2609FD,$EAE3F07F03920982,$17BF20B61579FBA8
  Data.q $0D2B1B0514D10F38,$188208F5F24EF51A,$106CFA4DF7750B54,$0AE014B7201C2171
  Data.q $F46EF9EAFE0E03C0,$DA08DB93E13EEB07,$F61CEF94E72EDDBC,$170C0F18FFECF9C4
  Data.q $0CE2F9F7FD910E83,$0570150922381F7B,$183616930A590286,$05D5F368F2BA066E
  Data.q $F0CAEA94FE280EE7,$F9B700CF0C7105A7,$130D1FBA190E0581,$129E036AFB0C01D2
  Data.q $FA9CF8690664152E,$F2AE012109A8055A,$066108D7FFE9F255,$19D9138A056100E5
  Data.q $0CB702D3010C0E65,$13CF0186FF020AD8,$0B0A072012FC1D27,$FB230D62198116B7
  Data.q $F9CDF41DEFE0F15B,$0A02FD76F94BFA41,$2C031FA316AA13AA,$0DB61E1B2E573305
  Data.q $F53AF325F8520169,$F7EDF721FCC6FC52,$01D9FD61FEA4FD7C,$DACDDAAEEF0A01E2
  Data.q $EFBDF38AFA7CEE72,$0DF6113A0A91FA87,$291920530F590968,$FCFFF7A106451E23
  Data.q $D612DF19F55702F2,$F37AF1A0EF16E04F,$0AD811EB0E620015,$FE57F8BCFAE00244
  Data.q $F63800410A4807F6,$EA21EAF5EEFFF1B6,$F0B2F079F29BEF9C,$0EFC0FF10877FA78
  Data.q $FCE3FD3A03470994,$FE5D01E8056602AD,$F458FD7D03AA007B,$03B40A79042BF7BA
  Data.q $FE9101AAFC87FB19,$F163F44CF374F635,$02F9FC57F264EDFA,$0043FD63FC660126
  Data.q $F2A8EFF8F4BBFD3D,$023A0497FF1DF824,$0E250325F794F972,$E897E7C4F7E80A1D
  Data.q $EB7EEFF4F7FBF41B,$FBD1033BFEA4F284,$056A0178F791F4B9,$F1CDEDA0F1A9FD7D
  Data.q $FAF9FD1FFE75F8CE,$041B09350681FF19,$FC1AFA59F83FFCA6,$FB73F17FF264F7E6
  Data.q $09C20D710F8D095F,$096A0F980DB609C6,$F241F4BAF9A50036,$00010205FDFAF639
  Data.q $0A66097502DEFE4D,$FEAB013A011204F0,$F208EC30EDB2F69C,$01070099FE1DF8AE
  Data.q $0E2010240A440361,$11200CDF079608F6,$076105AC088F0DDA,$F292F7E0032108F8
  Data.q $1333145E093FFA09,$1844116E0A270C40,$0F2412F5184919B1,$F7E3FC1201B50980
  Data.q $F5A8F510F62DF6D6,$0BA107D601E3FA7A,$098F0D3B0E1B0D7F,$F9C1F975FA9D012B
  Data.q $FB94F8FAF942FA19,$109F0C5F0446FED7,$08A10C390DE0107D,$143F09D5029E0266
  Data.q $FABD023D0E72174F,$02E3083705CDFDD6,$03900328FDD2FCAA,$0A620366FCC9FE5F
  Data.q $F006F280FCB8081C,$F97DFFB3FB47F3A5,$FAF9EB5CE445EC4B,$08CA01D5015A035F
  Data.q $036307E30D430DF3,$FB79004801720184,$046EFCE6F71EF6F0,$FF3E016D065D087E
  Data.q $041309250742023F,$0115FF6EFB5CFC1F,$FCB4FAA8FA25FDB3,$FD33FF3E0011FE9D
  Data.q $F507FBD4010EFFA5,$FB37F8C0F62DF2E8,$F702FE6903D7010B,$009605D4FF58F6FB
  Data.q $F0BCEC5CEAF2F35D,$F8DBF5A5F45FF32A,$F938FC3CFF89FD9C,$FE420119FECCFAB0
  Data.q $F1BAF2B3F44FF899,$F113F116F0FDF14A,$F99AF169ED05EE5C,$136414480D600387
  Data.q $0614084807830B2A,$F7EEFC45FD200126,$F184F2F7F29AF2AB,$FC23F689F0C0EF82
  Data.q $039304D0043B0068,$087C0ACF084704D5,$02170191FDFE0116,$E2FAE568EFD9FBFB
  Data.q $F275F123ED54E6DE,$07CCFDE3F542F252,$FA3602FC0BDB0E17,$FC4DFB5EF9E8F789
  Data.q $053D00CEFEE2FDD1,$1C9D191814520C9C,$09D413EF1AC21DD6,$EA83F334FA5D0109
  Data.q $F52EEE88E722E49E,$0A490B3B0456FB75,$08DC08E2057605FC,$007D0186015C03F1
  Data.q $F200F23FF64EFC2C,$04A80421FF25F73F,$07AD077804ED0378,$FB87F9DCFE0904A8
  Data.q $0C380DB30A690271,$075509B4085708E9,$FF00FABFF9D2FFB8,$0CCD08820513028B
  Data.q $07AD05F409230D66,$08420BA10EE70D16,$044D062E06340615,$FA1EF592F807FF52
  Data.q $01530409055F012D,$072B0798063802CC,$091406BB05720602,$0AA70BD60CA40B0D
  Data.q $09590AFB0A260A56,$FEC3008202DA0638,$FC56FBABFC83FD0A,$02E5026F0110FE9E
  Data.q $0B460967069103F9,$0F080C8C0AD80BCC,$FF9A01D608840DFE,$FA00FDE7FFABFFB8
  Data.q $031DFDD6F971F7FB,$F973FAACFF4003BB,$09E708330300FCDC,$FF5FFF0C00FD0660
  Data.q $FC48FA48FBD9FF24,$FC45FBDBFBC6FC40,$F844FB4AFD07FCF3,$05F900FFFAD8F783
  Data.q $08E80648058C0703,$FB67FAE000F3079B,$000002B303C30056,$03CA049F030E0008
  Data.q $F704FA09FC710104,$F6A1F676F51CF469,$F6F4F2EDF151F39D,$FF9EFF5CFF10FC26
  Data.q $065108D5066701B1,$FB9EFBD4FBC700A2,$F717F3DBF229F651,$F9E0F634F59AF7A9
  Data.q $01D8FEADFD8FFC64,$FF74017603D10485,$01800189FF59FEA2,$FC10F59FF607FC22
  Data.q $FDE6FCF8009901E4,$F8E5FCB700A20102,$F64CF680F6FCF788,$FCE6F834F64DF5E1
  Data.q $045606C207BF03F7,$00F10240033502EC,$FA85FB99FE9B00B6,$F64BF83FFB5AFB6D
  Data.q $FE3EFF8CFCE4F87D,$00A2FF6FFDB3FD09,$FA85F948FAD3FE76,$0031FFC6FFB1FD5A
  Data.q $FCABFDC800310143,$FB25FBA0FDC4FE01,$00FF01FC008BFD1F,$FFB201E0025F0119
  Data.q $025B003DFE34FDF5,$FDCEFFD4034A03DC,$FC0DFFA80037FED5,$011BFF5FFC75FA7B
  Data.q $0291FFF6FF23FFF4,$047C066F07D30629,$02EE060A065204D1,$FD75FE53FF100004
  Data.q $03AB040F017DFE36,$0093006A00E70223,$FCDEFDE5FF9B00C2,$FB4AFA5FFA8BFBA5
  Data.q $0327017EFE3CFC0F,$0B8E09D706D604EF,$052F048805BF08FA,$00B100120155040B
  Data.q $FD0AFE8001130226,$FFB8FD40FBCCFC09,$01B9006500AE0139,$01E002B9031902D1
  Data.q $052D02EE01150104,$03BB04C30627065E,$045A032C035E038A,$052906E707E206FA
  Data.q $0284034104230423,$00FAFF8EFF0800C6,$0129010002080241,$00650315044D02F1
  Data.q $02220155FF73FEDB,$F8B9F809FB2CFFB6,$FE2500DF008AFC9B,$0430026BFEB9FCB5
  Data.q $FDF4FCA6FE0301D4,$FFE300D6010EFFF8,$018D0348029A0069,$FFCDFE34FCCBFE8D
  Data.q $FB40FA63FBEAFE9F,$FDECFC3FFC91FCA9,$049304B3038900EA,$056D049F036103C5
  Data.q $FD8DFD44FFCF03AA,$FCB5FE52FFBAFEE8,$0096FF57FE1AFCFB,$FF70FFB6008D010F
  Data.q $FE2C009501530079,$FF92FEB8FCD6FC4B,$038E0011FD85FE24,$01100162033E04D4
  Data.q $FFF80182021A0193,$FDDAFE50FE7AFF04,$FDF6FC02FBA2FC95,$00A4FF9FFFCDFFA4
  Data.q $020B032903DF02CD,$006F00C400EB0146,$FF49FFDBFFF80013,$FE9FFE84FE7FFE7F
  Data.q $FF74001BFFBCFF3F,$019D022000F7FF5A,$FEF7FF12FF26FFFF,$0124FFE8FF58FF14
  Data.q $0586048B03960285,$04D5064A0688064D,$FE6CFF470072026C,$FC1BFB98FC07FD27
  Data.q $0010FECFFD98FCED,$05C2042C0268012E,$02C6033704D805FD,$FD79FF370139027B
  Data.q $FF79FF8DFE71FD56,$001B000BFF92FF3C,$01130029FFA2FF9F,$0145022F02A00215
  Data.q $0223022201E90166,$025C024401DA01D6,$FFEF005800E701C5,$FF4CFF1EFF0DFF54
  Data.q $FF39FEE4FEEEFF59,$0027FF8AFF86FF73,$02EA028D01CB00FB,$01ED023602AA0308
  Data.q $FD45FDA6FF1200D8,$FC1AFC4CFCBAFD29,$FF28FEFCFE3CFCEA,$019101520053FF5D
  Data.q $FF46FFCD0043010A,$FF47FF78FF75FF2A,$002AFFC9FF5DFF21,$FF7D0012008F0086
  Data.q $FEEDFFC5FFC9FF5A,$FE56FE38FDCDFE0E,$FF4CFE6CFDF2FE06,$FFD4004800820022
  Data.q $005E002FFFD7FF9E,$FF4BFF65FFA90030,$FF29FECAFF08FF2B,$FF2AFF6CFFAAFFAE
  Data.q $FF79FF8AFF60FF30,$FE66FE77FEDDFF37,$FF6CFF08FECFFEA3,$FF2AFF31FF76FF94
  Data.q $00860013FFD1FF93,$0042005800A400CB,$FF2EFFE6005C0058,$FEA9FE75FE4DFE8D
  Data.q $FF79FF01FEBFFEBB,$FF90FF6AFF9AFFC5,$00410037001FFFDF,$FFBBFFBBFFD9001A
  Data.q $FF8BFFCFFFEEFFD5,$FFFEFFE4FFA6FF79,$0008FFDBFFD0FFEA,$FFF400030020002A
  Data.q $0009004F004F0015,$FFD0FFA0FF85FFAB,$FFE8FFF3FFECFFED,$FFDCFFE6FFEBFFE2
  Data.q $FFD3FFE6FFE4FFD6,$FFD1FFC8FFBDFFBF,$FFF1FFFCFFF9FFE2,$00190004FFEFFFEB
  Data.q $00030008000B0013,$000C000100000002,$FFEBFFF500050010,$001B001E0011FFFA
  Data.q $0010000A00010006,$FFFDFFFE0004000E,$FFFBFFFF00000000,$0000FFFFFFFAFFF8
  Data.q $000000425453494C,$544653494F464E49,$2E2E2E2E00000035,$2E2E2E2E2E2E2E2E
  Data.q $2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E
  Data.q $2E2E2E2E2E2E2E2E
  Data.a $00,$00
  SoundRot: ; Rotate.wav / 3718 Bytes
  Data.q $00000E7E46464952,$20746D6645564157,$0001000100000010,$000158880000AC44
  Data.q $6174616400100002,$0000000000000E10,$FFFF000000000000,$FFC4001800020000
  Data.q $00DE002700670005,$00EFFFFBFF7DFFF1,$FE950222FF980098,$FE7C020EFF580079
  Data.q $012800320093FFC9,$006002E8FEE50117,$FCE60694FC89052F,$FDEFFFB6FB1603FE
  Data.q $077DFAC001F7FCC5,$0ADBFFF405CA01D4,$00B8F7DB0CC5FD6A,$FDC8F6450B32F4BF
  Data.q $057EFBEAFBAF0C1C,$08A7FE5E0173FDFE,$06180989004D00A3,$FFA3FEF00480FE25
  Data.q $FF69FDC202F3FF45,$0266FEC900D50341,$00D1FFE3FF5A00C4,$009801370088FDA7
  Data.q $00EF004901F4FFC3,$FF74FF3E0123004D,$FFE30012FFE0FF2C,$000500060045FFFE
  Data.q $0000FFFB00000004,$0004000000000000,$0015001FFFF60006,$0035FFF60027FFD2
  Data.q $00C6FF3F00B1FFE0,$FF6CFF98FFB3FFC8,$008E001E00FCFFF0,$FC8C023FFF3CFFB3
  Data.q $0052FFC7FDCF022E,$04B4FD7E00A9FF69,$F882051FFDC50553,$FE800090F86804CD
  Data.q $06130909FEFAFEA6,$0C32FE720207FD05,$0762F7320AA1F769,$00E4017A079A0420
  Data.q $F63605A6FA9207D5,$FD4D00FAFD31FFB2,$FDD2F8E3041B00CC,$FD9602BAF741038A
  Data.q $00C90178037602C0,$FE49FF1A0185026F,$00A5FD17FF4A01BC,$007B011B015DFFB4
  Data.q $FFB900C900890089,$0001001F00300015,$0001000CFFDB007A,$FFDB0001FFF8FFA3
  Data.q $FFFE0004FFFC000E,$0006000000000000,$0025001AFFE2FFFB,$002D0025FFE70000
  Data.q $FF08001FFFDD001A,$FF7D01B0FE7F00D6,$00F4009B01D3013D,$00E600A10067019A
  Data.q $01A5FB8E01CC0117,$FA6E033BF97102FB,$FED007DCFAE8FE51,$F9B90129053DFFDA
  Data.q $FDCF056CFAE200CB,$0CBFF55005610799,$0A37F60E06C7FE2D,$F60E0CCBF52404AA
  Data.q $0C15FD570C90FBA5,$00AC065F0546FE10,$02B2FD03058C040D,$FD4600F7FF1FFE62
  Data.q $FF15FB970249FD7C,$FF92FF2BFFDE02D5,$FDD40336FD410086,$FF570163FFA0010B
  Data.q $FE7C01A7FFE90151,$001EFFCFFF8A0106,$0062FFDA0065FFD2,$000000250011FFCD
  Data.q $0000FFFE0006FFF9,$FFFE00000000FFFF,$FFE3FFFA00000004,$003D0079FFC7004C
  Data.q $FF44FF9D0036FFA6,$0000FEE20083FFC8,$00DF006AFFFEFE95,$001AFE2302D600A9
  Data.q $0277000B01D90097,$0011039FFEF0028D,$0549FDB6FFE5FCA9,$017800E90431F8D0
  Data.q $011CF7890890F8CA,$05ADFEAD0035048C,$F99B01DEFFCB0437,$0165FC38F86E0365
  Data.q $F55E0372FE00F3E9,$05F402C808AE00FA,$FA1D002801C500F4,$00F1064FF8FE0598
  Data.q $01DF015CFCA30684,$00B20098FCF40051,$013300570211FEC1,$0139FED801F6FEF0
  Data.q $FFCDFEC300F0FF55,$0042FF53FF730096,$001AFFD80074FFC9,$FFFE0002FFD20003
  Data.q $FFFFFFFEFFFD0003,$FFFCFFFC0000FFFE,$000F002A001CFFFF,$0050FF85000C003E
  Data.q $005CFF6CFFBDFFEF,$FDF001C500280051,$FD690239FDFE020F,$0092FE47FEA2008E
  Data.q $FF1EFD620075021A,$F9750654FB3BFE48,$FD1EFC75011600D1,$04A2029A023408D0
  Data.q $FE8E03F9F8D10536,$058C0C5C0305FEAC,$F468011008E0F84A,$F40006CBFBAD09B8
  Data.q $F7200CADF85301EB,$0252056B040CFE11,$0287FE730486F73D,$FFCA010CFDFB020F
  Data.q $01B00101FE400323,$FF3A0229FCDEFCF1,$FFFB0247FFB0FEDA,$019EFF6F01E1007A
  Data.q $0059FFD30086FFC4,$FFDF0023FFAE005E,$FFF0FFEA0021FFB5,$0004FFEFFFFDFFFB
  Data.q $FFFCFFFD0000FFFF,$FFFA000500000000,$FFE2FFE700140005,$FF430003FFD30041
  Data.q $0095FF98FFF4002D,$FFA401660084FFA4,$01F8FDE7026EFEBB,$FF9E007D00B9FFED
  Data.q $FF13FFF702680091,$F8B102BBFE16FE85,$00F803ABFA34041A,$FE9A0192F85303D1
  Data.q $0787F94405D20184,$FD70028A0309FD1A,$F8CAFC930093F991,$FA480684F9F9035B
  Data.q $FF860272FBCE0A09,$054FFE54FC62FD25,$072A01A507F4FFFB,$FBF201250139FDE9
  Data.q $042DFF2A0049005F,$002A01F0FF350177,$FEEB00DDFD3FFE5B,$00A2FEA401E0FFF7
  Data.q $0003FEFCFF280131,$002400AEFF240070,$0010000CFFF5000A,$FFFF00040003FFE2
  Data.q $FFF60003FFFFFFFE,$FFF7FFFE0000FFFF,$0004FFF9FFFF0011,$008EFFCB00470025
  Data.q $FF74FF5EFF9FFFB7,$008A00090000FF64,$004F0031FF4001E3,$FEF100F2019AFE80
  Data.q $008B002001A301AE,$06C2FB9D008104A5,$FF7AFFFF0173F8EE,$FAAF0744FB53000D
  Data.q $0229FCAC00160688,$0BF9FA14FF3804F8,$FE230A6D0478F3B1,$F927FD0AFDD800E0
  Data.q $06A3F91CFEF600FC,$FE5607700532044D,$FDE601F0FAC605CA,$0169FEDD03B9FD14
  Data.q $0156015B010D03F5,$FE8300BBFF3DFC5B,$018FFF8700B2013B,$01ADFFBC0013008A
  Data.q $0034FF9A00E3FEBD,$FFEFFFBCFFF7FFC6,$FFE8002CFFF6FFEB,$0001FFFB0002001A
  Data.q $FFF5FFFFFFFCFFFA,$0009FFFF00000005,$FFB10045FFC10013,$FFB200AAFFB3004F
  Data.q $0051FFCDFF6B00B8,$0063FF090066FF10,$01A8FEBD00FA0037,$012AFD7D0208FF06
  Data.q $FB2B0524FE91FEAC,$0063FC7DFFE002C7,$FF9DF9600704FEC9,$FD27FF4301290169
  Data.q $00D7FD46FAEB0213,$0753049009A50233,$F7E8FFB908C5F85C,$08AEFACB00EFFAFC
  Data.q $008B000C03E8FE89,$FF82F79D0AA0FC15,$FD9A0246FC79FD4D,$05CA010501DE0446
  Data.q $0103009BFD43FCC9,$FCB3021DFFCEFC14,$00ABFE9B00920153,$FFA800EAFE55FF24
  Data.q $FFA8004A0121001B,$003FFFFD0006006E,$FFF70014FFCDFFF2,$0000FFFCFFFD0000
  Data.q $0008FFF20002FFFC,$0015FFF800000001,$003BFFE6FFFBFFE5,$0065000F0035FFE0
  Data.q $0053002A0049FFC8,$000D0043FF33FF01,$0337FE0700E8FF5A,$FE7FFFCDFEA0001F
  Data.q $FF4CFFCDFE35FE4D,$047800A101AD0117,$060DFBB3FC1C0280,$FF58FF2BFD07FB1C
  Data.q $F7EE030C063D0172,$FE2EF8FB040E01B6,$0954FF7AF8BF0924,$00AEFF240518FE19
  Data.q $F6C60606015CFCC5,$FEDC001C0150058A,$0476009D074AFD57,$00E4FE5D001BFE43
  Data.q $0049FF6D01A2FAAD,$0097FF6D01CCFFF2,$FDCC01FEFDD0003F,$000200910058FFE9
  Data.q $FFDAFFDE0033009C,$FFF1FFF400120007,$FFFB00110000FFD0,$0005FFF6FFFE0001
  Data.q $000AFFF8000EFFFD,$0017FFFB0000FFFC,$00220007000A0009,$FF7DFFC80067FF61
  Data.q $0068FFE0001100D4,$FE0FFFA5FF31FFC2,$FF6F0100FE6300D4,$02F8FE89FF940106
  Data.q $FDFDFE690349002F,$030202E0FAD50535,$F80BFFF3013AFA43,$FCDDFCF20636FF6B
  Data.q $0300FC3BFEE5076B,$0664F78B05C1FAB1,$F64801BA03D4FB27,$0750F8BB02480010
  Data.q $0325F694087EF333,$0582FD5CFE01FE80,$000E043C015CFE7D,$02E7FD20056CFEC5
  Data.q $03FFFD5502ADFD7D,$01E0FF12FFEF0055,$FF6CFF6CFDCDFF2F,$FF8201180020FFB5
  Data.q $002CFFD2009100A5,$000BFFCB000AFFEF,$FFFE00050002001E,$FFFB0000000DFFF9
  Data.q $0000FFF30013FFFC,$FFF600020000FFFC,$FFB7FFF2FFFB0000,$FF900051FF6E0049
  Data.q $FF16FF9FFFE5FFD0,$FFD2FFDEFF2D00E8,$FFDA000601DFFF79,$00B600A2FF840276
  Data.q $024E02E6FE9AFE75,$FC7304A5012E010A,$FE13FAF50393FF48,$04C9FE0E05A6016D
  Data.q $00E00333FC2402CA,$F33307EFF99EFBB6,$FEECFF3C0275089B,$FE2D05DEF53606DC
  Data.q $FEF601CF00ADFDDC,$0017008A0311FBDF,$FD8C01E3040B04D8,$018CFF87FD8F0351
  Data.q $01450321FC81021B,$010BFEA1FEF2FFBC,$01D5FF0D0067FF4F,$FFAAFFC1016FFED8
  Data.q $00160010FF9D0066,$FFEEFFF6FFFE0010,$0002FFFEFFE50014,$FFE4FFFC000AFFEF
  Data.q $000BFFF5FFFC0022,$FFFA000D0000FFF7,$FFEA00080031FFFD,$00B3FF2A0057000E
  Data.q $FFD9000BFFAFFFB9,$0298FE79FEFFFFE1,$0151017202A2FF3A,$FAE7FFF8FEF8FE87
  Data.q $FF8A02BAFE1B024B,$F81F02E6FC8102E2,$FBEB016FFC190237,$0170FB3C06EBFDF6
  Data.q $0395F8EC0B1D03B0,$021EFC3B05E6FA9D,$01320A37F7AC014E,$FFF5F8AAFC9CFDE5
  Data.q $03C9FA2605C3F535,$013606E4FB85036D,$004C025EFDAEFE86,$FF21FFF30086FF98
  Data.q $FD46FF40FEFB033E,$00C50085FEF501AA,$FFFD00ADFFE9008B,$FF95003AFF4DFF8D
  Data.q $FFD6003BFFAB00F7,$0010FFE6FFCB006B,$000100010001FFF2,$0023FFE20011FFF7
  Data.q $FFFC0024FFE8000E,$FFF800010000FFF9,$FFC40000FFF90016,$0040FFEAFFE90005
  Data.q $FF860065004BFF49,$FF0500CFFF6A0034,$FF82021FFE370021,$FEC0005E027E00E2
  Data.q $043FFB7B026C0167,$FDD30407FDBB0060,$FE94057AF80B06AD,$F9310389FBFE00BA
  Data.q $024C01D3FF29FA0D,$FAE504E404F6FE53,$F7CEFB8EFA0F049F,$01D6F8D304C4FD32
  Data.q $FB9804BB009C028D,$0486051CFBE2054A,$024800FA028FFB84,$FE560263FD860338
  Data.q $FF1200F9FFAF003F,$FF1100E1FE9FFF03,$00A2FED901CDFF24,$FFA8FF62FF9F00E7
  Data.q $FFFF0036FF8300CD,$000FFFCF002DFFB6,$000DFFFBFFFDFFFC,$0002FFDB00120008
  Data.q $FFF20006FFD9FFEE,$FFF9FFFE00000004,$0070FFA20008FFFD,$00D1FFE2FFEAFFC7
  Data.q $FF1F0069FF480026,$000A0241FF89002B,$0314FE060302FF42,$0122FF45FF37FE24
  Data.q $FBB0FFEE015DFDEB,$016BFE0EFF5E0330,$FDA7FE6A0527FD86,$07E2FEBBFE0D0433
  Data.q $FEB902150373FE92,$0031FE3CFA27078E,$06590262FCC5033F,$F878FF670006FF1D
  Data.q $06CF0238FF1E05AF,$015CFBC80593FCC9,$0329F8230146FF9A,$FEDB02AEFD870036
  Data.q $019DFCC901CBFDEF,$FFE20032FEBAFE25,$00770101000A000B,$00C6FFD800B3FF6D
  Data.q $FFE4FFFD0083FFA1,$00050008FFF70039,$FFE8FFFCFFF60005,$0014FFF9FFF90007
  Data.q $FFEFFFF7FFFF0014,$0010FFF50000FFFE,$FFC10024FF91001B,$0060FFE1FFE3FFA2
  Data.q $FF8500520121FF99,$02B7FE5C0023FF88,$0253007901F4FF8A,$FA5802F8FEA200A1
  Data.q $0317FD8002E500FD,$FEA104B1FD790130,$FFB20227FE1D00DE,$028603E202E8FB15
  Data.q $FBACFB62F97305D9,$040401C8FE6DFE0D,$FB7B00DBFEADF54E,$0375F9BD027BFCC8
  Data.q $03FAFEBF095EFF5E,$00490377FFC7FE4E,$009AFE22055CFEFD,$01080192FF180217
  Data.q $00E8FF70FFB8FEBB,$0026017A0001FF02,$005000DD008E0040,$0043FF7A0041FF4B
  Data.q $FFE3FFF7FFAC0008,$0000FFF9FFFDFFE9,$0010FFF10005FFFE,$001AFFFFFFDEFFEA
  Data.q $FFDF001EFFE3FFE5,$FFF9FFF900000006,$000AFFAD0042FFEC,$FF8E004D0081FFD8
  Data.q $0177FED30088001F,$007FFEE1FF2CFE5B,$01A6FEDAFFA80030,$FC65FFABFE76FF1C
  Data.q $FD85FEBAFDCFFF3B,$0537FDE30535004D,$FEE6FCF301970385,$FAE00465FF790242
  Data.q $0684FF8B04610867,$003F0120F9F603EE,$02B0FC76048EF9EB,$F5A501350A30FCA2
  Data.q $FE86050BF9B60284,$017DFA7F0251FBFB,$005DFDC9FF8DFE3A,$FD250106FE44FD0D
  Data.q $0088005DFE35008B,$00F200DE013E0096,$008AFF040195FFE7,$00150044FFCE001E
  Data.q $0003FFEF0005FFFF,$FFFCFFFFFFFCFFF5,$FFE6002C000CFFF8,$FFFE000FFFE70027
  Data.q $000FFFF00031FFF0,$FFF8FFF800000001,$FFD6FFFC001DFFD6,$5453494C006F000E
  Data.q $4F464E4900000042,$0000003554465349,$2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E
  Data.q $2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E,$2E2E2E2E2E2E2E2E
  Data.a $2E,$2E,$2E,$2E,$00,$00
EndDataSection
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8451
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

Well done, Michael! Nice piece of work. And you're way too modest regarding the graphics, they're of excellent quality imho. Could we possibly have links to the graphics and sound?
BERESHEIT
User avatar
Michael Vogel
Addict
Addict
Posts: 2811
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

netmaestro wrote:Well done, Michael! Nice piece of work. And you're way too modest regarding the graphics, they're of excellent quality imho. Could we possibly have links to the graphics and sound?
I'll do an upload when I've (speedier) access to the internet - but maybe you are able to extract the two png files (done with paint shop pro) and "excellent" wav files (recorded my voice with an old freeware program) directly from the exe...

Michael
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Post by rsts »

Very nice indeed.

Thanks for sharing it with us.

cheers
Straker
Enthusiast
Enthusiast
Posts: 701
Joined: Wed Apr 13, 2005 10:45 pm
Location: Idaho, USA

Post by Straker »

nice. thanks
8)
Image Image
Henrik
Enthusiast
Enthusiast
Posts: 404
Joined: Sat Apr 26, 2003 5:08 pm
Location: Denmark

Post by Henrik »

HA HA Cool 8)
But Ctrl+Alt+del can kill it if you try really hard.
You can do this, run "taskmgr.exe" Hidden and terminate taskmgr when the user unlock your program.


Best Henrik
User avatar
GeoTrail
Addict
Addict
Posts: 2794
Joined: Fri Feb 13, 2004 12:45 am
Location: Bergen, Norway
Contact:

Post by GeoTrail »

Combination of 1234 didn't work here.
And it was no problem closing it using the task manager. I'm currently running Windows XP Pro x64.
I Stepped On A Cornflake!!! Now I'm A Cereal Killer!
User avatar
Michael Vogel
Addict
Addict
Posts: 2811
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

Yes you are all right, "Lock" doesn't do a real Lock (it's just for fun), it does not...

...handle Alt-Esc, Alt-Tab, Alt-Ctrl-Del etc.
...hide itself from Task-Manager or disallow killing the application
...can be stopped also when pressing "!" - much easier, or?

anyone how has (simple) code to change this is welcome :wink:

Some other things:

1234 should work fine - just observe, if every number makes "click" - if not , press space and try again...

And there is something else, the if sequence seems to have been crypled in the source (mskuma found that) - hopefully it works now:

Code: Select all

						dummy=rot%36
			If dummy smaller than 8
				rot/36
				rot*36
			ElseIf dummy bigger than 28
				rot/36
				rot+1
				rot*36
			EndIf

mskuma
Enthusiast
Enthusiast
Posts: 573
Joined: Sat Dec 03, 2005 1:31 am
Location: Australia

Post by mskuma »

Thanks Michael for this program - this is the perfect app with enough smarts to stop my young kid from screwing up the PC while I walk away (until at least he figures out the workaround!) :)
[edit: what would be nice is a lock out (disable) for the power switch!]
Henrik
Enthusiast
Enthusiast
Posts: 404
Joined: Sat Apr 26, 2003 5:08 pm
Location: Denmark

Post by Henrik »

A workaround for Ctrl+alt+del

Code: Select all

...
Global Program
Global THwnd
#TOGGLE_HIDEWINDOW = $80
#TOGGLE_UNHIDEWINDOW = $40
...
...
Init()

THwnd = FindWindow_("Shell_traywnd", "")
SetWindowPos_(THwnd, 0, 0, 0, 0, 0, #TOGGLE_HIDEWINDOW)

Program=RunProgram("taskmgr.exe","","",#PB_Program_Open|#PB_Program_Hide )
Main()

KillProgram(Program)
SetWindowPos_(THwnd, 0, 0, 0, 0, 0, #TOGGLE_UNHIDEWINDOW)
But Pleeesse could you pls-pls - upload the graphics, i can't for the ***"#¤%&& figura out this Sprite AlphaBlending Sh*t :oops:
it looks like somthing i found in the drain, my work that is :evil:
and 0 is 1, 1 is 2, 2 is 3 you guess the rest.
Anyway i would love to use the "Michael Vogel Lock" - (Sounds cool btw) -at work but "1234" they figura that one out :wink:

Edit* ohe. btw if t TaskManager is allready running you need to close it before you run it hidden

Edit2* Shit forgot " Alt+Esc" we need to hide the taskbar too. added to the code.


Best Henrik
User avatar
Michael Vogel
Addict
Addict
Posts: 2811
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

Henrik wrote:A workaround for Ctrl+alt+del...
But Pleeesse could you pls-pls - upload the graphics, i can't for the...
Best Henrik
Thanks Henrik for the code (have to check that), pictures will follow (hopefuly on monday, when I've a little bit time)

Michael
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

What about injecting this in winlogon.exe? :twisted: . You couldn't stop it and it is invisible in task manager :D.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

What about injecting this in winlogon.exe? . You couldn't stop it and it is invisible in task manager .
This is interesting :) Any example code on how to do this?
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

Yes, here it is. It was made by thefool :D , I just translated it to PB4. You need the PID to inject a dll in a process (you can test it by getting the PID of a process with TaskManager).

Code: Select all

Procedure InjectDLL(DllFileName$,ProcessID.l)
  Protected Result.l,Size.l,Process.l,RemoteMem.l,BytesWritten.l,LoadLibrary_Address.l,hThread.l
  Result=#False
  Size=Len(DllFileName$)+1
  Process=OpenProcess_(#PROCESS_ALL_ACCESS,0,ProcessID)
  If Process
    RemoteMem=VirtualAllocEx_(Process,#Null,Size,#MEM_COMMIT,#PAGE_READWRITE)
    If RemoteMem
      WriteProcessMemory_(Process,RemoteMem,DllFileName$,Size,@BytesWritten);BytesWritten can be #Null....
      If BytesWritten=>Size
        If OpenLibrary(0,"Kernel32.dll")
          LoadLibrary_Address=GetFunction(0,"LoadLibraryA")
          CloseLibrary(0)
          If LoadLibrary_Address
            hThread=CreateRemoteThread_(Process,#Null,#Null,LoadLibrary_Address,RemoteMem,#Null,#Null)
            If hThread
              WaitForSingleObject_(hThread, #INFINITE)
              GetExitCodeThread_(hThread,@Result)
            EndIf
          EndIf
        EndIf
      EndIf
      VirtualFreeEx_(Process,RemoteMem,Size,#MEM_DECOMMIT)
    EndIf
    CloseHandle_(Process)
  EndIf
  ProcedureReturn Result
EndProcedure
I hope it works
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
User avatar
Michael Vogel
Addict
Addict
Posts: 2811
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

So, now I could upload the pictures as netmaestro wanted...

http://sudokuprogram.googlepages.com/Lockme-Source.zip

The source code has been modified a little bit with Henriks idea about task manager and task bar - but I've to check what's going on, because the main window is not updated correctly when Alt-Ctrl-Del is done.

So be careful, don't make an exe for playing around - you may are not able to quit...

Michael
Last edited by Michael Vogel on Mon Jul 10, 2006 10:53 am, edited 1 time in total.
Post Reply