It needs to be polished up and encapsulated in a module, probably with an OOP design but you can play with it now, all suggestions welcome.
Code: Select all
;/////////////////////////////////////////////////////
;
; This program will become ChessAssets::Clock
;
; It is currently in an alpha stage but far enough
; along to play with. If you need the font file it
; uses, download this file:
; https://lloydsplace.com/ChessClock_Resources.zip
; It also includes clocktick.wav which will have the
; clock ticking when it's running.
;
; Any and all suggestions welcome
;
; The finished version is coming, til then have fun
;
; netmaestro
;
;/////////////////////////////////////////////////////
#CLOCK_PAUSED = 0
#CLOCK_LEFTSIDE_ACTIVE = 2
#CLOCK_RIGHTSIDE_ACTIVE = 1
#UPDATE_CLOCK = #PB_Event_FirstCustomValue
#COLOR_DARKWOOD = 0
#COLOR_LIGHTWOOD = 1
#COLOR_PLASTIC = 2
Declare StartClock()
Declare StopClock()
Declare UpdateClock(void)
Declare DrawButtons()
Declare DrawFlag()
Declare DrawIndicators()
Declare ClockFace()
Declare Crystal()
Declare Hand_Minute()
Declare Hand_Hour()
Declare Clock()
Structure TIME
Hour.d
Minute.d
Second.d
EndStructure
Structure CLOCKTIMES
LeftClock.TIME
RightClock.TIME
EndStructure
Global uTimerID.i = 0, ActiveSide.i = #CLOCK_PAUSED, PlayerTimes.CLOCKTIMES, CurrentSize.d = 350, CurrentClock.i
Global tid=0, Clock_Running = 0, Crystal, ClockFace, hand_hour, hand_minute, darkwood, lightwood
Global background=#COLOR_DARKWOOD, UpdateNow, ClockBase, flag
Global Dim buttons.i(2)
Global Dim indicator.i(3)
UseJPEGImageDecoder()
UseZipPacker()
*unpacked = AllocateMemory(4306)
UncompressMemory(?darkwood, 4051, *unpacked, 4306)
darkwood = CatchImage(#PB_Any, *unpacked, 4306)
FreeMemory(*unpacked)
*unpacked = AllocateMemory(4965)
UncompressMemory(?lightwood, 4712, *unpacked, 4965)
lightwood = CatchImage(#PB_Any, *unpacked, 4965)
FreeMemory(*unpacked)
Procedure UpdateClock(void)
Clock_Running = 1
While Clock_Running
Select ActiveSide
Case #CLOCK_LEFTSIDE_ACTIVE
PlayerTimes\LeftClock\Second + 0.5000
If PlayerTimes\LeftClock\Second >= 60
PlayerTimes\LeftClock\Second = 0
PlayerTimes\LeftClock\Minute + 1
If PlayerTimes\LeftClock\Minute >= 60
PlayerTimes\LeftClock\Minute = 0
PlayerTimes\LeftClock\Hour + 1
EndIf
EndIf
Case #CLOCK_RIGHTSIDE_ACTIVE
PlayerTimes\RightClock\Second + 0.5000
If PlayerTimes\RightClock\Second >= 60
PlayerTimes\RightClock\Second = 0
PlayerTimes\RightClock\Minute + 1
If PlayerTimes\RightClock\Minute >= 60
PlayerTimes\RightClock\Minute = 0
PlayerTimes\RightClock\Hour + 1
EndIf
EndIf
EndSelect
starttime=ElapsedMilliseconds()
If IsImage(CurrentClock)
FreeImage(CurrentClock)
EndIf
CurrentClock = Clock()
PostEvent(#UPDATE_CLOCK)
Delay(30)
Repeat
Delay(1)
Until ElapsedMilliseconds()-starttime >= 500 Or UpdateNow = #True
UpdateNow=#False
Wend
EndProcedure
Procedure SetClocks(lh,lm,ls,rh,rm,rs)
With PlayerTimes\LeftClock
\Hour = lh
\Minute = lm
\Second = ls
EndWith
With PlayerTimes\RightClock
\Hour = rh
\Minute = rm
\Second = rs
EndWith
EndProcedure
Procedure StartClock()
tid = CreateThread(@UpdateClock(),0)
If ActiveSide <> #CLOCK_PAUSED
If IsSound(1)
If SoundStatus(1) = #PB_Sound_Stopped
PlaySound(1,#PB_Sound_Loop)
EndIf
EndIf
EndIf
EndProcedure
Procedure StopClock()
Clock_Running = #False
If IsSound(1)
If SoundStatus(1) = #PB_Sound_Playing
StopSound(1)
EndIf
EndIf
EndProcedure
Macro DrawNumber(angle)
SaveVectorState()
RotateCoordinates(0.5000*sz,0.5000*sz, angle)
MovePathCursor(0.5000*sz,0.1000*sz)
x.d=PathPointX(0) : y.d=PathPointY(0)
RestoreVectorState()
EndMacro
Procedure DrawButtons()
Protected cx.d = CurrentSize
Protected sz.d = CurrentSize*0.084375
button_0 = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(button_0))
AddPathBox(0.1667*sz,0.5667*sz,0.6667*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.3)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
MovePathCursor(0.1667*sz,0.5667*sz)
AddPathCurve(0.3900*sz,0.3667*sz,0.6133*sz,0.3667*sz,0.8333*sz,0.5667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.7)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
AddPathBox(0.3333*sz,0.6333*sz,0.3333*sz,0.3000*sz)
FillPath()
AddPathBox(0.1000*sz,0.9333*sz,0.8000*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.5)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
StopVectorDrawing()
button_1 = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(button_1))
AddPathBox(0.1667*sz,0.8667*sz,0.6667*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.3)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
MovePathCursor(0.1667*sz,0.8667*sz)
AddPathCurve(0.3900*sz,0.6667*sz,0.6133*sz,0.6667*sz,0.8333*sz,0.8667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.7)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
AddPathBox(0.1000*sz,0.9333*sz,0.8000*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.5)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
StopVectorDrawing()
button_2 = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(button_2))
AddPathBox(0.1667*sz,0.3333*sz,0.6667*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.3)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
MovePathCursor(0.1667*sz,0.3333*sz)
AddPathCurve(0.3900*sz,0.1333*sz,0.6133*sz,0.1333*sz,0.8333*sz,0.3333*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.7)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
AddPathBox(0.3333*sz,0.4000*sz,0.3333*sz,0.5333*sz)
FillPath()
AddPathBox(0.1000*sz,0.9333*sz,0.8000*sz,0.0667*sz)
VectorSourceLinearGradient(0.1667*sz,0.3333*sz,0.6667*sz,0.3667*sz)
VectorSourceGradientColor(RGBA(253,224,206,255),0.0)
VectorSourceGradientColor(RGBA(166,120,68,255),0.5)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath()
StopVectorDrawing()
buttons(0) =CreateImage(#PB_Any, cx, sz, 32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(buttons(0)))
MovePathCursor(0.2188*cx,0)
DrawVectorImage(ImageID(button_0))
MovePathCursor(0.6875*cx,0)
DrawVectorImage(ImageID(button_0))
StopVectorDrawing()
buttons(1) =CreateImage(#PB_Any, cx, sz, 32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(buttons(1)))
MovePathCursor(0.2188*cx,0)
DrawVectorImage(ImageID(button_1))
MovePathCursor(0.6875*cx,0)
DrawVectorImage(ImageID(button_2))
StopVectorDrawing()
buttons(2)=CreateImage(#PB_Any, cx, sz, 32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(buttons(2)))
MovePathCursor(0.2188*cx,0)
DrawVectorImage(ImageID(button_2))
MovePathCursor(0.6875*cx,0)
DrawVectorImage(ImageID(button_1))
StopVectorDrawing()
FreeImage(button_0)
FreeImage(button_1)
FreeImage(button_2)
EndProcedure
Procedure ClockFace()
UsePNGImageDecoder()
result = CatchImage(#PB_Any, ?clockface, 6534)
ProcedureReturn result
EndProcedure
Procedure Crystal()
sz.d = 0.3750*CurrentSize
crystal = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(crystal))
AddPathCircle(0.5000*sz,0.5000*sz,0.5000*sz)
VectorSourceCircularGradient(0.5000*sz,0.5000*sz,0.5000*sz)
VectorSourceGradientColor(RGBA(0,0,0,0),0.0)
VectorSourceGradientColor(RGBA(0,0,0,0),0.82)
VectorSourceGradientColor(RGBA(0,0,0,40),0.88)
VectorSourceGradientColor(RGBA(0,0,0,70),0.92)
VectorSourceGradientColor(RGBA(0,0,0,240),1.0)
FillPath(#PB_Path_Preserve)
VectorSourceColor(RGBA(255,255,223,26))
FillPath()
AddPathCircle(0.5000*sz,0.4417*sz,0.4167*sz,300,240,#PB_Path_CounterClockwise)
VectorSourceColor(RGBA(255,0,0,255))
AddPathCurve(0.4167*sz,0.0417*sz,0.5833*sz,0.0417*sz,0.7083*sz,0.0833*sz)
VectorSourceColor(RGBA(255,255,255,180))
FillPath()
StopVectorDrawing()
ProcedureReturn crystal
EndProcedure
Procedure Hand_Minute()
Protected sz.d = 0.3750*CurrentSize
hand_minute = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(hand_minute))
VectorSourceColor(RGBA(0,0,0,255))
AddPathBox(0.4867*sz,0.1000*sz,0.0267*sz,0.3733*sz)
MovePathCursor(0.4867*sz,0.1000*sz)
AddPathLine(0.5000*sz,0.0667*sz)
AddPathLine(0.5133*sz,0.1000*sz)
VectorSourceLinearGradient(0.5000*sz,0.0667*sz,0.5133*sz,0.4733*sz)
VectorSourceGradientColor(RGBA(70,70,70,255),0.0)
VectorSourceGradientColor(RGBA(0,0,0,255),1.0)
FillPath()
AddPathCircle(0.5000*sz,0.5000*sz,0.0333*sz)
VectorSourceCircularGradient(0.5000*sz,0.5000*sz,0.0333*sz)
VectorSourceGradientColor(RGBA(166,120,68,255),0.0)
VectorSourceGradientColor(RGBA(253,224,206,255),1.0)
FillPath(#PB_Path_Preserve)
VectorSourceColor(RGBA(90,43,2,255))
StrokePath(0.0033*sz)
StopVectorDrawing()
ProcedureReturn hand_minute
EndProcedure
Procedure Hand_Hour()
Protected sz.d = 0.3750*CurrentSize
hand_hour = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(hand_hour))
VectorSourceColor(RGBA(0,0,0,255))
AddPathBox(0.4850*sz,0.2333*sz,0.0300*sz,0.2433*sz)
MovePathCursor(0.4850*sz,0.2333*sz)
AddPathLine(0.5000*sz,0.2000*sz)
AddPathLine(0.5150*sz,0.2333*sz)
VectorSourceLinearGradient(0.5000*sz,0.2000*sz,0.5000*sz,0.4767*sz)
VectorSourceGradientColor(RGBA(70,70,70,255),0.0)
VectorSourceGradientColor(RGBA(0,0,0,255),1.0)
FillPath(#PB_Path_Winding)
StopVectorDrawing()
ProcedureReturn hand_hour
EndProcedure
Procedure DrawClockBase()
Protected cx.d = CurrentSize
Protected cy.d = 0.546875*cx ; Aspect ratio is fixed
ClockBase = CreateImage(#PB_Any,1.0000*cx,0.5469*cx,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(ClockBase))
AddPathCircle(0.2656*cx,0.5857*cy,0.1875*cx)
AddPathCircle(0.7344*cx,0.5857*cy,0.1875*cx)
VectorSourceColor(RGBA(173,98,59,255))
MovePathCursor(0.5078*cx,0.1571*cy)
AddPathArc(0.9984*cx,0.1571*cy,0.9984*cx,0.5714*cy,20)
AddPathArc(0.9984*cx,0.9971*cy,0.5000*cx,0.9971*cy,20)
AddPathArc(0.0016*cx,0.9971*cy,0,0.6857*cy,20)
AddPathArc(0.0016*cx,0.1571*cy,0.5391*cx,0.1571*cy,20)
AddPathLine(0.5078*cx,0.1571*cy)
VectorSourceColor(RGBA(90,43,2,255))
StrokePath(0.0057*cy,#PB_Path_Preserve)
Select background
Case #COLOR_DARKWOOD
VectorSourceImage(ImageID(darkwood),255,280,280,#PB_VectorImage_Repeat)
Case #COLOR_LIGHTWOOD
VectorSourceImage(ImageID(lightwood),255,450,450,#PB_VectorImage_Repeat)
Case #COLOR_PLASTIC
VectorSourceLinearGradient(0,1.0000*cy,0,0.1571*cy)
VectorSourceGradientColor(RGBA(223,148,109,255),1.0)
VectorSourceGradientColor(RGBA(153,78,39,255),0.0)
EndSelect
FillPath()
VectorSourceColor(RGBA(255,219,188,255))
AddPathCircle(0.2656*cx,0.5857*cy,0.1953*cx)
AddPathCircle(0.7344*cx,0.5857*cy,0.1953*cx)
StrokePath(0.0156*cx)
AddPathCircle(0.2656*cx,0.5857*cy,0.2016*cx)
AddPathCircle(0.7344*cx,0.5857*cy,0.2016*cx)
AddPathCircle(0.2656*cx,0.5857*cy,0.1891*cx)
AddPathCircle(0.7344*cx,0.5857*cy,0.1891*cx)
VectorSourceColor(RGBA(90,43,2,255))
StrokePath(0.0031*cx)
StopVectorDrawing()
EndProcedure
Procedure Clock()
Static current_indicator_1 = 0
Static current_indicator_2 = 0
Static flag_active_1, flag_active_2
Protected cx.d = CurrentSize
Protected cy.d = 0.546875*cx ; Aspect ratio is fixed
Protected flag_angle_1.d = 0, secondsleft_1 = 0, thisflag_1
Protected flag_angle_2.d = 0, secondsleft_2 = 0, thisflag_2
With PlayerTimes\LeftClock
If \Minute >= 55
flag_active_1=#True
secondsleft_1 = (60-\Minute-1)*60+60-\Second
flag_angle_1 = secondsleft_1/300*90-90
If secondsleft_1 < 220
flag_angle_1*1.15
EndIf
EndIf
EndWith
If secondsleft_1 = 0 And flag_active_1
PlaySound(0)
flag_active_1 = #False
EndIf
If flag_angle_1 < 0
thisflag_1 = CreateImage(#PB_Any,ImageWidth(flag),ImageHeight(flag),32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(thisflag_1))
SaveVectorState()
RotateCoordinates(0.5000*ImageWidth(flag),0.5000*ImageWidth(flag),flag_angle_1)
MovePathCursor(0,0)
DrawVectorImage(ImageID(flag))
RestoreVectorState()
StopVectorDrawing()
Else
thisflag_1 = 0
EndIf
With PlayerTimes\rightClock
If \Minute >= 55
flag_active_2 = #True
secondsleft_2 = (60-\Minute-1)*60+60-\Second
flag_angle_2 = secondsleft_2/300*90-90
If secondsleft_2 < 220
flag_angle_2*1.15
EndIf
EndIf
EndWith
If secondsleft_2 = 0 And flag_active_2
PlaySound(0)
flag_active_2 = #False
EndIf
If flag_angle_2 < 0
thisflag_2 = CreateImage(#PB_Any,ImageWidth(flag),ImageHeight(flag),32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(thisflag_2))
SaveVectorState()
RotateCoordinates(0.5000*ImageWidth(flag),0.5000*ImageWidth(flag),flag_angle_2)
MovePathCursor(0,0)
DrawVectorImage(ImageID(flag))
RestoreVectorState()
StopVectorDrawing()
Else
thisflag_2 = 0
EndIf
face1 = CreateImage(#PB_Any, 0.3750*cx, 0.3750*cx,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(face1))
MovePathCursor(0,0)
DrawVectorImage(ImageID(ClockFace),255,ImageWidth(face1),ImageHeight(face1))
MovePathCursor(0.1500*CurrentSize,0.2250*CurrentSize)
DrawVectorImage(ImageID(indicator(current_indicator_1)),255,0.08*CurrentSize,0.08*CurrentSize)
If ActiveSide = #CLOCK_LEFTSIDE_ACTIVE
current_indicator_1+1 : If current_indicator_1 > 3 : current_indicator_1 = 0 : EndIf
EndIf
minute_angle.d = PlayerTimes\LeftClock\Minute*6 + PlayerTimes\LeftClock\Second/60*6
hour_angle.d = PlayerTimes\LeftClock\Hour * 30 + PlayerTimes\LeftClock\Minute/60*30
SaveVectorState()
RotateCoordinates(0.18750*cx,0.18750*cx,hour_angle)
MovePathCursor(0,0)
DrawVectorImage(ImageID(hand_hour))
RestoreVectorState()
SaveVectorState()
RotateCoordinates(0.18750*cx,0.18750*cx,minute_angle)
MovePathCursor(0,0)
DrawVectorImage(ImageID(hand_minute))
RestoreVectorState()
MovePathCursor(0.07*cx,-0.0300*cx)
If thisflag_1
DrawVectorImage(ImageID(thisflag_1))
Else
DrawVectorImage(ImageID(flag))
EndIf
MovePathCursor(0,0)
DrawVectorImage(ImageID(crystal))
StopVectorDrawing()
face2 = CreateImage(#PB_Any, 0.3750*cx, 0.3750*cx,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(face2))
DrawVectorImage(ImageID(ClockFace),255,ImageWidth(face2),ImageHeight(face2))
MovePathCursor(0.1500*CurrentSize,0.2250*CurrentSize)
DrawVectorImage(ImageID(indicator(current_indicator_2)),255,0.08*CurrentSize,0.08*CurrentSize)
If ActiveSide = #CLOCK_RIGHTSIDE_ACTIVE
current_indicator_2+1 : If current_indicator_2 > 3 : current_indicator_2 = 0 : EndIf
EndIf
minute_angle.d = PlayerTimes\RightClock\Minute*6 + PlayerTimes\RightClock\Second/60*6
hour_angle.d = PlayerTimes\RightClock\Hour * 30 + PlayerTimes\RightClock\Minute/60*30
SaveVectorState()
RotateCoordinates(0.18750*cx,0.18750*cx,hour_angle)
MovePathCursor(0,0)
DrawVectorImage(ImageID(hand_hour))
RestoreVectorState()
SaveVectorState()
RotateCoordinates(0.18750*cx,0.18750*cx,minute_angle)
MovePathCursor(0,0)
DrawVectorImage(ImageID(hand_minute))
RestoreVectorState()
MovePathCursor(0.07*cx,-0.0300*cx)
If thisflag_2
DrawVectorImage(ImageID(thisflag_2))
Else
DrawVectorImage(ImageID(flag))
EndIf
MovePathCursor(0,0)
DrawVectorImage(ImageID(crystal))
StopVectorDrawing()
clock = CreateImage(#PB_Any,1.0000*cx,0.5469*cx,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(clock))
MovePathCursor(0,0)
DrawVectorImage(ImageID(buttons(ActiveSide)))
MovePathCursor(0.0781*cx,0.2429*cy)
DrawVectorImage(ImageID(face1))
MovePathCursor(0.5469*cx,0.2429*cy)
DrawVectorImage(ImageID(face2))
MovePathCursor(0,0)
DrawVectorImage(ImageID(ClockBase))
StopVectorDrawing()
; If IsImage(thisflag_1)
; FreeImage(thisflag_1)
; EndIf
; If IsImage(thisflag_2)
; FreeImage(thisflag_2)
; EndIf
;
FreeImage(face1)
FreeImage(face2)
ProcedureReturn clock
EndProcedure
Procedure RefreshClockImage()
StartVectorDrawing(CanvasVectorOutput(0))
AddPathBox(0,0,GadgetWidth(0),GadgetHeight(0))
VectorSourceColor(RGBA(255,255,255,255))
FillPath()
If IsImage(CurrentClock)
DrawVectorImage(ImageID(CurrentClock))
EndIf
StopVectorDrawing()
EndProcedure
Procedure DrawIndicators()
Protected sz.d = 0.08*CurrentSize
indicator = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(indicator))
MovePathCursor(0.5000*sz,0.5000*sz)
AddPathLine(0.5000*sz,0.1875*sz)
AddPathCircle(0.5000*sz,0.1875*sz,0.0625*sz)
SaveVectorState()
RotateCoordinates(0.5000*sz,0.5000*sz,120)
MovePathCursor(0.5000*sz,0.5000*sz)
AddPathLine(0.5000*sz,0.1875*sz)
AddPathCircle(0.5000*sz,0.1875*sz,0.0625*sz)
RestoreVectorState()
SaveVectorState()
RotateCoordinates(0.5000*sz,0.5000*sz,240)
MovePathCursor(0.5000*sz,0.5000*sz)
AddPathLine(0.5000*sz,0.1875*sz)
AddPathCircle(0.5000*sz,0.1875*sz,0.0625*sz)
RestoreVectorState()
VectorSourceColor(RGBA(255,0,0,255))
StrokePath(0.1000*sz,#PB_Path_Preserve)
FillPath()
MovePathCursor(0.5475*sz,0.2850*sz)
AddPathCurve(0.5625*sz,0.4000*sz,0.6038*sz,0.4888*sz,0.7037*sz,0.5600*sz)
AddPathLine(0.6613*sz,0.6438*sz)
AddPathCurve(0.5413*sz,0.6062*sz,0.4587*sz,0.6062*sz,0.3388*sz,0.6438*sz)
AddPathLine(0.2913*sz,0.5600*sz)
AddPathCurve(0.4125*sz,0.4550*sz,0.4500*sz,0.3500*sz,0.4500*sz,0.2850*sz)
AddPathLine(0.5475*sz,0.2850*sz)
FillPath()
StopVectorDrawing()
For i=1 To 3
angle.d = i*30
this_indicator = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(this_indicator))
RotateCoordinates(0.5000*sz,0.5000*sz,angle)
MovePathCursor(0,0)
DrawVectorImage(ImageID(indicator))
StopVectorDrawing()
indicator(i) = this_indicator
Next
indicator(0) = indicator
EndProcedure
Procedure DrawFlag()
Protected sz.d = 0.12*CurrentSize
flag = CreateImage(#PB_Any,sz,sz,32,#PB_Image_Transparent)
StartVectorDrawing(ImageVectorOutput(flag))
AddPathCircle(0.5000*sz,0.5000*sz,0.0900*sz)
VectorSourceColor(RGBA(255,0,0,255))
FillPath()
AddPathBox(0.4600*sz,0.5650*sz,0.0800*sz,0.3600*sz)
AddPathCircle(0.5000*sz,0.9250*sz,0.0400*sz)
FillPath(#PB_Path_Winding)
StopVectorDrawing()
EndProcedure
Procedure InitClock(size)
InitSound()
CatchSound(0, ?click)
CatchSound(1, ?tick)
CurrentSize = size
DrawIndicators()
DrawFlag()
hand_hour = Hand_Hour()
hand_minute = Hand_Minute()
Crystal = Crystal()
ClockFace = ClockFace()
DrawButtons()
DrawClockBase()
EndProcedure
Procedure UpdateNow()
UpdateNow = #True
EndProcedure
Procedure ButtonHandler_1()
ActiveSide = #CLOCK_LEFTSIDE_ACTIVE
UpdateNow()
If IsSound(0)
PlaySound(0)
EndIf
If IsSound(1)
If SoundStatus(1) = #PB_Sound_Stopped
PlaySound(1,#PB_Sound_Loop)
EndIf
EndIf
EndProcedure
Procedure ButtonHandler_2()
ActiveSide = #CLOCK_RIGHTSIDE_ACTIVE
UpdateNow()
If IsSound(0)
PlaySound(0)
EndIf
If IsSound(1)
If SoundStatus(1) = #PB_Sound_Stopped
PlaySound(1,#PB_Sound_Loop)
EndIf
EndIf
EndProcedure
Procedure ButtonHandler_3()
ActiveSide = #CLOCK_PAUSED
UpdateNow()
If IsSound(0)
PlaySound(0)
EndIf
If IsSound(1)
If SoundStatus(1) = #PB_Sound_Playing
StopSound(1)
EndIf
EndIf
EndProcedure
background=#COLOR_DARKWOOD
InitClock(1050)
SetClocks(3,55,0,3,55,0)
ActiveSide = #CLOCK_PAUSED
StartClock()
size = CurrentSize
OpenWindow(0,0,0,size*1.2,size*0.8,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget)
BindEvent(#UPDATE_CLOCK, @RefreshClockImage())
CanvasGadget(0,size*0.1,size*0.02,WindowWidth(0)*0.9,WindowHeight(0)*0.75)
ButtonGadget(1, WindowWidth(0)/3-50,WindowHeight(0)-30,100,20,"Press Left Clock")
ButtonGadget(2, GadgetX(1)+110,WindowHeight(0)-30,100,20,"Press Right Clock")
ButtonGadget(3, GadgetX(2)+110,WindowHeight(0)-30,100,20,"Stop Clock")
BindGadgetEvent(1,@ButtonHandler_1())
BindGadgetEvent(2,@ButtonHandler_2())
BindGadgetEvent(3,@ButtonHandler_3())
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
DataSection
click:
IncludeBinary "click.wav"
clickend:
tick:
IncludeBinary "clocktick.wav"
tickend:
clockface:
Data.q $0A1A0A0D474E5089,$524448490D000000,$BC000000BC000000,$C449C20000000608,$4144494D190000AB,$15AC3D9DEDDA7854,$F0D0B0634FC716D5,$632A0E94ABE75E3A
Data.q $31A0B0B4A2B10C2C,$AF0B70C1A4A0B0A1,$109898798C634284,$82C049125124688D,$4C4144431A09A148,$1F882A2835CA8A8C,$BF379C8AB97A0D41,$98FECCD9F61D7779
Data.q $93FD6733ECE67B39,$FF33B98FDCF72E13,$03063EBDFF5AF6BD,$DB02A6C0A7FC1245,$0A07022C70B2EC0B,$D6F33F00A5B7DFD8,$055FE39D15877A02,$8168F21002D6E020
Data.q $BFAFEBE26B0C0AF7,$E7BEB5DFF7FDFE1E,$DDF8054BC6160172,$228A9F4053DC0B9B,$815CEC90DC86D5A9,$B3C3ABEAFABE7258,$61A8FC57BE56CF67,$1F0F870B97CBA3F1
Data.q $818BD1C7F1FC7E1E,$06EE81160144F745,$DEC46E00BBFC688A,$786472391F823E02,$3C1E0F012719CCE6,$3FC26378FC7E3C38,$EA0B2305CEB3ECFB,$0176002EF3BEEFBB
Data.q $2FAC318AAA7D2376,$E3771830633C7580,$B7EDEA1274FF3FCF,$53A7850BB0AD2EDF,$F29EA7A9FE129ABE,$7E5FC3DDEEF77A12,$6EFFBFEFFEF9C5F9,$7D325C2A7651CF5F
Data.q $51F02B6F8BEA73E2,$B4BA7D3E9CC22A81,$39EE7B9E36B02EA2,$C2537CAC7758FBE7,$F058585C42CD08FB,$172C23155FBC38BA,$01CC1651F5C33DC0,$88713E4243505770
Data.q $FBE745C5C5D05854,$FC2637F7FBFD982C,$3D9EEF01BDDBEDF6,$8512E10AE3EF9C7B,$29C3B00B7FC0B170,$80F393E278167A33,$212F3EDF6FBE07CD,$18875DB784056E42
Data.q $DDBE4C5A1F0885D2,$7DFB26FE014EE423,$9C67780D3C763A76,$E24B8F07AEDF6CE8,$7C9BD5F1D1F13C0B,$88DE7F9FE7C43B3F,$F4D10EE52B2B2BF0,$28C6A02FAF0142BA
Data.q $2C6C219FC4A08E70,$F7FDE2AE5117D870,$2F8BE2FF4FC89FDF,$8D2E51F04AEBC6D0,$FD7F5FC34B4B4B0F,$3F1A5C1DD8D0B9D5,$3F9A2E405F7DE79F,$18438319B9068F2A
Data.q $F8792967D610E893,$6BB5DAFF7CCEE0AE,$ABB03EF0949894C3,$C72B90FDB4355CF8,$55AE47C42105942D,$F2AC8139D1646586,$78589A277C3B5185,$D65C0EC9A90BBD2C
Data.q $41EF9D9797961539,$4BB13DFE1681DF76,$CA7F16AB7483BA95,$47D3C4E8432A22D2,$B4050E1292DB90E8,$8F8105989DDC8433,$C8BC829BECA5D28F,$9AACB8BE21E1E7CD
Data.q $18D03191A89962CB,$7DB431161E6F379B,$537B91B0BC2C3A1A,$0D76B688C2C30D78,$DC57BA1ADFDF2BDC,$76672AA8EC2C5967,$E1FC902FB8B26E00,$436DDB76DE1E1F87
Data.q $75B1B6AD590FA19F,$5E21E126D092D6EB,$773BF8879F9541B1,$536DB6DB7F111CEE,$86C361B86ED0CEB9,$1D0E8786EB75BAE1,$169D1547370E7D1A,$9CA61B2EE6E54DC0
Data.q $687B78A49008790F,$D4801B7CACB5ECC9,$38217849B2217658,$93E5E3AF95AF97A4,$F1BC572B95C0DB4B,$18A1F66D7275670E,$D509A5940503ED3B,$083C828A17225717
Data.q $A75BF6FDBF0BA92C,$36249A1164AE4204,$DEEF7E11F7158F09,$C9FA7E9FD02F9DBD,$75FE2EB9D9630419,$084ED41A6428B149,$C28143B27D96410E,$27D0C0ED32888CB8
Data.q $767D318DC7849A41,$B774C17784DA7BAE,$86FD1CD26185D742,$93BE24B8EA688C0A,$0F94D66B35FFB645,$A9DBEF0816702084,$376F7289B8B85A72,$01DD25880DE8DC6E
Data.q $170278B2829A4503,$8964295F8E5C7426,$F97A58F08ECB0DC8,$159EEE605CFEFC3A,$D4F4920774DE1D47,$E04B2A90C2E869C5,$1045C4AFC7123AE9,$F378456505E02F79
Data.q $80D777C15DE9F1DA,$A25F05DF10ED72E0,$2BB32A0C1C06351C,$05F7284BFE509854,$364D2A44501E52FF,$FAFEF94B65B2DF84,$43C58813393BEBF5,$EC4030C054143D0F
Data.q $3E28717151ACAE4E,$34216C7AFE1B9651,$83521E18FCBEE639,$A6E9165E11A9EA9A,$FD7175A2251A9B4D,$DF82B0F3D0B0C3BE,$EAA57852764F739D,$58CFEA0ADEB7ADE8
Data.q $FAFD787D7F5FD794,$065C7847C02CE1F5,$F3EEAB936BADA7AC,$C7F1FF5EEB86BB97,$549681CC6F6D651F,$833764D7320A916F,$17457C792A7D2253,$EBF8D859E11706B3
Data.q $AE3CFE4DD8F63D8F,$01062C5D06299B4D,$7773B304145ECC46,$C70F62B973204B3A,$480B184F9F7A4012,$C2170BAF795E0AE5,$5FB48653185C7845,$6482B687DC20C55D
Data.q $E0A373E545322A5F,$366A36C3D97C4050,$8DF2AA2A36EBFA89,$036EDB61214082AB,$48BEE31216BB4244,$A50BBE11F7E41D69,$8D61453C9AE16B86,$5C433DF2E18D2EC1
Data.q $08E58B9C9E93DED9,$995E5795E84090CD,$9B6BDF3784DAAAD8,$2725F372582684F0,$BDE2F27BF6332895,$E2784D487DCEC8AE,$CC9E62236BEEC82C,$747643B2D6F6DAE2
Data.q $9FE7F9F8198950DB,$6E0C7991D668DD6B,$2EC3029CBDEABE12,$E161B4F9E6607C41,$EF7D5A01E145DC63,$B2E1DDB3B3E9BD2C,$9B44CCCC0EBE90C4,$349E133CE189E6F0
Data.q $076263E136DEC86A,$137A6F7079717BFC,$A41B7B3ED965B2C8,$7C78428759D857E7,$0C76F0B579BDFB62,$EC819BB26DE135D1,$BD26DB1E96DE93CC,$27BBE129EF55F08B
Data.q $27D33964A6EC8BBC,$F4F484FED2051FA8,$7E5FF09BF7C25162,$77B6C286EC97A5F9,$06EA05D362637326,$4DAA3C24D9F84AA7,$3C2299906B4CD4AC,$6D570EAE71FC6089
Data.q $0703EF0FBF9F0941,$DB6709333C7F528E,$918369A47210E48D,$52F08FF7C251915A,$77D9D84825A92C7B,$5022583EC378A046,$E127CFC250883D89,$D9F468252955EAB1
Data.q $D2E6452EA904372A,$292D55F5EAE54BA5,$82F99824F093E7E1,$FEFBB7EB66E21A59,$D5A1785E179ADC30,$C9FC22D9F84A7356,$036BB38C52A32793,$FF3FC0DFC1D7DDB2
Data.q $7921EA940DEAD3FC,$CC1AA47BF6B7E999,$76716AC1D9FACC23,$26CCB8382627C58E,$10F47C2EF6FC46E7,$BDEF8D57B32C44EC,$72BE60431D160279,$BA9EE642DBCCBC26
Data.q $43478EDF8805CF3F,$20FFA28C8A574B75,$55373EE8FD8CDC55,$CB66B4297BDDDBC2,$B3041FF455383B6C,$175A98987823C29C,$12D23B6E55717E04,$6287114932304A17
Data.q $DAE0FE2E6F55213E,$A85601D4A1F0854C,$140183614296B86F,$D0F8CAE97CFF3FCF,$ACDF1191ADB36779,$8F251883E4501774,$5D17E1E18D9DC58E,$59D16E62963DA5CC
Data.q $CF96862508BF2556,$17F455EC75B97BC8,$6D0FF4B765A50DF4,$DFB216D5C6F153BD,$196E5B96F0EDFB7E,$EC16D15F46A15A9B,$79F96F7BDEF740F1,$707414BC255A2DEA
Data.q $ED76B5E5EC766150,$62A991A5CC9252DA,$F0B1C84FB51181F6,$3AEB5BF94E7A9F66,$34F1769099105F60,$91B008519D54B39D,$A11D293709CBD114,$B166C027268C5D93
Data.q $B27897BEABEA7D39,$775DD77E0830E4F3,$704DC35E97DF118D,$203F4171A7BC40B9,$20CA519C8231B72D,$C71CE64A7575FE37,$793959D7C60B12E6,$556307F8DF46D972
Data.q $34AD22E51FC8D2E2,$8B337AF8F4B3B243,$1F8526A4F72D9F0F,$F9037B33D44CDD10,$B796ABB5DAEFCE7A,$21D9A35C3F97DC90,$DD92F35ED7B5FB96,$20AB050B23DF3C26
Data.q $6299153093231EA3,$0F5B314DC4E28D60,$2FCBE1D5EAF570BA,$62F2B32577EB5CBF,$2D4B0155863B63DD,$D6CAB299BC22AE24,$4708F5D29B863725,$24D2F6277C483A45
Data.q $BC08A9383B14AF3C,$32A7D4EEB1795992,$D97DDDBA871C93CB,$EB64AF1D5C5170CA,$455EA0E2983F09B3,$CCF0D2E9B7BE981A,$49C14A5407E90127,$3BBEDBCAD89D83A9
Data.q $E8D9897E191C9E16,$BB72AC369555163E,$14BE434E7C24C94A,$8FC6F76E136CC193,$D9982489C93E3B05,$EA392FF2B627D613,$C7F1F8152362C8BF,$AABE1154E6E5AF1F
Data.q $914096A4FC24CF2C,$79C9A2414D3E0807,$BE182ECAA753A9CD,$5C7714AFA7C6F3F4,$169CDE1154932C4E,$0D98A3705F784557,$62DF51275B716E40,$A1696CD8E71B1192
Data.q $36CC52F3C2137951,$1E24FB6C8A44C388,$C70B68F014A8DD23,$84DBAEC7B78455A5,$8B1A642ECC54AE47,$0B39D6D31F93B3ED,$A2171B700A76BAC6,$756355EDF9FCFC3E
Data.q $58C1F68E2D073C08,$0231A3D5CEFC22D7,$1FABB85A5498D404,$0462EF84DA57298A,$1D937633203D228C,$DCEE52E7C118EEDA,$0BFC37A828882708,$A8B865599C88156A
Data.q $403CB171717F1031,$88CCDE10536A8BB0,$3D456D54CB9F09B3,$149D7822FD99B1D8,$66189B86470C92C8,$CDE574A2CE89BD53,$DFA2A713E1C4D870,$57C5640BA37DFF7F
Data.q $40726B58AC94DE11,$93F080C8A56792D1,$83CB37CDF37AC236,$6B477B1555E00627,$E9BA91D48DEB76F2,$792275588B419B9B,$4C42E1526B350AD9,$3CBE738F4B546BED
Data.q $A896CAF1D55009CC,$2E9691760C2CF4B0,$8FF8560E08473143,$EAB77D98A15A2E39,$802CC50A1BF69258,$0867722843DE6146,$C08196629E55B400,$4F09380A9B941922
Data.q $5F1490C89019207D,$450ACDF291D92FF0,$D36121EEA348C08E,$5AC06CE07424557C,$87E77FC843F24725,$85342B65A3E8FA3C,$1DC357D5F57C2722,$36DCD919C694763B
Data.q $B280D43432794ECE,$8C93C8C43722852B,$2598A1556EA89A63,$8A0116D65D425654,$D7AFB231D4C3829E,$F94F53718F454494,$EA6E31E8AA385ACD,$490483B48AC0464E
Data.q $339142BD21A86476,$C7BD0A46D5092CE4,$B3480BE318495702,$8C923906D11C22A4,$64545DEBCFE7F3B4,$47834787C926B20D,$1D4439187463E4A6,$B269A1F39573244B
Data.q $8CCE0EE4559E3442,$DFD958D267ABB720,$CCA31CF4544D4D39,$700E62860FB55BC9,$D6628560677440A0,$58B7D7C078314A31,$50EB1D583809E8A1,$9C0327651DF450A0
Data.q $224BC8D4201CDA79,$192812CC578BCD5E,$D6967C249E72DE15,$3FE617C80DF4541D,$63A25AA405F2F068,$FB451F8693D3AAF2,$47F1554DA8153205,$279CB785DDD025D1
Data.q $ECE3429370C59F09,$3B468FD532175C10,$A0681D3C9B49639C,$1E23C7FAC7B1F488,$A7EACB28BD94A9C2,$BA30F74B92C78414,$229873B4F3ED9811,$82CEC4FE06213206
Data.q $41FD27BB2A78446A,$1D042CF09B19CF66,$A13062DEF908AC5A,$1689ABC6946FDDA3,$DB24A7378424D6D5,$3C2188A1423F9784,$FFF75E449FCDB87E,$81325EF68251FF09
Data.q $408452A62D7845CF,$51D55FC81ADC6D5B,$E1A3CCBDB99C513A,$959595AF43856097,$01F31542B54F8446,$39770354A8652FB3,$921A7CCA4E115BC4,$4D0CBE35F783C9E3
Data.q $6148AF09413B20E2,$73043FFCDA76CDE5,$95F77DDF75EBAFF6,$7C9FF0B1E125F239,$BA5249178444C9F2,$7515E1F57BC34AC2,$974A60D281C0E070,$F843133B90BE1469
Data.q $914F8586F07C1F07,$6B17074120184C1A,$1D450AD81694278E,$257CA9528F23993E,$85A270F9A44BDFE1,$6C96449E0E4BC36B,$6787307FA295907B,$2C892056DAF74AA4
Data.q $DFD0362E46550369,$F2F663428128A149,$4B2940C7AA9F0935,$2C74E73587D69EA6,$1C46170F98A476F5,$E659668CA9F0930E,$1195C68B86972A97,$0C4555835E5F1DFF
Data.q $A53216396E428A30,$3134B95138E754EE,$549E10AD0480FBBD,$23BEB4D456FC2D03,$282C8E53018CDB59,$B524693D2AE44F09,$4FD3F4FAF074DA52,$E24B64875A2869F5
Data.q $1F3AEBDBF1DD60CA,$8BC1D36959C304A4,$8787CCA69BD27F29,$D79E49787C87FCF0,$E2623486598A4C46,$BF092F87C91ABF45,$3EECA09CC514655D,$5F18127315257DA6
Data.q $0758C1B98AC1CED4,$7B1CF4550A3D65E1,$145D93467F088C0B,$686EE3BC68ED073D,$DF37EC41CB844AA4,$9C4E35914C77A37C,$1B4A24C3316A3138,$839481D5686F6363
Data.q $868D95696C8B498E,$58EE452443D10FC9,$7BBDD998B51A5A5A,$8B65349E978B48F7,$5DFD127C6459010E,$C5E2D100FA2AB267,$6F55C8E6E44D8FDA,$E46C63E6A0AFA291
Data.q $0AFA28B6F4F73D0D,$1143A95B1A6F8232,$9789821868C57D14,$92599453D15AD2B4,$99B07530F206B636,$25D2E97A66704722,$4C80AB0163CBFBDF,$44A0C86B510BF332
Data.q $C8A157C8878911E6,$7DE99AB5D1119C09,$4A3360E690C8EAC8,$F9D10AE2702E0758,$95F210A3CE787466,$A43B21C901DC8AE8,$6AC276306818BF87,$1429FF46BAB5E643
Data.q $ACF9B1807C8602B3,$CD184FA293DE7436,$8A4DBD7904817275,$00BB18AD2C7B80B6,$5613745210836239,$6CBA2F4A14D4AA28,$D534210E0B7658BD,$21428193B636008F
Data.q $BA3E2A35ECA7B2C0,$06695C10BED4E50F,$C30B0B0BC044476C,$696CB1744C2E170B,$BA63FF90785200DC,$54A448E617662AC4,$8E47915906CBA784,$5C09D32BE1D4A91C
Data.q $6449A420FC7BF690,$4A25499F6478F41E,$4BA5D90F1FC94B3A,$B2827EABC2D7E419,$F109099349BA36E9,$3E3F1F8FD191E1D1,$A9C858B19765FCB2,$2994A53E1CF0F92B
Data.q $AF48412CD98E3C65,$EB4DB02D03FD0DD9,$83C1D1F9CF0F96DE,$81755D3CECA34B07,$D5591F95CEA36E2F,$2FD218ED3BFC502F,$EB12766C87843850,$6D17506C2F256822
Data.q $4115014784999324,$A817EF85A82A0648,$95F092E83A7DA22B,$8E621455B42162C9,$9F00AC7EACF481C7,$6CCD5880FEC252D7,$A8F62A6FE115DA8E,$E554348C7C8E5083
Data.q $FF6B96744923D9D3,$FF8414D45D330180,$FB99535F82BFAFEB,$0131D15DBB8A0B1E,$548256809350B202,$DCD085FBBB13A5F3,$0FC3F0F8BCB50725,$9616A5C52110C54B
Data.q $5E0CDE4D029B23FD,$50123A206E518489,$5E91555086528913,$997CC22100FEF8F5,$0C25A4E9B01119CF,$6E0D302974E548AC,$2D29419208412A54,$1FCED4493355E83C
Data.q $7BE3666D6CF7A92C,$B49D53F161F3F2B5,$66F6C3B4AF8C7842,$EA6DCD55F2B5D646,$0139B0F1993F6642,$26E86213F65CDB50,$49FC80CBC05C6771,$47F3A363E56DBBAC
Data.q $6D63D13DF2A4791E,$7EE323683FA64801,$18080F8522DB8202,$BBBAC491908EA870,$5579710A45D7797C,$E13556E291934ACD,$1791509E354F9FC8,$E3E03EF071ECFB10
Data.q $26819D0962CD6C8B,$9410C5CF2B21EEB5,$F93F056C66B359AC,$F4DFAFD7EBC393E4,$219DC0E2C15792F5,$469735E2D1EBE588,$C771DCDEE7627B81,$5DD6A4C9B0DF431D
Data.q $8B9C9F2CCC8E51B0,$F1EF93ED6B0E2F31,$875538739B0564E7,$F26F3F92E0809857,$2DA0C6FD4D746EC4,$C7B17DD568D4E01C,$CD62BE46757173CB,$08E3E15574F4DAD9
Data.q $66B8C76BB5DACD2E,$8BC235A6C131681E,$BF6F0E3F8FE3FF2F,$6235317397F2F6FD,$E5E4B03036A2855A,$7CF6FEFFBFEFE108,$9E6799ED04321B77,$205745685A9A5729
Data.q $D1551BC306B713E6,$C557BAD61D482934,$99B11A9337EDE1B4,$B51464FA2B2B2B94,$C0AB56186810F6FD,$45489692EB006523,$A22A09F4378DE378,$3E5A7920F1243641
Data.q $15CBD802FAA81AB4,$D465AC8844533C0E,$89900AA407514288,$76862E2655750D4B,$2A50B9BC53982D30,$14FAADA3D9ECF7C8,$EEEA69C314C08313,$E79AB7BC3EAA059D
Data.q $0548A15C82A48AC9,$3645980196E9635C,$E4DAACBFB8483698,$D73CE4E16FCEC24C,$36C458F7344E9533,$A737276AF57ABD61,$86E7D93A5E49592A,$B5F627648955521A
Data.q $73CF3EC5AED76B89,$7D096A04E41D3DF4,$A73DFE1754B54D17,$61BE414D32D2BE72,$02BA837D0FEEAA14,$46D6F3EDF6FB1B85,$4720CF74D717B7E3,$A0D187F27DE4731C
Data.q $9F2D52084911453E,$F14BB784CFB296B2,$371F7A4EB7B2862A,$17D0440B4EA21AA2,$38AB436E0A47B4AD,$31F399AD93604825,$BFEE308EED7FF179,$48FEEC82BA310A87
Data.q $1CB0A731EDFAD9DA,$8B6E3C20316D753E,$3BABDBE4C7C76279,$F915D9D7F1784E33,$F4B1757011EB34FF,$6E5A87B7E9664322,$B3B4CC4A5EC632E7,$CF44598DE1480DD9
Data.q $396702AF6EF55DC7,$6F61776FDACDF034,$DD56A5A5A58DCF64,$3A7AAB891496AC1D,$10A02E4020E9784E,$9CFB1DCB0FB72DBF,$FE038702903A92A7,$6A9E563EFF01370C
Data.q $6B60A2B20F1DD602,$4FB3780331A3C1AE,$5971EDD852ED1B50,$415660F573A7A442,$3DB7B211B94B9B46,$F0A04052597A5312,$D4E0ADAD7AAC6D12,$8102DB7E534EFA47
Data.q $B5F9D915DF3F9D87,$BE11564D2FCCD5DA,$0C049A7A45C6F54D,$15DACC694AE402FA,$25CC43D1DC3557D9,$25A74B9128A49560,$585DC06CB24D4A93,$76D9019AA7E91778
Data.q $FB3FD90C53F20DCE,$4E4FAB8CEE64B3EC,$282C4CBA96782097,$A66814869ACC4384,$0F893F0930218815,$341C821110863C4F,$40AE8E62F3A98B31,$4BAC8D26118B8FAB
Data.q $43F84D9745278D52,$CF8BDA7D90552690,$D4182F482BA2F0B4,$B6F58F081D76499A,$969BB26BD0AA910F,$85262BF25E77D7DE,$DFD397849A70CFDD,$8C38AD707D634641
Data.q $5769B8F8B77325E3,$52FA9C9CE2EC135F,$A7D3764F7A637049,$521D602AC7042AAF,$9A0696E68B76F7F8,$C1B5C5BF484056D4,$3D7392C1D77B4FE2,$05D2429CF2934392
Data.q $EA3AD402AF659EAA,$29B2620D6259298D,$A8A4CD00F3228763,$E9E699A79B79E669,$742093F49B4F1F26,$9C7A42F75BB5527E,$D552D0EABA3FA744,$E2F8BC5160454A12
Data.q $0DCB18252B3D958B,$C1CE5393C2C56BB6,$73331AE19CC26B6A,$41E497A92895CAE5,$62252950FA666D71,$BF6499D465560627,$BCEDDBD3B33BCEF3,$5D72BCF09354FE73
Data.q $B19D7B23AB5EB8A8,$A6CCCC6E4E004C49,$F2E6F4D6709DB40B,$43650E8743A042ED,$A106EDE110C3821C,$F0B77D5C3B8CC039,$25CCC5020C8A43CF,$196C954C6E057582
Data.q $2DCB104916F9660A,$524650A7C2C62667,$BB2282ABE2CC9CC3,$AA5C86CF55485191,$D47B30669DF14999,$D637286E48DCE530,$F6D020B729F13305,$798A516B9F08ABE1
Data.q $A24E3655BBE9ED52,$94A95D64C2E98C97,$DBEE8838DC61B823,$79A001CE48AA65F2,$B05726C51E136BE2,$7DE8D2375BADD758,$5C0930BAA9C106B1,$94361B0DE470D09C
Data.q $734A5AB92409840F,$5CA20E5CF84D91C6,$80D7FAD5835CB990,$D5C7170A4C2EAC14,$50F98107DD7252C7,$8CB0692A9D9ECF67,$E31C527A0E42CD32,$A315176FA36E02A7
Data.q $2005A617510E2AE2,$9B76EC4A9E319D6B,$36BA68104521552A,$2FC21C75D2E693D4,$88DB9F0145382C2C,$541F3EBBFB7A9F55,$F4FD3E0A2646FFD1,$6F0115017C7125D3
Data.q $0CD8E528A2B5B52E,$C0C25DC3F169938A,$4D5C76BA3DDF77DD,$711A3B404C3BD6D5,$1A3BE99C832B81E2,$7DB7279C0F83E0FF,$BE709C4E27E7B902,$4C7943AD53074A4F
Data.q $E57E24DCCE8C1B18,$65718DD2F9FC5A04,$3D3E9F4E15792C64,$91001E70FF7FBFDC,$2B21A535BD171717,$7032F328D8C1918F,$33B831B8AE86EC73,$B85DAC17D699D03E
Data.q $6F3866269715A170,$F9C1F87E1F97BCD3,$8091FB7D7C827D3E,$4BEEAAD991B33AAB,$3B8F8B102947C486,$9096385B43DDF3E3,$423532494C352E40,$7B9244397DE85C2E
Data.q $335D94B58D2B3642,$EBEDD6CF7E90FC40,$393C9E4E77521222,$753F84E77CFE7F3C,$C016D486F7F394EA,$A25175C4F8F50F22,$97DF1175474820CF,$D49FBEFBFDB31979
Data.q $D9E111B77DDF77D9,$767EC69DE779DE59,$02B835D274A34DC8,$B16E8AEE3195B189,$42791215787D80A5,$AE7D000AEA4B1096,$908B14AE7DE10C43,$873395C2E774D8C5
Data.q $80BEB4815202E186,$29B18480E067A532,$48FBC21D10B339A1,$697189FD44D1E283,$58263C60A106E97C,$2B2972A000C45A47,$AC955B2C345804E6,$BDFE42135D7D6109
Data.q $E0BBB7DE10C6CACF,$53BB9823B1D8EF9F,$F34F370B8F33C7E5,$3D7F346E481CE65D,$2BE2236A11895913,$D080BE287C218956,$C518E02D2B6974BE,$3E0F6E9C2B9FAA35
Data.q $B81F1780AE87653F,$C9E050F8431BC069,$4162F15800ED7262,$8CB011A28B2AA13C,$BDB3228F802C01B8,$7B52B2020B5C01D8,$8BEDBF7DF222ABEB,$F71E94BB3821C163
Data.q $055C5058045B5A2B,$AB08C8D5CEE906C8,$89C8648DAB1F0FDB,$6456E4ADDF8F8B32,$004576164DEC7401,$8F4DBB4D3EFEC8F5,$64F777D5A6EA01FF,$4549000000006ED8
Data.b $4E,$44,$AE,$42,$60,$82
clockfaceend:
darkwood:
Data.q $D7535479979D9C78,$4483CC21084FC7BE,$401B502145021064,$241E658033430D72,$257020B4DEBD5781,$0217843AF010EAF0,$8A2E06810235E452,$6C572AE810936243
Data.q $0B6A2540548A11E1,$1088D264521E4909,$5DC3DC8992029906,$67DBDEF1FDE7F86F,$FD9EFC7B39F6B5ED,$334CC69B6FDF9FDB,$81002C426C626380,$E02BD3007C040000
Data.q $ED6B6F6B6368E028,$D9D1C9C7BF676F68,$E21AE2E2EAEEE515,$34FB8A111513D07B,$12A4A78C4B0C343C,$433B4B0D831E3B3F,$A7C3CD479D999E3A,$73F94CBDCF9CAED0
Data.q $7B3DA71020EECE5E,$E507BBB906BAF75C,$A9939FFCE7458744,$F214135DDCB2700F,$4C413A8104E66011,$1FE4184EB824004F,$C39A8331048FF809,$836036D65696E02C
Data.q $999A85020CC0474E,$0196B07373306143,$213E3DB04EE603D6,$688FF053A4CE1651,$A37D2CF77565C388,$081EAC8F25EFF41F,$CFB2ED656ABC2ECD,$202A3F9FA0FDCDD5
Data.q $88F0B0D82387F310,$2427C5C6C4C59FA3,$FC4FC7E7D3FC67A6,$51E74F9FEE4E64F1,$A5E2E5FC2E8A0BF3,$AB5C575FE5E857CB,$1BEA72DF586FD7FC,$7C77D366E378DAFE
Data.q $8FFDFAD2D459B081,$FBB8975BFE74753F,$9E4A0E9E4FC781E7,$F47DFF2857217F3D,$DEA8DFAFE3EFD8E5,$ADAC2F579B9BBECE,$756B6C3EB736686F,$1FFA67FE7576BABB
Data.q $A1CDCCCCBA813975,$BB4BB3105D5DF0E6,$7B16213E61CC9C0D,$0E8FE73453F048A2,$E83DEEEBA2225997,$2ECDEEAF250DF2B7,$707D79803976B11C,$84EFFD943FDA576D
Data.q $FF612FFB297FFD5D,$CDC04285B01C6BAD,$2E23F54004013A83,$87AF1AA055B2A3C5,$BDBBDB16FA22102C,$8018B8C14DF4AB9A,$F0733579BA208841,$ABF846D5FC623137
Data.q $DFDF39F32168668D,$18FCDD00981644D0,$0A9A0A5FB98451E3,$A5400B92FA33C8E8,$447B63622B2A2361,$2A380154961FF42A,$C27A6C4FFECDF844,$229007A5EFE8B00F
Data.q $2B1B3EE169A99BC4,$AB43EE2FC2F809AE,$2840FEE80226E603,$5A2D707BC87B61E5,$09F3ADCFC4880C06,$94892467B517C8CB,$495AC959FB6842FB,$3CEBF71D48F98736
Data.q $302DAC5A224255CA,$A3E3D2F2990EB103,$D95208764A1C46EC,$FFC8EAF4242D686A,$2E638B5C1AB5CBF2,$3A3E8402653A5E93,$E90656B572C6E187,$C8EA2F11E8C92899
Data.q $AA469B7D85CF98A7,$25FEECB08714DE6B,$25ED114761CA399C,$5E76B8C4D9C6C89D,$11AD339AEE427199,$59867E1306051E18,$45BAE38E40B5C3EF,$B14E11F3FA92BAB9
Data.q $0E611B9AF29D0433,$578DAC7984F10DC1,$464ECD70CB18341B,$3F264485F8198EAE,$72741B219AC20267,$594ACAF948FBF34E,$C7DA5D78D9F6C3C2,$94F4D9F2BB2F6BD7
Data.q $E2F0EE806A2335BE,$97547A072A9BC56A,$038A011211E1248C,$4EE59C9B6D73CC3D,$B8C1018D36C206B1,$9E802DB35F869A7C,$02BEE22A2104C5C7,$3AAFB7B379E133FF
Data.q $33064E127A828616,$E7D84705D847205A,$84E6187089A9DC5E,$8B432DBE80A20D87,$0D509E73D0B4FDB7,$FA5FBB2D0DDBC3F8,$81B11C99F2B547A4,$28ED48702ECC7E2A
Data.q $515349F7CC356A0D,$587ADD1F3906C766,$9AA88E8138873F2C,$3FDDE97452AD1C51,$7A7665827DD961B7,$10876A953EF65B18,$FEDDC0A6B5792A93,$69B7495651DF1C29
Data.q $9995EFA2C9A7E4DD,$B23EECB9032F4597,$18ED0445F122664B,$D52E37F36A79CF69,$249EAD76495AA9AA,$F8C3AC12D8459F26,$67C0188C8FEC9D74,$FECB9821E324B8B0
Data.q $C5D662CC70A858DA,$BD955B88B52A7A21,$D9C744D452E4B6DE,$AB731C2494681693,$FB56418B4202A3C2,$6A6D5066E84C5A9C,$10E71D1329CB2DF8,$DD9BEC8803F6FB4B
Data.q $CA76D4AB554BFC8C,$EEB92904FE6C5569,$994AC4BF5F1BA626,$E59AF0E2E7FC00AE,$0D46BB78C740435D,$1678CF50E3AC57ED,$F19EA02DD4EEEF55,$EA3102B979806DD9
Data.q $79292DF3B7C114A5,$0898CD7A5D886148,$E3E34828771829BE,$8C49E9633D368842,$E309B96A32564480,$082922BC8C67AF75,$DDA27C784824F426,$224E43742D87B294
Data.q $491963E4C008E0F8,$608168607922DE9C,$82DBA677AB46C7B9,$2D958B3C5BFD5066,$D7F70AC258834D3E,$16B60F0AC65B8128,$5801F1D828752E03,$79D232A1F1E07223
Data.q $AF2555342B06EE0F,$ACB1B6B8AE3EC1C1,$E00EF8B1D4D7CB95,$5B6478A50143BD6A,$ABE2B83421AFDC16,$817CA93F231CE4B5,$E406E9C7F335F8EA,$B214D8B695A18BAA
Data.q $9BB0DD333FE43BC9,$E3E00324B29528D1,$BA2D68E455C86DB9,$B29404CED101FD38,$A170D0DBA6A7AB87,$FE61946F4790EF2B,$7496EFDA0B447E85,$4377CF7F87BD979D
Data.q $AEE9632779798070,$B3C1B97B9AAE1809,$1B4E8BE55FF2BDA0,$F8098F9B5CC04D5A,$0E9578CF55B1F654,$5C04DFB1D25DB49A,$1BBEDEA27F38B990,$FD7149DB4F90BA10
Data.q $A8EF897C932D0CD0,$CC60977B830FC85C,$7DC952C8B274FB70,$E446E92852CE2C75,$38129C104E7C86E0,$8AD11A6C61407920,$AAE5694F708ED34B,$D27ED6624263F629
Data.q $CAFA8635CF8C48F6,$83CFD758E0170096,$D49CF0DF901A1097,$748777CE2E69DB49,$1F2AE345FB3A0DA4,$D4B7FFC66EF8D8AA,$896626D2FDAB4330,$2F621069F75482C4
Data.q $12C4358C07EB9B6E,$9A5C2E372A4B44B2,$BE372AB44D7FF3B1,$5B3DFA81FA74954E,$5F00B4A278E5B420,$4388E66041FDE95F,$F7907E4370C309F5,$A20F91F5388EA5F9
Data.q $774CF7B76F21CF1C,$20261BFA9ADF79D8,$B1E56795BE43045C,$193B91857B106480,$512998631018391D,$8422493F7539C129,$959A35DBCAF5C33A,$453C64401665F281
Data.q $E5A18050338E10DC,$C09A9A5108693A83,$A16D9DE5F4DB7D77,$DCDF28790E97DF4A,$95D4338CEA92D1F1,$662C2B279E3832D1,$7C822CB1568E56A5,$7EEFBE1A97B982C5
Data.q $9A67CCB6E2FF810B,$263FEC9453659AFD,$6E5F2297DF013073,$FF286D0E301F02B7,$F55929B8BCDA1E76,$768320403EFE1840,$E055AE6A72D40D79,$61BD1871DF3D27AF
Data.q $53DFAF816EEC5C37,$FC2CBE61E34040A4,$324AC33A97F81757,$7C5B716CF15F1FEC,$B23AFB0F53BB511A,$3688B77D27F7E617,$E3DCFBCFD61C3236,$ECCB67A4B5AACCDB
Data.q $AC5DA650DFF846C1,$311BC8C9CCB4661F,$8D086936F2CD4750,$A9C58A2EC56B577A,$CC0342E1B541F32F,$069D6C5B6C143A8F,$3CC5BD3D00258217,$DC996DE8F42B8479
Data.q $869DCCDA1C2D11A1,$76190613429B66E3,$C3740175E3EEFC00,$467FB2BB294C7F98,$33F2BC026FD6D3E6,$996708CCED38EA38,$5FFE0D0137871368,$C64144A01350F98A
Data.q $09723ACB57A88CB6,$ABD8AB8B43063413,$C8C9DDCE2E4E8B3E,$C67C9D0060F0D69B,$756FF59013FF06EB,$6EF26C71A033B332,$EFA540288C0B866F,$16EDDF85483BCDC8
Data.q $9502C44BA32DEBE2,$173BF451650DD318,$B38939D3005C2980,$8D3EA0627C4B371C,$45E9CDDA228872A8,$4BA4AA62D769021B,$0374ED2D7E22A71D,$F7D496C72DA18EE9
Data.q $2AE2E06E0D083345,$93EE9B41E0F525D0,$8529E0C84F91D157,$1764ECC28A3E8194,$CDA2598706A91B24,$8BC3B6C272C84655,$B9BE9CCB4369E972,$6793A7328EBD96D4
Data.q $08054F3E5233B3C0,$A9E306AD74BAF989,$190629D08C4BCD2C,$779AA2D0CD5BE12D,$BBE6C0813B2BB255,$1E55924BEFDA4A32,$8B382EADC0E427F6,$A3DDD51AFB9C0EF3
Data.q $7C441BA2B6E46C67,$27DF8ECFFA5106BF,$C30A5578D8F6AA08,$99B01378D8B9A2D8,$2CE24DB49A1F3D06,$7325A259CCDC496B,$40A0354E755DC312,$A08AC86D0866114E
Data.q $9D9220B1353284D9,$F9CC373D2F189A18,$E3E29B3C8AA076A8,$759F186D82E7717D,$F51EC7D9A6A72418,$5F2C48B7549E538E,$31C42FC85F08DCC3,$8B936C60EF6E864F
Data.q $671136DD1BA7289B,$275C479838E3E678,$06D01317FAAA743A,$62A3F5553DA60160,$E696BA48A2ADE6AD,$F03BC98AAB0B300D,$DA3AD3DBB1473E35,$C4B6DD10B8CED22E
Data.q $F6A0C3577EF2CEB4,$17837C0D1058EB43,$82F14460C9DFA55D,$7C8C55D336853766,$F09ADE4C3DCE6C5B,$578B113BA1E226D9,$AAB2A9B5E4618522,$ABDC29F700F671C5
Data.q $A6249A1D6F4DF803,$5BE1A0D32B8ED2B3,$CCFDC886845B03FC,$F3AA1075E8C979CD,$391D2905A9B3C0CC,$25158EBC0F37D4EA,$2B4E10B7E35B3670,$770926132E4F0331
Data.q $5497EE099FECE950,$597A72B389F12889,$0262BA919EEAACD2,$631EBE2BD7168546,$4BFCC2CF673274D0,$6AB87E43A5C4F2E4,$4742CF0DB20511BF,$DC8AAC572AEE59DA
Data.q $3643706E92E62803,$213377EBA245A231,$9E69FD360C3A463F,$5D9BA8364B5E43E0,$01B5C3D9A946AE3C,$5D25358255CA35D3,$6968E66B5CF603FC,$CA00CBEB114DCBE5
Data.q $12E64B6EFB2ECFC5,$F3C808161DFA4CA1,$281E7D51BF5E13ED,$338EA0D9111A2FB9,$0C3A94D6D4412F73,$AF9457AECC7391DE,$5892D7CB6F9B5B21,$7D470A662A7B1768
Data.q $4D5230B7FEDA9EF5,$317CA476BA6E11FE,$4D102833A69BEAE6,$20BE1601B01D538E,$3327B9F3F402D195,$8793DC78C220C8FB,$CA8DD9CA3548E0C1,$61401646EC984384
Data.q $CA593C00453C2685,$9CBAE2EC540C7441,$2F19EB3D06297CF2,$C41B653A2CBDEACC,$6E6022AE2FD4CC4E,$CE341A646D5175D2,$A81424BEF7CEB360,$71870B8DAF16B5E4
Data.q $42109C5FA1123E31,$71E715E806D9557B,$82C54A2F73CCC4AD,$4A4423B1237EA791,$A9D22CCA2FF07E40,$7C2AF9F78EAF3C89,$FA9DFA6FFB767B87,$5BBCC313204205F2
Data.q $19F5494058D8B14F,$F5CB78E5B2E4C54B,$C48C6A912B44A762,$90C2F6D5B323B81E,$BBD739C535489E58,$A263A4AC6A75620F,$BBBF16E0170FD6A9,$A754A2AD35B871A5
Data.q $20A51CA345EDF528,$1D492B093D1DF4C6,$9C48E372F6F9D27A,$B45A740F71077CC1,$AE223B9013289CF8,$DDC06A936F312E51,$2286779D9326E64F,$16ECE616F7482859
Data.q $FB0C799A76F94938,$6F7A467C9A90DC54,$BCCAFDD9A22FD04B,$1A2D9F7337D5F1C8,$266D264F40AFF8D4,$C6E70B17F65E27B8,$7F5ECDD182DEEACB,$E9314CFA074B32BC
Data.q $B3DB7C97F48B7A61,$3BF299997D889BB3,$90DE031DDCC09E12,$E2FDD28858D69816,$3773DB7AAF3736B1,$3668FFBD8F7CED1E,$3165700DBE7DF275,$620404CE04C9F4B6
Data.q $E9D612EA92A977EF,$36BAE8FB03A9B341,$CCF7E031B87E44DF,$594FAA4A85B7D702,$FBF7944B7C2DCABD,$22427DF97C4E15A3,$5ADB13EDBF0411D6,$94AE4B51723C6FA6
Data.q $CC3E01B6644D7FDC,$7A5D158DCAF92D22,$FBAE33F804CF48D7,$8E4E8C717E27523F,$3B332C971B18BFBB,$D37CA480769B7C8B,$039182F2B6432BE8,$D5DF17C10EDE3BCC
Data.q $A6BD0920DD31E976,$83F69DB80D2C001B,$FCD342AF9A26BBE4,$1A43410FC6F07ED6,$DC88608DD3F4AFC1,$DA84F17696BB23AD,$049EE1458E72145E,$53BB152FF3E673F2
Data.q $7A127371BA8E9A46,$A9D4275E821B215E,$B641F8899727BC33,$35317C093ECF9D74,$E870C0122A32AB14,$5CF3B9360F19F330,$168764303312C9F0,$C378647D3883638B
Data.q $029E798C0CB20BF9,$2EB44BCACB035F58,$7B9030233062AECA,$ABCE711DF92EAA65,$B43D70E474A3A6F1,$FEC0C31117400626,$08A4140C35035EC9,$4E8734DABD99422C
Data.q $6E46494AEE57DDCF,$6A84C010CDC4BCB1,$547A123D7ACECCD3,$981CA55F7C5399A0,$7A33856373253754,$30391FD82D3D1679,$AC8F14EA5A3180DD,$C04CEA271DD3B743
Data.q $CDC6CEE489DA50A2,$254DCEDE68BA1E81,$FD845AA492D04B9A,$FC1FDD5C889BF79B,$68231A7D84695F42,$02DC5BA9BC8EF847,$3A7A129FDF03FA6C,$B40C042CAD74ECB1
Data.q $E4D40C13D86C5DAA,$56525BF15F90CA72,$23A13CAF450177B7,$316D76FC8A1F5B6D,$FB43ACEF680AF5F6,$8151A2044E133E0E,$957775A7F409F538,$53156A98B29D15D0
Data.q $ECDD4C6E94C4694B,$2C7D4D1EE11D3632,$3AD4DC5C3A4BE836,$9D83421B97DF65E5,$AD47A91D7BC95ECB,$B5C3999971A01055,$C8C60F5BFA929294,$D5790A9D7B08DD30
Data.q $BF8E73F3CC7F121B,$D192E7B063F4290C,$2CA5CE5769D015E8,$EA998A9BC107B18E,$BE1DCF0A1BBBDDA7,$1454C6804F9F3E59,$946949821B54EB26,$D4A76A893EC21156
Data.q $46557EB08631FA76,$F701DFFBF4D70D94
Data.b $99,$15,$06
darkwoodend:
lightwood:
Data.q $D7935869579D9C78,$C5264184025FDEB6,$9105A7021538C61A,$0C10612D04842994,$495888A297B1CE04,$51124209050808A8,$242082C4D040B968,$A0A145AC7A70C21A
Data.q $45A0299450556088,$40C4263CC3101064,$B8FEE7F4EE79FB86,$8F6F8FF679EFAEF7,$419A5AEFBD7BDAEF,$03200E4812603BCD,$0B79A03F82000208,$F45B462D8313020E
Data.q $6C9A9AB68D0C8C4D,$76867D9FD02D6343,$E085D3D635B9F3DE,$3C8FF246EEE2E1E5,$487B9BAF88FAFA4C,$58B4B113A891E87C,$22E793C4F4A4E0EF,$BA6408B4F98D8BBF
Data.q $C2C2C9DA3B7A2B75,$B3FF9881FB80E629,$2133A7EEA980DA69,$214D210A6100DDA1,$FD0DA9CF818013CD,$696A4084187FC0D3,$01E00DF4F574A0EB,$2D0891210100260D
Data.q $099BDC1696B6B6A4,$9CBBADED532D03F7,$2776A34685B6747D,$E7BBA1BE5F67ED99,$BDE5BED4EDA3DD40,$6CFFD3D05ECE272E,$AC3B5B73E2DCDA07,$0F7737572BEE03BD
Data.q $03FCFD92FB5F83CF,$DF23B7FAFFC2C302,$C54EEFC9CC444BFC,$A6A43F29C971E8D2,$9394BC5F64674B9D,$ABBCB857794FE3FB,$AC29BD2B5C97173F,$CEFDFED4D7555514
Data.q $DDEE9B1BDF86FADD,$CF1DEDA793F1E3FF,$FEBD5E07FB8A779E,$FBE4C4F8D0CDF073,$D595D999E9920FA9,$F1B151FE5D6CA935,$23FF69FF9C27D709,$A90B4B421718532E
Data.q $1A7DA4420B84FA85,$AB6759CBBDA5AA60,$FDEEDB693A2A284F,$3DD46F9703B35D6C,$E27EDE5D42E3DBD2,$9FE3717B67FE9F6C,$3BFF644FF6827CAF,$D80BFEC85FFE1760
Data.q $7C10905B021AE37F,$72264D0440534879,$F9D68A55647BEB9D,$CF4CFBD69680A9C6,$43D7859FCC37CA15,$A02F529F995F0B57,$D1D1C458949A8C32,$68D1E1C32B4BB36C
Data.q $79EC05D08F1FB259,$C1FE6C8E9FD473CC,$DED59E479F0A95D6,$562F147DAC218567,$AA0AEFD9DA65FFA5,$710EF26C181D1001,$9B82E53A89426EC9,$AE569134DA1895B5
Data.q $74E789D03B0E9EE6,$3DD0071A80D34672,$125EEF70D29B0771,$00C1238388053173,$CC7285A872E8B1E7,$66395A57331B7CFE,$4E7F627C4ABE882E,$3B8EE3BCD80B9F2D
Data.q $CA7F516009765DE1,$B2F3123F05133684,$D84F82F64F8132D1,$6F7AB957531158A0,$11DD3E29BF50648E,$D8FBAF18F68FF125,$542ECEDF8162BEF7,$1A73B0FB289CADF8
Data.q $C38EBE665B56D252,$C07620319EE169E7,$0FCE67C175324273,$4716DB6A992128D9,$5B6F4B80FF879B57,$6CCDEF5720845176,$7D19171C1AA0CF88,$3D4189A82AB263CD
Data.q $4846D15728BC57B3,$69A742AB51DD873A,$A056B20CF51B83A6,$9467A8E404C4E78D,$9ED341EC223ACFD3,$B84C92463580B9C6,$01AF8EF117BF3467,$552496E37038AD47
Data.q $1806FA25C492D3D1,$F349EAD08CA7374A,$579952C0E3AD7910,$69E99A6DB7088F5F,$E45C399846858994,$77981E01C2F5FD66,$2F17C85C55F7D392,$1671D81BFD003076
Data.q $4F990E8130CA6C31,$FA4A7532EDAAA163,$F456C95A8A7501C1,$6B251323D2740BA6,$0D122DAF89DFD322,$B7D5C3244B49A50A,$87247A47775EA5CD,$20AD002C33F34727
Data.q $73C06EAA9BE8AB83,$8354809E8811F702,$7D8D138BDF5B2AA7,$F2CB2771A44E5414,$1C5BB7055C06A172,$93805AFC9703F151,$4DB8596943FCF48D,$06B286F2757422B2
Data.q $16DB54F78B479228,$108A83A8EF21AA41,$87E25733390CF2E8,$24B72C71495A1119,$8F5F60F66CEBE4F2,$6BED592BB3A8199C,$F14AE470DAAF776E,$A9E21BEBAED56907
Data.q $FE774E0C13C39996,$7F62312E40CC1FF5,$764BF89307B80FDB,$369169320129AA5D,$12808B2E7A267CCC,$6EFAF10F2659BA12,$69CAD3D43C89BFB1,$CD794C66E42A7DC9
Data.q $236A64F745593FDB,$85A7ABF950382331,$900FEAAD8F28E34F,$85B96DCA77690586,$A9F18119ACC2BE82,$7B51BE43F3DDA84A,$1000F4DF722EC3C1,$2EB562A9B75FD4DA
Data.q $6A9DC2F60CC78565,$886D69109A4179DE,$ABB194E6B409D546,$F774ED100D65FCC2,$8742C545133B35AA,$FE49A9C7A2F594FD,$42375CF31F5DEA1E,$CADCEE9FC6CFE310
Data.q $625D7FED0F80BBE8,$C81FF3D750C6D9B0,$F2BDB4B31EE6E588,$A413592F0D6BB02E,$50AEFA326CF0E457,$6EF60E0FBB5A05CC,$DDEF4C23AC8B89EF,$704F35D5E91777E0
Data.q $86D2AFE62898D8BE,$719C89AE92125128,$04C0C1B42E9197F4,$DAA503595467B137,$B425F9ED5F6C0BC9,$0795563EAB387529,$A13A8CC92C5A9D22,$DC0798B99BD3AAA1
Data.q $C6C5ED9BD0FCBBE7,$AC9DF8AADF96DAD3,$AB6537DC819D6A6D,$F501534E4B09F1D5,$21E514003A20FF85,$1E5675471A33175D,$ECE214569E3B32CF,$D4FDD4870ACFEEAC
Data.q $06A991674E15BF29,$AEA50B303B11B410,$1674E4224005CD85,$73CC77F6A46165D3,$9E4E984B31E3F0EA,$732AD2A53AB2CF4E,$AE2AF23A0AE28E18,$EAC4AA11DDB657AC
Data.q $6F48548E26ED57AE,$E1127672283F357E,$AD1F0905A208F1DA,$C3FD740FCFB6D996,$084BF1B59AEAB9D3,$18581F195BB80813,$DC111D6DBCD7DE65,$9BD91925C05BD8E4
Data.q $7506FE1198565E15,$831AD37408128D0B,$C22B3B8C32EEF26F,$4988AA161600DC99,$541DAABD76554779,$257FE8E6687567D2,$8217DCEDDBB153D0,$FF57A5FFEE3FF608
Data.q $7535CD7C451420FB,$41153E5A546F7839,$F124E0771BE38AF9,$08B08D33A04D0531,$CBEA3F5111467F2F,$89584619C3DABAE6,$DCB11EF07154C4B8,$B6144D90AFD9BA86
Data.q $578F85ADFE83C53C,$AFB287D85C422F84,$3506FEE3F127DA24,$7D03B063CD1DC545,$371F57AE764ACC7A,$6D12F7B4A2587F69,$86FEF30A3E6CB384,$FB2DDFD73BFDCEB0
Data.q $2CE33D252A9CC3CD,$F2AC866626BD37F6,$214D6A9D57BF46D9,$B69192A3847EFF4E,$F216467EAA4B0A4A,$8E2F8265AB0AEABA,$87FC3CB8112B5709,$75CA5180FDE7B4D2
Data.q $B0E7CDCF0A96CC2E,$A082E367DDD88A2C,$7AEF1D4497037E81,$B99EA80F37B74233,$D6BBE97BDBF5C73F,$E7E009B9E6BF6E48,$8CAFC2E74CFC9251,$938CDB6089B85977
Data.q $889E89670686FB21,$8E7CC89AE62F9246,$CD78747AF5D12E2F,$166173D9712887EA,$BF6CF8254E5AEE1C,$BDA65A6D656492C5,$E5EDD4DE9150D86E,$46C565B6C1E9CA7B
Data.q $0B6B7459B98A7D5F,$97E987A786D8A0C9,$A7B9C42B3B587609,$1FC38F7A5B8089DF,$C8C0F1BF15EC5C1C,$700D6B2EDA7DAA34,$CB3122C32D79D9D0,$56AA2F1E9BFA3F53
Data.q $33547533495DD4BE,$D4DE8179707F704E,$1A2AA31DC54E5B80,$D9D394A92D36B6F4,$DA4C9EBBD94A52B3,$D8DE0EFB6D7663A6,$0D3942B7B7A6EE18,$45C9E9F54DE03556
Data.q $40D99EB421663C71,$6F3E1598BC4ED27A,$141B319BF8CC9525,$F1C70EAD9B63F8D4,$462EAA720A0D1BDF,$AA0426E157A82985,$51CE60261359EF97,$598944A05BFD3FE3
Data.q $6AECDDED3DE0A63B,$0F63F8F0EA9B7185,$09788D7B2D17E1D4,$4DB44369DA888151,$9B85D35063CD9B0E,$DA8B2C914CC0224D,$7824DD95A438313E,$239A77863D2E6C46
Data.q $E1D6A32D0264C213,$53E2F80F11D6C74A,$8E78C035F28BAF29,$F299D951B988CD94,$CAB5684CADE63ABC,$F9C496A85EEC05BF,$E5886F999BEB2F46,$D9D1A72B8F557FF6
Data.q $C21FE61AC0785DF0,$4C488204E29BE94C,$120EC2A2389E3890,$1F99CA539EE4258C,$91286578B3178D5D,$D0B57E425318DF63,$5F114C4D9C12DB8C,$6A6F41AC709380D5
Data.q $54FA675853AAEE3A,$0B87D1C46920A4FD,$948995081C7961E4,$8B23168D657273F4,$2FD4A7EDAD4DC4F7,$29923C04CE4D07E7,$F7A15F56E7CEC17D,$8B88A633EE078E66
Data.q $22FA6625A8B0A139,$5A5C9D0939E16ED3,$05B3E86900AADFB7,$8CB04D14426FAEAF,$A2EE1109DE119932,$8A91EEA2968175B6,$F233F35F80D5C8A6,$45726311AD817C43
Data.q $90CE55249F6B3D90,$5F55AB345852B236,$2722388753DBBF6D,$8D08AB61685A36B3,$588BE685D72BC16A,$8C8B8B2059DBA608,$68DB59BA7067E711,$B3954E9672BB92B0
Data.q $230E320FF0E07C17,$96CAC4EFF1126613,$C4C993B006A1923A,$133637CC02FB9121,$FA50B9D66AB64B2C,$1B3CC3F525E6A180,$463C0D6F2CE85A33,$62E4B2EFF43AEE60
Data.q $D23E463E4B5A6AF7,$40E980F88EFBC59C,$79049F12AD951502,$CE35CA565A51A74D,$1AB53308541000E6,$D4A70A8EB7CFC337,$29CFFAA4CE9219F2,$7E6A70AAD46CC072
Data.q $D1643C81AF24E040,$3AAEC64F319B431F,$F0CE2658232D0C12,$18B532B6EAAE1F40,$75446E4A420D0E76,$CF5494EDA2BDDB16,$7BACF655C7F387F8,$44FBFCC929D47776
Data.q $290F9C4C6A95BA4F,$2B7374E45FC94071,$42BA01A0749E99C6,$591F9145903C9DE4,$489FD145FC58F4AB,$AAB861605CDB46D0,$E52B2B2615DF453E,$5800CDBD5F62F1A5
Data.q $F3669BD148F99EB9,$438339EF54F3D123,$C96F5741D068FB77,$AA49E889A7175F9C,$26FF42C3A65A1A64,$FFCD3B80249F95FA,$9B09C51FE16DF2A9,$F37321149EB3E0F5
Data.q $B0298F19EC842290,$89F3AB0413DE4982,$FB3BDB92CC48A54B,$B594A6E4E56F7564,$70AB028CACDFB625,$D6D318616B10D456,$F3985BE9CB1B350F,$BEEAA0F4D3C7CA61
Data.q $3B8233D7EF900756,$5B4990FFCDD91C4D,$2E0B37155D07AEF3,$F06B35599E36806A,$C2E9BA0D04F1B4DB,$E64E29C8AE3F2669,$7270727585BF90FB,$9986E814909F3A80
Data.q $4865B45A3B7F35C0,$A7D54FF949E893F5,$67454CBE6BBA2AE5,$BE5CC5F171C91495,$929D233D32CD0798,$504ECC293ADEB5FD,$EA2A0D735F8AA222,$5A5BD89B22992C01
Data.q $4C2085DF51900D58,$BB0F5C652DD96EED,$23B4008DD74A9B70,$ED9E1E22B10DDC76,$ECC2D5A1CCF6FB7A,$6AEB4608C2F94052,$9CC5191CCAFC470F,$1F2708FEAC193D22
Data.q $E35167B10F4DE33F,$BB1177CB1205BEE4,$2BDAB833B1D4F2DA,$2F85B156810AB976,$BC2D322DF7230212,$674A31C32C9D0999,$19EA98F5EA5EE3C1,$D96129D5A05C99B2
Data.q $C40F2D6BC6931C07,$806A65DF117A0B7B,$6E21CB0DFD77BBA7,$9E598B8A350598AC,$CE6503859505DDC6,$49840A4670015263,$5A029F9536C38E5D,$CF02DE7D6BF9B603
Data.q $DFAC3921D1E2BA09,$156A4B7F3BB8DEF4,$C95F0CA33B117932,$717D9CC02D4E154F,$F32A4D79779214A3,$CE0F057AE85418DC,$22F60F1F834ABC8E,$2A4618910E99E693
Data.q $42CED987BCFB1BB3,$CA1A29FC06AEF5FF,$476B9AF1DA3CF56C,$6D729893E99605F0,$4A21D3C59C84A34A,$C37AE60343DE2070,$F46E4EE1EFEAB237,$8BD2FEFD07F95322
Data.q $CF1A4A7DE5B62CE9,$DA71FEB984EF9B04,$03E59F70C11DA10D,$C452E3B06AE38349,$7C71D6091FDB3C7E,$AB3DA6614EA22DC9,$62BE16E512F4A1F7,$5613A014F6D95A52
Data.q $3393C42A0E7A8F69,$9CC990423666CF3E,$A13397915691E088,$F51E0F58B6DB0263,$4F8A754BCF0FD224,$0F0297F7392F4854,$ED085416F4E51F6B,$94BB2BC7B2ACF405
Data.q $C4722D41D33328E4,$7715E4606245C4DC,$608EB14E82725033,$BD7D2579303F4AFD,$248E67281480190A,$F7963D2473734489,$B27886DEEEC6174A,$753FB88E901F4AC1
Data.q $7727359B144E3324,$089B8C25C26AA0D3,$668C0F0143EBDC7F,$DBA9EBCA21A7DED2,$07EF3B068DAD02A5,$C5EE45780D12EB61,$D792447D973BB942,$40BADA422FD86CE5
Data.q $E2EFD87DFDCFCD67,$9D99A476B35E7BED,$CFBB0B9E2206CAF9,$67F7EDACEDEC0EDC,$201198130E2310D6,$09812D24656C1084,$BBEA65D2473395AE,$70AA99DB62CD1E8B
Data.q $1648F655AD428E50,$D2CDEA3A9E375102,$0E79927C4292E180,$91BDE53006B05A4E,$1DCEB595CB9AAE63,$783A9B60663DCE11,$1CE97F7E8DE1DAF7,$6E00D33645D448C9
Data.q $3E2EB98A804CBBA0,$CEDF8375C43D7D9E,$F30C8856F6D021B9,$D1E81ACCE4D83682,$CB182E21DE83790A,$9C6E18A1AD19249D,$C8219BF9FBB2EE84,$7B99CCF1CFA84E46
Data.q $61A324D9331E713D,$D713BBF98CE52AA2,$BE8D9BD03514899E,$100B4479C3C9A5FB,$6DA09FCCBEBE6F7C,$58E07891F74B393B,$FB4CA1E0A0ADAB47,$2FF63801A20614B3
Data.q $BA42E5EA03427B90,$74CD709B0CB2D806,$D1FA38F03F3E8584,$B5C231265F73D134,$BAA262402E90A3E2,$2B1A6FB187E1EF79,$BD15A9EA08BBBDB9,$92DCAC7E8F5B10C8
Data.q $5ACAB52952079F9C,$85D0C741712884BD,$8567C222B829DCCC,$CECCC7276C1A7337,$8A876F8155AF6778,$4456A3ACCF89DF0B,$4EC04C38046204C3,$99538AAB378F598A
Data.q $11751B9C4C132C39,$9C45EDEE761A2233,$9EE05F7B9B94C759,$02F0074E681838EB,$0A5796BED52FC2AB,$2AD6362FEBB0893A,$6204A344D6C617A7,$50670C0E1B4ADBA0
Data.q $01CED6AD793715D9,$1A65DF03323F2E0F,$DB2FB93BF0EEED62,$0D138E23F3F78216,$C6641E6D8F69F7F9,$DB4A31E6C1D31411,$A98F5B5F4CA1E322,$C763A9E089076095
Data.q $1D0AB525F5A453FA,$15CE44CB234164B5,$7BEE2A8AEB5CA40B,$D7AD7AEB57BA13E2,$1AF38F98827DCF1D,$92FD0997ADF96E50,$8AEC7C4281C580E5,$CFB30B7F9A9F6F40
Data.q $32F84F5301E5D67A,$47278AE604EF307A,$036B72A9B378F05C,$CE2FCF7064816C22,$7A1C6A345576F90D,$650E19EDB80BA4A8,$F6C198FE8E1D32CF,$1B73069009F7562B
Data.q $2FEA7A96A7D2F9A1,$777A494213A766D4,$0F63387256FA7995,$4EDD5C81A968680D,$58DEFFF7CFE253AB,$FD02C45BAD719CA3,$929259D3628FB9A4,$0B401AF14C570A9E
Data.q $582303D96E4BC441,$445EE1DC3887AD7B,$75BDF936676C7EF4,$08C23723AC0AE581,$65DDD38CF9DFD57A,$C71CBCD4067D83B0,$2CCD783938761225,$19220324AED837B3
Data.q $9CE6852EE3E8C8BF,$CE4CD22C7BAFF465,$56D15618AF1FD68F,$1F853184D63B36C7,$20889EC479185B58,$50BDF7F727E0AD62,$ED6C50173B8FA33E,$2D772F434236B8EB
Data.q $2545AFED2F299790,$92ECCD42E1D62205,$E8E2DF2BD4DFAF37,$E73CCB3165E15483,$5D8068261B9E7398,$0493F4B1E84E2192,$F2FCBBA0346DCAE9,$8B76BE23B7B9DE58
Data.q $45D4B28F73B0432A,$239DAD1C44A5D42A,$73CA07E0A7908E19,$C6A7038BB4888E30,$91FCF3D433236967,$C04EF740B8CC2B2E,$38A1D33EFF0BA04C,$956FC740FF517895
Data.q $D4C99C5541967048,$D2433C970C72FFB6,$685D25D6870C218D,$01E4676D0CA9B62F,$0D656A7E037F9BCD
lightwoodend:
EndDataSection