Home » Archimedes archive » Micro User » MU 1991-12.adf » PD-Stuff » Utils/!Easilarm/Runimage

Utils/!Easilarm/Runimage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Micro User » MU 1991-12.adf » PD-Stuff
Filename: Utils/!Easilarm/Runimage
Read OK:
File size: 222E bytes
Load address: 0000
Exec address: 0000
File contents
  200ONERRORPROCerror
  210PROCsetup
  220PROCmain
  230PROCfinish
  240END
  260DEFPROCsetup
  270alias$="<Easilarm$Dir>"
  280version$="2.0"
  290DIMq%100,block%1000,menblk%1000
  300DIMmain_blk%1000,seta%1000,sett%100
  310DIMsetal%10,setti%10
  320DIMopton(8)
  321opton(1)=TRUE:opton(3)=TRUE:opton(5)=TRUE
  330Tx$="Time"
  340flags%=%00000000
  350grey%=&7400021
  360DIMicontext%16,icvalid%16
  370$icontext%="12:00":$icvalid%="S!easilarm"
  380alarmring%=FALSE:flip%=0:first%=TRUE
  390$q%="TASK"
  400SYS"Wimp_Initialise",200,!q%,"Easilarm"TO,handle%
  410PROCsprites(alias$+".!Sprites")
  420iconh%=FNiconbar
  430PROCseticonstate(MID$(TIME$,17,5))
  440info%=FNtemplates(alias$+".Templates")
  450PROCset_version(info%,3,version$)
  460PROCload_menus
  490PROCsetwindow(0,"")
  510ENDPROC
  530DEFPROCload_menus
  540lm%=OPENIN(alias$+".Menu")
  550dim%=EXT#lm%
  560CLOSE#lm%
  570DIMmenu_data%dim%
  580OSCLI"LOAD "+alias$+".Menu "+STR$~(menu_data%)
  590current_menu$=""
  600ENDPROC
  620DEFPROCmain
  630REPEAT
  640PROCpoll(%10011111110110110011)
  650UNTIL(reason%=17ORreason%=18)ANDblock%!16=0
  660ENDPROC
  680DEFFNiconbar
  690!block%=-1
  700block%!4=0
  710block%!8=-16
  720block%!12=96+32
  730block%!16=86
  740block%!20=%00010111000000000011000100101011
  770block%!24=icontext%
  780block%!28=icvalid%
  790block%!32=LEN($icontext%)+1
  800SYS"Wimp_CreateIcon",,block%TOicon%
  810=icon%
  830DEFPROCsprites(file$)
  840sp=OPENIN(file$)
  850dim%=EXT#sp+16
  860CLOSE#sp
  870DIMsprite%dim%
  880!sprite%=dim%
  890sprite%!4=0
  900sprite%!8=16
  910sprite%!12=16
  920SYS"OS_SpriteOp",256+10,sprite%,file$
  930ENDPROC
  950DEFPROCpoll(mask%)
  960!block%=mask%
  970SYS"Wimp_Poll",0,block%TOreason%
  980CASEreason%OF
  990WHEN0:PROCtimer
 1000WHEN2:PROCopen
 1010WHEN3:PROCclose
 1020WHEN6:PROCcheck_mouse(!block%,block%!4,block%!8,block%!12)
 1030WHEN9:PROCmenu_select
 1040ENDCASE
 1050ENDPROC
 1070DEFPROCcheck_mouse(mx%,my%,but%,hnd%)
 1080CASEbut%OF
 1090WHEN2:IFhnd%=-2THEN
 1100PROCcreate_icon_menu("Easilarm",mx%)
 1110ELSE
 1120PROCcreate_menu("Setup",mx%,my%)
 1130ENDIF
 1140WHEN4:CASEhnd%OF
 1150WHEN-2:PROCcreate_window
 1160WHENmain%:PROCsetwindow(0,"")
 1170WHENoption%:PROCsetoption(block%!16)
 1180ENDCASE
 1190WHEN1:CASEhnd%OF
 1200WHENmain%:PROCsetwindow(0,"")
 1201WHENoption%:PROCsetoption(block%!16)
 1210ENDCASE
 1220ENDCASE
 1230ENDPROC
 1250DEFPROCcreate_menu(title$,x%,y%)
 1260menuy%=y%
 1270PROCbuild_menu(title$,menuy%)
 1280menux%=x%-64
 1290menuy%=y%
 1300SYS"Wimp_CreateMenu",,blk%,menux%,menuy%
 1310ENDPROC
 1330DEFPROCcreate_icon_menu(title$,x%)
 1340menuy%=0
 1350PROCbuild_menu(title$,menuy%)
 1360menux%=x%-64
 1370SYS"Wimp_CreateMenu",,blk%,menux%,menuy%
 1380ENDPROC
 1400DEFPROCbuild_menu(title$,RETURNheight%)
 1410LOCALoffset%,i%,menuItems%,dots%,wimpflags,flags,ptr%,name$,ptr$
 1420offset%=FNfind_menu(title$,menu_data%)
 1430IFoffset%=TRUETHENERROR42,"Can't find menu data"
 1440blk$=FNget_menu_item(menu_data%,offset%)
 1450blk%=EVAL(blk$)
 1460$blk%=LEFT$(title$,12)
 1470blk%?12=7
 1480blk%?13=2
 1490blk%?14=7
 1500blk%?15=0
 1510blk%!16=172
 1520blk%!20=44
 1530blk%!24=0
 1540i%=28
 1550menuItems%=0
 1560dots%=0
 1570WHILEmenu_data%?offset%<>ASC"~"ANDmenu_data%?offset%<>ASC"^"
 1580PROCmenu_item
 1590IFRIGHT$(name$,1)="@"THENname$=LEFT$(name$,LENname$-1):ptr$=FNbuild_submenu(name$,pos%)
 1600IF(flagsAND4)=4THEN
 1610instr%=INSTR(ptr$,",")
 1620blk%!(i%+12)=EVAL(LEFT$(ptr$,instr%-1))
 1630ptr$=MID$(ptr$,instr%+1)
 1640instr%=INSTR(ptr$,",")
 1650blk%!(i%+16)=EVAL(LEFT$(ptr$,instr%-1))
 1660ptr$=MID$(ptr$,instr%+1)
 1670blk%!(i%+20)=EVAL(ptr$)
 1680wimpflags=wimpflagsOR2^8
 1690ptr%=-1
 1700$(blk%!(i%+12))=LEFT$(name$,blk%!(i%+20))
 1710ELSE
 1720$(blk%+i%+12)=LEFT$(name$,12)
 1730ptr%=EVAL(ptr$)
 1740ENDIF
 1750blk%!i%=flags
 1760blk%!(i%+4)=ptr%
 1770blk%!(i%+8)=wimpflags
 1780i%=i%+24
 1790menuItems%+=1
 1800ENDWHILE
 1810height%=96+(menuItems%*44)+(dots%*24)
 1820current_menu$=LEFT$($blk%,12)
 1830ENDPROC
 1850DEFPROCmenu_item
 1860wimpflags=&7000021
 1870flags=0
 1880ptr$="-1"
 1890func$=""
 1900name$=FNget_menu_item(menu_data%,offset%)
 1910IFmenu_data%?offset%=ASC"!"offset%+=1:ptr$=FNget_menu_item(menu_data%,offset%)
 1920IFmenu_data%?offset%=ASC"{"offset%+=1:wimpflags=EVAL(FNget_menu_item(menu_data%,offset%))
 1930IFmenu_data%?offset%=ASC"�"offset%+=1:flags=EVAL(FNget_menu_item(menu_data%,offset%))
 1940IFmenu_data%?offset%=ASC"\"offset%+=1:func$=FNget_menu_item(menu_data%,offset%)
 1950IFmenu_data%?offset%=ASC"~"ORmenu_data%?offset%=ASC"^"flags=flagsOR&80
 1960IFLEFT$(name$,1)="}"THENflags+=1:name$=MID$(name$,2)
 1970IFLEFT$(name$,1)="#"THENflags+=4:name$=MID$(name$,2)
 1980IFRIGHT$(name$,1)="}"THENflags+=2:name$=LEFT$(name$,LENname$-1):dots%+=1
 1990ENDPROC
 2010DEFFNbuild_submenu(title$,pos%)
 2020LOCALblk$,blk%
 2030PROCbuild_menu(title$,pos%)
 2040=blk$
 2060DEFPROCmenu_select
 2070SYS"Wimp_GetPointerInfo",,q%
 2080but%=q%!8
 2090depth%=0
 2100PROCdecode_menu(current_menu$)
 2110IF(but%AND1)=1THEN
 2120PROCre_openmenu(current_menu$,menux%,menuy%)
 2130ELSE
 2140current_menu$=""
 2150ENDIF
 2160ENDPROC
 2180DEFPROCre_openmenu(title$,menx%,meny%)
 2190offset%=FNfind_menu(title$,menu_data%)
 2200blk%=EVAL(FNget_menu_item(menu_data%,offset%))
 2210SYS"Wimp_CreateMenu",,blk%,menx%,meny%
 2220current_menu$=title$
 2230ENDPROC
 2250DEFPROCdecode_menu(title$)
 2260LOCALmen_loop%,func$
 2270offset%=FNfind_menu(title$,menu_data%)
 2280blk%=EVAL(FNget_menu_item(menu_data%,offset%))
 2290men_loop%=0
 2300WHILEmen_loop%<=block%!depth%
 2310dots%=0
 2320PROCmenu_item
 2330men_loop%+=1
 2340ENDWHILE
 2350IFblock%!depth%>-1THEN
 2360IFRIGHT$(name$,1)="@"THEN
 2370name$=LEFT$(name$,LENname$-1)
 2380depth%+=4
 2390PROCdecode_menu(name$)
 2400ENDIF
 2410IFfunc$<>""THENa=EVAL("FN"+func$)
 2420ENDIF
 2430ENDPROC
 2450DEFFNtemplates(file$)
 2460DIMQ%2048,P%2048,R%2048
 2470maxws%=&100
 2480DIMindir%maxws%,indir2%maxws%,indir3%maxws%
 2490SYS"Wimp_OpenTemplate",,file$
 2500SYS"Wimp_LoadTemplate",,Q%,indir%,indir%+maxws%,-1,"info",0
 2510SYS"Wimp_LoadTemplate",,P%,indir2%,indir2%+maxws%,-1,"main",0
 2520SYS"Wimp_LoadTemplate",,R%,indir3%,indir3%+maxws%,-1,"option",0
 2530SYS"Wimp_CreateWindow",,Q%TOinfo%
 2540SYS"Wimp_CreateWindow",,P%TOmain%
 2550SYS"Wimp_CreateWindow",,R%TOoption%
 2560SYS"Wimp_CloseTemplate"
 2570=info%
 2590DEFPROCset_version(pt%,H%,ver$)
 2600!q%=pt%
 2610q%!4=H%
 2620SYS"Wimp_GetIconState",,q%
 2630$q%!28=ver$
 2640q%!8=0
 2650q%!12=0
 2660SYS"Wimp_SetIconState",,q%
 2670ENDPROC
 2690DEFPROCfinish
 2700SYS"Wimp_CloseDown",handle%,!q%
 2710END
 2720ENDPROC
 2740DEFPROCerror
 2750SYS"Wimp_DragBox",,0
 2760!block%=ERR
 2770error=TRUE
 2780CASEERROF
 2790WHEN222:$(block%+4)="This file does not exist"+CHR$0:error=FALSE
 2800OTHERWISE
 2810$(block%+4)="(Internal error code "+STR$(ERL)+") "+REPORT$+CHR$0
 2820ENDCASE
 2830flags=1
 2840SYS"Wimp_ReportError",block%,flags,"Easilarm"
 2850IFerrorTHENPROCfinishELSEPROCmain:END
 2860ENDPROC
 2880DEFPROCcreate_window
 2890!block%=main%
 2900block%!4=300
 2910block%!8=300
 2920block%!12=1142
 2930block%!16=780
 2940block%!20=0
 2950block%!24=0
 2960block%!28=-1
 2970SYS"Wimp_OpenWindow",,block%
 2980ENDPROC
 3000DEFPROCclose
 3010SYS"Wimp_CloseWindow",,block%
 3020ENDPROC
 3040DEFPROCopen
 3050SYS"Wimp_OpenWindow",,block%
 3060ENDPROC
 3080DEFFNget_menu_item(db%,RETURNoff%)
 3090LOCALst$
 3100WHILEdb%?off%<>10ANDdb%?off%<>13
 3110st$+=CHR$(db%?off%)
 3120off%+=1
 3130ENDWHILE
 3140off%+=1
 3150=st$
 3170DEFFNfind_menu(name$,data%)
 3180LOCALfi$
 3190name$="^"+name$
 3200offset%=0
 3210REPEAT
 3220fi$=FNget_menu_item(data%,offset%)
 3230UNTILfi$=name$ORfi$="~"
 3240IFfi$="~"THEN=TRUE
 3250=offset%
 3270DEFFNfin
 3280PROCfinish
 3290=0
 3310DEFPROCtimer
 3320b%=5
 3330IFalarmset%=TRUETHEN
 3340IFalarmtime$=MID$(TIME$,17,5)THENalarmring%=TRUE:b%=8
 3350ENDIF
 3360ELSE
 3370b%=5
 3380ENDIF
 3390IFTx$<>MID$(TIME$,17,b%)THEN
 3400Tx$=MID$(TIME$,17,b%)
 3410IFalarmring%=TRUETHENPROCringalarm
 3420IFalarmset%=FALSETHENPROCsetwindow(0,"")
 3430PROCseticonstate(LEFT$(Tx$,5))
 3440ENDIF
 3450ENDPROC
 3470DEFPROCseticonstate(state$)
 3480IFLEFT$(state$,1)="�"THEN$icvalid%=MID$(state$,2)ELSE$icontext%=state$
 3490!block%=-1
 3500block%!4=iconh%
 3510block%!8=0
 3520block%!12=0
 3530SYS"Wimp_SetIconState",,block%
 3550ENDPROC
 3570DEFFNsetalarm(alset$)
 3580display%=FALSE
 3590IFLEN(alset$)<8THEN
 3600IF(RIGHT$(alset$,1)="h"ORRIGHT$(alset$,1)="H")ANDVAL(LEFT$(alset$,1))<>0THEN
 3610alarmtime$=FNaddtime(60*(VAL(LEFT$(alset$,1)))):alarmset%=TRUE:display%=TRUE
 3620ELSE
 3630IFINSTR(alset$,":")=0THENalarmtime$=FNaddtime(VALalset$):alarmset%=TRUE:display%=TRUE
 3640ENDIF
 3650ENDIF
 3660IFFNcheckstring(alset$)=TRUETHENalarmtime$=alset$:alarmset%=TRUE:display%=TRUE
 3670IFdisplay%=TRUETHENPROCsetwindow(alarmset%,alarmtime$):PROCseticonstate("�S!easilarm3")
 3680=0
 3700DEFFNcheckstring(check$)
 3710check%=FALSE
 3720IFLEN(check$)=5THEN
 3730IFVAL(LEFT$(check$,2))<=24THEN
 3740IFVAL(RIGHT$(check$,2))<=60THEN
 3750IFMID$(check$,3,1)=":"THEN
 3760check%=TRUE
 3770ENDIF
 3780ENDIF
 3790ENDIF
 3800ENDIF
 3810=check%
 3830DEFFNaddtime(add)
 3840addr=VAL(MID$(TIME$,20,2))
 3850add$=MID$(TIME$,17,3)+STR$(addr+add)
 3860add$=FNchecktime(add$)
 3870=add$
 3890DEFFNchecktime(check$)
 3900chleft=VAL(LEFT$(check$,2)):chright=VAL(MID$(check$,4))
 3910IFchleft>24THEN
 3920finleft=chleftMOD24
 3930ELSE
 3940finleft=chleft
 3950ENDIF
 3960IFchright>59THEN
 3970leftadd=chrightDIV60
 3980finright=chrightMOD60
 3990ELSE
 4000leftadd=0
 4010finright=chright
 4020ENDIF
 4030final$=STR$(finleft+leftadd)+":"+STR$(finright)
 4040IFfinleft+leftadd>24ORfinright>59THEN
 4050final$=FNchecktime(final$)
 4060ENDIF
 4070IFfinleft+leftadd<10THENfinal$="0"+final$
 4080IFfinright<10THENfinal$=LEFT$(final$,3)+"0"+RIGHT$(final$,1)
 4090=final$
 4110DEFPROCsetwindow(op%,op$)
 4120IFop%=TRUETHEN
 4130PROCset_version(main%,0,"Alarm set for:")
 4140PROCset_version(main%,1,op$)
 4150PROCset_version(main%,2,"C A N C E L")
 4160tick%=%00000001
 4170grey%=&7000021
 4180ENDIF
 4190IFop%=FALSETHEN
 4200PROCseticonstate("�S!easilarm")
 4210PROCset_version(main%,0,"Alarm not set")
 4220PROCset_version(main%,1,LEFT$(TIME$,10))
 4230PROCset_version(main%,2,MID$(TIME$,12,4))
 4240alarmset%=FALSE
 4250tick%=%00000000
 4260grey%=&7400021
 4270ENDIF
 4280ENDPROC
 4300DEFPROCringalarm
 4310IFalarmset%=FALSETHENalarmring%=FALSE:first%=0
 4320IFalarmset%=TRUETHEN
 4330IFopton(1)=TRUE:VDU7
 4340IFopton(3)=TRUEANDfirst%=0THENPROCcreate_window:first%=FALSE
 4350IFopton(5)=TRUEANDflip%=0THENPROCseticonstate("�S!easilarm"):flip%=1ELSEIFopton(5)=TRUE:PROCseticonstate("�S!easilarm3"):flip%=0
 4351first%+=1:IFfirst%=59THENnull=FNcancel
 4360ENDIF
 4370ENDPROC
 4390DEFFNsettime(settime$)
 4400IFFNcheckstring(settime$)=TRUETHENTIME$=settime$+":00"
 4410=0
 4430DEFFNcancel
 4440PROCsetwindow(0,"")
 4450=0
 4470DEFPROCsetoption(iconno%)
 4480IFiconno%MOD2=1THEN
 4490IFopton(iconno%)=FALSETHEN
 4491opton(iconno%)=TRUE
 4500ELSEopton(iconno%)=FALSE
 4510ENDIF
 4520ENDIF
 4530ENDPROC
���error
�
�setup
�	�main
��finish
��
��setup
alias$="<Easilarm$Dir>"
version$="2.0"
"!�q%100,block%1000,menblk%1000
,%�main_blk%1000,seta%1000,sett%100
6�setal%10,setti%10
@
�opton(8)
A$opton(1)=�:opton(3)=�:opton(5)=�
JTx$="Time"
Tflags%=%00000000
^grey%=&7400021
h�icontext%16,icvalid%16
r-$icontext%="12:00":$icvalid%="S!easilarm"
|!alarmring%=�:flip%=0:first%=�
�$q%="TASK"
�3ș"Wimp_Initialise",200,!q%,"Easilarm"�,handle%
� �sprites(alias$+".!Sprites")
�iconh%=�iconbar
��seticonstate(��$,17,5))
�)info%=�templates(alias$+".Templates")
�"�set_version(info%,3,version$)
��load_menus
��setwindow(0,"")
��
��load_menus
lm%=�(alias$+".Menu")
&dim%=�#lm%
0	�#lm%
:�menu_data%dim%
D+�"LOAD "+alias$+".Menu "+�~(menu_data%)
Ncurrent_menu$=""
X�
l
��main
v�
� �poll(%10011111110110110011)
�(�(reason%=17�reason%=18)�block%!16=0
��
�
ݤiconbar
�!block%=-1
�block%!4=0
�block%!8=-16
�block%!12=96+32
�block%!16=86
�/block%!20=%00010111000000000011000100101011
block%!24=icontext%
block%!28=icvalid%
block%!32=�($icontext%)+1
 %ș"Wimp_CreateIcon",,block%�icon%
*
=icon%
>��sprites(file$)
Hsp=�(file$)
Rdim%=�#sp+16
\�#sp
f�sprite%dim%
p!sprite%=dim%
zsprite%!4=0
�sprite%!8=16
�sprite%!12=16
�(ș"OS_SpriteOp",256+10,sprite%,file$
��
���poll(mask%)
�!block%=mask%
�"ș"Wimp_Poll",0,block%�reason%
�Ȏreason%�
�
�0:�timer
��2:�open
�
�3:�close
�8�6:�check_mouse(!block%,block%!4,block%!8,block%!12)
�9:�menu_select
�
�
.$��check_mouse(mx%,my%,but%,hnd%)
8Ȏbut%�
B�2:�hnd%=-2�
L%�create_icon_menu("Easilarm",mx%)
V�
`!�create_menu("Setup",mx%,my%)
j�
t�4:Ȏhnd%�
~�-2:�create_window
��main%:�setwindow(0,"")
�"�option%:�setoption(block%!16)
��
��1:Ȏhnd%�
��main%:�setwindow(0,"")
�"�option%:�setoption(block%!16)
��
��
��
���create_menu(title$,x%,y%)
�
menuy%=y%
��build_menu(title$,menuy%)
menux%=x%-64


menuy%=y%
+ș"Wimp_CreateMenu",,blk%,menux%,menuy%
�
2!��create_icon_menu(title$,x%)
<menuy%=0
F�build_menu(title$,menuy%)
Pmenux%=x%-64
Z+ș"Wimp_CreateMenu",,blk%,menux%,menuy%
d�
x!��build_menu(title$,�height%)
�@�offset%,i%,menuItems%,dots%,wimpflags,flags,ptr%,name$,ptr$
�)offset%=�find_menu(title$,menu_data%)
�)�offset%=���42,"Can't find menu data"
�+blk$=�get_menu_item(menu_data%,offset%)
�blk%=�(blk$)
�$blk%=�title$,12)
�
blk%?12=7
�
blk%?13=2
�
blk%?14=7
�
blk%?15=0
�blk%!16=172
�blk%!20=44
�
blk%!24=0
	i%=28
menuItems%=0
dots%=0
"7ȕmenu_data%?offset%<>�"~"�menu_data%?offset%<>�"^"
,�menu_item
6I��name$,1)="@"�name$=�name$,�name$-1):ptr$=�build_submenu(name$,pos%)
@�(flags�4)=4�
Jinstr%=�ptr$,",")
T#blk%!(i%+12)=�(�ptr$,instr%-1))
^ptr$=�ptr$,instr%+1)
hinstr%=�ptr$,",")
r#blk%!(i%+16)=�(�ptr$,instr%-1))
|ptr$=�ptr$,instr%+1)
�blk%!(i%+20)=�(ptr$)
�wimpflags=wimpflags�2^8
�ptr%=-1
�($(blk%!(i%+12))=�name$,blk%!(i%+20))
��
�$(blk%+i%+12)=�name$,12)
�ptr%=�(ptr$)
��
�blk%!i%=flags
�blk%!(i%+4)=ptr%
�blk%!(i%+8)=wimpflags
�i%=i%+24
�menuItems%+=1
�
)height%=96+(menuItems%*44)+(dots%*24)
current_menu$=�$blk%,12)
&�
:��menu_item
Dwimpflags=&7000021
Nflags=0
X
ptr$="-1"
bfunc$=""
l,name$=�get_menu_item(menu_data%,offset%)
vN�menu_data%?offset%=�"!"offset%+=1:ptr$=�get_menu_item(menu_data%,offset%)
�V�menu_data%?offset%=�"{"offset%+=1:wimpflags=�(�get_menu_item(menu_data%,offset%))
�R�menu_data%?offset%=�"�"offset%+=1:flags=�(�get_menu_item(menu_data%,offset%))
�O�menu_data%?offset%=�"\"offset%+=1:func$=�get_menu_item(menu_data%,offset%)
�C�menu_data%?offset%=�"~"�menu_data%?offset%=�"^"flags=flags�&80
�+�name$,1)="}"�flags+=1:name$=�name$,2)
�+�name$,1)="#"�flags+=4:name$=�name$,2)
�;��name$,1)="}"�flags+=2:name$=�name$,�name$-1):dots%+=1
��
� ݤbuild_submenu(title$,pos%)
��blk$,blk%
��build_menu(title$,pos%)
�	=blk$
��menu_select
ș"Wimp_GetPointerInfo",,q%
 
but%=q%!8
*depth%=0
4�decode_menu(current_menu$)
>�(but%�1)=1�
H-�re_openmenu(current_menu$,menux%,menuy%)
R�
\current_menu$=""
f�
p�
�%��re_openmenu(title$,menx%,meny%)
�)offset%=�find_menu(title$,menu_data%)
�.blk%=�(�get_menu_item(menu_data%,offset%))
�)ș"Wimp_CreateMenu",,blk%,menx%,meny%
�current_menu$=title$
��
���decode_menu(title$)
��men_loop%,func$
�)offset%=�find_menu(title$,menu_data%)
�.blk%=�(�get_menu_item(menu_data%,offset%))
�men_loop%=0
�ȕmen_loop%<=block%!depth%
	dots%=0
	�menu_item
	men_loop%+=1
	$�
	.�block%!depth%>-1�
	8��name$,1)="@"�
	Bname$=�name$,�name$-1)
	L
depth%+=4
	V�decode_menu(name$)
	`�
	j�func$<>""�a=�("FN"+func$)
	t�
	~�
	�ݤtemplates(file$)
	��Q%2048,P%2048,R%2048
	�maxws%=&100
	�-�indir%maxws%,indir2%maxws%,indir3%maxws%
	� ș"Wimp_OpenTemplate",,file$
	�>ș"Wimp_LoadTemplate",,Q%,indir%,indir%+maxws%,-1,"info",0
	�@ș"Wimp_LoadTemplate",,P%,indir2%,indir2%+maxws%,-1,"main",0
	�Bș"Wimp_LoadTemplate",,R%,indir3%,indir3%+maxws%,-1,"option",0
	�#ș"Wimp_CreateWindow",,Q%�info%
	�#ș"Wimp_CreateWindow",,P%�main%
	�%ș"Wimp_CreateWindow",,R%�option%
ș"Wimp_CloseTemplate"


=info%
��set_version(pt%,H%,ver$)
(!q%=pt%
2q%!4=H%
<ș"Wimp_GetIconState",,q%
F$q%!28=ver$
P
q%!8=0
Zq%!12=0
dș"Wimp_SetIconState",,q%
n�
���finish
�"ș"Wimp_CloseDown",handle%,!q%
��
��
���error
�ș"Wimp_DragBox",,0
�
!block%=�
�error=�
�Ȏ��
�:�222:$(block%+4)="This file does not exist"+�0:error=�
�
�7$(block%+4)="(Internal error code "+�(�)+") "+�$+�0
�
flags=1
0ș"Wimp_ReportError",block%,flags,"Easilarm"
"�error��finish��main:�
,�
@��create_window
J!block%=main%
Tblock%!4=300
^block%!8=300
hblock%!12=1142
rblock%!16=780
|block%!20=0
�block%!24=0
�block%!28=-1
�ș"Wimp_OpenWindow",,block%
��
���close
� ș"Wimp_CloseWindow",,block%
��
�
��open
�ș"Wimp_OpenWindow",,block%
��
ݤget_menu_item(db%,�off%)
�st$
ȕdb%?off%<>10�db%?off%<>13
&st$+=�(db%?off%)
0off%+=1
:�
Doff%+=1
N=st$
bݤfind_menu(name$,data%)
l�fi$
vname$="^"+name$
�
offset%=0
��
�%fi$=�get_menu_item(data%,offset%)
��fi$=name$�fi$="~"
��fi$="~"�=�
�=offset%
�	ݤfin
��finish
�=0
���timer
�b%=5

�alarmset%=��

+�alarmtime$=��$,17,5)�alarmring%=�:b%=8

�

 �

*b%=5

4�

>�Tx$<>��$,17,b%)�

HTx$=��$,17,b%)

R�alarmring%=���ringalarm

\!�alarmset%=���setwindow(0,"")

f�seticonstate(�Tx$,5))

p�

z�

���seticonstate(state$)

�:�state$,1)="�"�$icvalid%=�state$,2)�$icontext%=state$

�!block%=-1

�block%!4=iconh%

�block%!8=0

�block%!12=0

�!ș"Wimp_SetIconState",,block%

��

�ݤsetalarm(alset$)

�display%=�
�(alset$)<8�
6�(�alset$,1)="h"��alset$,1)="H")��(�alset$,1))<>0�
Balarmtime$=�addtime(60*(�(�alset$,1)))):alarmset%=�:display%=�
$�
.G�alset$,":")=0�alarmtime$=�addtime(�alset$):alarmset%=�:display%=�
8�
B�
LD�checkstring(alset$)=��alarmtime$=alset$:alarmset%=�:display%=�
VN�display%=���setwindow(alarmset%,alarmtime$):�seticonstate("�S!easilarm3")
`=0
tݤcheckstring(check$)
~check%=�
��(check$)=5�
��(�check$,2))<=24�
��(�check$,2))<=60�
��check$,3,1)=":"�
�check%=�
��
��
��
��
�=check%
�ݤaddtime(add)
addr=�(��$,20,2))

add$=��$,17,3)+�(addr+add)
add$=�checktime(add$)
	=add$
2ݤchecktime(check$)
<.chleft=�(�check$,2)):chright=�(�check$,4))
F�chleft>24�
Pfinleft=chleft�24
Z�
dfinleft=chleft
n�
x�chright>59�
�leftadd=chright�60
�finright=chright�60
��
�
leftadd=0
�finright=chright
��
�-final$=�(finleft+leftadd)+":"+�(finright)
�$�finleft+leftadd>24�finright>59�
�final$=�checktime(final$)
��
�)�finleft+leftadd<10�final$="0"+final$
�1�finright<10�final$=�final$,3)+"0"+�final$,1)
�=final$
��setwindow(op%,op$)
�op%=��
"*�set_version(main%,0,"Alarm set for:")
,�set_version(main%,1,op$)
6'�set_version(main%,2,"C A N C E L")
@tick%=%00000001
Jgrey%=&7000021
T�
^�op%=��
h �seticonstate("�S!easilarm")
r)�set_version(main%,0,"Alarm not set")
|!�set_version(main%,1,��$,10))
�#�set_version(main%,2,��$,12,4))
�alarmset%=�
�tick%=%00000000
�grey%=&7400021
��
��
���ringalarm
�&�alarmset%=��alarmring%=�:first%=0
��alarmset%=��
��opton(1)=�:�7
�0�opton(3)=��first%=0��create_window:first%=�
�n�opton(5)=��flip%=0��seticonstate("�S!easilarm"):flip%=1��opton(5)=�:�seticonstate("�S!easilarm3"):flip%=0
�%first%+=1:�first%=59�null=�cancel
�
�
&ݤsettime(settime$)
0/�checkstring(settime$)=���$=settime$+":00"
:=0
Nݤcancel
X�setwindow(0,"")
b=0
v��setoption(iconno%)
��iconno%�2=1�
��opton(iconno%)=��
�opton(iconno%)=�
��opton(iconno%)=�
��
��
��
�
00000000  0d 00 c8 0c ee 85 f2 65  72 72 6f 72 0d 00 d2 0a  |.......error....|
00000010  f2 73 65 74 75 70 0d 00  dc 09 f2 6d 61 69 6e 0d  |.setup.....main.|
00000020  00 e6 0b f2 66 69 6e 69  73 68 0d 00 f0 05 e0 0d  |....finish......|
00000030  01 04 0b dd f2 73 65 74  75 70 0d 01 0e 1b 61 6c  |.....setup....al|
00000040  69 61 73 24 3d 22 3c 45  61 73 69 6c 61 72 6d 24  |ias$="<Easilarm$|
00000050  44 69 72 3e 22 0d 01 18  12 76 65 72 73 69 6f 6e  |Dir>"....version|
00000060  24 3d 22 32 2e 30 22 0d  01 22 21 de 71 25 31 30  |$="2.0".."!.q%10|
00000070  30 2c 62 6c 6f 63 6b 25  31 30 30 30 2c 6d 65 6e  |0,block%1000,men|
00000080  62 6c 6b 25 31 30 30 30  0d 01 2c 25 de 6d 61 69  |blk%1000..,%.mai|
00000090  6e 5f 62 6c 6b 25 31 30  30 30 2c 73 65 74 61 25  |n_blk%1000,seta%|
000000a0  31 30 30 30 2c 73 65 74  74 25 31 30 30 0d 01 36  |1000,sett%100..6|
000000b0  16 de 73 65 74 61 6c 25  31 30 2c 73 65 74 74 69  |..setal%10,setti|
000000c0  25 31 30 0d 01 40 0d de  6f 70 74 6f 6e 28 38 29  |%10..@..opton(8)|
000000d0  0d 01 41 24 6f 70 74 6f  6e 28 31 29 3d b9 3a 6f  |..A$opton(1)=.:o|
000000e0  70 74 6f 6e 28 33 29 3d  b9 3a 6f 70 74 6f 6e 28  |pton(3)=.:opton(|
000000f0  35 29 3d b9 0d 01 4a 0e  54 78 24 3d 22 54 69 6d  |5)=...J.Tx$="Tim|
00000100  65 22 0d 01 54 14 66 6c  61 67 73 25 3d 25 30 30  |e"..T.flags%=%00|
00000110  30 30 30 30 30 30 0d 01  5e 12 67 72 65 79 25 3d  |000000..^.grey%=|
00000120  26 37 34 30 30 30 32 31  0d 01 68 1b de 69 63 6f  |&7400021..h..ico|
00000130  6e 74 65 78 74 25 31 36  2c 69 63 76 61 6c 69 64  |ntext%16,icvalid|
00000140  25 31 36 0d 01 72 2d 24  69 63 6f 6e 74 65 78 74  |%16..r-$icontext|
00000150  25 3d 22 31 32 3a 30 30  22 3a 24 69 63 76 61 6c  |%="12:00":$icval|
00000160  69 64 25 3d 22 53 21 65  61 73 69 6c 61 72 6d 22  |id%="S!easilarm"|
00000170  0d 01 7c 21 61 6c 61 72  6d 72 69 6e 67 25 3d a3  |..|!alarmring%=.|
00000180  3a 66 6c 69 70 25 3d 30  3a 66 69 72 73 74 25 3d  |:flip%=0:first%=|
00000190  b9 0d 01 86 0e 24 71 25  3d 22 54 41 53 4b 22 0d  |.....$q%="TASK".|
000001a0  01 90 33 c8 99 22 57 69  6d 70 5f 49 6e 69 74 69  |..3.."Wimp_Initi|
000001b0  61 6c 69 73 65 22 2c 32  30 30 2c 21 71 25 2c 22  |alise",200,!q%,"|
000001c0  45 61 73 69 6c 61 72 6d  22 b8 2c 68 61 6e 64 6c  |Easilarm".,handl|
000001d0  65 25 0d 01 9a 20 f2 73  70 72 69 74 65 73 28 61  |e%... .sprites(a|
000001e0  6c 69 61 73 24 2b 22 2e  21 53 70 72 69 74 65 73  |lias$+".!Sprites|
000001f0  22 29 0d 01 a4 13 69 63  6f 6e 68 25 3d a4 69 63  |")....iconh%=.ic|
00000200  6f 6e 62 61 72 0d 01 ae  1c f2 73 65 74 69 63 6f  |onbar.....setico|
00000210  6e 73 74 61 74 65 28 c1  91 24 2c 31 37 2c 35 29  |nstate(..$,17,5)|
00000220  29 0d 01 b8 29 69 6e 66  6f 25 3d a4 74 65 6d 70  |)...)info%=.temp|
00000230  6c 61 74 65 73 28 61 6c  69 61 73 24 2b 22 2e 54  |lates(alias$+".T|
00000240  65 6d 70 6c 61 74 65 73  22 29 0d 01 c2 22 f2 73  |emplates")...".s|
00000250  65 74 5f 76 65 72 73 69  6f 6e 28 69 6e 66 6f 25  |et_version(info%|
00000260  2c 33 2c 76 65 72 73 69  6f 6e 24 29 0d 01 cc 0f  |,3,version$)....|
00000270  f2 6c 6f 61 64 5f 6d 65  6e 75 73 0d 01 ea 14 f2  |.load_menus.....|
00000280  73 65 74 77 69 6e 64 6f  77 28 30 2c 22 22 29 0d  |setwindow(0,"").|
00000290  01 fe 05 e1 0d 02 12 10  dd f2 6c 6f 61 64 5f 6d  |..........load_m|
000002a0  65 6e 75 73 0d 02 1c 19  6c 6d 25 3d 8e 28 61 6c  |enus....lm%=.(al|
000002b0  69 61 73 24 2b 22 2e 4d  65 6e 75 22 29 0d 02 26  |ias$+".Menu")..&|
000002c0  0e 64 69 6d 25 3d a2 23  6c 6d 25 0d 02 30 09 d9  |.dim%=.#lm%..0..|
000002d0  23 6c 6d 25 0d 02 3a 13  de 6d 65 6e 75 5f 64 61  |#lm%..:..menu_da|
000002e0  74 61 25 64 69 6d 25 0d  02 44 2b ff 22 4c 4f 41  |ta%dim%..D+."LOA|
000002f0  44 20 22 2b 61 6c 69 61  73 24 2b 22 2e 4d 65 6e  |D "+alias$+".Men|
00000300  75 20 22 2b c3 7e 28 6d  65 6e 75 5f 64 61 74 61  |u "+.~(menu_data|
00000310  25 29 0d 02 4e 14 63 75  72 72 65 6e 74 5f 6d 65  |%)..N.current_me|
00000320  6e 75 24 3d 22 22 0d 02  58 05 e1 0d 02 6c 0a dd  |nu$=""..X....l..|
00000330  f2 6d 61 69 6e 0d 02 76  05 f5 0d 02 80 20 f2 70  |.main..v..... .p|
00000340  6f 6c 6c 28 25 31 30 30  31 31 31 31 31 31 31 30  |oll(%10011111110|
00000350  31 31 30 31 31 30 30 31  31 29 0d 02 8a 28 fd 28  |110110011)...(.(|
00000360  72 65 61 73 6f 6e 25 3d  31 37 84 72 65 61 73 6f  |reason%=17.reaso|
00000370  6e 25 3d 31 38 29 80 62  6c 6f 63 6b 25 21 31 36  |n%=18).block%!16|
00000380  3d 30 0d 02 94 05 e1 0d  02 a8 0d dd a4 69 63 6f  |=0...........ico|
00000390  6e 62 61 72 0d 02 b2 0e  21 62 6c 6f 63 6b 25 3d  |nbar....!block%=|
000003a0  2d 31 0d 02 bc 0e 62 6c  6f 63 6b 25 21 34 3d 30  |-1....block%!4=0|
000003b0  0d 02 c6 10 62 6c 6f 63  6b 25 21 38 3d 2d 31 36  |....block%!8=-16|
000003c0  0d 02 d0 13 62 6c 6f 63  6b 25 21 31 32 3d 39 36  |....block%!12=96|
000003d0  2b 33 32 0d 02 da 10 62  6c 6f 63 6b 25 21 31 36  |+32....block%!16|
000003e0  3d 38 36 0d 02 e4 2f 62  6c 6f 63 6b 25 21 32 30  |=86.../block%!20|
000003f0  3d 25 30 30 30 31 30 31  31 31 30 30 30 30 30 30  |=%00010111000000|
00000400  30 30 30 30 31 31 30 30  30 31 30 30 31 30 31 30  |0000110001001010|
00000410  31 31 0d 03 02 17 62 6c  6f 63 6b 25 21 32 34 3d  |11....block%!24=|
00000420  69 63 6f 6e 74 65 78 74  25 0d 03 0c 16 62 6c 6f  |icontext%....blo|
00000430  63 6b 25 21 32 38 3d 69  63 76 61 6c 69 64 25 0d  |ck%!28=icvalid%.|
00000440  03 16 1d 62 6c 6f 63 6b  25 21 33 32 3d a9 28 24  |...block%!32=.($|
00000450  69 63 6f 6e 74 65 78 74  25 29 2b 31 0d 03 20 25  |icontext%)+1.. %|
00000460  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 49 63  |.."Wimp_CreateIc|
00000470  6f 6e 22 2c 2c 62 6c 6f  63 6b 25 b8 69 63 6f 6e  |on",,block%.icon|
00000480  25 0d 03 2a 0a 3d 69 63  6f 6e 25 0d 03 3e 14 dd  |%..*.=icon%..>..|
00000490  f2 73 70 72 69 74 65 73  28 66 69 6c 65 24 29 0d  |.sprites(file$).|
000004a0  03 48 0f 73 70 3d 8e 28  66 69 6c 65 24 29 0d 03  |.H.sp=.(file$)..|
000004b0  52 10 64 69 6d 25 3d a2  23 73 70 2b 31 36 0d 03  |R.dim%=.#sp+16..|
000004c0  5c 08 d9 23 73 70 0d 03  66 10 de 73 70 72 69 74  |\..#sp..f..sprit|
000004d0  65 25 64 69 6d 25 0d 03  70 11 21 73 70 72 69 74  |e%dim%..p.!sprit|
000004e0  65 25 3d 64 69 6d 25 0d  03 7a 0f 73 70 72 69 74  |e%=dim%..z.sprit|
000004f0  65 25 21 34 3d 30 0d 03  84 10 73 70 72 69 74 65  |e%!4=0....sprite|
00000500  25 21 38 3d 31 36 0d 03  8e 11 73 70 72 69 74 65  |%!8=16....sprite|
00000510  25 21 31 32 3d 31 36 0d  03 98 28 c8 99 22 4f 53  |%!12=16...(.."OS|
00000520  5f 53 70 72 69 74 65 4f  70 22 2c 32 35 36 2b 31  |_SpriteOp",256+1|
00000530  30 2c 73 70 72 69 74 65  25 2c 66 69 6c 65 24 0d  |0,sprite%,file$.|
00000540  03 a2 05 e1 0d 03 b6 11  dd f2 70 6f 6c 6c 28 6d  |..........poll(m|
00000550  61 73 6b 25 29 0d 03 c0  11 21 62 6c 6f 63 6b 25  |ask%)....!block%|
00000560  3d 6d 61 73 6b 25 0d 03  ca 22 c8 99 22 57 69 6d  |=mask%...".."Wim|
00000570  70 5f 50 6f 6c 6c 22 2c  30 2c 62 6c 6f 63 6b 25  |p_Poll",0,block%|
00000580  b8 72 65 61 73 6f 6e 25  0d 03 d4 0e c8 8e 72 65  |.reason%......re|
00000590  61 73 6f 6e 25 ca 0d 03  de 0d c9 30 3a f2 74 69  |ason%......0:.ti|
000005a0  6d 65 72 0d 03 e8 0c c9  32 3a f2 6f 70 65 6e 0d  |mer.....2:.open.|
000005b0  03 f2 0d c9 33 3a f2 63  6c 6f 73 65 0d 03 fc 38  |....3:.close...8|
000005c0  c9 36 3a f2 63 68 65 63  6b 5f 6d 6f 75 73 65 28  |.6:.check_mouse(|
000005d0  21 62 6c 6f 63 6b 25 2c  62 6c 6f 63 6b 25 21 34  |!block%,block%!4|
000005e0  2c 62 6c 6f 63 6b 25 21  38 2c 62 6c 6f 63 6b 25  |,block%!8,block%|
000005f0  21 31 32 29 0d 04 06 13  c9 39 3a f2 6d 65 6e 75  |!12).....9:.menu|
00000600  5f 73 65 6c 65 63 74 0d  04 10 05 cb 0d 04 1a 05  |_select.........|
00000610  e1 0d 04 2e 24 dd f2 63  68 65 63 6b 5f 6d 6f 75  |....$..check_mou|
00000620  73 65 28 6d 78 25 2c 6d  79 25 2c 62 75 74 25 2c  |se(mx%,my%,but%,|
00000630  68 6e 64 25 29 0d 04 38  0b c8 8e 62 75 74 25 ca  |hnd%)..8...but%.|
00000640  0d 04 42 10 c9 32 3a e7  68 6e 64 25 3d 2d 32 8c  |..B..2:.hnd%=-2.|
00000650  0d 04 4c 25 f2 63 72 65  61 74 65 5f 69 63 6f 6e  |..L%.create_icon|
00000660  5f 6d 65 6e 75 28 22 45  61 73 69 6c 61 72 6d 22  |_menu("Easilarm"|
00000670  2c 6d 78 25 29 0d 04 56  05 cc 0d 04 60 21 f2 63  |,mx%)..V....`!.c|
00000680  72 65 61 74 65 5f 6d 65  6e 75 28 22 53 65 74 75  |reate_menu("Setu|
00000690  70 22 2c 6d 78 25 2c 6d  79 25 29 0d 04 6a 05 cd  |p",mx%,my%)..j..|
000006a0  0d 04 74 0e c9 34 3a c8  8e 68 6e 64 25 ca 0d 04  |..t..4:..hnd%...|
000006b0  7e 16 c9 2d 32 3a f2 63  72 65 61 74 65 5f 77 69  |~..-2:.create_wi|
000006c0  6e 64 6f 77 0d 04 88 1b  c9 6d 61 69 6e 25 3a f2  |ndow.....main%:.|
000006d0  73 65 74 77 69 6e 64 6f  77 28 30 2c 22 22 29 0d  |setwindow(0,"").|
000006e0  04 92 22 c9 6f 70 74 69  6f 6e 25 3a f2 73 65 74  |..".option%:.set|
000006f0  6f 70 74 69 6f 6e 28 62  6c 6f 63 6b 25 21 31 36  |option(block%!16|
00000700  29 0d 04 9c 05 cb 0d 04  a6 0e c9 31 3a c8 8e 68  |)..........1:..h|
00000710  6e 64 25 ca 0d 04 b0 1b  c9 6d 61 69 6e 25 3a f2  |nd%......main%:.|
00000720  73 65 74 77 69 6e 64 6f  77 28 30 2c 22 22 29 0d  |setwindow(0,"").|
00000730  04 b1 22 c9 6f 70 74 69  6f 6e 25 3a f2 73 65 74  |..".option%:.set|
00000740  6f 70 74 69 6f 6e 28 62  6c 6f 63 6b 25 21 31 36  |option(block%!16|
00000750  29 0d 04 ba 05 cb 0d 04  c4 05 cb 0d 04 ce 05 e1  |)...............|
00000760  0d 04 e2 1f dd f2 63 72  65 61 74 65 5f 6d 65 6e  |......create_men|
00000770  75 28 74 69 74 6c 65 24  2c 78 25 2c 79 25 29 0d  |u(title$,x%,y%).|
00000780  04 ec 0d 6d 65 6e 75 79  25 3d 79 25 0d 04 f6 1e  |...menuy%=y%....|
00000790  f2 62 75 69 6c 64 5f 6d  65 6e 75 28 74 69 74 6c  |.build_menu(titl|
000007a0  65 24 2c 6d 65 6e 75 79  25 29 0d 05 00 10 6d 65  |e$,menuy%)....me|
000007b0  6e 75 78 25 3d 78 25 2d  36 34 0d 05 0a 0d 6d 65  |nux%=x%-64....me|
000007c0  6e 75 79 25 3d 79 25 0d  05 14 2b c8 99 22 57 69  |nuy%=y%...+.."Wi|
000007d0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000007e0  62 6c 6b 25 2c 6d 65 6e  75 78 25 2c 6d 65 6e 75  |blk%,menux%,menu|
000007f0  79 25 0d 05 1e 05 e1 0d  05 32 21 dd f2 63 72 65  |y%.......2!..cre|
00000800  61 74 65 5f 69 63 6f 6e  5f 6d 65 6e 75 28 74 69  |ate_icon_menu(ti|
00000810  74 6c 65 24 2c 78 25 29  0d 05 3c 0c 6d 65 6e 75  |tle$,x%)..<.menu|
00000820  79 25 3d 30 0d 05 46 1e  f2 62 75 69 6c 64 5f 6d  |y%=0..F..build_m|
00000830  65 6e 75 28 74 69 74 6c  65 24 2c 6d 65 6e 75 79  |enu(title$,menuy|
00000840  25 29 0d 05 50 10 6d 65  6e 75 78 25 3d 78 25 2d  |%)..P.menux%=x%-|
00000850  36 34 0d 05 5a 2b c8 99  22 57 69 6d 70 5f 43 72  |64..Z+.."Wimp_Cr|
00000860  65 61 74 65 4d 65 6e 75  22 2c 2c 62 6c 6b 25 2c  |eateMenu",,blk%,|
00000870  6d 65 6e 75 78 25 2c 6d  65 6e 75 79 25 0d 05 64  |menux%,menuy%..d|
00000880  05 e1 0d 05 78 21 dd f2  62 75 69 6c 64 5f 6d 65  |....x!..build_me|
00000890  6e 75 28 74 69 74 6c 65  24 2c f8 68 65 69 67 68  |nu(title$,.heigh|
000008a0  74 25 29 0d 05 82 40 ea  6f 66 66 73 65 74 25 2c  |t%)...@.offset%,|
000008b0  69 25 2c 6d 65 6e 75 49  74 65 6d 73 25 2c 64 6f  |i%,menuItems%,do|
000008c0  74 73 25 2c 77 69 6d 70  66 6c 61 67 73 2c 66 6c  |ts%,wimpflags,fl|
000008d0  61 67 73 2c 70 74 72 25  2c 6e 61 6d 65 24 2c 70  |ags,ptr%,name$,p|
000008e0  74 72 24 0d 05 8c 29 6f  66 66 73 65 74 25 3d a4  |tr$...)offset%=.|
000008f0  66 69 6e 64 5f 6d 65 6e  75 28 74 69 74 6c 65 24  |find_menu(title$|
00000900  2c 6d 65 6e 75 5f 64 61  74 61 25 29 0d 05 96 29  |,menu_data%)...)|
00000910  e7 6f 66 66 73 65 74 25  3d b9 8c 85 34 32 2c 22  |.offset%=...42,"|
00000920  43 61 6e 27 74 20 66 69  6e 64 20 6d 65 6e 75 20  |Can't find menu |
00000930  64 61 74 61 22 0d 05 a0  2b 62 6c 6b 24 3d a4 67  |data"...+blk$=.g|
00000940  65 74 5f 6d 65 6e 75 5f  69 74 65 6d 28 6d 65 6e  |et_menu_item(men|
00000950  75 5f 64 61 74 61 25 2c  6f 66 66 73 65 74 25 29  |u_data%,offset%)|
00000960  0d 05 aa 10 62 6c 6b 25  3d a0 28 62 6c 6b 24 29  |....blk%=.(blk$)|
00000970  0d 05 b4 15 24 62 6c 6b  25 3d c0 74 69 74 6c 65  |....$blk%=.title|
00000980  24 2c 31 32 29 0d 05 be  0d 62 6c 6b 25 3f 31 32  |$,12)....blk%?12|
00000990  3d 37 0d 05 c8 0d 62 6c  6b 25 3f 31 33 3d 32 0d  |=7....blk%?13=2.|
000009a0  05 d2 0d 62 6c 6b 25 3f  31 34 3d 37 0d 05 dc 0d  |...blk%?14=7....|
000009b0  62 6c 6b 25 3f 31 35 3d  30 0d 05 e6 0f 62 6c 6b  |blk%?15=0....blk|
000009c0  25 21 31 36 3d 31 37 32  0d 05 f0 0e 62 6c 6b 25  |%!16=172....blk%|
000009d0  21 32 30 3d 34 34 0d 05  fa 0d 62 6c 6b 25 21 32  |!20=44....blk%!2|
000009e0  34 3d 30 0d 06 04 09 69  25 3d 32 38 0d 06 0e 10  |4=0....i%=28....|
000009f0  6d 65 6e 75 49 74 65 6d  73 25 3d 30 0d 06 18 0b  |menuItems%=0....|
00000a00  64 6f 74 73 25 3d 30 0d  06 22 37 c8 95 6d 65 6e  |dots%=0.."7..men|
00000a10  75 5f 64 61 74 61 25 3f  6f 66 66 73 65 74 25 3c  |u_data%?offset%<|
00000a20  3e 97 22 7e 22 80 6d 65  6e 75 5f 64 61 74 61 25  |>."~".menu_data%|
00000a30  3f 6f 66 66 73 65 74 25  3c 3e 97 22 5e 22 0d 06  |?offset%<>."^"..|
00000a40  2c 0e f2 6d 65 6e 75 5f  69 74 65 6d 0d 06 36 49  |,..menu_item..6I|
00000a50  e7 c2 6e 61 6d 65 24 2c  31 29 3d 22 40 22 8c 6e  |..name$,1)="@".n|
00000a60  61 6d 65 24 3d c0 6e 61  6d 65 24 2c a9 6e 61 6d  |ame$=.name$,.nam|
00000a70  65 24 2d 31 29 3a 70 74  72 24 3d a4 62 75 69 6c  |e$-1):ptr$=.buil|
00000a80  64 5f 73 75 62 6d 65 6e  75 28 6e 61 6d 65 24 2c  |d_submenu(name$,|
00000a90  70 6f 73 25 29 0d 06 40  11 e7 28 66 6c 61 67 73  |pos%)..@..(flags|
00000aa0  80 34 29 3d 34 8c 0d 06  4a 15 69 6e 73 74 72 25  |.4)=4...J.instr%|
00000ab0  3d a7 70 74 72 24 2c 22  2c 22 29 0d 06 54 23 62  |=.ptr$,",")..T#b|
00000ac0  6c 6b 25 21 28 69 25 2b  31 32 29 3d a0 28 c0 70  |lk%!(i%+12)=.(.p|
00000ad0  74 72 24 2c 69 6e 73 74  72 25 2d 31 29 29 0d 06  |tr$,instr%-1))..|
00000ae0  5e 18 70 74 72 24 3d c1  70 74 72 24 2c 69 6e 73  |^.ptr$=.ptr$,ins|
00000af0  74 72 25 2b 31 29 0d 06  68 15 69 6e 73 74 72 25  |tr%+1)..h.instr%|
00000b00  3d a7 70 74 72 24 2c 22  2c 22 29 0d 06 72 23 62  |=.ptr$,",")..r#b|
00000b10  6c 6b 25 21 28 69 25 2b  31 36 29 3d a0 28 c0 70  |lk%!(i%+16)=.(.p|
00000b20  74 72 24 2c 69 6e 73 74  72 25 2d 31 29 29 0d 06  |tr$,instr%-1))..|
00000b30  7c 18 70 74 72 24 3d c1  70 74 72 24 2c 69 6e 73  ||.ptr$=.ptr$,ins|
00000b40  74 72 25 2b 31 29 0d 06  86 18 62 6c 6b 25 21 28  |tr%+1)....blk%!(|
00000b50  69 25 2b 32 30 29 3d a0  28 70 74 72 24 29 0d 06  |i%+20)=.(ptr$)..|
00000b60  90 1b 77 69 6d 70 66 6c  61 67 73 3d 77 69 6d 70  |..wimpflags=wimp|
00000b70  66 6c 61 67 73 84 32 5e  38 0d 06 9a 0b 70 74 72  |flags.2^8....ptr|
00000b80  25 3d 2d 31 0d 06 a4 28  24 28 62 6c 6b 25 21 28  |%=-1...($(blk%!(|
00000b90  69 25 2b 31 32 29 29 3d  c0 6e 61 6d 65 24 2c 62  |i%+12))=.name$,b|
00000ba0  6c 6b 25 21 28 69 25 2b  32 30 29 29 0d 06 ae 05  |lk%!(i%+20))....|
00000bb0  cc 0d 06 b8 1c 24 28 62  6c 6b 25 2b 69 25 2b 31  |.....$(blk%+i%+1|
00000bc0  32 29 3d c0 6e 61 6d 65  24 2c 31 32 29 0d 06 c2  |2)=.name$,12)...|
00000bd0  10 70 74 72 25 3d a0 28  70 74 72 24 29 0d 06 cc  |.ptr%=.(ptr$)...|
00000be0  05 cd 0d 06 d6 11 62 6c  6b 25 21 69 25 3d 66 6c  |......blk%!i%=fl|
00000bf0  61 67 73 0d 06 e0 14 62  6c 6b 25 21 28 69 25 2b  |ags....blk%!(i%+|
00000c00  34 29 3d 70 74 72 25 0d  06 ea 19 62 6c 6b 25 21  |4)=ptr%....blk%!|
00000c10  28 69 25 2b 38 29 3d 77  69 6d 70 66 6c 61 67 73  |(i%+8)=wimpflags|
00000c20  0d 06 f4 0c 69 25 3d 69  25 2b 32 34 0d 06 fe 11  |....i%=i%+24....|
00000c30  6d 65 6e 75 49 74 65 6d  73 25 2b 3d 31 0d 07 08  |menuItems%+=1...|
00000c40  05 ce 0d 07 12 29 68 65  69 67 68 74 25 3d 39 36  |.....)height%=96|
00000c50  2b 28 6d 65 6e 75 49 74  65 6d 73 25 2a 34 34 29  |+(menuItems%*44)|
00000c60  2b 28 64 6f 74 73 25 2a  32 34 29 0d 07 1c 1c 63  |+(dots%*24)....c|
00000c70  75 72 72 65 6e 74 5f 6d  65 6e 75 24 3d c0 24 62  |urrent_menu$=.$b|
00000c80  6c 6b 25 2c 31 32 29 0d  07 26 05 e1 0d 07 3a 0f  |lk%,12)..&....:.|
00000c90  dd f2 6d 65 6e 75 5f 69  74 65 6d 0d 07 44 16 77  |..menu_item..D.w|
00000ca0  69 6d 70 66 6c 61 67 73  3d 26 37 30 30 30 30 32  |impflags=&700002|
00000cb0  31 0d 07 4e 0b 66 6c 61  67 73 3d 30 0d 07 58 0d  |1..N.flags=0..X.|
00000cc0  70 74 72 24 3d 22 2d 31  22 0d 07 62 0c 66 75 6e  |ptr$="-1"..b.fun|
00000cd0  63 24 3d 22 22 0d 07 6c  2c 6e 61 6d 65 24 3d a4  |c$=""..l,name$=.|
00000ce0  67 65 74 5f 6d 65 6e 75  5f 69 74 65 6d 28 6d 65  |get_menu_item(me|
00000cf0  6e 75 5f 64 61 74 61 25  2c 6f 66 66 73 65 74 25  |nu_data%,offset%|
00000d00  29 0d 07 76 4e e7 6d 65  6e 75 5f 64 61 74 61 25  |)..vN.menu_data%|
00000d10  3f 6f 66 66 73 65 74 25  3d 97 22 21 22 6f 66 66  |?offset%=."!"off|
00000d20  73 65 74 25 2b 3d 31 3a  70 74 72 24 3d a4 67 65  |set%+=1:ptr$=.ge|
00000d30  74 5f 6d 65 6e 75 5f 69  74 65 6d 28 6d 65 6e 75  |t_menu_item(menu|
00000d40  5f 64 61 74 61 25 2c 6f  66 66 73 65 74 25 29 0d  |_data%,offset%).|
00000d50  07 80 56 e7 6d 65 6e 75  5f 64 61 74 61 25 3f 6f  |..V.menu_data%?o|
00000d60  66 66 73 65 74 25 3d 97  22 7b 22 6f 66 66 73 65  |ffset%=."{"offse|
00000d70  74 25 2b 3d 31 3a 77 69  6d 70 66 6c 61 67 73 3d  |t%+=1:wimpflags=|
00000d80  a0 28 a4 67 65 74 5f 6d  65 6e 75 5f 69 74 65 6d  |.(.get_menu_item|
00000d90  28 6d 65 6e 75 5f 64 61  74 61 25 2c 6f 66 66 73  |(menu_data%,offs|
00000da0  65 74 25 29 29 0d 07 8a  52 e7 6d 65 6e 75 5f 64  |et%))...R.menu_d|
00000db0  61 74 61 25 3f 6f 66 66  73 65 74 25 3d 97 22 a4  |ata%?offset%=.".|
00000dc0  22 6f 66 66 73 65 74 25  2b 3d 31 3a 66 6c 61 67  |"offset%+=1:flag|
00000dd0  73 3d a0 28 a4 67 65 74  5f 6d 65 6e 75 5f 69 74  |s=.(.get_menu_it|
00000de0  65 6d 28 6d 65 6e 75 5f  64 61 74 61 25 2c 6f 66  |em(menu_data%,of|
00000df0  66 73 65 74 25 29 29 0d  07 94 4f e7 6d 65 6e 75  |fset%))...O.menu|
00000e00  5f 64 61 74 61 25 3f 6f  66 66 73 65 74 25 3d 97  |_data%?offset%=.|
00000e10  22 5c 22 6f 66 66 73 65  74 25 2b 3d 31 3a 66 75  |"\"offset%+=1:fu|
00000e20  6e 63 24 3d a4 67 65 74  5f 6d 65 6e 75 5f 69 74  |nc$=.get_menu_it|
00000e30  65 6d 28 6d 65 6e 75 5f  64 61 74 61 25 2c 6f 66  |em(menu_data%,of|
00000e40  66 73 65 74 25 29 0d 07  9e 43 e7 6d 65 6e 75 5f  |fset%)...C.menu_|
00000e50  64 61 74 61 25 3f 6f 66  66 73 65 74 25 3d 97 22  |data%?offset%=."|
00000e60  7e 22 84 6d 65 6e 75 5f  64 61 74 61 25 3f 6f 66  |~".menu_data%?of|
00000e70  66 73 65 74 25 3d 97 22  5e 22 66 6c 61 67 73 3d  |fset%=."^"flags=|
00000e80  66 6c 61 67 73 84 26 38  30 0d 07 a8 2b e7 c0 6e  |flags.&80...+..n|
00000e90  61 6d 65 24 2c 31 29 3d  22 7d 22 8c 66 6c 61 67  |ame$,1)="}".flag|
00000ea0  73 2b 3d 31 3a 6e 61 6d  65 24 3d c1 6e 61 6d 65  |s+=1:name$=.name|
00000eb0  24 2c 32 29 0d 07 b2 2b  e7 c0 6e 61 6d 65 24 2c  |$,2)...+..name$,|
00000ec0  31 29 3d 22 23 22 8c 66  6c 61 67 73 2b 3d 34 3a  |1)="#".flags+=4:|
00000ed0  6e 61 6d 65 24 3d c1 6e  61 6d 65 24 2c 32 29 0d  |name$=.name$,2).|
00000ee0  07 bc 3b e7 c2 6e 61 6d  65 24 2c 31 29 3d 22 7d  |..;..name$,1)="}|
00000ef0  22 8c 66 6c 61 67 73 2b  3d 32 3a 6e 61 6d 65 24  |".flags+=2:name$|
00000f00  3d c0 6e 61 6d 65 24 2c  a9 6e 61 6d 65 24 2d 31  |=.name$,.name$-1|
00000f10  29 3a 64 6f 74 73 25 2b  3d 31 0d 07 c6 05 e1 0d  |):dots%+=1......|
00000f20  07 da 20 dd a4 62 75 69  6c 64 5f 73 75 62 6d 65  |.. ..build_subme|
00000f30  6e 75 28 74 69 74 6c 65  24 2c 70 6f 73 25 29 0d  |nu(title$,pos%).|
00000f40  07 e4 0e ea 62 6c 6b 24  2c 62 6c 6b 25 0d 07 ee  |....blk$,blk%...|
00000f50  1c f2 62 75 69 6c 64 5f  6d 65 6e 75 28 74 69 74  |..build_menu(tit|
00000f60  6c 65 24 2c 70 6f 73 25  29 0d 07 f8 09 3d 62 6c  |le$,pos%)....=bl|
00000f70  6b 24 0d 08 0c 11 dd f2  6d 65 6e 75 5f 73 65 6c  |k$......menu_sel|
00000f80  65 63 74 0d 08 16 1f c8  99 22 57 69 6d 70 5f 47  |ect......"Wimp_G|
00000f90  65 74 50 6f 69 6e 74 65  72 49 6e 66 6f 22 2c 2c  |etPointerInfo",,|
00000fa0  71 25 0d 08 20 0d 62 75  74 25 3d 71 25 21 38 0d  |q%.. .but%=q%!8.|
00000fb0  08 2a 0c 64 65 70 74 68  25 3d 30 0d 08 34 1f f2  |.*.depth%=0..4..|
00000fc0  64 65 63 6f 64 65 5f 6d  65 6e 75 28 63 75 72 72  |decode_menu(curr|
00000fd0  65 6e 74 5f 6d 65 6e 75  24 29 0d 08 3e 10 e7 28  |ent_menu$)..>..(|
00000fe0  62 75 74 25 80 31 29 3d  31 8c 0d 08 48 2d f2 72  |but%.1)=1...H-.r|
00000ff0  65 5f 6f 70 65 6e 6d 65  6e 75 28 63 75 72 72 65  |e_openmenu(curre|
00001000  6e 74 5f 6d 65 6e 75 24  2c 6d 65 6e 75 78 25 2c  |nt_menu$,menux%,|
00001010  6d 65 6e 75 79 25 29 0d  08 52 05 cc 0d 08 5c 14  |menuy%)..R....\.|
00001020  63 75 72 72 65 6e 74 5f  6d 65 6e 75 24 3d 22 22  |current_menu$=""|
00001030  0d 08 66 05 cd 0d 08 70  05 e1 0d 08 84 25 dd f2  |..f....p.....%..|
00001040  72 65 5f 6f 70 65 6e 6d  65 6e 75 28 74 69 74 6c  |re_openmenu(titl|
00001050  65 24 2c 6d 65 6e 78 25  2c 6d 65 6e 79 25 29 0d  |e$,menx%,meny%).|
00001060  08 8e 29 6f 66 66 73 65  74 25 3d a4 66 69 6e 64  |..)offset%=.find|
00001070  5f 6d 65 6e 75 28 74 69  74 6c 65 24 2c 6d 65 6e  |_menu(title$,men|
00001080  75 5f 64 61 74 61 25 29  0d 08 98 2e 62 6c 6b 25  |u_data%)....blk%|
00001090  3d a0 28 a4 67 65 74 5f  6d 65 6e 75 5f 69 74 65  |=.(.get_menu_ite|
000010a0  6d 28 6d 65 6e 75 5f 64  61 74 61 25 2c 6f 66 66  |m(menu_data%,off|
000010b0  73 65 74 25 29 29 0d 08  a2 29 c8 99 22 57 69 6d  |set%))...).."Wim|
000010c0  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 62  |p_CreateMenu",,b|
000010d0  6c 6b 25 2c 6d 65 6e 78  25 2c 6d 65 6e 79 25 0d  |lk%,menx%,meny%.|
000010e0  08 ac 18 63 75 72 72 65  6e 74 5f 6d 65 6e 75 24  |...current_menu$|
000010f0  3d 74 69 74 6c 65 24 0d  08 b6 05 e1 0d 08 ca 19  |=title$.........|
00001100  dd f2 64 65 63 6f 64 65  5f 6d 65 6e 75 28 74 69  |..decode_menu(ti|
00001110  74 6c 65 24 29 0d 08 d4  14 ea 6d 65 6e 5f 6c 6f  |tle$).....men_lo|
00001120  6f 70 25 2c 66 75 6e 63  24 0d 08 de 29 6f 66 66  |op%,func$...)off|
00001130  73 65 74 25 3d a4 66 69  6e 64 5f 6d 65 6e 75 28  |set%=.find_menu(|
00001140  74 69 74 6c 65 24 2c 6d  65 6e 75 5f 64 61 74 61  |title$,menu_data|
00001150  25 29 0d 08 e8 2e 62 6c  6b 25 3d a0 28 a4 67 65  |%)....blk%=.(.ge|
00001160  74 5f 6d 65 6e 75 5f 69  74 65 6d 28 6d 65 6e 75  |t_menu_item(menu|
00001170  5f 64 61 74 61 25 2c 6f  66 66 73 65 74 25 29 29  |_data%,offset%))|
00001180  0d 08 f2 0f 6d 65 6e 5f  6c 6f 6f 70 25 3d 30 0d  |....men_loop%=0.|
00001190  08 fc 1e c8 95 6d 65 6e  5f 6c 6f 6f 70 25 3c 3d  |.....men_loop%<=|
000011a0  62 6c 6f 63 6b 25 21 64  65 70 74 68 25 0d 09 06  |block%!depth%...|
000011b0  0b 64 6f 74 73 25 3d 30  0d 09 10 0e f2 6d 65 6e  |.dots%=0.....men|
000011c0  75 5f 69 74 65 6d 0d 09  1a 10 6d 65 6e 5f 6c 6f  |u_item....men_lo|
000011d0  6f 70 25 2b 3d 31 0d 09  24 05 ce 0d 09 2e 16 e7  |op%+=1..$.......|
000011e0  62 6c 6f 63 6b 25 21 64  65 70 74 68 25 3e 2d 31  |block%!depth%>-1|
000011f0  8c 0d 09 38 13 e7 c2 6e  61 6d 65 24 2c 31 29 3d  |...8...name$,1)=|
00001200  22 40 22 8c 0d 09 42 1a  6e 61 6d 65 24 3d c0 6e  |"@"...B.name$=.n|
00001210  61 6d 65 24 2c a9 6e 61  6d 65 24 2d 31 29 0d 09  |ame$,.name$-1)..|
00001220  4c 0d 64 65 70 74 68 25  2b 3d 34 0d 09 56 17 f2  |L.depth%+=4..V..|
00001230  64 65 63 6f 64 65 5f 6d  65 6e 75 28 6e 61 6d 65  |decode_menu(name|
00001240  24 29 0d 09 60 05 cd 0d  09 6a 1e e7 66 75 6e 63  |$)..`....j..func|
00001250  24 3c 3e 22 22 8c 61 3d  a0 28 22 46 4e 22 2b 66  |$<>"".a=.("FN"+f|
00001260  75 6e 63 24 29 0d 09 74  05 cd 0d 09 7e 05 e1 0d  |unc$)..t....~...|
00001270  09 92 16 dd a4 74 65 6d  70 6c 61 74 65 73 28 66  |.....templates(f|
00001280  69 6c 65 24 29 0d 09 9c  19 de 51 25 32 30 34 38  |ile$).....Q%2048|
00001290  2c 50 25 32 30 34 38 2c  52 25 32 30 34 38 0d 09  |,P%2048,R%2048..|
000012a0  a6 0f 6d 61 78 77 73 25  3d 26 31 30 30 0d 09 b0  |..maxws%=&100...|
000012b0  2d de 69 6e 64 69 72 25  6d 61 78 77 73 25 2c 69  |-.indir%maxws%,i|
000012c0  6e 64 69 72 32 25 6d 61  78 77 73 25 2c 69 6e 64  |ndir2%maxws%,ind|
000012d0  69 72 33 25 6d 61 78 77  73 25 0d 09 ba 20 c8 99  |ir3%maxws%... ..|
000012e0  22 57 69 6d 70 5f 4f 70  65 6e 54 65 6d 70 6c 61  |"Wimp_OpenTempla|
000012f0  74 65 22 2c 2c 66 69 6c  65 24 0d 09 c4 3e c8 99  |te",,file$...>..|
00001300  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00001310  74 65 22 2c 2c 51 25 2c  69 6e 64 69 72 25 2c 69  |te",,Q%,indir%,i|
00001320  6e 64 69 72 25 2b 6d 61  78 77 73 25 2c 2d 31 2c  |ndir%+maxws%,-1,|
00001330  22 69 6e 66 6f 22 2c 30  0d 09 ce 40 c8 99 22 57  |"info",0...@.."W|
00001340  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00001350  22 2c 2c 50 25 2c 69 6e  64 69 72 32 25 2c 69 6e  |",,P%,indir2%,in|
00001360  64 69 72 32 25 2b 6d 61  78 77 73 25 2c 2d 31 2c  |dir2%+maxws%,-1,|
00001370  22 6d 61 69 6e 22 2c 30  0d 09 d8 42 c8 99 22 57  |"main",0...B.."W|
00001380  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00001390  22 2c 2c 52 25 2c 69 6e  64 69 72 33 25 2c 69 6e  |",,R%,indir3%,in|
000013a0  64 69 72 33 25 2b 6d 61  78 77 73 25 2c 2d 31 2c  |dir3%+maxws%,-1,|
000013b0  22 6f 70 74 69 6f 6e 22  2c 30 0d 09 e2 23 c8 99  |"option",0...#..|
000013c0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
000013d0  6f 77 22 2c 2c 51 25 b8  69 6e 66 6f 25 0d 09 ec  |ow",,Q%.info%...|
000013e0  23 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |#.."Wimp_CreateW|
000013f0  69 6e 64 6f 77 22 2c 2c  50 25 b8 6d 61 69 6e 25  |indow",,P%.main%|
00001400  0d 09 f6 25 c8 99 22 57  69 6d 70 5f 43 72 65 61  |...%.."Wimp_Crea|
00001410  74 65 57 69 6e 64 6f 77  22 2c 2c 52 25 b8 6f 70  |teWindow",,R%.op|
00001420  74 69 6f 6e 25 0d 0a 00  1a c8 99 22 57 69 6d 70  |tion%......"Wimp|
00001430  5f 43 6c 6f 73 65 54 65  6d 70 6c 61 74 65 22 0d  |_CloseTemplate".|
00001440  0a 0a 0a 3d 69 6e 66 6f  25 0d 0a 1e 1e dd f2 73  |...=info%......s|
00001450  65 74 5f 76 65 72 73 69  6f 6e 28 70 74 25 2c 48  |et_version(pt%,H|
00001460  25 2c 76 65 72 24 29 0d  0a 28 0b 21 71 25 3d 70  |%,ver$)..(.!q%=p|
00001470  74 25 0d 0a 32 0b 71 25  21 34 3d 48 25 0d 0a 3c  |t%..2.q%!4=H%..<|
00001480  1d c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  |..."Wimp_GetIcon|
00001490  53 74 61 74 65 22 2c 2c  71 25 0d 0a 46 0f 24 71  |State",,q%..F.$q|
000014a0  25 21 32 38 3d 76 65 72  24 0d 0a 50 0a 71 25 21  |%!28=ver$..P.q%!|
000014b0  38 3d 30 0d 0a 5a 0b 71  25 21 31 32 3d 30 0d 0a  |8=0..Z.q%!12=0..|
000014c0  64 1d c8 99 22 57 69 6d  70 5f 53 65 74 49 63 6f  |d..."Wimp_SetIco|
000014d0  6e 53 74 61 74 65 22 2c  2c 71 25 0d 0a 6e 05 e1  |nState",,q%..n..|
000014e0  0d 0a 82 0c dd f2 66 69  6e 69 73 68 0d 0a 8c 22  |......finish..."|
000014f0  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |.."Wimp_CloseDow|
00001500  6e 22 2c 68 61 6e 64 6c  65 25 2c 21 71 25 0d 0a  |n",handle%,!q%..|
00001510  96 05 e0 0d 0a a0 05 e1  0d 0a b4 0b dd f2 65 72  |..............er|
00001520  72 6f 72 0d 0a be 17 c8  99 22 57 69 6d 70 5f 44  |ror......"Wimp_D|
00001530  72 61 67 42 6f 78 22 2c  2c 30 0d 0a c8 0d 21 62  |ragBox",,0....!b|
00001540  6c 6f 63 6b 25 3d 9f 0d  0a d2 0b 65 72 72 6f 72  |lock%=.....error|
00001550  3d b9 0d 0a dc 08 c8 8e  9f ca 0d 0a e6 3a c9 32  |=............:.2|
00001560  32 32 3a 24 28 62 6c 6f  63 6b 25 2b 34 29 3d 22  |22:$(block%+4)="|
00001570  54 68 69 73 20 66 69 6c  65 20 64 6f 65 73 20 6e  |This file does n|
00001580  6f 74 20 65 78 69 73 74  22 2b bd 30 3a 65 72 72  |ot exist"+.0:err|
00001590  6f 72 3d a3 0d 0a f0 05  7f 0d 0a fa 37 24 28 62  |or=.........7$(b|
000015a0  6c 6f 63 6b 25 2b 34 29  3d 22 28 49 6e 74 65 72  |lock%+4)="(Inter|
000015b0  6e 61 6c 20 65 72 72 6f  72 20 63 6f 64 65 20 22  |nal error code "|
000015c0  2b c3 28 9e 29 2b 22 29  20 22 2b f6 24 2b bd 30  |+.(.)+") "+.$+.0|
000015d0  0d 0b 04 05 cb 0d 0b 0e  0b 66 6c 61 67 73 3d 31  |.........flags=1|
000015e0  0d 0b 18 30 c8 99 22 57  69 6d 70 5f 52 65 70 6f  |...0.."Wimp_Repo|
000015f0  72 74 45 72 72 6f 72 22  2c 62 6c 6f 63 6b 25 2c  |rtError",block%,|
00001600  66 6c 61 67 73 2c 22 45  61 73 69 6c 61 72 6d 22  |flags,"Easilarm"|
00001610  0d 0b 22 1a e7 65 72 72  6f 72 8c f2 66 69 6e 69  |.."..error..fini|
00001620  73 68 8b f2 6d 61 69 6e  3a e0 0d 0b 2c 05 e1 0d  |sh..main:...,...|
00001630  0b 40 13 dd f2 63 72 65  61 74 65 5f 77 69 6e 64  |.@...create_wind|
00001640  6f 77 0d 0b 4a 11 21 62  6c 6f 63 6b 25 3d 6d 61  |ow..J.!block%=ma|
00001650  69 6e 25 0d 0b 54 10 62  6c 6f 63 6b 25 21 34 3d  |in%..T.block%!4=|
00001660  33 30 30 0d 0b 5e 10 62  6c 6f 63 6b 25 21 38 3d  |300..^.block%!8=|
00001670  33 30 30 0d 0b 68 12 62  6c 6f 63 6b 25 21 31 32  |300..h.block%!12|
00001680  3d 31 31 34 32 0d 0b 72  11 62 6c 6f 63 6b 25 21  |=1142..r.block%!|
00001690  31 36 3d 37 38 30 0d 0b  7c 0f 62 6c 6f 63 6b 25  |16=780..|.block%|
000016a0  21 32 30 3d 30 0d 0b 86  0f 62 6c 6f 63 6b 25 21  |!20=0....block%!|
000016b0  32 34 3d 30 0d 0b 90 10  62 6c 6f 63 6b 25 21 32  |24=0....block%!2|
000016c0  38 3d 2d 31 0d 0b 9a 1f  c8 99 22 57 69 6d 70 5f  |8=-1......"Wimp_|
000016d0  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 62 6c 6f  |OpenWindow",,blo|
000016e0  63 6b 25 0d 0b a4 05 e1  0d 0b b8 0b dd f2 63 6c  |ck%...........cl|
000016f0  6f 73 65 0d 0b c2 20 c8  99 22 57 69 6d 70 5f 43  |ose... .."Wimp_C|
00001700  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 62 6c 6f  |loseWindow",,blo|
00001710  63 6b 25 0d 0b cc 05 e1  0d 0b e0 0a dd f2 6f 70  |ck%...........op|
00001720  65 6e 0d 0b ea 1f c8 99  22 57 69 6d 70 5f 4f 70  |en......"Wimp_Op|
00001730  65 6e 57 69 6e 64 6f 77  22 2c 2c 62 6c 6f 63 6b  |enWindow",,block|
00001740  25 0d 0b f4 05 e1 0d 0c  08 1e dd a4 67 65 74 5f  |%...........get_|
00001750  6d 65 6e 75 5f 69 74 65  6d 28 64 62 25 2c f8 6f  |menu_item(db%,.o|
00001760  66 66 25 29 0d 0c 12 08  ea 73 74 24 0d 0c 1c 1f  |ff%).....st$....|
00001770  c8 95 64 62 25 3f 6f 66  66 25 3c 3e 31 30 80 64  |..db%?off%<>10.d|
00001780  62 25 3f 6f 66 66 25 3c  3e 31 33 0d 0c 26 14 73  |b%?off%<>13..&.s|
00001790  74 24 2b 3d bd 28 64 62  25 3f 6f 66 66 25 29 0d  |t$+=.(db%?off%).|
000017a0  0c 30 0b 6f 66 66 25 2b  3d 31 0d 0c 3a 05 ce 0d  |.0.off%+=1..:...|
000017b0  0c 44 0b 6f 66 66 25 2b  3d 31 0d 0c 4e 08 3d 73  |.D.off%+=1..N.=s|
000017c0  74 24 0d 0c 62 1c dd a4  66 69 6e 64 5f 6d 65 6e  |t$..b...find_men|
000017d0  75 28 6e 61 6d 65 24 2c  64 61 74 61 25 29 0d 0c  |u(name$,data%)..|
000017e0  6c 08 ea 66 69 24 0d 0c  76 13 6e 61 6d 65 24 3d  |l..fi$..v.name$=|
000017f0  22 5e 22 2b 6e 61 6d 65  24 0d 0c 80 0d 6f 66 66  |"^"+name$....off|
00001800  73 65 74 25 3d 30 0d 0c  8a 05 f5 0d 0c 94 25 66  |set%=0........%f|
00001810  69 24 3d a4 67 65 74 5f  6d 65 6e 75 5f 69 74 65  |i$=.get_menu_ite|
00001820  6d 28 64 61 74 61 25 2c  6f 66 66 73 65 74 25 29  |m(data%,offset%)|
00001830  0d 0c 9e 16 fd 66 69 24  3d 6e 61 6d 65 24 84 66  |.....fi$=name$.f|
00001840  69 24 3d 22 7e 22 0d 0c  a8 0f e7 66 69 24 3d 22  |i$="~".....fi$="|
00001850  7e 22 8c 3d b9 0d 0c b2  0c 3d 6f 66 66 73 65 74  |~".=.....=offset|
00001860  25 0d 0c c6 09 dd a4 66  69 6e 0d 0c d0 0b f2 66  |%......fin.....f|
00001870  69 6e 69 73 68 0d 0c da  06 3d 30 0d 0c ee 0b dd  |inish....=0.....|
00001880  f2 74 69 6d 65 72 0d 0c  f8 08 62 25 3d 35 0d 0d  |.timer....b%=5..|
00001890  02 11 e7 61 6c 61 72 6d  73 65 74 25 3d b9 8c 0d  |...alarmset%=...|
000018a0  0d 0c 2b e7 61 6c 61 72  6d 74 69 6d 65 24 3d c1  |..+.alarmtime$=.|
000018b0  91 24 2c 31 37 2c 35 29  8c 61 6c 61 72 6d 72 69  |.$,17,5).alarmri|
000018c0  6e 67 25 3d b9 3a 62 25  3d 38 0d 0d 16 05 cd 0d  |ng%=.:b%=8......|
000018d0  0d 20 05 cc 0d 0d 2a 08  62 25 3d 35 0d 0d 34 05  |. ....*.b%=5..4.|
000018e0  cd 0d 0d 3e 15 e7 54 78  24 3c 3e c1 91 24 2c 31  |...>..Tx$<>..$,1|
000018f0  37 2c 62 25 29 8c 0d 0d  48 12 54 78 24 3d c1 91  |7,b%)...H.Tx$=..|
00001900  24 2c 31 37 2c 62 25 29  0d 0d 52 1c e7 61 6c 61  |$,17,b%)..R..ala|
00001910  72 6d 72 69 6e 67 25 3d  b9 8c f2 72 69 6e 67 61  |rmring%=...ringa|
00001920  6c 61 72 6d 0d 0d 5c 21  e7 61 6c 61 72 6d 73 65  |larm..\!.alarmse|
00001930  74 25 3d a3 8c f2 73 65  74 77 69 6e 64 6f 77 28  |t%=...setwindow(|
00001940  30 2c 22 22 29 0d 0d 66  1a f2 73 65 74 69 63 6f  |0,"")..f..setico|
00001950  6e 73 74 61 74 65 28 c0  54 78 24 2c 35 29 29 0d  |nstate(.Tx$,5)).|
00001960  0d 70 05 cd 0d 0d 7a 05  e1 0d 0d 8e 1a dd f2 73  |.p....z........s|
00001970  65 74 69 63 6f 6e 73 74  61 74 65 28 73 74 61 74  |eticonstate(stat|
00001980  65 24 29 0d 0d 98 3a e7  c0 73 74 61 74 65 24 2c  |e$)...:..state$,|
00001990  31 29 3d 22 a4 22 8c 24  69 63 76 61 6c 69 64 25  |1)=".".$icvalid%|
000019a0  3d c1 73 74 61 74 65 24  2c 32 29 8b 24 69 63 6f  |=.state$,2).$ico|
000019b0  6e 74 65 78 74 25 3d 73  74 61 74 65 24 0d 0d a2  |ntext%=state$...|
000019c0  0e 21 62 6c 6f 63 6b 25  3d 2d 31 0d 0d ac 13 62  |.!block%=-1....b|
000019d0  6c 6f 63 6b 25 21 34 3d  69 63 6f 6e 68 25 0d 0d  |lock%!4=iconh%..|
000019e0  b6 0e 62 6c 6f 63 6b 25  21 38 3d 30 0d 0d c0 0f  |..block%!8=0....|
000019f0  62 6c 6f 63 6b 25 21 31  32 3d 30 0d 0d ca 21 c8  |block%!12=0...!.|
00001a00  99 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  |."Wimp_SetIconSt|
00001a10  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 0d de 05  |ate",,block%....|
00001a20  e1 0d 0d f2 16 dd a4 73  65 74 61 6c 61 72 6d 28  |.......setalarm(|
00001a30  61 6c 73 65 74 24 29 0d  0d fc 0e 64 69 73 70 6c  |alset$)....displ|
00001a40  61 79 25 3d a3 0d 0e 06  11 e7 a9 28 61 6c 73 65  |ay%=.......(alse|
00001a50  74 24 29 3c 38 8c 0d 0e  10 36 e7 28 c2 61 6c 73  |t$)<8....6.(.als|
00001a60  65 74 24 2c 31 29 3d 22  68 22 84 c2 61 6c 73 65  |et$,1)="h"..alse|
00001a70  74 24 2c 31 29 3d 22 48  22 29 80 bb 28 c0 61 6c  |t$,1)="H")..(.al|
00001a80  73 65 74 24 2c 31 29 29  3c 3e 30 8c 0d 0e 1a 42  |set$,1))<>0....B|
00001a90  61 6c 61 72 6d 74 69 6d  65 24 3d a4 61 64 64 74  |alarmtime$=.addt|
00001aa0  69 6d 65 28 36 30 2a 28  bb 28 c0 61 6c 73 65 74  |ime(60*(.(.alset|
00001ab0  24 2c 31 29 29 29 29 3a  61 6c 61 72 6d 73 65 74  |$,1)))):alarmset|
00001ac0  25 3d b9 3a 64 69 73 70  6c 61 79 25 3d b9 0d 0e  |%=.:display%=...|
00001ad0  24 05 cc 0d 0e 2e 47 e7  a7 61 6c 73 65 74 24 2c  |$.....G..alset$,|
00001ae0  22 3a 22 29 3d 30 8c 61  6c 61 72 6d 74 69 6d 65  |":")=0.alarmtime|
00001af0  24 3d a4 61 64 64 74 69  6d 65 28 bb 61 6c 73 65  |$=.addtime(.alse|
00001b00  74 24 29 3a 61 6c 61 72  6d 73 65 74 25 3d b9 3a  |t$):alarmset%=.:|
00001b10  64 69 73 70 6c 61 79 25  3d b9 0d 0e 38 05 cd 0d  |display%=...8...|
00001b20  0e 42 05 cd 0d 0e 4c 44  e7 a4 63 68 65 63 6b 73  |.B....LD..checks|
00001b30  74 72 69 6e 67 28 61 6c  73 65 74 24 29 3d b9 8c  |tring(alset$)=..|
00001b40  61 6c 61 72 6d 74 69 6d  65 24 3d 61 6c 73 65 74  |alarmtime$=alset|
00001b50  24 3a 61 6c 61 72 6d 73  65 74 25 3d b9 3a 64 69  |$:alarmset%=.:di|
00001b60  73 70 6c 61 79 25 3d b9  0d 0e 56 4e e7 64 69 73  |splay%=...VN.dis|
00001b70  70 6c 61 79 25 3d b9 8c  f2 73 65 74 77 69 6e 64  |play%=...setwind|
00001b80  6f 77 28 61 6c 61 72 6d  73 65 74 25 2c 61 6c 61  |ow(alarmset%,ala|
00001b90  72 6d 74 69 6d 65 24 29  3a f2 73 65 74 69 63 6f  |rmtime$):.setico|
00001ba0  6e 73 74 61 74 65 28 22  a4 53 21 65 61 73 69 6c  |nstate(".S!easil|
00001bb0  61 72 6d 33 22 29 0d 0e  60 06 3d 30 0d 0e 74 19  |arm3")..`.=0..t.|
00001bc0  dd a4 63 68 65 63 6b 73  74 72 69 6e 67 28 63 68  |..checkstring(ch|
00001bd0  65 63 6b 24 29 0d 0e 7e  0c 63 68 65 63 6b 25 3d  |eck$)..~.check%=|
00001be0  a3 0d 0e 88 11 e7 a9 28  63 68 65 63 6b 24 29 3d  |.......(check$)=|
00001bf0  35 8c 0d 0e 92 17 e7 bb  28 c0 63 68 65 63 6b 24  |5.......(.check$|
00001c00  2c 32 29 29 3c 3d 32 34  8c 0d 0e 9c 17 e7 bb 28  |,2))<=24.......(|
00001c10  c2 63 68 65 63 6b 24 2c  32 29 29 3c 3d 36 30 8c  |.check$,2))<=60.|
00001c20  0d 0e a6 16 e7 c1 63 68  65 63 6b 24 2c 33 2c 31  |......check$,3,1|
00001c30  29 3d 22 3a 22 8c 0d 0e  b0 0c 63 68 65 63 6b 25  |)=":".....check%|
00001c40  3d b9 0d 0e ba 05 cd 0d  0e c4 05 cd 0d 0e ce 05  |=...............|
00001c50  cd 0d 0e d8 05 cd 0d 0e  e2 0b 3d 63 68 65 63 6b  |..........=check|
00001c60  25 0d 0e f6 12 dd a4 61  64 64 74 69 6d 65 28 61  |%......addtime(a|
00001c70  64 64 29 0d 0f 00 15 61  64 64 72 3d bb 28 c1 91  |dd)....addr=.(..|
00001c80  24 2c 32 30 2c 32 29 29  0d 0f 0a 1e 61 64 64 24  |$,20,2))....add$|
00001c90  3d c1 91 24 2c 31 37 2c  33 29 2b c3 28 61 64 64  |=..$,17,3)+.(add|
00001ca0  72 2b 61 64 64 29 0d 0f  14 19 61 64 64 24 3d a4  |r+add)....add$=.|
00001cb0  63 68 65 63 6b 74 69 6d  65 28 61 64 64 24 29 0d  |checktime(add$).|
00001cc0  0f 1e 09 3d 61 64 64 24  0d 0f 32 17 dd a4 63 68  |...=add$..2...ch|
00001cd0  65 63 6b 74 69 6d 65 28  63 68 65 63 6b 24 29 0d  |ecktime(check$).|
00001ce0  0f 3c 2e 63 68 6c 65 66  74 3d bb 28 c0 63 68 65  |.<.chleft=.(.che|
00001cf0  63 6b 24 2c 32 29 29 3a  63 68 72 69 67 68 74 3d  |ck$,2)):chright=|
00001d00  bb 28 c1 63 68 65 63 6b  24 2c 34 29 29 0d 0f 46  |.(.check$,4))..F|
00001d10  0f e7 63 68 6c 65 66 74  3e 32 34 8c 0d 0f 50 15  |..chleft>24...P.|
00001d20  66 69 6e 6c 65 66 74 3d  63 68 6c 65 66 74 83 32  |finleft=chleft.2|
00001d30  34 0d 0f 5a 05 cc 0d 0f  64 12 66 69 6e 6c 65 66  |4..Z....d.finlef|
00001d40  74 3d 63 68 6c 65 66 74  0d 0f 6e 05 cd 0d 0f 78  |t=chleft..n....x|
00001d50  10 e7 63 68 72 69 67 68  74 3e 35 39 8c 0d 0f 82  |..chright>59....|
00001d60  16 6c 65 66 74 61 64 64  3d 63 68 72 69 67 68 74  |.leftadd=chright|
00001d70  81 36 30 0d 0f 8c 17 66  69 6e 72 69 67 68 74 3d  |.60....finright=|
00001d80  63 68 72 69 67 68 74 83  36 30 0d 0f 96 05 cc 0d  |chright.60......|
00001d90  0f a0 0d 6c 65 66 74 61  64 64 3d 30 0d 0f aa 14  |...leftadd=0....|
00001da0  66 69 6e 72 69 67 68 74  3d 63 68 72 69 67 68 74  |finright=chright|
00001db0  0d 0f b4 05 cd 0d 0f be  2d 66 69 6e 61 6c 24 3d  |........-final$=|
00001dc0  c3 28 66 69 6e 6c 65 66  74 2b 6c 65 66 74 61 64  |.(finleft+leftad|
00001dd0  64 29 2b 22 3a 22 2b c3  28 66 69 6e 72 69 67 68  |d)+":"+.(finrigh|
00001de0  74 29 0d 0f c8 24 e7 66  69 6e 6c 65 66 74 2b 6c  |t)...$.finleft+l|
00001df0  65 66 74 61 64 64 3e 32  34 84 66 69 6e 72 69 67  |eftadd>24.finrig|
00001e00  68 74 3e 35 39 8c 0d 0f  d2 1d 66 69 6e 61 6c 24  |ht>59.....final$|
00001e10  3d a4 63 68 65 63 6b 74  69 6d 65 28 66 69 6e 61  |=.checktime(fina|
00001e20  6c 24 29 0d 0f dc 05 cd  0d 0f e6 29 e7 66 69 6e  |l$)........).fin|
00001e30  6c 65 66 74 2b 6c 65 66  74 61 64 64 3c 31 30 8c  |left+leftadd<10.|
00001e40  66 69 6e 61 6c 24 3d 22  30 22 2b 66 69 6e 61 6c  |final$="0"+final|
00001e50  24 0d 0f f0 31 e7 66 69  6e 72 69 67 68 74 3c 31  |$...1.finright<1|
00001e60  30 8c 66 69 6e 61 6c 24  3d c0 66 69 6e 61 6c 24  |0.final$=.final$|
00001e70  2c 33 29 2b 22 30 22 2b  c2 66 69 6e 61 6c 24 2c  |,3)+"0"+.final$,|
00001e80  31 29 0d 0f fa 0b 3d 66  69 6e 61 6c 24 0d 10 0e  |1)....=final$...|
00001e90  18 dd f2 73 65 74 77 69  6e 64 6f 77 28 6f 70 25  |...setwindow(op%|
00001ea0  2c 6f 70 24 29 0d 10 18  0b e7 6f 70 25 3d b9 8c  |,op$).....op%=..|
00001eb0  0d 10 22 2a f2 73 65 74  5f 76 65 72 73 69 6f 6e  |.."*.set_version|
00001ec0  28 6d 61 69 6e 25 2c 30  2c 22 41 6c 61 72 6d 20  |(main%,0,"Alarm |
00001ed0  73 65 74 20 66 6f 72 3a  22 29 0d 10 2c 1d f2 73  |set for:")..,..s|
00001ee0  65 74 5f 76 65 72 73 69  6f 6e 28 6d 61 69 6e 25  |et_version(main%|
00001ef0  2c 31 2c 6f 70 24 29 0d  10 36 27 f2 73 65 74 5f  |,1,op$)..6'.set_|
00001f00  76 65 72 73 69 6f 6e 28  6d 61 69 6e 25 2c 32 2c  |version(main%,2,|
00001f10  22 43 20 41 20 4e 20 43  20 45 20 4c 22 29 0d 10  |"C A N C E L")..|
00001f20  40 13 74 69 63 6b 25 3d  25 30 30 30 30 30 30 30  |@.tick%=%0000000|
00001f30  31 0d 10 4a 12 67 72 65  79 25 3d 26 37 30 30 30  |1..J.grey%=&7000|
00001f40  30 32 31 0d 10 54 05 cd  0d 10 5e 0b e7 6f 70 25  |021..T....^..op%|
00001f50  3d a3 8c 0d 10 68 20 f2  73 65 74 69 63 6f 6e 73  |=....h .seticons|
00001f60  74 61 74 65 28 22 a4 53  21 65 61 73 69 6c 61 72  |tate(".S!easilar|
00001f70  6d 22 29 0d 10 72 29 f2  73 65 74 5f 76 65 72 73  |m")..r).set_vers|
00001f80  69 6f 6e 28 6d 61 69 6e  25 2c 30 2c 22 41 6c 61  |ion(main%,0,"Ala|
00001f90  72 6d 20 6e 6f 74 20 73  65 74 22 29 0d 10 7c 21  |rm not set")..|!|
00001fa0  f2 73 65 74 5f 76 65 72  73 69 6f 6e 28 6d 61 69  |.set_version(mai|
00001fb0  6e 25 2c 31 2c c0 91 24  2c 31 30 29 29 0d 10 86  |n%,1,..$,10))...|
00001fc0  23 f2 73 65 74 5f 76 65  72 73 69 6f 6e 28 6d 61  |#.set_version(ma|
00001fd0  69 6e 25 2c 32 2c c1 91  24 2c 31 32 2c 34 29 29  |in%,2,..$,12,4))|
00001fe0  0d 10 90 0f 61 6c 61 72  6d 73 65 74 25 3d a3 0d  |....alarmset%=..|
00001ff0  10 9a 13 74 69 63 6b 25  3d 25 30 30 30 30 30 30  |...tick%=%000000|
00002000  30 30 0d 10 a4 12 67 72  65 79 25 3d 26 37 34 30  |00....grey%=&740|
00002010  30 30 32 31 0d 10 ae 05  cd 0d 10 b8 05 e1 0d 10  |0021............|
00002020  cc 0f dd f2 72 69 6e 67  61 6c 61 72 6d 0d 10 d6  |....ringalarm...|
00002030  26 e7 61 6c 61 72 6d 73  65 74 25 3d a3 8c 61 6c  |&.alarmset%=..al|
00002040  61 72 6d 72 69 6e 67 25  3d a3 3a 66 69 72 73 74  |armring%=.:first|
00002050  25 3d 30 0d 10 e0 11 e7  61 6c 61 72 6d 73 65 74  |%=0.....alarmset|
00002060  25 3d b9 8c 0d 10 ea 12  e7 6f 70 74 6f 6e 28 31  |%=.......opton(1|
00002070  29 3d b9 3a ef 37 0d 10  f4 30 e7 6f 70 74 6f 6e  |)=.:.7...0.opton|
00002080  28 33 29 3d b9 80 66 69  72 73 74 25 3d 30 8c f2  |(3)=..first%=0..|
00002090  63 72 65 61 74 65 5f 77  69 6e 64 6f 77 3a 66 69  |create_window:fi|
000020a0  72 73 74 25 3d a3 0d 10  fe 6e e7 6f 70 74 6f 6e  |rst%=....n.opton|
000020b0  28 35 29 3d b9 80 66 6c  69 70 25 3d 30 8c f2 73  |(5)=..flip%=0..s|
000020c0  65 74 69 63 6f 6e 73 74  61 74 65 28 22 a4 53 21  |eticonstate(".S!|
000020d0  65 61 73 69 6c 61 72 6d  22 29 3a 66 6c 69 70 25  |easilarm"):flip%|
000020e0  3d 31 8b e7 6f 70 74 6f  6e 28 35 29 3d b9 3a f2  |=1..opton(5)=.:.|
000020f0  73 65 74 69 63 6f 6e 73  74 61 74 65 28 22 a4 53  |seticonstate(".S|
00002100  21 65 61 73 69 6c 61 72  6d 33 22 29 3a 66 6c 69  |!easilarm3"):fli|
00002110  70 25 3d 30 0d 10 ff 25  66 69 72 73 74 25 2b 3d  |p%=0...%first%+=|
00002120  31 3a e7 66 69 72 73 74  25 3d 35 39 8c 6e 75 6c  |1:.first%=59.nul|
00002130  6c 3d a4 63 61 6e 63 65  6c 0d 11 08 05 cd 0d 11  |l=.cancel.......|
00002140  12 05 e1 0d 11 26 17 dd  a4 73 65 74 74 69 6d 65  |.....&...settime|
00002150  28 73 65 74 74 69 6d 65  24 29 0d 11 30 2f e7 a4  |(settime$)..0/..|
00002160  63 68 65 63 6b 73 74 72  69 6e 67 28 73 65 74 74  |checkstring(sett|
00002170  69 6d 65 24 29 3d b9 8c  d1 24 3d 73 65 74 74 69  |ime$)=...$=setti|
00002180  6d 65 24 2b 22 3a 30 30  22 0d 11 3a 06 3d 30 0d  |me$+":00"..:.=0.|
00002190  11 4e 0c dd a4 63 61 6e  63 65 6c 0d 11 58 14 f2  |.N...cancel..X..|
000021a0  73 65 74 77 69 6e 64 6f  77 28 30 2c 22 22 29 0d  |setwindow(0,"").|
000021b0  11 62 06 3d 30 0d 11 76  18 dd f2 73 65 74 6f 70  |.b.=0..v...setop|
000021c0  74 69 6f 6e 28 69 63 6f  6e 6e 6f 25 29 0d 11 80  |tion(iconno%)...|
000021d0  11 e7 69 63 6f 6e 6e 6f  25 83 32 3d 31 8c 0d 11  |..iconno%.2=1...|
000021e0  8a 16 e7 6f 70 74 6f 6e  28 69 63 6f 6e 6e 6f 25  |...opton(iconno%|
000021f0  29 3d a3 8c 0d 11 8b 14  6f 70 74 6f 6e 28 69 63  |)=......opton(ic|
00002200  6f 6e 6e 6f 25 29 3d b9  0d 11 94 15 cc 6f 70 74  |onno%)=......opt|
00002210  6f 6e 28 69 63 6f 6e 6e  6f 25 29 3d a3 0d 11 9e  |on(iconno%)=....|
00002220  05 cd 0d 11 a8 05 cd 0d  11 b2 05 e1 0d ff        |..............|
0000222e