- Your own caption height
- Your own windows border width (even no border)
- Invisible Size Box
- Windows menu at your position(DWM menu at the same position and the caption area at the same height as normal window)
- Compatible with XP ,Windows 7 & Window 8 (Tested)
- Ascii ,Unicode, x86 and x64
Have fun
Code: Select all
UsePNGImageDecoder()
Global Maxx,Scale.f,wr.RECT,CH,BW,SB
#ERROR_NONE = 0
#KEY_WOW64_64KEY=$100
#KEY_WOW64_32KEY=$200
Procedure BrightnessRGB(RGB_Color.l, Delta.w)
!XOR Edx, Edx
!XOR Ebx, Ebx
!XOR Ecx, Ecx
!MOV BX, Word [p.v_Delta]
!MOV Eax, dWord [p.v_RGB_Color]
!MOV DL, AL
!CALL .adddelta
!MOV CL, DL
!MOV DL, AH
!CALL .adddelta
!MOV CH, DL
!BSWAP Eax
!MOV DL, AH
!CALL .adddelta
!MOV AH, DL
!BSWAP Eax
!MOV AX, CX
!JMP .ready
!.adddelta:
!ADD DX, BX
!BT DX, 15
!JC .negativ
!CMP DX, $FF
!JBE .inrange
!.bigger:
!MOV DX, $00FF
!JMP .inrange
!.negativ:
!XOR Edx, Edx
!.inrange:
!RET
!.ready:
ProcedureReturn
EndProcedure
Procedure.l QueryValueEx(lhkey.l, szValueName$)
Shared vValue$
cch = 255
sValue$ = Space(255)
lrc = RegQueryValueEx_(lhkey, szValueName$, 0, @lType, @sValue$, @cch)
If lrc = #ERROR_NONE
vValue$ = Left(sValue$, cch - 1)
Else
vValue$ = "Empty"
EndIf
ProcedureReturn lrc
EndProcedure
Procedure IsMouseOver(hWnd)
GetWindowRect_(hWnd,r.RECT)
GetCursorPos_(p.POINT)
Result = PtInRect_(r,p\y << 32 + p\x)
ProcedureReturn Result
EndProcedure
Procedure WndProc(hwnd, uMsg, wParam, lParam)
result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_NCACTIVATE
Result = 1
Case #WM_MOVE,#WM_SIZE ,#WM_PAINT
GetWindowRect_(WindowID(0),r.RECT)
MoveWindow_(WindowID(1),r\left+SB ,r\top+SB,r\right-r\left-2*SB,r\bottom-r\top-2*SB,1)
MoveWindow_(WindowID(2),r\left+BW+SB ,r\top+CH+SB,r\right-r\left-BW*2-2*SB,r\bottom-r\top-CH-BW-2*SB,1)
MoveWindow_(GadgetID(0),(r\right-r\left)/2-80,2,140,24,1)
If OSVersion() >= #PB_OS_Windows_8
ResizeGadget(2,r\right-r\left-105,2,90,24)
Else
ResizeGadget(2,r\right-r\left-90,10,90,24)
EndIf
SetForegroundWindow_(WindowID(2))
Case #WM_SETTINGCHANGE;,#WM_PAINT
If Maxx = 1
SystemParametersInfo_(#SPI_GETWORKAREA, 0, r.RECT, 0)
MoveWindow_(WindowID(0),r\left-SB,r\top-SB,r\right-r\left+2*SB,r\bottom-r\top+2*SB,1)
If OSVersion() >= #PB_OS_Windows_8
MoveWindow_(GadgetID(2),r\right-r\left-105,2,90,24,1)
Else
MoveWindow_(GadgetID(2),r\right-r\left-105,10,90,24,1)
EndIf
SetForegroundWindow_(WindowID(2))
EndIf
Case #WM_LBUTTONDOWN
If IsMouseOver(WindowID(0)) = 1 And Maxx = 0
SendMessage_(WindowID(0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
EndIf
EndSelect
ProcedureReturn result
EndProcedure
If OSVersion() >= #PB_OS_Windows_Vista
dll=OpenLibrary(#PB_Any,"user32.dll")
If dll
*IsProcessDPIAware=GetFunction(dll,"IsProcessDPIAware")
If *IsProcessDPIAware
dpiaware=CallFunctionFast(*IsProcessDPIAware)
EndIf
If Not dpiaware
*SetProcessDPIAware=GetFunction(dll,"SetProcessDPIAware")
If *SetProcessDPIAware
CallFunctionFast(*SetProcessDPIAware)
dpiaware=CallFunctionFast(*IsProcessDPIAware)
EndIf
EndIf
EndIf
EndIf
Scale = 1
If OSVersion() >= #PB_OS_Windows_XP And OSVersion() < #PB_OS_Windows_Vista
dc=GetDC_(0)
Scale = GetDeviceCaps_(dc,#LOGPIXELSX)/96
ReleaseDC_(0,dc)
ElseIf OSVersion() >= #PB_OS_Windows_Vista And OSVersion() < #PB_OS_Windows_8
sValueName$ = "LogPixels"
lRetVal = RegConnectRegistry_("", #HKEY_CURRENT_USER, @lHKeyhandle)
lRetVal = RegOpenKeyEx_(lHKeyhandle, "Control Panel\DeskTop", 0,#KEY_READ|#KEY_WOW64_64KEY, @lhkey)
lRetVal = QueryValueEx(lhkey, sValueName$)
RegCloseKey_(lhkey)
If vValue$ = Chr(120)
Scale = 1.25
ElseIf vValue$ = Chr(144)
Scale = 1.50
EndIf
ElseIf OSVersion() >=#PB_OS_Windows_8
sValueName$ = "DesktopDPIOverride"
lRetVal = RegConnectRegistry_("", #HKEY_CURRENT_USER, @lHKeyhandle)
lRetVal = RegOpenKeyEx_(lHKeyhandle, "Control Panel\DeskTop", 0,#KEY_READ|#KEY_WOW64_64KEY, @lhkey)
lRetVal = QueryValueEx(lhkey, sValueName$)
RegCloseKey_(lhkey)
If vValue$ = "1"
Scale = 1.25
ElseIf vValue$ = "2"
Scale = 1.50
EndIf
EndIf
LoadFont(0,"Georgia",14)
CatchImage(0,?Balls)
WW = 800 ;Default Window Width
WH = 420 ;Default Window Height
CH = 70 ;Caption Height
If CH < 35
CH = 35
EndIf
BW = 20 ;Border Width
SB = 4 ;SizeBox Border Width
Color = 0 ;Window Color
; If SB >= GetSystemMetrics_(#SM_CXFRAME)
; SB = GetSystemMetrics_(#SM_CXFRAME) - 4
; EndIf
OpenWindow(0,0,0,2,2,"",#PB_Window_BorderLess| #WS_SIZEBOX)
If Color = 0
If OSVersion() >= #PB_OS_Windows_Vista
hdc = GetWindowDC_(0)
Color = GetPixel_(hdc,wr\left+2,wr\top+2)
ReleaseDC_(0,hdc)
Else
Color = GetSysColor_(#COLOR_ACTIVECAPTION)
EndIf
EndIf
;Color = BrightnessRGB(Color,5)
SetWindowColor(0,Color)
WindowBounds(0,300,200, #PB_Default, #PB_Default)
SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(0),0,2,#LWA_ALPHA)
;If OSVersion() < #PB_OS_Windows_8
Buff$ = Space(12)
PokeS(@Buff$, "Window", -1, #PB_Unicode)
hTheme = OpenThemeData_(WindowID(0),Buff$)
CreateImage(3,20,20)
hdc = StartDrawing(ImageOutput(3))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,18,1,tr,0)
StopDrawing()
CreateImage(32,20,20)
hdc = StartDrawing(ImageOutput(32))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,18,2,tr,0)
StopDrawing()
CreateImage(4,20,20)
hdc = StartDrawing(ImageOutput(4))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,17,1,tr,0)
StopDrawing()
CreateImage(42,20,20)
hdc = StartDrawing(ImageOutput(42))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,17,2,tr,0)
StopDrawing()
CreateImage(5,20,20)
hdc = StartDrawing(ImageOutput(5))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,15,1,tr,0)
StopDrawing()
CreateImage(52,20,20)
hdc = StartDrawing(ImageOutput(52))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,15,2,tr,0)
StopDrawing()
CreateImage(6,20,20)
hdc = StartDrawing(ImageOutput(6))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,21,1,tr,0)
StopDrawing()
CreateImage(62,20,20)
hdc = StartDrawing(ImageOutput(62))
SetRect_(tr.RECT,0,0,20,20)
DrawThemeBackground_(hTheme,hdc,21,2,tr,0)
StopDrawing()
CloseThemeData_(hTheme)
;EndIf
SystemParametersInfo_(#SPI_GETWORKAREA,0,wr.RECT,0)
ResizeWindow(0,wr\Left + (wr\right-wr\left-WW)/2,wr\top+(wr\bottom-wr\top-WH)/2,WW,WH)
OpenWindow(1,0,0,0,0,"",#PB_Window_BorderLess)
SetWindowColor(1,Color)
SetWindowLongPtr_( WindowID(1), #GWL_HWNDPARENT,WindowID(0))
;Add Border to Window #1
SetWindowLongPtr_(WindowID(1),#GWL_STYLE,GetWindowLongPtr_(WindowID(1),#GWL_STYLE)|#WS_BORDER)
OpenWindow(2,0,0,0,0,"",#PB_Window_BorderLess)
SetWindowColor(2,$E6FCFE)
SetWindowLongPtr_( WindowID(2), #GWL_HWNDPARENT,WindowID(1))
;Add Border to Window #2
SetWindowLongPtr_(WindowID(2),#GWL_STYLE,GetWindowLongPtr_(WindowID(1),#GWL_STYLE)|#WS_BORDER)
SetActiveWindow(0)
UseGadgetList(WindowID(1))
TextGadget(0,0,0,140,24,"**RASHAD**")
SetGadgetFont(0,FontID(0))
SetGadgetColor(0,#PB_Gadget_BackColor,Color)
SetGadgetColor(0,#PB_Gadget_FrontColor,Color ! $FFFFFF)
ImageGadget(1,4,4,40,30,ImageID(0))
If OSVersion() >= #PB_OS_Windows_8
LoadFont(1,"Marlett",12)
ContainerGadget(2,0,0,90,24,#PB_Container_BorderLess)
SetClassLongPtr_(GadgetID(2),#GCL_HBRBACKGROUND,GetStockObject_(#NULL_BRUSH))
TextGadget(3,50,0,45,20,Chr($72),#SS_CENTERIMAGE | #SS_CENTER|#SS_NOTIFY)
SetGadgetColor(3,#PB_Gadget_BackColor,$1F1FCC)
SetGadgetColor(3,#PB_Gadget_FrontColor,#White)
SetGadgetFont(3,FontID(1))
TextGadget(4,24,0,24,20,Chr($31),#SS_CENTERIMAGE | #SS_CENTER|#SS_NOTIFY)
SetGadgetColor(4,#PB_Gadget_BackColor,Color)
SetGadgetFont(4,FontID(1))
TextGadget(5,0,0,24,20,Chr($30),#SS_CENTER|#SS_NOTIFY)
SetGadgetColor(5,#PB_Gadget_BackColor,Color)
SetGadgetFont(5,FontID(1))
Else
ContainerGadget(2,0,0,90,24,#PB_Container_BorderLess)
SetClassLongPtr_(GadgetID(2),#GCL_HBRBACKGROUND,GetStockObject_(#NULL_BRUSH))
ImageGadget(3,50,0,24,24,ImageID(3),#BS_FLAT)
SetWindowTheme_(GadgetID(3), @null.w, @null.w)
ImageGadget(4,25,0,24,24,ImageID(4),#BS_FLAT)
SetWindowTheme_(GadgetID(4), @null.w, @null.w)
ImageGadget(5,0,0,24,24,ImageID(5),#BS_FLAT)
SetWindowTheme_(GadgetID(5), @null.w, @null.w)
EndIf
UseGadgetList(WindowID(2))
If CreateMenu(0, WindowID(2))
MenuTitle("File")
MenuItem( 1, "&Load...")
MenuItem( 2, "Save")
MenuItem( 3, "Save As...")
MenuBar()
OpenSubMenu("Recents")
MenuItem( 5, "Pure.png")
MenuItem( 6, "Basic.jpg")
OpenSubMenu("Even more !")
MenuItem( 12, "Yeah")
CloseSubMenu()
MenuItem( 13, "Rocks.tga")
CloseSubMenu()
MenuBar()
MenuItem( 7, "&Quit")
MenuTitle("Edition")
MenuItem( 8, "Cut")
MenuItem( 9, "Copy")
MenuItem(10, "Paste")
MenuTitle("?")
MenuItem(11, "About")
EndIf
TextGadget (20, 10, 10, 300, 20, "ListIcon Standard", #PB_Text_Center)
ListIconGadget(10, 10, 25, 300, 70, "Column 1", 100)
TextGadget (21, 10, 105, 300, 20, "ListIcon with Checkbox", #PB_Text_Center)
ListIconGadget(11, 10, 120, 300, 70, "Column 1", 100, #PB_ListIcon_CheckBoxes) ; ListIcon with checkbox
TextGadget (22, 10, 200, 300, 20, "ListIcon with Multi-Selection", #PB_Text_Center)
ListIconGadget(12, 10, 215, 300, 70, "Column 1", 100, #PB_ListIcon_MultiSelect) ; ListIcon with multi-selection
; right column
TextGadget (23, 330, 10, 300, 20, "ListIcon with separator lines",#PB_Text_Center)
ListIconGadget(13, 330, 25, 300, 70, "Column 1", 100, #PB_ListIcon_GridLines)
TextGadget (24, 330, 105, 300, 20, "ListIcon with FullRowSelect and AlwaysShowSelection",#PB_Text_Center)
ListIconGadget(14, 330, 120, 300, 70, "Column 1", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
TextGadget (25, 330, 200, 300, 20, "ListIcon Standard with large icons",#PB_Text_Center)
ListIconGadget(15, 330, 220, 300, 65, "", 200,#PB_ListIcon_GridLines)
For a = 10 To 14 ; add columns to each of the first 5 listicons
For b = 2 To 4 ; add 3 more columns to each listicon
AddGadgetColumn(a, b, "Column " + Str(b), 65)
Next
For b = 0 To 2 ; add 4 items to each line of the listicons
AddGadgetItem(a, b, "Item 1"+Chr(10)+"Item 2"+Chr(10)+"Item 3"+Chr(10)+"Item 4")
Next
Next
SetGadgetAttribute(15, #PB_ListIcon_DisplayMode, #PB_ListIcon_LargeIcon)
AddGadgetItem(15, 1, "Picture 1", ImageID(3))
AddGadgetItem(15, 2, "Picture 2", ImageID(6))
SetWindowCallback(@WndProc())
Repeat
Select WaitWindowEvent()
Case #WM_MOUSEMOVE
If OSVersion() >= #PB_OS_Windows_8
If IsMouseOver(GadgetID(3))
SetGadgetColor(3,#PB_Gadget_BackColor,$5959E5)
Else
SetGadgetColor(3,#PB_Gadget_BackColor,$1F1FCC)
EndIf
If IsMouseOver(GadgetID(4))
SetGadgetColor(4,#PB_Gadget_BackColor,$FE5451)
SetGadgetColor(4,#PB_Gadget_FrontColor,#White)
Else
SetGadgetColor(4,#PB_Gadget_BackColor,Color)
SetGadgetColor(4,#PB_Gadget_FrontColor,#Black)
EndIf
If IsMouseOver(GadgetID(5))
SetGadgetColor(5,#PB_Gadget_BackColor,$FE5451)
SetGadgetColor(5,#PB_Gadget_FrontColor,#White)
Else
SetGadgetColor(5,#PB_Gadget_BackColor,Color)
SetGadgetColor(5,#PB_Gadget_FrontColor,#Black)
EndIf
EndIf
If OSVersion() < #PB_OS_Windows_8
If IsMouseOver(GadgetID(3))
SetGadgetState(3,ImageID(32))
Else
SetGadgetState(3,ImageID(3))
EndIf
If IsMouseOver(GadgetID(4)) = 1 And Maxx = 1
SetGadgetState(4,ImageID(62))
ElseIf IsMouseOver(GadgetID(4)) = 0 And Maxx = 1
SetGadgetState(4,ImageID(6))
ElseIf IsMouseOver(GadgetID(4)) = 1 And Maxx = 0
SetGadgetState(4,ImageID(42))
ElseIf IsMouseOver(GadgetID(4)) = 0 And Maxx = 0
SetGadgetState(4,ImageID(4))
EndIf
If IsMouseOver(GadgetID(5))
SetGadgetState(5,ImageID(52))
Else
SetGadgetState(5,ImageID(5))
EndIf
EndIf
Case #PB_Event_Menu
Select EventMenu() ; To see which menu has been selected
Case 11 ; About
MessageRequester("About", "Cool Menu example", 0)
Default
MessageRequester("Info", "MenuItem: "+Str(EventMenu()), 0)
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case 3
Quit = 1
;
Case 4
Select EventType()
Case #PB_EventType_LeftClick
Maxx ! 1
If Maxx = 1
WX = WindowX(0)
WY = WindowY(0)
WW = WindowWidth(0)
WH = WindowHeight(0)
SystemParametersInfo_(#SPI_GETWORKAREA,0,r.RECT,0)
MoveWindow_(WindowID(0),r\left-SB,r\top-SB,r\right-r\left+2*SB,r\bottom-r\top+2*SB,1)
If OSVersion() >= #PB_OS_Windows_8
SetGadgetText(4,Chr($32))
Else
SetGadgetState(4,ImageID(6))
EndIf
Else
MoveWindow_(WindowID(0),WX,WY,WW,WH,1)
If OSVersion() >= #PB_OS_Windows_8
SetGadgetText(4,Chr($31))
SetGadgetColor(4,#PB_Gadget_BackColor,Color)
SetGadgetColor(4,#PB_Gadget_FrontColor,#Black)
Else
SetGadgetState(4,ImageID(4))
EndIf
EndIf
EndSelect
Case 5
SetWindowState(0,#PB_Window_Minimize)
EndSelect
EndSelect
Until Quit = 1
End
DataSection
balls:
Data.q $0A1A0A0D474E5089,$524448490D000000,$1E00000028000000,$5CDD5E0000000608,$414449AD090000DD
Data.q $14507998C5C35854,$D64D98C4C1C71E57,$2B5DAD9B254C5635,$A211A8C49ABB5B5B,$8080821F7DC33D33
Data.q $D00478231C249440,$31C8088D728880A0,$081103208820A0DC,$97373372E1C870C7,$70E7208CA08DCA22
Data.q $4DD92549301EDDF8,$FAFDEA7C7F2A5988,$BF7BCDFA7F5EF3D7,$96F979B985B919EE,$8E2DFE6F815AB112
Data.q $FE4CE16FB174D15F,$616350B1510ADCF9,$9C89EFDC801E417E,$8F7B9EEF99AF8F20,$E689708C7104D91B
Data.q $5840F1BF1F6446C8,$93CD5305DDFA5028,$09ADCF02DC8FABAB,$8D13BC24042E3742,$ECE4C1EA462FB328
Data.q $C2C834BF75A9B1A9,$BDC37FA4A0DC82E2,$1B1E1CFF242D8EC1,$9823FFF16CF8BF5A,$7C12B346B6693DB2
Data.q $92E91079758846DD,$BC432B52A80DBA82,$3FCD83EE6E83CC62,$15ABCDEFA4A0C037,$0E2C35DE79412EB1
Data.q $AE5060E0716461F3,$D3E8C392557A4577,$ECAEEE60B37FEB47,$61755AF4427DB6B1,$107BAB1E8967AAD0
Data.q $6A1F68CA56C173E9,$E91EEE757FF77A1F,$155159D3EBE0277A,$57C4B222414C85CC,$67D8B42027E0C896
Data.q $D0C9F87E33DB302E,$36BC6FB5C824DF86,$06CC7180A983D768,$DD0C6FD26486624D,$2F3110D93E689DD6
Data.q $A5E74A3ADFF35F9D,$5C8BE79867F941F2,$788990BC420FC090,$797C20DC240473D1,$E2DBAF9E6842E0FD
Data.q $EFCA0F72DD7F8BE2,$3AE53DBBAB32696F,$31E6834879C5E909,$7EED851A25027C75,$3CAF35B535EABECE
Data.q $C407DB1D27ECF67B,$D9547A766B2EAD9B,$C1127C738189A7C1,$B1C61C34F80C7873,$1EFB9BD4B0580B42
Data.q $D2F2D2C1617A6CF5,$80B47E96A6AAA675,$FCCD6CB6BCCD6C82,$2F451EA5605A008E,$F77777274513F14A
Data.q $3BEB1D27F4A952CD,$56D94E76530D94AB,$44908605A781C2AB,$5A8D0E0B5F238CB4,$9247F47685425038
Data.q $1F1C1617851ACEA6,$787837B36767971F,$3382B3B0F9C3FC79,$75745070C0E299C3,$AE97FF1F1F16DD73
Data.q $6C6A787EDFB5AEAE,$704E555CCDEE55EC,$19DF995FB04E7FA8,$A9A4B85D00AF45D3,$E0FB7D138FAC45C3
Data.q $B2F8C6FBD70C63D6,$75706095EA8708C3,$1617CEDD7EF728E7,$CF4DC82C2C54AEFC,$59E3F32F4F4DCB4C
Data.q $F7A7B5FCDD6D681B,$D1586B4F338F3CE5,$0D0D392081495DE0,$BCC23CF7C6F889B1,$EE93510EC9B8200F
Data.q $38AE234B857D8D60,$1DADD1BE2F846ADE,$8E7F059BF8DFEB1A,$A9D1CD7CFF3B7787,$10CB8482102FDCA8
Data.q $8C888CB71C4227C7,$CD1CB060C0CAB965,$88E1F31B83EC5571,$B8D99D56A70D3899,$704D57E6EC83A666
Data.q $FF2BE27D9E56767E,$0FC117999A067B1C,$2C591CF44490820C,$20399FD8E79135CB,$A9C49E9EE221B8E4
Data.q $F5A6E2189305D361,$3EBE262526760767,$5364607F7F22792A,$A0D5A9BCB143AF15,$6DB9D456A755A9AC
Data.q $7FCBB73FF593D1F0,$A4AD1CDC204FB051,$751C34470BF4B77A,$2C8E78224F849701,$C1CE02E63FA9266E
Data.q $88B2384EF761702F,$8B4AAE84A2773D41,$967AEA2927A852A0,$5CA9418E99C2BC87,$CDE624CE4F1BC897
Data.q $7D74BD1E94DFC679,$E0AD31795C999ED8,$28242F5BF0FF5748,$6CC770FB8C31CEC8,$BCD14D0CEA218E99
Data.q $92335EC1127C14D7,$EBA8E123AB9658E5,$98FCED5836EB7A22,$A992BA09ACD2A54D,$FDA193BEF0798E82
Data.q $F48CD252B8256901,$AB5C4BC4ABD2114A,$B263271EA0A12210,$22F539CAE27C6C17,$6714145FB4971FC5
Data.q $3DEA847EB6D36DB1,$83AAAC4168A9E04A,$D12EE9A8741D3536,$A8DA2AB98F222246,$6A110FAFFC902454
Data.q $95AD6B2B2B343FBA,$2B0918CF135B79CB,$8A942402A5890EAF,$71D9788EFE265090,$14AFBC1E1C891089
Data.q $F2D4DE5C5435C742,$93AB99B8EC12AFF1,$5D17BBA05A615DB3,$6D0639FD67D08756,$925EE2C8E7C3C73E
Data.q $C647D4D3C08703AE,$0B5464CFE5B8EDD6,$2E77B98F73D7DF3B,$86F908CDF9A102BD,$3F450A422102908F
Data.q $73422E7C908040A4,$2EDCF41A6069F01B,$82C571BC7C3EF515,$16D3552DDE3BDB8F,$31A713A3C2B331DF
Data.q $F2983E1E931671E6,$E596320983E2473C,$72059F7DA14F5C46,$1CBB6538DB86213F,$2BC0A7781987AF82
Data.q $E6C9E09A379E16A3,$0FE11CCF005B33C1,$6CCAF0CDF3C9F361,$97F5B03E315C7380,$38B82C566C726446
Data.q $A3BF74CFEED72F3F,$C1B313D27E38BC6B,$BF151A42C64690E1,$D03C276372CB190C,$C2B163A7468865A6
Data.q $3768891F76F7CE96,$92EC0D527D86CFF0,$3CA9F619B577601B,$FB0F9527BE09A7D8,$72FEC234A7D85CAB
Data.q $011180F8A5586C2D,$6B93A793F62C53E3,$B63607FAA7075C57,$499FACCC4BA43AD8,$D8B98B161A43CF3D
Data.q $7B992CA4E1A425E4,$97D7128A02836E62,$ADCD2885FB877871,$23F42E4F8493918E,$CD31061EAA3F436E
Data.q $4CB05E20C1E58830,$BA20C2E3993E0C9C,$C1285FA81AAC0601,$57799ECBB19763D6,$D4D60B15D7FBD9D4
Data.q $224C5235EEDBCAD6,$DA4F4FF7740F3854,$9F5312F4E32CC11C,$A126697EDE80C11E,$E52A1461104661DA
Data.q $E39C5BBEA65A5DB3,$0B5211042D9C7617,$1CA10947286688E5,$B6C4A856989502DD,$B32822D1C72EB491
Data.q $16FFC1403587A078,$23E8460EC75DBAB6,$B364162B6DEE9DDE,$8D3B67B3DEEF2FD9,$8441094A10DA8E20
Data.q $37459C40DD267966,$E508ECEB34270B68,$43D3A0863D1A551C,$E2ECDB414BD50469,$A0AB337748A65FFB
Data.q $528C077251842713,$7BD38C01ED28C1EF,$4E30DD6BDB977A48,$6A4830BB94A30FBD,$3B1F1371E6DC925D
Data.q $B15F7FBD9DF9BAB3,$232323E58FC7E3E0,$45494F7F3737375F,$C50A541A10429145,$9BB662950F6CC488
Data.q $74E9F552A547D94A,$4E3607E696B6B2BA,$C3557A37D385146E,$01BC8C1F79999DC9,$9C31F0A9C30C1538
Data.q $47E64A3453DF258A,$303D3976087F3870,$78E802EF0EC16C4C,$B15B5FC64A1E71A7,$4343471F2166D2E0
Data.q $73726B7575757243,$62CABDA5A5A6D773,$292D7888888B5EB1,$CAEB1919190FE929,$1F9169696E5ECACA
Data.q $BAE2AA2AC57D191C,$79E1FB721C13784A,$66A7C29FB7B3824B,$66A7C3BE676AE70A,$18D577809EFF3E1A
Data.q $DB07729260478B5C,$F5DABD7B3B3E16CF,$346EC6BF6ABD82DB,$B35A8E37852A6B76,$B3CD21127B75E1FB
Data.q $961EFC25114BE088,$D3F501149E308A40,$B43B62768519CA38,$FB7F25FBDBF1552F,$C2DCCCC22F336F55
Data.q $BB933467DD25BE4B,$429035F8099CF6A5,$3ED490E75A122922,$E1CCB5C439B6C487,$D9FD833D5EE82912
Data.q $8BD2D471B43BB08F,$7D7D7D35F9AE4965,$ECE941355C59B2F2,$13883795FC645CAC,$A5D6D303691AE189
Data.q $2CDE59C59DA970D3,$B3D36723F3D9C9FC,$379C6066AB871669,$A9E0E7B6344B1A01,$87F3D72757468218
Data.q $BD1515166F969696,$435E489122826AB4,$F52F6549422DFD43,$4D1E92E0B46BB753,$2A4C38C96F749F76
Data.q $250AF404D6EFB127,$99DEA9A73B5254CF,$169D3A6CDB630977,$925271DB3724C246,$1D826AB0DAD2D2D0
Data.q $C89B7A7ABAF21D1D,$554D18E7A590690B,$A8F52AFCFFEC4983,$153D4F5311E1097F,$564610E2F4754F55
Data.q $208D3A68956574E9,$CD1A343E24C1E8E5,$7EB2626268A7EC91,$797979D16F6504D5,$ACACA9BC58585B2F
Data.q $68F7C35920BC85BC,$A0B54A8D318A5411,$C96B2D6529158413,$66EC9184104E6AFA,$CEEFED4D4D5156C8
Data.q $566B78F1E27FCECE,$EDEDEF22D9157FF5,$85C2E97FCFCFCB95,$F5F51FC60C18EB0B,$CA45BC68686A37F5
Data.q $8EB6F243BCCA4DBC,$7570DEB67226CE8E,$AA95EA2A2A3D7D75,$8C6964891235AAAA,$386933A6959100FF
Data.q $45490000000039A9,$826042AE444E
ballsend:
EndDataSection