Home » Archimedes archive » Acorn User » AU 1996-01.adf » Regulars » StarInfo/Shepherd/!ReadAge/!RunImage

StarInfo/Shepherd/!ReadAge/!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 » Acorn User » AU 1996-01.adf » Regulars
Filename: StarInfo/Shepherd/!ReadAge/!RunImage
Read OK:
File size: B7E8 bytes
Load address: 0000
Exec address: 0000
File contents
   10SYS"Hourglass_On"
   20app_version$="0.8"
   30PROCwimp_init
   40PROCinit_sort
   50PROCinit_draw
   60SYS"Hourglass_Off"
   70PROCpoll_loop
   80END
  120DEFPROCwimp_init
  170ONERRORREPORT:PRINT" at line ";ERL/10:END
  210DIMblk%&900,temp_blk%&900,errorblk%&100
  250DIMworkstart%&2048
  290workfree%=workstart%
  300workend%=workstart%+&2048
  340DIMmenu%600
  360menu_end%=menu%+600
  400DIMmenu_ind%100
  420menu_ind_end%=menu_ind%+100
  460app_name$="!ReadAge"
  470app_purpose$="To be useful!!!!!!"
  480app_directory$=FNsys_var("ReadAge$Dir")
  500errorcount%=0
  510false%=FALSE
  550icon_bar%=-2
  570select_click%=4
  580adjust_click%=1
  590select_drag%=64
  600adjust_drag%=16
  610menu_click%=2
  630poll_mask%=0
  640poll_mask%=poll_mask%OR1<<1
  650poll_mask%=poll_mask%OR1<<4
  660poll_mask%=poll_mask%OR1<<5
  670poll_mask%=poll_mask%OR1<<11
  680poll_mask%=poll_mask%OR1<<12
  700sec=100
  710min=60*sec
  720SYS"OS_ReadMonotonicTime"TOpoll_time%
  730auto_save_time%=5*min
  740poll_time%+=auto_save_time%
  750auto_remind%=TRUE
  770quit%=FALSE
  780sure%=FALSE
  840ask_to_save%=FALSE
  850file_icon%=1
  860filename_icon%=2
  870ok_icon%=3
  890PROCdrag_init
  930gpname_icon%=2
  940name1_icon%=3
  950name2_icon%=4
  960dobd_icon%=5
  970dobm_icon%=6
  980doby_icon%=7
  990ra1y_icon%=8
 1000ra1m_icon%=9
 1010ra2y_icon%=10
 1020ra2m_icon%=11
 1030tst1d_icon%=12
 1040tst1m_icon%=13
 1050tst1y_icon%=14
 1060tst2d_icon%=15
 1070tst2m_icon%=16
 1080tst2y_icon%=17
 1090noingp_icon%=18
 1100nooftests_icon%=19
 1110record_icon%=20
 1120backward_icon%=21
 1130add_icon%=22
 1140search_icon%=23
 1150take_icon%=24
 1160forward_icon%=25
 1170chage_icon%=26
 1180ra1_icon%=27
 1190ra2_icon%=28
 1200tst1_icon%=29
 1210tst2_icon%=30
 1250discard_icon%=1
 1260save_icon%=2
 1270cancel_icon%=3
 1310app_name_icon%=1
 1320purpose_icon%=2
 1330version_icon%=3
 1370SortName1_icon%=2
 1380SortName2_icon%=3
 1390SortRA1C_icon%=4
 1400SortRA2C_icon%=5
 1410SortRA1_icon%=6
 1420SortRA2_icon%=7
 1430SortChr_icon%=8
 1440SortCancel_icon%=10
 1450SortOK_icon%=11
 1490max_no_of_records%=61
 1500no_of_records%=0
 1510no_of_tests%=1
 1520current_record%=0
 1540group$=""
 1550DIMname$(1,max_no_of_records%)
 1560DIMdob%(2,max_no_of_records%)
 1570DIMra%(1,1,max_no_of_records%)
 1580DIMtest%(2,no_of_tests%)
 1600ONERRORPROCerror:PROCquit
 1650SYS"Wimp_Initialise",200,&4B534154,app_name$TOversion%,task_handle%
 1690!temp_blk%=-1
 1700temp_blk%!4=0
 1710temp_blk%!8=0
 1720temp_blk%!12=68
 1730temp_blk%!16=68
 1740temp_blk%!20=&1700202A
 1750$(temp_blk%+24)=app_name$
 1760SYS"Wimp_CreateIcon",,temp_blk%TOicon_bar_handle%
 1810main_window%=FNget_window_template(app_directory$+".Templates","Main",workfree%,workend%)
 1820message_window%=FNget_window_template(app_directory$+".Templates","Message",workfree%,workend%)
 1830saveas1_window%=FNget_window_template(app_directory$+".Templates","SaveAs1",workfree%,workend%)
 1840saveas2_window%=FNget_window_template(app_directory$+".Templates","SaveAs2",workfree%,workend%)
 1850saveas3_window%=FNget_window_template(app_directory$+".Templates","SaveAs3",workfree%,workend%)
 1860about_window%=FNget_window_template(app_directory$+".Templates","About",workfree%,workend%)
 1870goto_window%=FNget_window_template(app_directory$+".Templates","Goto",workfree%,workend%)
 1880sort_window%=FNget_window_template(app_directory$+".Templates","Sort",workfree%,workend%)
 1900name_opt_icon%=6
 1910PROCselect_icon(saveas3_window%,name_opt_icon%)
 1920dob_opt_icon%=7
 1930PROCselect_icon(saveas3_window%,dob_opt_icon%)
 1940ra1_opt_icon%=8
 1950PROCselect_icon(saveas3_window%,ra1_opt_icon%)
 1960ra2_opt_icon%=9
 1970PROCselect_icon(saveas3_window%,ra2_opt_icon%)
 1980aget_opt_icon%=10
 1990PROCdeselect_icon(saveas3_window%,aget_opt_icon%)
 2000age1_opt_icon%=11
 2010PROCselect_icon(saveas3_window%,age1_opt_icon%)
 2020age2_opt_icon%=12
 2030PROCselect_icon(saveas3_window%,age2_opt_icon%)
 2040tab_icon%=14
 2050space_icon%=15
 2060PROCselect_icon(saveas3_window%,space_icon%)
 2070comma_icon%=16
 2110PROCput_text(about_window%,app_name_icon%,app_name$)
 2120PROCput_text(about_window%,version_icon%,app_version$)
 2130PROCput_text(about_window%,purpose_icon%,app_purpose$)
 2170PROCput_text(main_window%,noingp_icon%,STR$(no_of_records%+1))
 2180PROCput_text(main_window%,nooftests_icon%,STR$(no_of_tests%+1))
 2190PROCput_text(main_window%,record_icon%,STR$(current_record%+1))
 2230record_rad_icon%=2
 2240record_wri_icon%=3
 2250name_rad_icon%=4
 2260name_wri_icon%=5
 2270goto_cancel_icon%=8
 2280goto_ok_icon%=7
 2300PROCput_text(goto_window%,record_wri_icon%,"")
 2310PROCput_text(goto_window%,name_wri_icon%,"")
 2320PROCselect_icon(goto_window%,name_rad_icon%)
 2330PROCshade_icon(goto_window%,record_wri_icon%)
 2340PROCunshade_icon(goto_window%,name_wri_icon%)
 2360PROCselect_icon(sort_window%,SortName1_icon%)
 2380current_test%=0
 2390PROCselect_test(1,TRUE)
 2430icon_bar_menu%=FNdim_menu(menu%,menu_end%,2,100,app_name$)
 2440PROCmenu_entry("Info",menu%,menu_ind%,menu_ind_end%,about_window%,FALSE,FALSE,FALSE,FALSE,FALSE)
 2450PROCmenu_entry("Quit",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
 2470add_icon_menu%=FNdim_menu(menu%,menu_end%,2,180,"Add record")
 2480PROCmenu_entry("Before",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)
 2490PROCmenu_entry("After",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
 2510search_menu%=FNdim_menu(menu%,menu_end%,2,180,"Query")
 2520PROCmenu_entry("Find... F4",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)
 2530PROCmenu_entry("Sort    F5",menu%,menu_ind%,menu_ind_end%,sort_window%,FALSE,FALSE,FALSE,FALSE,TRUE)
 2550take_icon_menu%=FNdim_menu(menu%,menu_end%,2,180,"Delete")
 2560PROCmenu_entry("Wipe",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)
 2570PROCmenu_entry("Remove",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
 2590save_menu%=FNdim_menu(menu%,menu_end%,3,290,"Save")
 2600PROCmenu_entry("Save data     F3",menu%,menu_ind%,menu_ind_end%,saveas1_window%,FALSE,FALSE,FALSE,FALSE,FALSE)
 2610PROCmenu_entry("Save graph ���F3",menu%,menu_ind%,menu_ind_end%,saveas2_window%,FALSE,FALSE,FALSE,FALSE,FALSE)
 2620PROCmenu_entry("Save text� ��~F3",menu%,menu_ind%,menu_ind_end%,saveas3_window%,FALSE,FALSE,FALSE,FALSE,TRUE)
 2640auto_menu%=FNdim_menu(menu%,menu_end%,1,200,"Time  (mins)")
 2650PROCmenu_entry(STR$(auto_save_time%/min),menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,6,FALSE,TRUE)
 2670main_menu%=FNdim_menu(menu%,menu_end%,4,160,app_name$)
 2680PROCmenu_entry("Info",menu%,menu_ind%,menu_ind_end%,about_window%,FALSE,TRUE,FALSE,FALSE,FALSE)
 2690PROCmenu_entry("Save",menu%,menu_ind%,menu_ind_end%,save_menu%,FALSE,FALSE,FALSE,FALSE,FALSE)
 2700PROCmenu_entry("Auto-save",menu%,menu_ind%,menu_ind_end%,auto_menu%,FALSE,TRUE,FALSE,FALSE,FALSE)
 2710PROCmenu_entry("Wipe all",menu%,menu_ind%,menu_ind_end%,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
 2730ENDPROC
 2760DEFPROCpoll_loop
 2780REPEAT
 2790SYS"Wimp_PollIdle",poll_mask%,blk%,poll_time%TOevent%
 2820CASEevent%OF
 2830WHEN0
 2840IFFNask2savePROCauto_save
 2850SYS"OS_ReadMonotonicTime"TOpoll_time%
 2860poll_time%+=auto_save_time%
 2890WHEN2
 2900SYS"Wimp_OpenWindow",,blk%
 2920WHEN3
 2930SYS"Wimp_CloseWindow",,blk%
 2950WHEN6
 2960PROCmouse_button
 2980WHEN7
 2990PROCdrag_over
 3010WHEN8
 3020PROCkey_press
 3040WHEN9
 3050PROCmenu_click
 3070WHEN17
 3080PROCmessage
 3100WHEN18
 3110PROCmessage
 3120ENDCASE
 3140IFquit%PROCcheck
 3160UNTILsure%
 3180PROCquit
 3200ENDPROC
 3280DEFFNsys_var(var$)
 3290LOCALlenth%
 3300SYS"XOS_ReadVarVal",var$+CHR$(0),temp_blk%,-1TO,,lenth%
 3310IFlenth%=0ERROREXT0,"System variable '"+var$+"' not found!"
 3320SYS"XOS_ReadVarVal",var$+CHR$(0),temp_blk%,255,,3TO,,lenth%
 3330?(temp_blk%+lenth%)=13
 3340=$temp_blk%
 3370DEFPROCerror
 3390errorcount%+=1
 3400IFerrorcount%>5:ERROREXT0,"Too many errors!"
 3420SYS"XWimp_CloseTemplate"
 3430IFc%<>0THENCLOSE#c%
 3440SYS"Hourglass_Smash"
 3460!errorblk%=ERR
 3470$(errorblk%+4)=REPORT$+" at line "+STR$(ERLDIV10)
 3480SYS"Wimp_ReportError",errorblk%,1,app_name$
 3500ENDPROC
 3530DEFPROCquit
 3540SYS"Wimp_CloseDown",task_handle%,&4B534154
 3550END
 3560ENDPROC
 3590DEFFNget_window_template(file$,name$,RETURNfree%,end%)
 3610LOCALhandle%,found%
 3620SYS"Wimp_OpenTemplate",,file$
 3630SYS"Wimp_LoadTemplate",,blk%,free%,end%,-1,name$,0TO,,free%,,,,found%
 3640IFfound%THEN
 3650SYS"Wimp_CreateWindow",,blk%TOhandle%
 3660ELSE
 3670ERROREXT0,"Window "+name$+" not found in template file!"
 3680ENDIF
 3690SYS"Wimp_CloseTemplate"
 3700=handle%
 3730DEFPROCput_text(window%,icon%,text$)
 3740IFtext$="0"text$=""
 3750temp_blk%!0=window%
 3760temp_blk%!4=icon%
 3770SYS"Wimp_GetIconState",,temp_blk%
 3780IF(temp_blk%!24AND&101)<>&101THEN
 3790ERROR202,"Icon "+STR$(icon%)+" not indirected!"
 3800ENDPROC
 3810ENDIF
 3830text$=LEFT$(text$,temp_blk%!36-1)
 3840$temp_blk%!28=text$
 3850temp_blk%!8=0
 3860temp_blk%!12=0
 3880SYS"Wimp_SetIconState",,temp_blk%
 3890ENDPROC
 3920DEFFNget_text(window%,icon%)
 3930!temp_blk%=window%
 3940temp_blk%!4=icon%
 3950SYS"Wimp_GetIconState",,temp_blk%
 3960IF(temp_blk%!24AND&101)<>&101THEN
 3970ERROR202,"Icon "+STR$(icon%)+" not indirected!"
 3980=""
 3990ENDIF
 4000=$temp_blk%!28
 4030DEFPROCopen_window(window%)
 4040!temp_blk%=window%
 4050SYS"Wimp_GetWindowState",,temp_blk%
 4060SYS"Wimp_OpenWindow",,temp_blk%
 4070ENDPROC
 4090DEFPROCmessage
 4110LOCALclick%
 4140CASEblk%!16OF
 4160WHEN0
 4170IFFNask2saveTHEN
 4180click%=TRUE
 4190PROCreport_error("The Current data is UNsaved. OK to save, CANCEL to quit.",TRUE,TRUE,click%)
 4200IFclick%=1THEN
 4210PROCopen_save_window(main_window%,saveas1_window%)
 4220quit%=FALSE
 4230ELSE
 4240PROCquit
 4250ENDIF
 4260ELSE
 4270PROCquit
 4280ENDIF
 4300WHEN1
 4310PROCsave_request
 4330WHEN3
 4340PROCload_request
 4360WHEN2
 4370PROCsave_demand
 4390WHEN5
 4400IFblk%!40=&DFETHENPROCload_request
 4420WHEN4
 4430PROCclose_menu
 4440ENDCASE
 4460ENDPROC
 4490DEFPROCmouse_button
 4510mousex%=blk%!0
 4520mousey%=blk%!4
 4530mousebut%=blk%!8
 4540window_handle%=blk%!12
 4550icon_handle%=blk%!16
 4570CASEwindow_handle%OF
 4590WHENmain_window%
 4600PROCmain_window_click
 4620WHENicon_bar%
 4630PROCicon_bar_click
 4650WHENsaveas1_window%,saveas2_window%,saveas3_window%
 4660PROCsave_window_click(window_handle%)
 4680WHENgoto_window%
 4690CASEicon_handle%OF
 4700WHENgoto_ok_icon%
 4710PROCgoto
 4720PROCclose_menu
 4730WHENgoto_cancel_icon%
 4740PROCclose_menu
 4750WHENrecord_rad_icon%
 4760PROCselect_icon(goto_window%,icon_handle%)
 4770PROCshade_icon(goto_window%,name_wri_icon%)
 4780PROCunshade_icon(goto_window%,record_wri_icon%)
 4790PROCset_caret(goto_window%,record_wri_icon%)
 4800WHENname_rad_icon%
 4810PROCselect_icon(goto_window%,icon_handle%)
 4820PROCshade_icon(goto_window%,record_wri_icon%)
 4830PROCunshade_icon(goto_window%,name_wri_icon%)
 4840PROCset_caret(goto_window%,name_wri_icon%)
 4850ENDCASE
 4870WHENsort_window%
 4880CASEicon_handle%OF
 4890WHENSortCancel_icon%
 4900PROCclose_menu
 4910WHENSortOK_icon%
 4920SYS"Hourglass_On"
 4930PROCsave_record(current_record%)
 4940IFFNselected(sort_window%,SortName1_icon%)PROCsort(no_of_records%,0,case%)
 4950IFFNselected(sort_window%,SortName2_icon%)PROCsort(no_of_records%,1,case%)
 4960IFFNselected(sort_window%,SortRA1_icon%)PROCsort(no_of_records%,2,case%)
 4970IFFNselected(sort_window%,SortRA2_icon%)PROCsort(no_of_records%,3,case%)
 4980IFFNselected(sort_window%,SortChr_icon%)PROCsort(no_of_records%,4,case%)
 4990IFFNselected(sort_window%,SortRA1C_icon%)PROCsort(no_of_records%,5,case%)
 5000IFFNselected(sort_window%,SortRA2C_icon%)PROCsort(no_of_records%,6,case%)
 5010SYS"Hourglass_Off"
 5020PROCclose_menu
 5030PROCload_record(current_record%)
 5040ask_to_save%=TRUE
 5050ENDCASE
 5070WHENmessage_window%
 5080CASEicon_handle%OF
 5090WHENcancel_icon%
 5100PROCclose_menu
 5110WHENsave_icon%
 5120PROCopen_save_window(main_window%,saveas1_window%)
 5130WHENdiscard_icon%
 5140sure%=TRUE
 5150ENDCASE
 5170ENDCASE
 5190ENDPROC
 5220DEFPROCicon_bar_click
 5240CASEmousebut%OF
 5260WHENmenu_click%
 5280current_menu%=icon_bar_menu%
 5300menu_x%=mousex%-64
 5320no_of_items%=2
 5330no_of_dotted%=0
 5350menu_y%=96+(no_of_items%*44)+(no_of_dotted%*24)
 5370SYS"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
 5390WHENselect_click%,adjust_click%
 5400PROCopen_window(main_window%):PROCset_caret(main_window%,name1_icon%)
 5420ENDCASE
 5440ENDPROC
 5470DEFFNdim_menu(RETURNptr%,end%,no_of_items%,width%,title$)
 5490IF(ptr%+28)+(no_of_items%*24)>end%ERROR0,"Menu overflow"
 5500name%=ptr%
 5510$ptr%=LEFT$(title$,12)+CHR$(0)
 5520ptr%!12=7
 5530ptr%!13=2
 5540ptr%!14=7
 5550ptr%!15=0
 5560ptr%!16=width%
 5570ptr%!20=44
 5580ptr%!24=0
 5590ptr%+=28
 5600=ptr%-28
 5630DEFPROCmenu_entry(text$,RETURNptr%,RETURNind_ptr%,end%,sub%,ticked%,dotted%,writable%,shaded%,last%)
 5650LOCALmenuflag%,iconflag%
 5660menuflag%=0
 5670IFsub%=FALSEsub%=0
 5680IFticked%menuflag%=menuflag%OR1<<0
 5690IFdotted%menuflag%=menuflag%OR1<<1
 5700IFwritable%menuflag%=menuflag%OR1<<2
 5710IFlast%menuflag%=menuflag%OR1<<7
 5730iconflag%=0
 5740iconflag%=iconflag%OR1<<0
 5750iconflag%=iconflag%OR1<<5
 5760IFshaded%iconflag%=iconflag%OR1<<22
 5770iconflag%=iconflag%OR7<<24
 5790!ptr%=menuflag%
 5800ptr%!4=sub%
 5820IFLEN(text$)>12ORwritable%THEN
 5830IFind_ptr%+LEN(text$)+1>end%ERROR0,"Indirected menu overflow"
 5840$ind_ptr%=text$+CHR$(0)
 5850ptr%!12=ind_ptr%
 5860ind_ptr%+=LEN(text$)+1
 5870IFwritable%THEN
 5880$ind_ptr%="A0-9mins"+CHR$(0)
 5890ptr%!16=ind_ptr%
 5900ind_ptr%+=9
 5910ptr%!20=writable%
 5920ELSE
 5930?ind_ptr%=0
 5940ptr%!16=ind_ptr%
 5950ind_ptr%+=1
 5960ptr%!20=LEN(text$)+1
 5970ENDIF
 5980iconflag%=iconflag%OR1<<8
 5990ELSE
 6000$(ptr%+12)=LEFT$(text$,12)+CHR$(0)
 6010ENDIF
 6030ptr%!8=iconflag%
 6050ptr%+=24
 6070ENDPROC
 6100DEFPROCmenu_click
 6120LOCALi%,click%
 6140menu$=""
 6150i%=0
 6170REPEAT
 6180menu$=menu$+STR$(blk%!i%)
 6190i%+=4
 6200UNTILblk%!i%
 6220CASEcurrent_menu%OF
 6240WHENicon_bar_menu%
 6250PROCicon_bar_menu
 6270WHENmain_menu%
 6280CASEmenu$OF
 6290WHEN"2"
 6300IFFNticked(main_menu%,2)THEN
 6310PROCuntick_item(main_menu%,2)
 6320ELSE
 6330PROCtick_item(main_menu%,2)
 6340ENDIF
 6350WHEN"3"
 6360PROCchk_wipe
 6370WHEN"20"
 6380PROCtick_item(main_menu%,2)
 6390auto_save_time%=INT(VAL(FNget_writable(auto_menu%,0)))*min
 6400IFauto_save_time%/min>99 auto_save_time%=5*min
 6410IFauto_save_time%/min<1 auto_save_time%=5*min
 6420SYS"OS_ReadMonotonicTime"TOpoll_time%
 6430poll_time%+=auto_save_time%
 6440ENDCASE
 6460WHENadd_icon_menu%
 6470PROCsave_record(current_record%)
 6480CASEmenu$OF
 6490WHEN"0"
 6500PROCadd_record(current_record%,TRUE)
 6510WHEN"1"
 6520PROCadd_record(current_record%,FALSE)
 6530current_record%+=1
 6540ENDCASE
 6550PROCput_text(main_window%,noingp_icon%,STR$(no_of_records%+1))
 6560PROCload_record(current_record%)
 6580WHENsearch_menu%
 6590CASEmenu$OF
 6600WHEN"0"
 6610PROCsave_record(current_record%)
 6620PROCopen_save_window(main_window%,goto_window%)
 6630IFFNselected(goto_window%,record_rad_icon%)PROCset_caret(goto_window%,record_wri_icon%)ELSEPROCset_caret(goto_window%,name_wri_icon%)
 6640ENDCASE
 6660WHENtake_icon_menu%
 6670CASEmenu$OF
 6680WHEN"0"
 6690click%=TRUE
 6700PROCreport_error("Are you sure you wish to wipe this record?",TRUE,TRUE,click%)
 6710IFclick%=1PROCwipe_record
 6720WHEN"1"
 6730click%=TRUE
 6740PROCreport_error("Are you sure you wish to remove this record?",TRUE,TRUE,click%)
 6750IFclick%=1THEN
 6760PROCremove_record(current_record%)
 6770IFcurrent_record%>no_of_records%current_record%=no_of_records%
 6780PROCput_text(main_window%,noingp_icon%,STR$(no_of_records%+1))
 6790PROCput_text(main_window%,record_icon%,STR$(current_record%+1))
 6800PROCload_record(current_record%)
 6810ENDIF
 6820ENDCASE
 6830ENDCASE
 6850SYS"Wimp_GetPointerInfo",,blk%
 6860IFblk%!8=adjust_click%SYS"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
 6880ENDPROC
 6910DEFPROCicon_bar_menu
 6930CASEmenu$OF
 6950WHEN"1"
 6960quit%=TRUE
 6980ENDCASE
 7000ENDPROC
 7030DEFPROCmain_window_click
 7050LOCALopen%
 7070CASEicon_handle%OF
 7090WHENsearch_icon%
 7100current_menu%=search_menu%
 7110open%=TRUE
 7130WHENadd_icon%
 7140current_menu%=add_icon_menu%
 7150open%=TRUE
 7170WHENtake_icon%
 7180current_menu%=take_icon_menu%
 7190open%=TRUE
 7210ENDCASE
 7230IFmousebut%=menu_click%AND open%=FALSETHEN
 7240PROCput_writable(auto_menu%,0,STR$(auto_save_time%/min)+"mins")
 7250current_menu%=main_menu%
 7260open%=TRUE
 7270ENDIF
 7290IFopen%THEN
 7300menu_x%=mousex%-64
 7310menu_y%=mousey%
 7320SYS"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
 7330ENDPROC
 7350ENDIF
 7370CASEicon_handle%OF
 7390WHENforward_icon%
 7400IFmousebut%=select_click%PROCforwardELSEPROCbackward
 7420WHENbackward_icon%
 7430IFmousebut%=select_click%PROCbackwardELSEPROCforward
 7450WHENra1_icon%,tst1_icon%
 7460IFmousebut%=select_click%PROCselect_test(1,TRUE)ELSEPROCselect_test(2,TRUE)
 7480WHENra2_icon%,tst2_icon%
 7490IFmousebut%=select_click%PROCselect_test(2,TRUE)ELSEPROCselect_test(1,TRUE)
 7510ENDCASE
 7530ENDPROC
 7560DEFPROCget_icon_state(window%,icon%)
 7580!blk%=window%
 7590blk%!4=icon%
 7600SYS"Wimp_GetIconState",,blk%
 7620ENDPROC
 7650DEFPROCset_icon_state(window%,icon%)
 7670!blk%=window%
 7680blk%!4=icon%
 7690SYS"Wimp_SetIconState",,blk%
 7710ENDPROC
 7740DEFPROCselect_icon(window%,icon%)
 7760LOCALclear_word%,eor_word%
 7770clear_word%=1<<21
 7780eor_word%=1<<21
 7790blk%!8=eor_word%
 7800blk%!12=clear_word%
 7810PROCset_icon_state(window%,icon%)
 7830ENDPROC
 7860DEFPROCshade_icon(window%,icon%)
 7880LOCALclear_word%,eor_word%
 7890clear_word%=1<<22
 7900eor_word%=1<<22
 7910blk%!8=eor_word%
 7920blk%!12=clear_word%
 7930PROCset_icon_state(window%,icon%)
 7950ENDPROC
 7980DEFPROCdeselect_icon(window%,icon%)
 8000LOCALclear_word%,eor_word%
 8010clear_word%=1<<21
 8020eor_word%=0
 8030blk%!8=eor_word%
 8040blk%!12=clear_word%
 8050PROCset_icon_state(window%,icon%)
 8070ENDPROC
 8100DEFPROCunshade_icon(window%,icon%)
 8120LOCALclear_word%,eor_word%
 8130clear_word%=1<<22
 8140eor_word%=0
 8150blk%!8=eor_word%
 8160blk%!12=clear_word%
 8170PROCset_icon_state(window%,icon%)
 8190ENDPROC
 8220DEFFNage(td%,tm%,ty%,bd%,bm%,by%)
 8230LOCALy%,m%
 8240y%=ty%-by%
 8250m%=tm%-bm%
 8260IFtd%<bd%m%-=1
 8270IFm%<0 y%-=1:m%=m%+12
 8280IFy%<0ORm%<0THEN=""
 8290=STR$(y%)+"."+STR$(m%)
 8320DEFPROCselect_test(test%,ch_icons%)
 8340LOCALtd$,tm$,ty$,bd$,bm$,by$
 8360bd$=FNget_text(main_window%,dobd_icon%)
 8370bm$=FNget_text(main_window%,dobm_icon%)
 8380by$=FNget_text(main_window%,doby_icon%)
 8400CASEtest%OF
 8420WHEN1
 8430IFch_icons%THEN
 8440PROCselect_icon(main_window%,ra1_icon%)
 8450PROCselect_icon(main_window%,tst1_icon%)
 8460PROCdeselect_icon(main_window%,ra2_icon%)
 8470PROCdeselect_icon(main_window%,tst2_icon%)
 8480ENDIF
 8500td$=FNget_text(main_window%,tst1d_icon%)
 8510tm$=FNget_text(main_window%,tst1m_icon%)
 8520ty$=FNget_text(main_window%,tst1y_icon%)
 8540current_test%=1
 8560WHEN2
 8570IFch_icons%THEN
 8580PROCselect_icon(main_window%,ra2_icon%)
 8590PROCselect_icon(main_window%,tst2_icon%)
 8600PROCdeselect_icon(main_window%,ra1_icon%)
 8610PROCdeselect_icon(main_window%,tst1_icon%)
 8620ENDIF
 8640td$=FNget_text(main_window%,tst2d_icon%)
 8650tm$=FNget_text(main_window%,tst2m_icon%)
 8660ty$=FNget_text(main_window%,tst2y_icon%)
 8680current_test%=2
 8700ENDCASE
 8720IFtd$=""ORtm$=""ORty$=""ORbd$=""ORbm$=""ORby$=""THEN
 8730current_age$="--.--"
 8740ELSE
 8750current_age$=FNage(VAL(td$),VAL(tm$),VAL(ty$),VAL(bd$),VAL(bm$),VAL(by$))
 8760ENDIF
 8780PROCput_text(main_window%,chage_icon%,current_age$)
 8800ENDPROC
 8830DEFPROCsave_record(record_no%)
 8850IFFNchk_record(record_no%)THEN
 8860name$(0,record_no%)=FNget_text(main_window%,name1_icon%)
 8870name$(1,record_no%)=FNget_text(main_window%,name2_icon%)
 8880dob%(0,record_no%)=VAL(FNget_text(main_window%,dobd_icon%))
 8890dob%(1,record_no%)=VAL(FNget_text(main_window%,dobm_icon%))
 8900dob%(2,record_no%)=VAL(FNget_text(main_window%,doby_icon%))
 8910ra%(0,0,record_no%)=VAL(FNget_text(main_window%,ra1y_icon%))
 8920ra%(0,1,record_no%)=VAL(FNget_text(main_window%,ra1m_icon%))
 8930ra%(1,0,record_no%)=VAL(FNget_text(main_window%,ra2y_icon%))
 8940ra%(1,1,record_no%)=VAL(FNget_text(main_window%,ra2m_icon%))
 8950ask_to_save%=TRUE
 8960ENDIF
 8980ENDPROC
 9010DEFPROCload_record(record_no%)
 9030PROCput_text(main_window%,record_icon%,STR$(record_no%+1))
 9050PROCput_text(main_window%,name1_icon%,name$(0,record_no%))
 9060PROCput_text(main_window%,name2_icon%,name$(1,record_no%))
 9070PROCput_text(main_window%,dobd_icon%,STR$(dob%(0,record_no%)))
 9080PROCput_text(main_window%,dobm_icon%,STR$(dob%(1,record_no%)))
 9090PROCput_text(main_window%,doby_icon%,STR$(dob%(2,record_no%)))
 9100PROCput_text(main_window%,ra1y_icon%,STR$(ra%(0,0,record_no%)))
 9110PROCput_text(main_window%,ra1m_icon%,STR$(ra%(0,1,record_no%)))
 9120PROCput_text(main_window%,ra2y_icon%,STR$(ra%(1,0,record_no%)))
 9130PROCput_text(main_window%,ra2m_icon%,STR$(ra%(1,1,record_no%)))
 9150PROCselect_test(current_test%,FALSE)
 9160PROCset_caret(main_window%,name1_icon%)
 9180ENDPROC
 9210DEFPROCforward
 9230PROCsave_record(current_record%)
 9250current_record%+=1
 9260IFcurrent_record%>no_of_records%current_record%=0
 9280PROCload_record(current_record%)
 9300ENDPROC
 9330DEFPROCbackward
 9350PROCsave_record(current_record%)
 9370current_record%-=1
 9380IFcurrent_record%<0 current_record%=no_of_records%
 9400PROCload_record(current_record%)
 9420ENDPROC
 9450DEFPROCsave_data(filename$)
 9470LOCALhandle%,i%,j%,text$
 9480LOCALERROR
 9500ONERRORLOCALPROCreport_error("Not found",TRUE,FALSE,false%):PROCreport_error("Bad file name: '"+filename$+"'",TRUE,FALSE,false%):ENDPROC
 9520SYS"Hourglass_On"
 9540PROCsave_record(current_record%)
 9560handle%=OPENOUT(filename$)
 9580PROCoutput(handle%,FNget_text(main_window%,gpname_icon%))
 9600text$=FNget_text(main_window%,tst1d_icon%)+","+FNget_text(main_window%,tst1m_icon%)+","+FNget_text(main_window%,tst1y_icon%)
 9610IFVAL(FNget_text(main_window%,tst2d_icon%))<>0ANDVAL(FNget_text(main_window%,tst2m_icon%))<>0ANDVAL(FNget_text(main_window%,tst2y_icon%))<>0THEN
 9620text$+=","+FNget_text(main_window%,tst2d_icon%)+","+FNget_text(main_window%,tst2m_icon%)+","+FNget_text(main_window%,tst2y_icon%)
 9630ENDIF
 9640PROCoutput(handle%,text$)
 9660FORi%=0TOno_of_records%
 9680text$=name$(0,i%)+","+name$(1,i%)
 9690FORj%=0TO2
 9700text$+=","+STR$(dob%(j%,i%))
 9710NEXT
 9720FORj%=0TO1
 9730text$+=","+STR$(ra%(0,j%,i%))
 9740NEXT
 9750IFra%(1,0,i%)<>0ORra%(1,1,i%)<>0THEN
 9760FORj%=0TO1
 9770text$+=","+STR$(ra%(1,j%,i%))
 9780NEXT
 9790ENDIF
 9800PROCoutput(handle%,text$)
 9820NEXT
 9840CLOSE#handle%
 9850OSCLI("*SetType "+filename$+" &DFE")
 9870ask_to_save%=FALSE
 9890SYS"Hourglass_Off"
 9910ENDPROC
 9940DEFPROCset_caret(window%,icon%)
 9960PROCget_icon_state(window%,icon%)
 9980SYS"Wimp_SetCaretPosition",window%,icon%,0,0,-1,LEN($blk%!28)
10000ENDPROC
10030DEFPROCsave_window_click(window%)
10050LOCALfilename$
10070CASEmousebut%OF
10090WHENselect_click%,adjust_click%
10100IFicon_handle%=ok_icon%THEN
10110filename$=FNget_text(window%,filename_icon%)
10120IFINSTR(filename$,".")THEN
10130CASEwindow%OF
10140WHENsaveas1_window%
10150PROCsave_data(filename$)
10160WHENsaveas2_window%
10170PROCsave_draw(filename$)
10180WHENsaveas3_window%
10190PROCsave_text(filename$)
10200ENDCASE
10210PROCclose_menu
10220ELSE
10230PROCreport_error("To save, drag the icon to a directory display",TRUE,FALSE,false%)
10240ENDIF
10250ENDIF
10270WHENselect_drag%,adjust_drag%
10280IFicon_handle%=file_icon%THEN
10290drag_window%=window%
10300CASEwindow%OF
10310WHENsaveas1_window%
10320PROCdrag_start(drag_window%,file_icon%,"file_dfe")
10330WHENsaveas2_window%
10340PROCdrag_start(drag_window%,file_icon%,"file_aff")
10350WHENsaveas3_window%
10360PROCdrag_start(drag_window%,file_icon%,"file_fff")
10370ENDCASE
10380ENDIF
10390ENDCASE
10400ENDPROC
10430DEFPROCreport_error(text$,ok%,cancel%,RETURNclick%)
10450SYS"Hourglass_Smash"
10460LOCALflag%
10470flag%=0
10480flag%=flag%OR1<<4
10490IFok%flag%=flag%OR1<<0
10500IFcancel%flag%=flag%OR1<<1
10510text$=CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+text$+CHR$(0)
10520IFclick%THEN
10530SYS"Wimp_ReportError",text$,flag%,app_name$TO,click%
10540ELSE
10550SYS"Wimp_ReportError",text$,flag%,app_name$
10560ENDIF
10580ENDPROC
10610DEFPROCdrag_init
10630LOCALcmos
10640drag_start%=FNswi("DragASprite_Start")
10650drag_stop%=FNswi("DragASprite_Stop")
10660SYS"OS_Byte",161,28TO,,cmos
10670IF(cmosAND 2)=0 drag_start%=-1:drag_stop%=-1
10690ENDPROC
10720DEFFNswi(swi$)
10730LOCALswi
10740SYS"XOS_SWINumberFromString",,swi$TOswi;flag
10750IF(flagAND 1)swi=-1
10760=swi
10790DEFPROCdrag_start(window%,icon%,drag_file_type$)
10810LOCALx%,y%
10830!blk%=window%
10840SYS"Wimp_GetWindowState",,blk%
10850x%=blk%!4-blk%!20
10860y%=blk%!16-blk%!24
10880blk%!4=icon%
10890SYS"Wimp_GetIconState",,blk%
10910blk%!4=5
10920blk%!8+=x%
10930blk%!12+=y%
10940blk%!16+=x%
10950blk%!20+=y%
10960blk%!24=-1
10970blk%!28=-1
10980blk%!32=&7FFFFFFF
10990blk%!36=&7FFFFFFF
11010IFdrag_start%=-1THEN
11020SYS"Wimp_DragBox",,blk%
11030ELSE
11040SYSdrag_start%,%11000101,1,drag_file_type$,blk%+8,blk%+24
11050ENDIF
11060ENDPROC
11090DEFPROCdrag_over
11110LOCALwindow%,icon%,x%,y%,file$,size%
11130size%=0
11150IFdrag_stop%<>-1SYSdrag_stop%
11160SYS"Wimp_GetPointerInfo",,blk%
11170x%=blk%!0
11180y%=blk%!4
11190window%=blk%!12
11200icon%=blk%!16
11220IFwindow%<>saveas1_window%AND window%<>saveas2_window%AND window%<>saveas3_window%AND window%<>main_window%THEN
11230file$=FNleaf(FNget_text(drag_window%,filename_icon%))
11240blk%!0=256:blk%!12=0:blk%!16=1:blk%!20=window%:blk%!24=icon%:blk%!28=x%:blk%!32=y%:blk%!36=size%:$(blk%+44)=file$+CHR$(0)
11250CASEdrag_window%OF
11260WHENsaveas1_window%
11270blk%!40=&DFE
11280WHENsaveas2_window%
11290blk%!40=&AFF
11300WHENsaveas3_window%
11310blk%!40=&FFF
11320ENDCASE
11330SYS"Wimp_SendMessage",17,blk%,window%,icon%TOdest_task%
11340ENDIF
11360ENDPROC
11390DEFFNleaf(path$)
11410WHILEINSTR(path$,".")
11420path$=MID$(path$,INSTR(path$,".",i%)+1)
11430ENDWHILE
11450=path$
11480DEFFNpath(path$)
11500LOCALi%
11520WHILEINSTR(path$,".",i%)
11530i%=INSTR(path$,".",i%)+1
11540ENDWHILE
11560IFi%=0 i%=LEN(path$)+1
11570=LEFT$(path$,i%-1)
11600DEFPROCkey_press
11620LOCALwindow%,icon%,key%,file_name$,file_type$
11640window%=!blk%
11650icon%=blk%!4
11660key%=blk%!24
11680IFkey%=27PROCclose_menu
11700CASEkey%OF
11710WHEN387
11720PROCopen_save_window(main_window%,saveas1_window%)
11730PROCset_caret(saveas1_window%,filename_icon%)
11740WHEN388
11750PROCopen_save_window(main_window%,goto_window%)
11760IFFNselected(goto_window%,record_rad_icon%)PROCset_caret(goto_window%,record_wri_icon%)ELSEPROCset_caret(goto_window%,name_wri_icon%)
11770WHEN389
11780PROCopen_save_window(main_window%,sort_window%)
11790WHEN403
11800PROCopen_save_window(main_window%,saveas2_window%)
11810PROCset_caret(saveas2_window%,filename_icon%)
11820WHEN419
11830PROCopen_save_window(main_window%,saveas3_window%)
11840PROCset_caret(saveas3_window%,filename_icon%)
11850ENDCASE
11870CASEwindow%OF
11880WHENsaveas1_window%,saveas2_window%,saveas3_window%
11890PROCsave_key_press(window%,key%,icon%)
11900WHENmain_window%
11910CASEkey%OF
11920WHEN13
11930IFicon%=ra2m_icon%THEN
11940IFcurrent_record%=no_of_records%THEN
11950no_of_records%+=1
11960PROCput_text(main_window%,noingp_icon%,STR$(no_of_records%+1))
11970ENDIF
11980PROCforward
11990ENDIF
12000OTHERWISE
12010SYS"Wimp_ProcessKey",key%
12020ENDCASE
12030WHENgoto_window%
12040IFkey%=13THEN
12050PROCclose_menu
12060PROCgoto
12070ENDIF
12080OTHERWISE
12090SYS"Wimp_ProcessKey",key%
12100ENDCASE
12120ENDPROC
12150DEFPROCsave_key_press(window%,key%,icon%)
12170LOCALfile$,type%
12190CASEkey%OF
12210WHEN13
12220file$=FNget_text(window%,icon%)
12230IFINSTR(file$,".")THEN
12240CASEwindow%OF
12250WHENsaveas1_window%
12260PROCsave_data(file$)
12270PROCclose_menu
12280WHENsaveas2_window%
12290PROCsave_draw(file$)
12300PROCclose_menu
12310WHENsaveas3_window%
12320PROCsave_text(file$)
12330PROCclose_menu
12340ENDCASE
12350ELSE
12360PROCreport_error("To save, drag the icon to a directory display",TRUE,FALSE,false%)
12370ENDIF
12380OTHERWISE
12390SYS"Wimp_ProcessKey",key%
12400ENDCASE
12420ENDPROC
12450DEFPROCclose_menu
12460SYS"Wimp_CreateMenu",,-1
12470ENDPROC
12500DEFPROCsave_request
12520IFblk%!40=&DFETHEN
12530IFFNsys_var("Wimp$Scrap")<>""THEN
12540blk%!36=-1
12550$(blk%+44)="<Wimp$Scrap>"+CHR$(0)
12560blk%!0=64
12570blk%!12=blk%!8:blk%!16=2:SYS"Wimp_SendMessage",17,blk%,blk%!4
12580ELSE
12590PROCreport_error("Wimp$Scrap not found.",TRUE,FALSE,false%)
12600PROCreport_error(app_name$+" needs to have 'seen' !Scrap.",TRUE,FALSE,false%)
12610ENDIF
12620ENDIF
12640ENDPROC
12670DEFPROCload_request
12690LOCALhandle%,i%,eol%,file$,click%
12710IFblk%!40=&DFETHEN
12730IFFNask2saveTHEN
12740click%=TRUE
12750PROCreport_error("Loading will wipe current UNsaved data...",TRUE,TRUE,click%)
12760ELSE
12770click%=1
12780ENDIF
12800IFclick%<>1ENDPROC
12820SYS"Hourglass_On"
12830PROCwipe_all(FALSE)
12850file$=FNget_string(blk%+44,255)
12860handle%=OPENIN(file$)
12880group$=FNget_cell(handle%,eol%)
12900eol%=0
12920FORi%=0TO1
12930FORj%=0TO2
12940IFeol%=0 test%(j%,i%)=VAL(FNget_cell(handle%,eol%))
12950NEXT
12960NEXT
12980FORi%=0TOmax_no_of_records%
13000eol%=0
13010name$(0,i%)=FNget_cell(handle%,eol%)
13020name$(1,i%)=FNget_cell(handle%,eol%)
13030FORj%=0TO2
13040dob%(j%,i%)=VAL(FNget_cell(handle%,eol%))
13050NEXT
13060ra%(0,0,i%)=VAL(FNget_cell(handle%,eol%)):ra%(0,1,i%)=VAL(FNget_cell(handle%,eol%))
13070IFeol%=0 ra%(1,0,i%)=VAL(FNget_cell(handle%,eol%)):ra%(1,1,i%)=VAL(FNget_cell(handle%,eol%))
13080IFeol%=2 no_of_records%=i%:i%=max_no_of_records%
13100NEXT
13120CLOSE#handle%
13140IFfile$="<Wimp$Scrap>"OSCLI("*DELETE ""<Wimp$Scrap>""")ELSEPROCput_text(saveas1_window%,filename_icon%,file$)
13150PROCput_text(saveas2_window%,filename_icon%,"RA�Graph")
13160PROCput_text(saveas3_window%,filename_icon%,"RA�Text")
13180blk%!12=blk%!8
13190blk%!16=4
13200SYS"Wimp_SendMessage",17,blk%,blk%!4
13220PROCopen_window(main_window%)
13230PROCput_text(main_window%,gpname_icon%,group$)
13240PROCput_text(main_window%,noingp_icon%,STR$(no_of_records%+1))
13250current_record%=0
13260PROCload_record(current_record%)
13270PROCput_text(main_window%,tst1d_icon%,STR$(test%(0,0)))
13280PROCput_text(main_window%,tst1m_icon%,STR$(test%(1,0)))
13290PROCput_text(main_window%,tst1y_icon%,STR$(test%(2,0)))
13300PROCput_text(main_window%,tst2d_icon%,STR$(test%(0,1)))
13310PROCput_text(main_window%,tst2m_icon%,STR$(test%(1,1)))
13320PROCput_text(main_window%,tst2y_icon%,STR$(test%(2,1)))
13340SYS"Hourglass_Off"
13360ENDIF
13380ENDPROC
13410DEFFNget_string(ptr%,length%)
13430LOCALtemp$
13450IFlength%=0 length%=255
13460FORptr%=ptr%TOptr%+length%-1
13470IF?ptr%<32THEN
13480=temp$
13490ELSE
13500temp$+=CHR$(?ptr%)
13510ENDIF
13520NEXT
13530=temp$
13560DEFPROCsave_demand
13580LOCALfile$,type%
13600file$=FNget_string(blk%+44,255)
13610IFblk%!36=-1THENto_filer%=FALSEELSEto_filer%=TRUE
13620type%=blk%!40
13640CASEdrag_window%OF
13650WHENsaveas1_window%
13660PROCsave_data(file$)
13670blk%!12=blk%!8:blk%!16=3:SYS"Wimp_SendMessage",17,blk%,blk%!4
13680IFto_filer%PROCput_text(saveas1_window%,filename_icon%,file$)
13690WHENsaveas2_window%
13700PROCsave_draw(file$)
13710blk%!12=blk%!8:blk%!16=3:SYS"Wimp_SendMessage",17,blk%,blk%!4
13720IFto_filer%PROCput_text(saveas2_window%,filename_icon%,file$)
13730WHENsaveas3_window%
13740PROCsave_text(file$)
13750blk%!12=blk%!8:blk%!16=3:SYS"Wimp_SendMessage",17,blk%,blk%!4
13760IFto_filer%PROCput_text(saveas3_window%,filename_icon%,file$)
13770ENDCASE
13780ENDPROC
13810DEFFNget_cell(handle%,RETURNeol%)
13820LOCALtemp$,temp%,cell$
13830IFEOF#handle%eol%=2
13840WHILEeol%<>2AND temp%<>44AND temp%<>10AND temp%<>13ANDLEN(cell$)<255
13850IFtemp%<>0 temp$=CHR$(temp%)
13860IFtemp$=""""temp$=""
13870cell$+=temp$
13880temp%=BGET#handle%
13890IFtemp%=10ORtemp%=13 eol%=1
13900IFEOF#handle%THEN
13910eol%=2
13920IFtemp%<>0 temp$=CHR$(temp%)
13930IFtemp$=""""temp$=""
13940cell$+=temp$
13950ENDIF
13960ENDWHILE
13970=cell$
14000DEFPROCoutput(handle%,line$)
14030LOCALi%
14050IFline$=""BPUT#handle%,10:ENDPROC
14070FORi%=1TOLEN(line$)
14090BPUT#handle%,ASC(MID$(line$,i%,1))
14110NEXT
14130BPUT#handle%,10
14150ENDPROC
14180DEFPROCsave_draw(file$)
14200LOCALerror%,click%,i%,append%
14220IFno_of_records%>30THEN
14230click%=TRUE
14240PROCreport_error("The graph will be more than 1 page long. Is it OK to name the files '"+LEFT$(FNleaf(file$),9)+"0', '"+LEFT$(FNleaf(file$),9)+"1' etc.",TRUE,TRUE,click%)
14250IFclick%<>1ENDPROC
14260append%=TRUE
14270ELSE
14280append%=FALSE
14290ENDIF
14310SYS"Hourglass_On"
14320group$=FNget_text(main_window%,gpname_icon%)
14330PROCsave_record(current_record%)
14340test%(0,0)=VAL(FNget_text(main_window%,tst1d_icon%))
14350test%(1,0)=VAL(FNget_text(main_window%,tst1m_icon%))
14360test%(2,0)=VAL(FNget_text(main_window%,tst1y_icon%))
14370test%(0,1)=VAL(FNget_text(main_window%,tst2d_icon%))
14380test%(1,1)=VAL(FNget_text(main_window%,tst2m_icon%))
14390test%(2,1)=VAL(FNget_text(main_window%,tst2y_icon%))
14400FORi%=0TOno_of_records%DIV31
14410IFappend%THEN
14420PROCdrawfile_start(FNpath(file$)+LEFT$(FNleaf(file$),9)+STR$(i%),error%)
14430ELSE
14440PROCdrawfile_start(file$,error%)
14450ENDIF
14460IFerror%THENENDPROC
14470PROCfonttable
14480PROCgrid
14490PROCfill(i%*31)
14500PROCdrawfile_end
14510IFappend%THEN
14520OSCLI("SetType "+FNpath(file$)+LEFT$(FNleaf(file$),9)+STR$(i%)+" AFF")
14530ELSE
14540OSCLI("SetType "+drawfile$+" AFF")
14550ENDIF
14560NEXT
14570SYS"Hourglass_Off"
14590ENDPROC
14620DEFPROCgrid
14640LOCALi%,h%,w%,a$
14660PROCgroup_start
14680FORi%=0TO31
14690h%=2.75*cm+i%*.75*cm
14700PROCpath_start(1*cm,h%,1*point,black%,none%)
14710PROCpath_draw(20.25*cm,h%)
14720PROCpath_end
14730NEXT
14750FORi%=0TO6
14760h%=8.25*cm+i%*2*cm
14770PROCpath_start(h%,26*cm,1*point,black%,none%)
14780PROCpath_draw(h%,26.5*cm)
14790PROCpath_end
14800NEXT
14820FORi%=0TO5
14830h%=9.25*cm+i%*2*cm
14840PROCpath_start(h%,26*cm,1*point,black%,none%)
14850PROCpath_draw(h%,26.25*cm)
14860PROCpath_end
14870NEXT
14890PROCdown_line(1*cm,1*point)
14900PROCdown_line(4.5*cm,1*point)
14910PROCdown_line(6*cm,1*point)
14920PROCdown_line(7*cm,1*point)
14930PROCdown_line(8*cm,1*point)
14940PROCdown_line(8.25*cm,.25*point)
14950PROCdown_line(10.25*cm,.25*point)
14960PROCdown_line(12.25*cm,.25*point)
14970PROCdown_line(16.25*cm,.25*point)
14980PROCdown_line(18.25*cm,.25*point)
14990PROCdown_line(20.25*cm,1*point)
15010FORi%=0TO6
15020h%=8.15*cm+i%*2*cm
15030PROCtext(h%,26.75*cm,STR$(i%-3),12*point,12*point,1,black%,none%)
15040NEXT
15060PROCtext(2.25*cm,26.5*cm,"Name               D.O.B.   R.A.1 R.A.2",11*point,11*point,1,black%,none%)
15090ENDPROC
15120DEFPROCdown_line(x%,thick%)
15130PROCpath_start(x%,26*cm,thick%,black%,none%)
15140PROCpath_draw(x%,2.75*cm)
15150PROCpath_end
15160ENDPROC
15190DEFPROCinit_draw
15200maxlev%=32
15210DIMstart%(maxlev%),box%(maxlev%)
15220DIMl%(maxlev%),b%(maxlev%),r%(maxlev%),t%(maxlev%)
15230DIMbuf%256
15240no_of_d_fonts%=2
15250DIMd_font$(no_of_d_fonts%)
15260d_font$(1)="Trinity.Medium"
15270d_font$(2)="Trinity.Bold"
15280big%=&7FFFFFFF
15290EF=0.552256944
15300c%=0
15310inch=&B400
15320point=640
15330cm=18140
15340mm=1814
15350black%=0
15360white%=&FFFFFF00
15370red%=FNcol(255,0,0)
15380DIMbar_col%(1)
15390DIMkey%(1)
15400bar_col%(0)=FNcol(119,119,119)
15410bar_col%(1)=FNcol(221,221,221)
15420none%=-1
15430ENDPROC
15450DEFPROCdrawfile_start(D$,RETURNerror%)
15470LOCALERROR
15490ONERRORLOCALPROCreport_error("Not found",TRUE,FALSE,false%):PROCreport_error("Bad file name: '"+D$+"'",TRUE,FALSE,false%):error%=TRUE:ENDPROC
15510c%=OPENOUT(D$)
15520drawfile$=D$
15530PROCputw(&77617244):PROCputw(201):PROCputw(0)
15540PROCputs12("!ReadAge")
15550lev%=-1
15560PROChead_here(TRUE)
15570ENDPROC
15590DEFPROCdrawfile_end
15600IFlev%>0THENPRINT"Warning: Draw file closed with object(s) unfinished     "
15610PROChead_now
15620CLOSE#c%:c%=0
15630ENDPROC
15650DEFPROCpath_start(x%,y%,width%,lcol%,fcol%)
15660PROCputw(2)
15670PROChead_here(TRUE)
15680PROCputw(fcol%)
15690PROCputw(lcol%)
15700PROCputw(width%)
15710PROCputw(0)
15720PROCpath_move(x%,y%)
15730ENDPROC
15750DEFPROCrectangle(x%,y%,xl%,yl%,width%,lcol%,fcol%)
15760PROCpath_start(x%,(y%-yl%)/2,width%,lcol%,fcol%)
15770PROCpath_move(x%,y%)
15780PROCpath_draw(x%+xl%,y%)
15790PROCpath_draw(x%+xl%,y%+yl%)
15800PROCpath_draw(x%,y%+yl%)
15820PROCpath_close
15830PROCpath_end
15840ENDPROC
15860DEFPROCpath_move(x%,y%)
15870PROCputw(2)
15880PROCputxy(x%,y%)
15890ENDPROC
15910DEFPROCpath_draw(x%,y%)
15920PROCputw(8)
15930PROCputxy(x%,y%)
15940ENDPROC
15960DEFPROCpath_bezier(xc1%,yc1%,xc2%,yc2%,x%,y%)
15970PROCputw(6)
15980PROCputxy(xc1%,yc1%)
15990PROCputxy(xc2%,yc2%)
16000PROCputxy(x%,y%)
16010ENDPROC
16030DEFPROCpath_close
16040PROCputw(5)
16050ENDPROC
16070DEFPROCpath_end
16080PROCputw(0)
16090PROChead_now
16100ENDPROC
16120DEFPROCellipse(x%,y%,w%,h%,width%,lcol%,fcol%)
16130PROCpath_start(x%,y%-h%,width%,lcol%,fcol%)
16140PROCpath_bezier(x%+w%*EF,y%-h%,x%+w%,y%-h%*EF,x%+w%,y%)
16150PROCpath_bezier(x%+w%,y%+h%*EF,x%+w%*EF,y%+h%,x%,y%+h%)
16160PROCpath_bezier(x%-w%*EF,y%+h%,x%-w%,y%+h%*EF,x%-w%,y%)
16170PROCpath_bezier(x%-w%,y%-h%*EF,x%-w%*EF,y%-h%,x%,y%-h%)
16180PROCpath_close
16190PROCpath_end
16200ENDPROC
16220DEFPROCgroup_start
16240PROCputw(6)
16250PROChead_here(TRUE)
16260PROCputs12("group")
16270ENDPROC
16290DEFPROCgroup_end
16300PROChead_now
16310ENDPROC
16330DEFPROCfonttable
16340LOCALi%
16350PROCputw(0)
16360PROChead_here(FALSE)
16370FORi%=1TOno_of_d_fonts%
16380PROCputs(CHR$(i%)+d_font$(i%))
16390NEXT
16400PROCalign
16410PROChead_now
16420ENDPROC
16440DEFPROCtext(x%,y%,text$,xsize%,ysize%,font%,col%,bcol%)
16450PROCputw(1)
16460PROChead_here(FALSE)
16470PROCputxy(x%,y%-ysize%*.5)
16480PROCputxy(x%+LEN(text$)*xsize%,y%+ysize%)
16490PROCputw(col%)
16500PROCputw(bcol%)
16510PROCputw(font%)
16520PROCputw(xsize%):PROCputw(ysize%)
16530PROCputxy(x%,y%)
16540PROCputs(text$):PROCalign
16550PROChead_now
16560ENDPROC
16580DEFFNcol(R%,G%,B%)
16590=(R%<<8)+(G%<<16)+(B%<<24)
16610DEFPROCputw(A%)
16620BPUT#c%,A%AND&FF
16630BPUT#c%,(A%>>>8)AND&FF
16640BPUT#c%,(A%>>>16)AND&FF
16650BPUT#c%,(A%>>>24)AND&FF
16660ENDPROC
16680DEFPROCputs12(A$)
16690LOCALA%
16700A$=A$+STRING$(12," ")
16710FORA%=1TO12:BPUT#c%,ASC(MID$(A$,A%,1)):NEXT
16720ENDPROC
16740DEFPROCputs(A$)
16750LOCALA%
16760FORA%=1TOLEN(A$):BPUT#c%,ASC(MID$(A$,A%,1)):NEXT
16770BPUT#c%,0
16780ENDPROC
16800DEFPROChead_here(box%)
16810IFlev%=maxlev%THENERROR1234,"Too many nested groups.  Edit program t     o increase limit."
16820lev%+=1
16830box%(lev%)=box%
16840start%(lev%)=PTR#c%
16850IFlev%>0THENPROCputw(0)
16860IFbox%THEN
16870PROCputw(0):PROCputw(0)
16880PROCputw(0):PROCputw(0)
16890ENDIF
16900l%(lev%)=big%:b%(lev%)=big%
16910r%(lev%)=-big%:t%(lev%)=-big%
16920ENDPROC
16940DEFPROChead_now
16950LOCALend%
16960IFlev%<0THENPRINT"Warning: attempt to end more objects than were star     ted":ENDPROC
16970end%=PTR#c%
16980PTR#c%=start%(lev%)
16990IFlev%>0THENPROCputw(end%-start%(lev%)+4)
17000IFbox%(lev%)THEN
17010PROCputw(l%(lev%)):PROCputw(b%(lev%))
17020PROCputw(r%(lev%)+1):PROCputw(t%(lev%)+1)
17030ENDIF
17040IFlev%>0THEN
17050lev%-=1
17060IFl%(lev%+1)<l%(lev%)THENl%(lev%)=l%(lev%+1)
17070IFb%(lev%+1)<b%(lev%)THENb%(lev%)=b%(lev%+1)
17080IFr%(lev%+1)>r%(lev%)THENr%(lev%)=r%(lev%+1)
17090IFt%(lev%+1)>t%(lev%)THENt%(lev%)=t%(lev%+1)
17100ENDIF
17110PTR#c%=end%
17120ENDPROC
17140DEFPROCputxy(x%,y%)
17150PROCputw(x%):PROCputw(y%)
17160IFx%<l%(lev%)THENl%(lev%)=x%
17170IFy%<b%(lev%)THENb%(lev%)=y%
17180IFx%>r%(lev%)THENr%(lev%)=x%
17190IFy%>t%(lev%)THENt%(lev%)=y%
17200ENDPROC
17220DEFPROCalign
17230WHILEPTR#c%AND 3:BPUT#c%,0:ENDWHILE
17240ENDPROC
17260DEFFNword
17270=BGET#i%OR(&100*BGET#i%)OR(&10000*BGET#i%)OR((BGET#i%)<<24)
17300DEFFNlength_of_bar(test%,record%)
17320LOCALdiff
17340diff=FNage_diff(record%,test%)
17350IFABS(diff)>3=SGN(diff)*6*cmELSE=2*cm*diff
17380DEFFNage_diff(record%,test%)
17400LOCALray%,ram%,agey%,agem%
17420ray%=ra%(test%,0,record%)
17430ram%=ra%(test%,1,record%)
17440PROCage_ym(test%(0,test%),test%(1,test%),test%(2,test%),dob%(0,record%),dob%(1,record%),dob%(2,record%),agey%,agem%)
17450=(ray%+ram%/12)-(agey%+agem%/12)
17480DEFPROCmonthyear(age$,RETURNy%,RETURNm%)
17500LOCALy$,m$,i%,point%,len%
17520point%=INSTR(age$,".")
17530len%=LEN(age$)
17550IFpoint%=0 point%=len%+1
17560IFpoint%<>1THEN
17570FORi%=1TOpoint%-1
17580y$+=MID$(age$,i%,1)
17590NEXT
17600ENDIF
17620IFpoint%<>len%+1THEN
17630FORi%=point%+1TOlen%
17640m$+=MID$(age$,i%,1)
17650NEXT
17660ENDIF
17680PRINTy$,m$
17690y%=VAL(y$):m%=VAL(m$)
17710ENDPROC
17740DEFPROCfill(offset%)
17760LOCALi%,j%
17780FORi%=0TO30
17800IFname$(0,(i%+offset%))<>""PROCtext(1.1*cm,25.5*cm-.75*i%*cm,name$(0,(i%+offset%)),8*point,10*point,1,black%,none%)
17810IFname$(1,(i%+offset%))<>""PROCtext(3.1*cm,25.5*cm-.75*i%*cm,name$(1,(i%+offset%)),8*point,10*point,1,black%,none%)
17820IFdob%(0,(i%+offset%))<>0ORdob%(1,(i%+offset%))<>0ORdob%(2,(i%+offset%))<>0THENPROCtext(4.6*cm,25.5*cm-.75*i%*cm,STR$(dob%(0,(i%+offset%)))+"/"+STR$(dob%(1,(i%+offset%)))+"/"+STR$(dob%(2,(i%+offset%))),10*point,10*point,1,black%,none%)
17840FORj%=0TO1
17850IFra%(j%,0,(i%+offset%))<>0ORra%(j%,1,(i%+offset%))<>0THEN
17860PROCtext((6.1+j%)*cm,25.5*cm-.75*i%*cm,STR$(ra%(j%,0,(i%+offset%)))+"."+STR$(ra%(j%,1,(i%+offset%))),10*point,10*point,1,black%,none%)
17870key%(j%)=TRUE
17880PROCpath_start(14.25*cm,25.625*cm-.75*i%*cm-.25*cm*j%,1*point,black%,bar_col%(j%))
17890PROCpath_draw(14.25*cm+FNlength_of_bar(j%,(i%+offset%)),25.625*cm-.75*i%*cm-.25*cm*j%)
17900PROCpath_draw(14.25*cm+FNlength_of_bar(j%,(i%+offset%)),25.875*cm-.75*i%*cm-.25*cm*j%)
17910PROCpath_draw(14.25*cm,25.875*cm-.75*i%*cm-.25*cm*j%)
17920PROCpath_end
17930ENDIF
17940NEXT
17960NEXT
17980PROCdown_line(14.25*cm,2*point)
18000PROCgroup_end
18020PROCtext(4.75*cm,28.5*cm,"Graph of Reading Age minus Chronological Age for: "+group$,12*point,12*point,2,black%,none%)
18040PROCgroup_start
18060FORj%=0TO1
18070IFkey%(j%)THEN
18080PROCtext((2.25+j%*3.75)*cm,27.25*cm,"Test "+STR$(j%+1)+": "+STR$(test%(0,j%))+"/"+STR$(test%(1,j%))+"/"+STR$(test%(2,j%)),12*point,12*point,2,black%,none%)
18090PROCrectangle((5.25+j%*3.75)*cm,27.15*cm,.5*cm,.5*cm,1*point,black%,bar_col%(j%))
18100ENDIF
18110NEXT
18130PROCgroup_end
18150ENDPROC
18180DEFPROCage_ym(td%,tm%,ty%,bd%,bm%,by%,RETURNy%,RETURNm%)
18190y%=ty%-by%
18200m%=tm%-bm%
18210IFtd%<bd%m%-=1
18220IFm%<0 y%-=1:m%=m%+12
18230ENDPROC
18260DEFPROCopen_save_window(main_w%,save_w%)
18280LOCALxm%,ym%,l%,w%,x_offset%,y_offset%
18290x_offset%=300
18300y_offset%=625
18320!temp_blk%=main_w%
18330SYS"Wimp_GetWindowState",,temp_blk%
18340x%=temp_blk%!4
18350y%=temp_blk%!8
18360SYS"Wimp_CreateMenu",,save_w%,x%+x_offset%,y%+y_offset%
18370ENDPROC
18400DEFPROCwipe_all(r%)
18420LOCALi%,j%,k%
18440name$()=""
18450dob%()=0
18460ra%()=0
18470test%()=0
18480group$=""
18500IFr%PROCwipe_record
18510ask_to_save%=FALSE
18520no_of_records%=0
18530current_record%=0
18540PROCput_text(main_window%,noingp_icon%,"1")
18550PROCput_text(main_window%,record_icon%,"1")
18560PROCput_text(saveas1_window%,filename_icon%,"RA�Data")
18570PROCput_text(saveas2_window%,filename_icon%,"RA�Graph")
18580PROCput_text(saveas3_window%,filename_icon%,"RA�Text")
18600ENDPROC
18630DEFPROCwipe_record
18650PROCput_text(main_window%,gpname_icon%,"")
18660PROCput_text(main_window%,name1_icon%,"")
18670PROCput_text(main_window%,name2_icon%,"")
18680PROCput_text(main_window%,dobd_icon%,"")
18690PROCput_text(main_window%,dobm_icon%,"")
18700PROCput_text(main_window%,doby_icon%,"")
18710PROCput_text(main_window%,ra1y_icon%,"")
18720PROCput_text(main_window%,ra1m_icon%,"")
18730PROCput_text(main_window%,ra2y_icon%,"")
18740PROCput_text(main_window%,ra2m_icon%,"")
18750PROCput_text(main_window%,tst1d_icon%,"")
18760PROCput_text(main_window%,tst1m_icon%,"")
18770PROCput_text(main_window%,tst1y_icon%,"")
18780PROCput_text(main_window%,tst2d_icon%,"")
18790PROCput_text(main_window%,tst2m_icon%,"")
18800PROCput_text(main_window%,tst2y_icon%,"")
18810PROCset_caret(main_window%,name1_icon%)
18830ENDPROC
18860DEFFNask2save
18880IFask_to_save%THEN
18890=TRUE
18900ELSE
18910IFFNchk_record(current_record%)THEN=TRUE
18920ENDIF
18940=FALSE
18970DEFFNchk_record(current_record%)
18990IFname$(0,current_record%)<>FNget_text(main_window%,name1_icon%)=TRUE
19000IFname$(1,current_record%)<>FNget_text(main_window%,name2_icon%)=TRUE
19010IFdob%(0,current_record%)<>VAL(FNget_text(main_window%,dobd_icon%))=TRUE
19020IFdob%(1,current_record%)<>VAL(FNget_text(main_window%,dobm_icon%))=TRUE
19030IFdob%(2,current_record%)<>VAL(FNget_text(main_window%,doby_icon%))=TRUE
19040IFra%(0,0,current_record%)<>VAL(FNget_text(main_window%,ra1y_icon%))=TRUE
19050IFra%(0,1,current_record%)<>VAL(FNget_text(main_window%,ra1m_icon%))=TRUE
19060IFra%(1,0,current_record%)<>VAL(FNget_text(main_window%,ra2y_icon%))=TRUE
19070IFra%(1,1,current_record%)<>VAL(FNget_text(main_window%,ra2m_icon%))=TRUE
19080IFgroup$<>FNget_text(main_window%,gpname_icon%)=TRUE
19090IFtest%(0,0)<>VAL(FNget_text(main_window%,tst1d_icon%))=TRUE
19100IFtest%(1,0)<>VAL(FNget_text(main_window%,tst1m_icon%))=TRUE
19110IFtest%(2,0)<>VAL(FNget_text(main_window%,tst1y_icon%))=TRUE
19120IFtest%(0,1)<>VAL(FNget_text(main_window%,tst2d_icon%))=TRUE
19130IFtest%(1,1)<>VAL(FNget_text(main_window%,tst2m_icon%))=TRUE
19140IFtest%(2,1)<>VAL(FNget_text(main_window%,tst2y_icon%))=TRUE
19160=FALSE
19190DEFPROCchk_wipe
19210LOCALclick%,text$
19230click%=TRUE
19240text$="Are you sure you want to wipe ALL the data"
19250IFFNask2save text$+=", the current data is UNsaved?"ELSEtext$+="?"
19260PROCreport_error(text$,TRUE,TRUE,click%)
19270IFclick%=1PROCwipe_all(TRUE)
19290ENDPROC
19320DEFPROCcheck
19340IFFNask2saveTHEN
19350SYS"Wimp_CreateMenu",,message_window%,300,700
19360VDU7
19370quit%=FALSE
19380ELSE
19390sure%=TRUE
19400ENDIF
19420ENDPROC
19450DEFPROCsave_text(filename$)
19470LOCALhandle%,i%,j%,text$,temp$,m%
19520SYS"Hourglass_On"
19540PROCsave_record(current_record%)
19560handle%=OPENOUT(filename$)
19580PROCoutput(handle%,FNget_text(main_window%,gpname_icon%))
19600text$="Test 1: "+FNget_text(main_window%,tst1d_icon%)+"/"+FNget_text(main_window%,tst1m_icon%)+"/"+FNget_text(main_window%,tst1y_icon%)
19620IFVAL(FNget_text(main_window%,tst2d_icon%))<>0ANDVAL(FNget_text(main_window%,tst2m_icon%))<>0ANDVAL(FNget_text(main_window%,tst2y_icon%))<>0THEN
19630text$+="   Test 2: "+FNget_text(main_window%,tst2d_icon%)+"/"+FNget_text(main_window%,tst2m_icon%)+"/"+FNget_text(main_window%,tst2y_icon%)
19640ENDIF
19660IFFNselected(saveas3_window%,aget_opt_icon%)THEN
19670PROCtodays_date(d%,m%,y%)
19680text$+="  Today: "+STR$(d%)+"/"+STR$(m%)+"/"+STR$(y%)
19690ENDIF
19710PROCoutput(handle%,text$)
19720PROCoutput(handle%,"")
19740text$=""
19750IFFNselected(saveas3_window%,name_opt_icon%)text$+=FNpad("Name:",33)
19760IFFNselected(saveas3_window%,dob_opt_icon%)text$+=FNpad("D.O.B:",10)
19770IFFNselected(saveas3_window%,ra1_opt_icon%)text$+=FNpad("R.A.1:",7)
19780IFFNselected(saveas3_window%,age1_opt_icon%)text$+=FNpad("Age 1:",7)
19790IFFNselected(saveas3_window%,ra2_opt_icon%)text$+=FNpad("R.A.2:",7)
19800IFFNselected(saveas3_window%,age2_opt_icon%)text$+=FNpad("Age 2:",7)
19810IFFNselected(saveas3_window%,aget_opt_icon%)text$+=FNpad("Today:",6)
19840PROCoutput(handle%,text$)
19850PROCoutput(handle%,"")
19870FORi%=0TOno_of_records%
19890text$=""
19900IFFNselected(saveas3_window%,name_opt_icon%)THEN
19910text$+=FNpad(name$(0,i%),18)
19920text$+=FNpad(name$(1,i%),15)
19930ENDIF
19950IFFNselected(saveas3_window%,dob_opt_icon%)THEN
19960temp$=""
19970FORj%=0TO2
19980temp$+=STR$(dob%(j%,i%))
19990IFj%<2 temp$+="/"
20000NEXT
20010IFtemp$="0/0/0"temp$=""
20020text$+=FNpad(temp$,10)
20030ENDIF
20050IFFNselected(saveas3_window%,ra1_opt_icon%)THEN
20060temp$=""
20070IFra%(0,0,i%)<>0ORra%(0,1,i%)<>0THEN
20080FORj%=0TO1
20090temp$+=STR$(ra%(0,j%,i%))
20100IFj%<1 temp$+="."
20110NEXT
20120ENDIF
20130text$+=FNpad(temp$,7)
20140ENDIF
20160IFFNselected(saveas3_window%,age1_opt_icon%)THEN
20170temp$=FNage(test%(0,0),test%(1,0),test%(2,0),dob%(0,i%),dob%(1,i%),dob%(2,i%))
20180IFtemp$="0.0"temp$=""
20190text$+=FNpad(temp$,7)
20200ENDIF
20220IFFNselected(saveas3_window%,ra2_opt_icon%)THEN
20230temp$=""
20240IFra%(1,0,i%)<>0ORra%(1,1,i%)<>0THEN
20250FORj%=0TO1
20260temp$+=STR$(ra%(1,j%,i%))
20270IFj%<1 temp$+="."
20280NEXT
20290ENDIF
20300text$+=FNpad(temp$,7)
20310ENDIF
20330IFFNselected(saveas3_window%,age2_opt_icon%)THEN
20340temp$=FNage(test%(0,1),test%(1,1),test%(2,1),dob%(0,i%),dob%(1,i%),dob%(2,i%))
20350IFtemp$="0.0"temp$=""
20360text$+=FNpad(temp$,7)
20370ENDIF
20390IFFNselected(saveas3_window%,aget_opt_icon%)THEN
20400text$+=FNpad(FNage(d%,m%,y%,dob%(0,i%),dob%(1,i%),dob%(2,i%)),5)
20410ENDIF
20430PROCoutput(handle%,text$)
20450NEXT
20470CLOSE#handle%
20480OSCLI("*SetType "+filename$+" &FFF")
20500ask_to_save%=FALSE
20520SYS"Hourglass_Off"
20540ENDPROC
20570DEFPROCtodays_date(RETURNd%,RETURNm%,RETURNy%)
20590LOCALdate$,year$
20600date$=FNsys_var("Sys$Date")
20610year$=FNsys_var("Sys$Year")
20620d%=VAL(MID$(date$,5,2))
20630y%=VAL(RIGHT$(year$,2))
20640CASEMID$(date$,8,3)OF
20650WHEN"Jan"
20660m%=1
20670WHEN"Feb"
20680m%=2
20690WHEN"Mar"
20700m%=3
20710WHEN"Apr"
20720m%=4
20730WHEN"May"
20740m%=5
20750WHEN"Jun"
20760m%=6
20770WHEN"Jul"
20780m%=7
20790WHEN"Aug"
20800m%=8
20810WHEN"Sep"
20820m%=9
20830WHEN"Oct"
20840m%=10
20850WHEN"Nov"
20860m%=11
20870WHEN"Dec"
20880m%=12
20890ENDCASE
20910ENDPROC
20940DEFFNpad(t$,c%)
20960IFFNselected(saveas3_window%,tab_icon%)THEN=t$+CHR$(9)
20970IFFNselected(saveas3_window%,comma_icon%)THEN=t$+","
20990=t$+STRING$(c%-LEN(t$)," ")
21020DEFFNselected(w%,i%)
21040LOCALflag%
21060temp_blk%!0=w%
21070temp_blk%!4=i%
21080SYS"Wimp_GetIconState",,temp_blk%
21090flag%=temp_blk%!24
21100IF(flag%AND&200000)=&200000THEN=TRUE
21110=FALSE
21140DEFPROCremove_record(r%)
21160IFno_of_records%=0PROCwipe_record:ENDPROC
21170LOCALi%
21190FORi%=r%TOno_of_records%-1
21200name$(0,i%)=name$(0,i%+1)
21210name$(1,i%)=name$(1,i%+1)
21220dob%(0,i%)=dob%(0,i%+1)
21230dob%(1,i%)=dob%(1,i%+1)
21240dob%(2,i%)=dob%(2,i%+1)
21250ra%(0,0,i%)=ra%(0,0,i%+1)
21260ra%(0,1,i%)=ra%(0,1,i%+1)
21270ra%(1,0,i%)=ra%(1,0,i%+1)
21280ra%(1,1,i%)=ra%(1,1,i%+1)
21290NEXT
21310PROCwipe_entry(no_of_records%)
21320no_of_records%-=1
21330ask_to_save%=TRUE
21350ENDPROC
21380DEFPROCadd_record(r%,before%)
21400IFno_of_records%=max_no_of_records%THEN
21410PROCreport_error("Sorry! Maximum of "+STR$(max_no_of_records%+1)+" records allowed.",TRUE,FALSE,false%)
21420ENDPROC
21430ENDIF
21450LOCALi%
21470IFbefore%r%-=1
21490FORi%=no_of_records%+1TOr%+2STEP-1
21500name$(0,i%)=name$(0,i%-1)
21510name$(1,i%)=name$(1,i%-1)
21520dob%(0,i%)=dob%(0,i%-1)
21530dob%(1,i%)=dob%(1,i%-1)
21540dob%(2,i%)=dob%(2,i%-1)
21550ra%(0,0,i%)=ra%(0,0,i%-1)
21560ra%(0,1,i%)=ra%(0,1,i%-1)
21570ra%(1,0,i%)=ra%(1,0,i%-1)
21580ra%(1,1,i%)=ra%(1,1,i%-1)
21590NEXT
21610PROCwipe_entry(r%+1)
21620no_of_records%+=1
21630ask_to_save%=TRUE
21650ENDPROC
21680DEFPROCwipe_entry(r%)
21700name$(0,r%)=""
21710name$(1,r%)=""
21720dob%(0,r%)=0
21730dob%(1,r%)=0
21740dob%(2,r%)=0
21750ra%(0,0,r%)=0
21760ra%(0,1,r%)=0
21770ra%(1,0,r%)=0
21780ra%(1,1,r%)=0
21800ENDPROC
21830DEFPROCgoto
21850LOCALr%,find$,start%,i%
21870IFFNselected(goto_window%,record_rad_icon%)THEN
21890r%=VAL(FNget_text(goto_window%,record_wri_icon%))-1
21900IFr%>no_of_records%r%=no_of_records%
21910IFr%<0 r%=0
21920PROCput_text(goto_window%,record_wri_icon%,STR$(r%))
21930PROCsave_record(current_record%)
21940current_record%=r%
21950PROCload_record(current_record%)
21970ELSE
21990find$=FNto_lower(FNget_text(goto_window%,name_wri_icon%))
22000start%=current_record%
22010i%=start%
22030REPEAT
22040i%+=1
22050IFi%>no_of_records%i%=0
22060UNTILINSTR(FNto_lower(name$(0,i%)),find$)<>0ORINSTR(FNto_lower(name$(1,i%)),find$)<>0ORi%=start%
22080IFINSTR(FNto_lower(name$(0,i%)),find$)<>0ORINSTR(FNto_lower(name$(1,i%)),find$)<>0THEN
22090PROCsave_record(current_record%)
22100current_record%=i%
22110PROCload_record(current_record%)
22120ELSE
22130PROCreport_error("Not found!",TRUE,FALSE,false%)
22140ENDIF
22160ENDIF
22180ENDPROC
22210DEFFNto_lower(word$)
22230LOCALi%,temp$,let%
22250temp$=""
22270FORi%=1TOLEN(word$)
22280let%=ASC(MID$(word$,i%,1))
22290IFlet%>64AND let%<91 let%+=32
22300temp$+=CHR$(let%)
22310NEXT
22330=temp$
22360DEFPROCtick_item(menu%,item%)
22380!(menu%+28+24*item%)=(!(menu%+28+24*item%)AND&FFFFFFFE)OR1
22400ENDPROC
22430DEFPROCuntick_item(menu%,item%)
22450!(menu%+28+24*item%)=!(menu%+28+24*item%)AND&FFFFFFFE
22470ENDPROC
22500DEFPROCshade_item(menu%,item%)
22520!(menu%+28+24*item%+8)=(!(menu%+28+24*item%+8)AND&FFBFFFFF)OR&400000
22540ENDPROC
22570DEFPROCunshade_item(menu%,item%)
22590!(menu%+28+24*item%+8)=!(menu%+28+24*item%+8)AND&FFBFFFFF
22610ENDPROC
22640DEFFNticked(menu%,item%)
22660IF(!(menu%+28+24*item%)AND&1)=&1THEN=TRUE
22670=FALSE
22700DEFPROCauto_save
22720LOCALf$
22740IFauto_remind%ANDFNask2saveTHEN
22750auto_remind%=FALSE
22760IFFNget_text(saveas1_window%,filename_icon%)="RA�Data"THEN
22770PROCreport_error("Please use the auto-save feature. Save the data, then select auto-save from the main menu.",TRUE,FALSE,false%)
22780ENDPROC
22790ELSE
22800IFNOTFNticked(main_menu%,2)THEN
22810PROCreport_error("Please use the auto-save feature. Select auto-save from the main menu.",TRUE,FALSE,false%)
22820ENDPROC
22830ENDIF
22840ENDIF
22850ENDIF
22870IFNOTFNticked(main_menu%,2)ENDPROC
22890IFFNget_text(saveas1_window%,filename_icon%)="RA�Data"THEN
22900PROCreport_error("In order to auto-save you must first save the data somewhere!",TRUE,FALSE,false%)
22910ENDPROC
22920ENDIF
22940f$=FNget_text(saveas1_window%,filename_icon%)
22950f$=FNpath(f$)+LEFT$(FNleaf(f$),6)+"_bak"
22960IFFNticked(main_menu%,2)PROCsave_data(f$)
22970ask_to_save%=TRUE
22990ENDPROC
23020DEFFNget_writable(menu%,item%)
23040LOCALptr%,text$
23060ptr%=!(menu%+28+24*item%+12)
23080text$=""
23100WHILE?ptr%>31
23110text$+=CHR$(?ptr%)
23120ptr%+=1
23130ENDWHILE
23150=text$
23180DEFPROCput_writable(menu%,item%,text$)
23200LOCALptr%
23210ptr%=!(menu%+28+24*item%+12)
23220$ptr%=text$+CHR$(0)
23240ENDPROC
23270DEFPROCinit_sort
23280fields%=7:fieldlen%=18
23290DIMfieldtype%(fields%)
23300DIMdata%max_no_of_records%*fieldlen%
23310DIMtable%max_no_of_records%*4
23330fieldtype%()=2
23340fieldtype%(0)=1
23350fieldtype%(1)=1
23370DIMIndex%(max_no_of_records%)
23390FORJ%=0TOno_of_records%:Index%(J%)=J%:NEXT
23410case%=4
23430ENDPROC
23460DEFPROCsort(records%,field%,case%)
23480LOCALJ%,type%,fad%,len%,a1%,a2%,d%,m%,y%
23510a1%=data%:a2%=table%
23520PROCtodays_date(d%,m%,y%)
23540CASEfieldtype%(field%)OF
23550WHEN1:type%=case%:len%=fieldlen%
23560FORJ%=0TOrecords%
23570$a1%=FNdata(J%,field%,d%,m%,y%):!a2%=a1%:a1%+=len%:a2%+=4
23580NEXT
23590WHEN2:type%=3:len%=4
23600FORJ%=0TOrecords%
23610!a1%=VAL(FNdata(J%,field%,d%,m%,y%)):!a2%=a1%:a1%+=len%:a2%+=4
23620NEXT
23630ENDCASE
23640fad%=!table%
23670SYS"OS_HeapSort",records%+1,table%,type%
23680PROCtransferOut(0,records%)
23700PROCrearrange
23720ENDPROC
23750DEFFNdata(record%,field%,d%,m%,y%)
23770LOCALs$
23780s$=""
23800CASEfield%OF
23810WHEN0
23820s$=name$(0,record%)+name$(1,record%)
23830WHEN1
23840s$=name$(1,record%)+name$(0,record%)
23850WHEN2
23860s$=STR$((ra%(0,0,(record%))+ra%(0,1,(record%))/12)*100)
23870WHEN3
23880s$=STR$((ra%(1,0,(record%))+ra%(1,1,(record%))/12)*100)
23890WHEN4
23900s$=STR$((VAL(FNage(d%,m%,y%,dob%(0,(record%)),dob%(1,(record%)),dob%(2,(record%)))))*100)
23910WHEN5
23920s$=STR$(FNage_diff(record%,0)*1000)
23930WHEN6
23940s$=STR$(FNage_diff(record%,1)*1000)
23950ENDCASE
23970IFcase%=4 s$=FNto_lower(s$)
23980=s$
24010DEFPROCtransferOut(f%,t%)
24030a%=table%
24040FORJ%=f%TOt%
24050p%=!a%
24060r%=p%-fad%
24070Index%(J%)=r%DIVlen%
24080a%+=4
24090NEXT
24100ENDPROC
24130DEFPROCrearrange
24150LOCALi%,j%,k%,data_ptr%
24170FORj%=0TO1
24190data_ptr%=data%
24210FORi%=0TOno_of_records%
24220$data_ptr%=name$(j%,Index%(i%))
24230data_ptr%+=fieldlen%
24240NEXT
24260data_ptr%=data%
24280FORi%=0TOno_of_records%
24290name$(j%,i%)=$data_ptr%
24300data_ptr%+=fieldlen%
24310NEXT
24330NEXT
24350FORj%=0TO2
24360data_ptr%=data%
24370FORi%=0TOno_of_records%
24380!data_ptr%=dob%(j%,Index%(i%))
24390data_ptr%+=4
24400NEXT
24410data_ptr%=data%
24420FORi%=0TOno_of_records%
24430dob%(j%,i%)=!data_ptr%
24440data_ptr%+=4
24450NEXT
24460NEXT
24480FORk%=0TO1
24490FORj%=0TO1
24500data_ptr%=data%
24510FORi%=0TOno_of_records%
24520!data_ptr%=ra%(k%,j%,Index%(i%))
24530data_ptr%+=4
24540NEXT
24550data_ptr%=data%
24560FORi%=0TOno_of_records%
24570ra%(k%,j%,i%)=!data_ptr%
24580data_ptr%+=4
24590NEXT
24600NEXT
24610NEXT
24630ENDPROC

ș"Hourglass_On"
app_version$="0.8"
�wimp_init
(�init_sort
2�init_draw
<ș"Hourglass_Off"
F�poll_loop
P�
x��wimp_init
��:�" at line ";�/10:�
�)�blk%&900,temp_blk%&900,errorblk%&100
��workstart%&2048
"workfree%=workstart%
,workend%=workstart%+&2048
T
�menu%600
hmenu_end%=menu%+600
��menu_ind%100
�menu_ind_end%=menu_ind%+100
�app_name$="!ReadAge"
�%app_purpose$="To be useful!!!!!!"
�*app_directory$=�sys_var("ReadAge$Dir")
�errorcount%=0
�false%=�
&icon_bar%=-2
:select_click%=4
Dadjust_click%=1
Nselect_drag%=64
Xadjust_drag%=16
bmenu_click%=2
vpoll_mask%=0
�poll_mask%=poll_mask%�1<<1
�poll_mask%=poll_mask%�1<<4
�poll_mask%=poll_mask%�1<<5
�poll_mask%=poll_mask%�1<<11
�poll_mask%=poll_mask%�1<<12
�sec=100
�min=60*sec
�'ș"OS_ReadMonotonicTime"�poll_time%
�auto_save_time%=5*min
�poll_time%+=auto_save_time%
�auto_remind%=�
quit%=�
sure%=�
Hask_to_save%=�
Rfile_icon%=1
\filename_icon%=2
fok_icon%=3
z�drag_init
�gpname_icon%=2
�name1_icon%=3
�name2_icon%=4
�dobd_icon%=5
�dobm_icon%=6
�doby_icon%=7
�ra1y_icon%=8
�ra1m_icon%=9
�ra2y_icon%=10
�ra2m_icon%=11
tst1d_icon%=12
tst1m_icon%=13
tst1y_icon%=14
$tst2d_icon%=15
.tst2m_icon%=16
8tst2y_icon%=17
Bnoingp_icon%=18
Lnooftests_icon%=19
Vrecord_icon%=20
`backward_icon%=21
jadd_icon%=22
tsearch_icon%=23
~take_icon%=24
�forward_icon%=25
�chage_icon%=26
�ra1_icon%=27
�ra2_icon%=28
�tst1_icon%=29
�tst2_icon%=30
�discard_icon%=1
�save_icon%=2
�cancel_icon%=3
app_name_icon%=1
(purpose_icon%=2
2version_icon%=3
ZSortName1_icon%=2
dSortName2_icon%=3
nSortRA1C_icon%=4
xSortRA2C_icon%=5
�SortRA1_icon%=6
�SortRA2_icon%=7
�SortChr_icon%=8
�SortCancel_icon%=10
�SortOK_icon%=11
�max_no_of_records%=61
�no_of_records%=0
�no_of_tests%=1
�current_record%=0

group$=""
 �name$(1,max_no_of_records%)
�dob%(2,max_no_of_records%)
" �ra%(1,1,max_no_of_records%)
,�test%(2,no_of_tests%)
@��error:�quit
rEș"Wimp_Initialise",200,&4B534154,app_name$�version%,task_handle%
�!temp_blk%=-1
�temp_blk%!4=0
�temp_blk%!8=0
�temp_blk%!12=68
�temp_blk%!16=68
�temp_blk%!20=&1700202A
�$(temp_blk%+24)=app_name$
�3ș"Wimp_CreateIcon",,temp_blk%�icon_bar_handle%
\main_window%=�get_window_template(app_directory$+".Templates","Main",workfree%,workend%)
bmessage_window%=�get_window_template(app_directory$+".Templates","Message",workfree%,workend%)
&bsaveas1_window%=�get_window_template(app_directory$+".Templates","SaveAs1",workfree%,workend%)
0bsaveas2_window%=�get_window_template(app_directory$+".Templates","SaveAs2",workfree%,workend%)
:bsaveas3_window%=�get_window_template(app_directory$+".Templates","SaveAs3",workfree%,workend%)
D^about_window%=�get_window_template(app_directory$+".Templates","About",workfree%,workend%)
N\goto_window%=�get_window_template(app_directory$+".Templates","Goto",workfree%,workend%)
X\sort_window%=�get_window_template(app_directory$+".Templates","Sort",workfree%,workend%)
lname_opt_icon%=6
v0�select_icon(saveas3_window%,name_opt_icon%)
�dob_opt_icon%=7
�/�select_icon(saveas3_window%,dob_opt_icon%)
�ra1_opt_icon%=8
�/�select_icon(saveas3_window%,ra1_opt_icon%)
�ra2_opt_icon%=9
�/�select_icon(saveas3_window%,ra2_opt_icon%)
�aget_opt_icon%=10
�2�deselect_icon(saveas3_window%,aget_opt_icon%)
�age1_opt_icon%=11
�0�select_icon(saveas3_window%,age1_opt_icon%)
�age2_opt_icon%=12
�0�select_icon(saveas3_window%,age2_opt_icon%)
�tab_icon%=14
space_icon%=15
-�select_icon(saveas3_window%,space_icon%)
comma_icon%=16
>5�put_text(about_window%,app_name_icon%,app_name$)
H7�put_text(about_window%,version_icon%,app_version$)
R7�put_text(about_window%,purpose_icon%,app_purpose$)
z<�put_text(main_window%,noingp_icon%,�(no_of_records%+1))
�=�put_text(main_window%,nooftests_icon%,�(no_of_tests%+1))
�=�put_text(main_window%,record_icon%,�(current_record%+1))
�record_rad_icon%=2
�record_wri_icon%=3
�name_rad_icon%=4
�name_wri_icon%=5
�goto_cancel_icon%=8
�goto_ok_icon%=7
�/�put_text(goto_window%,record_wri_icon%,"")
	-�put_text(goto_window%,name_wri_icon%,"")
	-�select_icon(goto_window%,name_rad_icon%)
	.�shade_icon(goto_window%,record_wri_icon%)
	$.�unshade_icon(goto_window%,name_wri_icon%)
	8.�select_icon(sort_window%,SortName1_icon%)
	Lcurrent_test%=0
	V�select_test(1,�)
	~=icon_bar_menu%=�dim_menu(menu%,menu_end%,2,100,app_name$)
	�M�menu_entry("Info",menu%,menu_ind%,menu_ind_end%,about_window%,�,�,�,�,�)
	�A�menu_entry("Quit",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
	�@add_icon_menu%=�dim_menu(menu%,menu_end%,2,180,"Add record")
	�C�menu_entry("Before",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
	�B�menu_entry("After",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
	�9search_menu%=�dim_menu(menu%,menu_end%,2,180,"Query")
	�G�menu_entry("Find... F4",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
	�R�menu_entry("Sort    F5",menu%,menu_ind%,menu_ind_end%,sort_window%,�,�,�,�,�)
	�=take_icon_menu%=�dim_menu(menu%,menu_end%,2,180,"Delete")
A�menu_entry("Wipe",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)

C�menu_entry("Remove",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
6save_menu%=�dim_menu(menu%,menu_end%,3,290,"Save")
([�menu_entry("Save data     F3",menu%,menu_ind%,menu_ind_end%,saveas1_window%,�,�,�,�,�)
2[�menu_entry("Save graph ���F3",menu%,menu_ind%,menu_ind_end%,saveas2_window%,�,�,�,�,�)
<[�menu_entry("Save text� ��~F3",menu%,menu_ind%,menu_ind_end%,saveas3_window%,�,�,�,�,�)
P>auto_menu%=�dim_menu(menu%,menu_end%,1,200,"Time  (mins)")
ZQ�menu_entry(�(auto_save_time%/min),menu%,menu_ind%,menu_ind_end%,�,�,�,6,�,�)
n9main_menu%=�dim_menu(menu%,menu_end%,4,160,app_name$)
xM�menu_entry("Info",menu%,menu_ind%,menu_ind_end%,about_window%,�,�,�,�,�)
�J�menu_entry("Save",menu%,menu_ind%,menu_ind_end%,save_menu%,�,�,�,�,�)
�O�menu_entry("Auto-save",menu%,menu_ind%,menu_ind_end%,auto_menu%,�,�,�,�,�)
�E�menu_entry("Wipe all",menu%,menu_ind%,menu_ind_end%,�,�,�,�,�,�)
��
���poll_loop
��
�7ș"Wimp_PollIdle",poll_mask%,blk%,poll_time%�event%

Ȏevent%�
�0
�ask2save�auto_save
"'ș"OS_ReadMonotonicTime"�poll_time%
,poll_time%+=auto_save_time%
J�2
Tș"Wimp_OpenWindow",,blk%
h�3
rș"Wimp_CloseWindow",,blk%
��6
��mouse_button
��7
��drag_over
��8
��key_press
��9
��menu_click
��17
�message
�18
&�message
0�
D�quit%�check
X
�sure%
l	�quit
��
�ݤsys_var(var$)
��lenth%
�6ș"XOS_ReadVarVal",var$+�(0),temp_blk%,-1�,,lenth%
�8�lenth%=0��0,"System variable '"+var$+"' not found!"
�:ș"XOS_ReadVarVal",var$+�(0),temp_blk%,255,,3�,,lenth%

?(temp_blk%+lenth%)=13

=$temp_blk%

*��error

>errorcount%+=1

H)�errorcount%>5:��0,"Too many errors!"

\ș"XWimp_CloseTemplate"

f�c%<>0��#c%

pș"Hourglass_Smash"

�!errorblk%=�

�)$(errorblk%+4)=�$+" at line "+�(��10)

�.ș"Wimp_ReportError",errorblk%,1,app_name$

��

�
��quit

�-ș"Wimp_CloseDown",task_handle%,&4B534154

��

��
2ݤget_window_template(file$,name$,�free%,end%)
�handle%,found%
$ ș"Wimp_OpenTemplate",,file$
.Gș"Wimp_LoadTemplate",,blk%,free%,end%,-1,name$,0�,,free%,,,,found%
8�found%�
B'ș"Wimp_CreateWindow",,blk%�handle%
L�
V6��0,"Window "+name$+" not found in template file!"
`�
jș"Wimp_CloseTemplate"
t=handle%
�#��put_text(window%,icon%,text$)
��text$="0"text$=""
�temp_blk%!0=window%
�temp_blk%!4=icon%
�$ș"Wimp_GetIconState",,temp_blk%
��(temp_blk%!24�&101)<>&101�
�,�202,"Icon "+�(icon%)+" not indirected!"
��
��
� text$=�text$,temp_blk%!36-1)
$temp_blk%!28=text$

temp_blk%!8=0
temp_blk%!12=0
($ș"Wimp_SetIconState",,temp_blk%
2�
Pݤget_text(window%,icon%)
Z!temp_blk%=window%
dtemp_blk%!4=icon%
n$ș"Wimp_GetIconState",,temp_blk%
x�(temp_blk%!24�&101)<>&101�
�,�202,"Icon "+�(icon%)+" not indirected!"
�=""
��
�=$temp_blk%!28
���open_window(window%)
�!temp_blk%=window%
�&ș"Wimp_GetWindowState",,temp_blk%
�"ș"Wimp_OpenWindow",,temp_blk%
��
�
��message
�click%
,Ȏblk%!16�
@�0
J�ask2save�
Tclick%=�
^X�report_error("The Current data is UNsaved. OK to save, CANCEL to quit.",�,�,click%)
h�click%=1�
r3�open_save_window(main_window%,saveas1_window%)
|quit%=�
��
�	�quit
��
��
�	�quit
��
��1
��save_request
��3
��load_request
�2
�save_demand
&�5
0�blk%!40=&DFE��load_request
D�4
N�close_menu
X�
l�
���mouse_button
�mousex%=blk%!0
�mousey%=blk%!4
�mousebut%=blk%!8
�window_handle%=blk%!12
�icon_handle%=blk%!16
�Ȏwindow_handle%�
��main_window%
��main_window_click
�icon_bar%
�icon_bar_click
*4�saveas1_window%,saveas2_window%,saveas3_window%
4&�save_window_click(window_handle%)
H�goto_window%
RȎicon_handle%�
\�goto_ok_icon%
f	�goto
p�close_menu
z�goto_cancel_icon%
��close_menu
��record_rad_icon%
�+�select_icon(goto_window%,icon_handle%)
�,�shade_icon(goto_window%,name_wri_icon%)
�0�unshade_icon(goto_window%,record_wri_icon%)
�-�set_caret(goto_window%,record_wri_icon%)
��name_rad_icon%
�+�select_icon(goto_window%,icon_handle%)
�.�shade_icon(goto_window%,record_wri_icon%)
�.�unshade_icon(goto_window%,name_wri_icon%)
�+�set_caret(goto_window%,name_wri_icon%)
��
�sort_window%
Ȏicon_handle%�
�SortCancel_icon%
$�close_menu
.�SortOK_icon%
8ș"Hourglass_On"
B!�save_record(current_record%)
LI�selected(sort_window%,SortName1_icon%)�sort(no_of_records%,0,case%)
VI�selected(sort_window%,SortName2_icon%)�sort(no_of_records%,1,case%)
`G�selected(sort_window%,SortRA1_icon%)�sort(no_of_records%,2,case%)
jG�selected(sort_window%,SortRA2_icon%)�sort(no_of_records%,3,case%)
tG�selected(sort_window%,SortChr_icon%)�sort(no_of_records%,4,case%)
~H�selected(sort_window%,SortRA1C_icon%)�sort(no_of_records%,5,case%)
�H�selected(sort_window%,SortRA2C_icon%)�sort(no_of_records%,6,case%)
�ș"Hourglass_Off"
��close_menu
�!�load_record(current_record%)
�ask_to_save%=�
��
��message_window%
�Ȏicon_handle%�
��cancel_icon%
��close_menu
��save_icon%
3�open_save_window(main_window%,saveas1_window%)

�discard_icon%
sure%=�
�
2�
F�
d��icon_bar_click
xȎmousebut%�
��menu_click%
� current_menu%=icon_bar_menu%
�menu_x%=mousex%-64
�no_of_items%=2
�no_of_dotted%=0
�3menu_y%=96+(no_of_items%*44)+(no_of_dotted%*24)
�6ș"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
 �select_click%,adjust_click%
C�open_window(main_window%):�set_caret(main_window%,name1_icon%)
,�
@�
^5ݤdim_menu(�ptr%,end%,no_of_items%,width%,title$)
r7�(ptr%+28)+(no_of_items%*24)>end%�0,"Menu overflow"
|name%=ptr%
�$ptr%=�title$,12)+�(0)
�
ptr%!12=7
�
ptr%!13=2
�
ptr%!14=7
�
ptr%!15=0
�ptr%!16=width%
�ptr%!20=44
�
ptr%!24=0
�ptr%+=28
�=ptr%-28
�Y��menu_entry(text$,�ptr%,�ind_ptr%,end%,sub%,ticked%,dotted%,writable%,shaded%,last%)
�menuflag%,iconflag%
menuflag%=0
&�sub%=�sub%=0
0$�ticked%menuflag%=menuflag%�1<<0
:$�dotted%menuflag%=menuflag%�1<<1
D&�writable%menuflag%=menuflag%�1<<2
N"�last%menuflag%=menuflag%�1<<7
biconflag%=0
liconflag%=iconflag%�1<<0
viconflag%=iconflag%�1<<5
�%�shaded%iconflag%=iconflag%�1<<22
�iconflag%=iconflag%�7<<24
�!ptr%=menuflag%
�ptr%!4=sub%
��(text$)>12�writable%�
�:�ind_ptr%+�(text$)+1>end%�0,"Indirected menu overflow"
�$ind_ptr%=text$+�(0)
�ptr%!12=ind_ptr%
�ind_ptr%+=�(text$)+1
��writable%�
�$ind_ptr%="A0-9mins"+�(0)
ptr%!16=ind_ptr%
ind_ptr%+=9
ptr%!20=writable%
 �
*?ind_ptr%=0
4ptr%!16=ind_ptr%
>ind_ptr%+=1
Hptr%!20=�(text$)+1
R�
\iconflag%=iconflag%�1<<8
f�
p$(ptr%+12)=�text$,12)+�(0)
z�
�ptr%!8=iconflag%
�ptr%+=24
��
���menu_click
��i%,click%
�menu$=""
i%=0
�
$menu$=menu$+�(blk%!i%)
.	i%+=4
8�blk%!i%
LȎcurrent_menu%�
`�icon_bar_menu%
j�icon_bar_menu
~�main_menu%
�Ȏmenu$�
��"2"
��ticked(main_menu%,2)�
��untick_item(main_menu%,2)
��
��tick_item(main_menu%,2)
��
��"3"
�
�chk_wipe
�	�"20"
��tick_item(main_menu%,2)
�9auto_save_time%=�(�(�get_writable(auto_menu%,0)))*min
1�auto_save_time%/min>99 auto_save_time%=5*min

0�auto_save_time%/min<1 auto_save_time%=5*min
'ș"OS_ReadMonotonicTime"�poll_time%
poll_time%+=auto_save_time%
(�
<�add_icon_menu%
F!�save_record(current_record%)
PȎmenu$�
Z�"0"
d"�add_record(current_record%,�)
n�"1"
x"�add_record(current_record%,�)
�current_record%+=1
��
�<�put_text(main_window%,noingp_icon%,�(no_of_records%+1))
�!�load_record(current_record%)
��search_menu%
�Ȏmenu$�
��"0"
�!�save_record(current_record%)
�0�open_save_window(main_window%,goto_window%)
�~�selected(goto_window%,record_rad_icon%)�set_caret(goto_window%,record_wri_icon%)��set_caret(goto_window%,name_wri_icon%)
��
�take_icon_menu%
Ȏmenu$�
�"0"
"click%=�
,J�report_error("Are you sure you wish to wipe this record?",�,�,click%)
6�click%=1�wipe_record
@�"1"
Jclick%=�
TL�report_error("Are you sure you wish to remove this record?",�,�,click%)
^�click%=1�
h#�remove_record(current_record%)
rA�current_record%>no_of_records%current_record%=no_of_records%
|<�put_text(main_window%,noingp_icon%,�(no_of_records%+1))
�=�put_text(main_window%,record_icon%,�(current_record%+1))
�!�load_record(current_record%)
��
��
��
�!ș"Wimp_GetPointerInfo",,blk%
�K�blk%!8=adjust_click%ș"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
��
���icon_bar_menu
Ȏmenu$�
&�"1"
0quit%=�
D�
X�
v��main_window_click
�
�open%
�Ȏicon_handle%�
��search_icon%
�current_menu%=search_menu%
�open%=�
��add_icon%
� current_menu%=add_icon_menu%
�open%=�
�take_icon%
!current_menu%=take_icon_menu%
open%=�
*�
>$�mousebut%=menu_click%� open%=��
H=�put_writable(auto_menu%,0,�(auto_save_time%/min)+"mins")
Rcurrent_menu%=main_menu%
\open%=�
f�
z�open%�
�menu_x%=mousex%-64
�menu_y%=mousey%
�6ș"Wimp_CreateMenu",,current_menu%,menu_x%,menu_y%
��
��
�Ȏicon_handle%�
��forward_icon%
�.�mousebut%=select_click%�forward��backward
��backward_icon%
.�mousebut%=select_click%�backward��forward
�ra1_icon%,tst1_icon%
$?�mousebut%=select_click%�select_test(1,�)��select_test(2,�)
8�ra2_icon%,tst2_icon%
B?�mousebut%=select_click%�select_test(2,�)��select_test(1,�)
V�
j�
�#��get_icon_state(window%,icon%)
�!blk%=window%
�blk%!4=icon%
�ș"Wimp_GetIconState",,blk%
��
�#��set_icon_state(window%,icon%)
�!blk%=window%
blk%!4=icon%

ș"Wimp_SetIconState",,blk%
�
< ��select_icon(window%,icon%)
P�clear_word%,eor_word%
Zclear_word%=1<<21
deor_word%=1<<21
nblk%!8=eor_word%
xblk%!12=clear_word%
�"�set_icon_state(window%,icon%)
��
���shade_icon(window%,icon%)
��clear_word%,eor_word%
�clear_word%=1<<22
�eor_word%=1<<22
�blk%!8=eor_word%
�blk%!12=clear_word%
�"�set_icon_state(window%,icon%)
�
,"��deselect_icon(window%,icon%)
@�clear_word%,eor_word%
Jclear_word%=1<<21
Teor_word%=0
^blk%!8=eor_word%
hblk%!12=clear_word%
r"�set_icon_state(window%,icon%)
��
�!��unshade_icon(window%,icon%)
��clear_word%,eor_word%
�clear_word%=1<<22
�eor_word%=0
�blk%!8=eor_word%
�blk%!12=clear_word%
�"�set_icon_state(window%,icon%)
��
 "ݤage(td%,tm%,ty%,bd%,bm%,by%)
 &
�y%,m%
 0y%=ty%-by%
 :m%=tm%-bm%
 D�td%<bd%m%-=1
 N�m%<0 y%-=1:m%=m%+12
 X�y%<0�m%<0�=""
 b=�(y%)+"."+�(m%)
 �"��select_test(test%,ch_icons%)
 ��td$,tm$,ty$,bd$,bm$,by$
 �*bd$=�get_text(main_window%,dobd_icon%)
 �*bm$=�get_text(main_window%,dobm_icon%)
 �*by$=�get_text(main_window%,doby_icon%)
 �Ȏtest%�
 ��1
 ��ch_icons%�
 �(�select_icon(main_window%,ra1_icon%)
!)�select_icon(main_window%,tst1_icon%)
!*�deselect_icon(main_window%,ra2_icon%)
!+�deselect_icon(main_window%,tst2_icon%)
! �
!4+td$=�get_text(main_window%,tst1d_icon%)
!>+tm$=�get_text(main_window%,tst1m_icon%)
!H+ty$=�get_text(main_window%,tst1y_icon%)
!\current_test%=1
!p�2
!z�ch_icons%�
!�(�select_icon(main_window%,ra2_icon%)
!�)�select_icon(main_window%,tst2_icon%)
!�*�deselect_icon(main_window%,ra1_icon%)
!�+�deselect_icon(main_window%,tst1_icon%)
!��
!�+td$=�get_text(main_window%,tst2d_icon%)
!�+tm$=�get_text(main_window%,tst2m_icon%)
!�+ty$=�get_text(main_window%,tst2y_icon%)
!�current_test%=2
!��
"/�td$=""�tm$=""�ty$=""�bd$=""�bm$=""�by$=""�
"current_age$="--.--"
"$�
".@current_age$=�age(�(td$),�(tm$),�(ty$),�(bd$),�(bm$),�(by$))
"8�
"L4�put_text(main_window%,chage_icon%,current_age$)
"`�
"~��save_record(record_no%)
"��chk_record(record_no%)�
"�;name$(0,record_no%)=�get_text(main_window%,name1_icon%)
"�;name$(1,record_no%)=�get_text(main_window%,name2_icon%)
"�<dob%(0,record_no%)=�(�get_text(main_window%,dobd_icon%))
"�<dob%(1,record_no%)=�(�get_text(main_window%,dobm_icon%))
"�<dob%(2,record_no%)=�(�get_text(main_window%,doby_icon%))
"�=ra%(0,0,record_no%)=�(�get_text(main_window%,ra1y_icon%))
"�=ra%(0,1,record_no%)=�(�get_text(main_window%,ra1m_icon%))
"�=ra%(1,0,record_no%)=�(�get_text(main_window%,ra2y_icon%))
"�=ra%(1,1,record_no%)=�(�get_text(main_window%,ra2m_icon%))
"�ask_to_save%=�
#�
#�
#2��load_record(record_no%)
#F8�put_text(main_window%,record_icon%,�(record_no%+1))
#Z;�put_text(main_window%,name1_icon%,name$(0,record_no%))
#d;�put_text(main_window%,name2_icon%,name$(1,record_no%))
#n<�put_text(main_window%,dobd_icon%,�(dob%(0,record_no%)))
#x<�put_text(main_window%,dobm_icon%,�(dob%(1,record_no%)))
#�<�put_text(main_window%,doby_icon%,�(dob%(2,record_no%)))
#�=�put_text(main_window%,ra1y_icon%,�(ra%(0,0,record_no%)))
#�=�put_text(main_window%,ra1m_icon%,�(ra%(0,1,record_no%)))
#�=�put_text(main_window%,ra2y_icon%,�(ra%(1,0,record_no%)))
#�=�put_text(main_window%,ra2m_icon%,�(ra%(1,1,record_no%)))
#�!�select_test(current_test%,�)
#�(�set_caret(main_window%,name1_icon%)
#��
#�
��forward
$!�save_record(current_record%)
$"current_record%+=1
$,4�current_record%>no_of_records%current_record%=0
$@!�load_record(current_record%)
$T�
$r��backward
$�!�save_record(current_record%)
$�current_record%-=1
$�5�current_record%<0 current_record%=no_of_records%
$�!�load_record(current_record%)
$��
$���save_data(filename$)
$��handle%,i%,j%,text$
%�
%i���report_error("Not found",�,�,false%):�report_error("Bad file name: '"+filename$+"'",�,�,false%):�
%0ș"Hourglass_On"
%D!�save_record(current_record%)
%Xhandle%=�(filename$)
%l9�output(handle%,�get_text(main_window%,gpname_icon%))
%�}text$=�get_text(main_window%,tst1d_icon%)+","+�get_text(main_window%,tst1m_icon%)+","+�get_text(main_window%,tst1y_icon%)
%���(�get_text(main_window%,tst2d_icon%))<>0��(�get_text(main_window%,tst2m_icon%))<>0��(�get_text(main_window%,tst2y_icon%))<>0�
%��text$+=","+�get_text(main_window%,tst2d_icon%)+","+�get_text(main_window%,tst2m_icon%)+","+�get_text(main_window%,tst2y_icon%)
%��
%��output(handle%,text$)
%��i%=0�no_of_records%
%�%text$=name$(0,i%)+","+name$(1,i%)
%��j%=0�2
%�text$+=","+�(dob%(j%,i%))
%��
%��j%=0�1
&text$+=","+�(ra%(0,j%,i%))
&�
&#�ra%(1,0,i%)<>0�ra%(1,1,i%)<>0�
& �j%=0�1
&*text$+=","+�(ra%(1,j%,i%))
&4�
&>�
&H�output(handle%,text$)
&\�
&p
�#handle%
&z$�("*SetType "+filename$+" &DFE")
&�ask_to_save%=�
&�ș"Hourglass_Off"
&��
&���set_caret(window%,icon%)
&�"�get_icon_state(window%,icon%)
&�>ș"Wimp_SetCaretPosition",window%,icon%,0,0,-1,�($blk%!28)
'�
'. ��save_window_click(window%)
'B�filename$
'VȎmousebut%�
'j �select_click%,adjust_click%
't�icon_handle%=ok_icon%�
'~/filename$=�get_text(window%,filename_icon%)
'��filename$,".")�
'�Ȏwindow%�
'��saveas1_window%
'��save_data(filename$)
'��saveas2_window%
'��save_draw(filename$)
'��saveas3_window%
'��save_text(filename$)
'��
'��close_menu
'��
'�M�report_error("To save, drag the icon to a directory display",�,�,false%)
(�
(
�
(�select_drag%,adjust_drag%
((�icon_handle%=file_icon%�
(2drag_window%=window%
(<Ȏwindow%�
(F�saveas1_window%
(P3�drag_start(drag_window%,file_icon%,"file_dfe")
(Z�saveas2_window%
(d3�drag_start(drag_window%,file_icon%,"file_aff")
(n�saveas3_window%
(x3�drag_start(drag_window%,file_icon%,"file_fff")
(��
(��
(��
(��
(�-��report_error(text$,ok%,cancel%,�click%)
(�ș"Hourglass_Smash"
(�
�flag%
(�flag%=0
(�flag%=flag%�1<<4
(��ok%flag%=flag%�1<<0
)�cancel%flag%=flag%�1<<1
)(text$=�(0)+�(0)+�(0)+�(0)+text$+�(0)
)�click%�
)"6ș"Wimp_ReportError",text$,flag%,app_name$�,click%
),�
)6.ș"Wimp_ReportError",text$,flag%,app_name$
)@�
)T�
)r��drag_init
)�	�cmos
)�)drag_start%=�swi("DragASprite_Start")
)�'drag_stop%=�swi("DragASprite_Stop")
)�ș"OS_Byte",161,28�,,cmos
)�-�(cmos� 2)=0 drag_start%=-1:drag_stop%=-1
)��
)�ݤswi(swi$)
)��swi
)�.ș"XOS_SWINumberFromString",,swi$�swi;flag
)��(flag� 1)swi=-1
*=swi
*&/��drag_start(window%,icon%,drag_file_type$)
*:
�x%,y%
*N!blk%=window%
*X!ș"Wimp_GetWindowState",,blk%
*bx%=blk%!4-blk%!20
*ly%=blk%!16-blk%!24
*�blk%!4=icon%
*�ș"Wimp_GetIconState",,blk%
*�blk%!4=5
*�blk%!8+=x%
*�blk%!12+=y%
*�blk%!16+=x%
*�blk%!20+=y%
*�blk%!24=-1
*�blk%!28=-1
*�blk%!32=&7FFFFFFF
*�blk%!36=&7FFFFFFF
+�drag_start%=-1�
+ș"Wimp_DragBox",,blk%
+�
+ <șdrag_start%,%11000101,1,drag_file_type$,blk%+8,blk%+24
+*�
+4�
+R��drag_over
+f$�window%,icon%,x%,y%,file$,size%
+zsize%=0
+��drag_stop%<>-1șdrag_stop%
+�!ș"Wimp_GetPointerInfo",,blk%
+�
x%=blk%!0
+�
y%=blk%!4
+�window%=blk%!12
+�icon%=blk%!16
+�i�window%<>saveas1_window%� window%<>saveas2_window%� window%<>saveas3_window%� window%<>main_window%�
+�7file$=�leaf(�get_text(drag_window%,filename_icon%))
+�zblk%!0=256:blk%!12=0:blk%!16=1:blk%!20=window%:blk%!24=icon%:blk%!28=x%:blk%!32=y%:blk%!36=size%:$(blk%+44)=file$+�(0)
+�Ȏdrag_window%�
+��saveas1_window%
,blk%!40=&DFE
,�saveas2_window%
,blk%!40=&AFF
,$�saveas3_window%
,.blk%!40=&FFF
,8�
,B9ș"Wimp_SendMessage",17,blk%,window%,icon%�dest_task%
,L�
,`�
,~ݤleaf(path$)
,�ȕ�path$,".")
,�"path$=�path$,�path$,".",i%)+1)
,��
,�
=path$
,�ݤpath(path$)
,��i%
-ȕ�path$,".",i%)
-
i%=�path$,".",i%)+1
-�
-(�i%=0 i%=�(path$)+1
-2=�path$,i%-1)
-P��key_press
-d-�window%,icon%,key%,file_name$,file_type$
-xwindow%=!blk%
-�icon%=blk%!4
-�key%=blk%!24
-��key%=27�close_menu
-�Ȏkey%�
-��387
-�3�open_save_window(main_window%,saveas1_window%)
-�.�set_caret(saveas1_window%,filename_icon%)
-��388
-�0�open_save_window(main_window%,goto_window%)
-�~�selected(goto_window%,record_rad_icon%)�set_caret(goto_window%,record_wri_icon%)��set_caret(goto_window%,name_wri_icon%)
-��389
.0�open_save_window(main_window%,sort_window%)
.�403
.3�open_save_window(main_window%,saveas2_window%)
.".�set_caret(saveas2_window%,filename_icon%)
.,�419
.63�open_save_window(main_window%,saveas3_window%)
.@.�set_caret(saveas3_window%,filename_icon%)
.J�
.^Ȏwindow%�
.h4�saveas1_window%,saveas2_window%,saveas3_window%
.r'�save_key_press(window%,key%,icon%)
.|�main_window%
.�Ȏkey%�
.��13
.��icon%=ra2m_icon%�
.�$�current_record%=no_of_records%�
.�no_of_records%+=1
.�<�put_text(main_window%,noingp_icon%,�(no_of_records%+1))
.��
.��forward
.��
.�
.�ș"Wimp_ProcessKey",key%
.��
.��goto_window%
/
�key%=13�
/�close_menu
/	�goto
/&�
/0
/:ș"Wimp_ProcessKey",key%
/D�
/X�
/v(��save_key_press(window%,key%,icon%)
/��file$,type%
/�Ȏkey%�
/��13
/�"file$=�get_text(window%,icon%)
/��file$,".")�
/�Ȏwindow%�
/��saveas1_window%
/��save_data(file$)
/��close_menu
/��saveas2_window%
0�save_draw(file$)
0�close_menu
0�saveas3_window%
0 �save_text(file$)
0*�close_menu
04�
0>�
0HM�report_error("To save, drag the icon to a directory display",�,�,false%)
0R�
0\
0fș"Wimp_ProcessKey",key%
0p�
0��
0���close_menu
0�ș"Wimp_CreateMenu",,-1
0��
0���save_request
0��blk%!40=&DFE�
0� �sys_var("Wimp$Scrap")<>""�
0�blk%!36=-1
1"$(blk%+44)="<Wimp$Scrap>"+�(0)
1
blk%!0=64
1@blk%!12=blk%!8:blk%!16=2:ș"Wimp_SendMessage",17,blk%,blk%!4
1$�
1.5�report_error("Wimp$Scrap not found.",�,�,false%)
18G�report_error(app_name$+" needs to have 'seen' !Scrap.",�,�,false%)
1B�
1L�
1`�
1~��load_request
1�!�handle%,i%,eol%,file$,click%
1��blk%!40=&DFE�
1��ask2save�
1�click%=�
1�I�report_error("Loading will wipe current UNsaved data...",�,�,click%)
1��
1�click%=1
1��
2�click%<>1�
2ș"Hourglass_On"
2�wipe_all(�)
22"file$=�get_string(blk%+44,255)
2<handle%=�(file$)
2P"group$=�get_cell(handle%,eol%)
2d
eol%=0
2x�i%=0�1
2��j%=0�2
2�3�eol%=0 test%(j%,i%)=�(�get_cell(handle%,eol%))
2��
2��
2��i%=0�max_no_of_records%
2�
eol%=0
2�'name$(0,i%)=�get_cell(handle%,eol%)
2�'name$(1,i%)=�get_cell(handle%,eol%)
2��j%=0�2
2�*dob%(j%,i%)=�(�get_cell(handle%,eol%))
2��
3Qra%(0,0,i%)=�(�get_cell(handle%,eol%)):ra%(0,1,i%)=�(�get_cell(handle%,eol%))
3Y�eol%=0 ra%(1,0,i%)=�(�get_cell(handle%,eol%)):ra%(1,1,i%)=�(�get_cell(handle%,eol%))
33�eol%=2 no_of_records%=i%:i%=max_no_of_records%
3,�
3@
�#handle%
3Tf�file$="<Wimp$Scrap>"�("*DELETE ""<Wimp$Scrap>""")��put_text(saveas1_window%,filename_icon%,file$)
3^8�put_text(saveas2_window%,filename_icon%,"RA�Graph")
3h7�put_text(saveas3_window%,filename_icon%,"RA�Text")
3|blk%!12=blk%!8
3�
blk%!16=4
3�'ș"Wimp_SendMessage",17,blk%,blk%!4
3��open_window(main_window%)
3�/�put_text(main_window%,gpname_icon%,group$)
3�<�put_text(main_window%,noingp_icon%,�(no_of_records%+1))
3�current_record%=0
3�!�load_record(current_record%)
3�5�put_text(main_window%,tst1d_icon%,�(test%(0,0)))
3�5�put_text(main_window%,tst1m_icon%,�(test%(1,0)))
3�5�put_text(main_window%,tst1y_icon%,�(test%(2,0)))
3�5�put_text(main_window%,tst2d_icon%,�(test%(0,1)))
3�5�put_text(main_window%,tst2m_icon%,�(test%(1,1)))
45�put_text(main_window%,tst2y_icon%,�(test%(2,1)))
4ș"Hourglass_Off"
40�
4D�
4bݤget_string(ptr%,length%)
4v
�temp$
4��length%=0 length%=255
4��ptr%=ptr%�ptr%+length%-1
4��?ptr%<32�
4�
=temp$
4��
4�temp$+=�(?ptr%)
4��
4��
4�
=temp$
4���save_demand
5�file$,type%
5 "file$=�get_string(blk%+44,255)
5*'�blk%!36=-1�to_filer%=��to_filer%=�
54type%=blk%!40
5HȎdrag_window%�
5R�saveas1_window%
5\�save_data(file$)
5f@blk%!12=blk%!8:blk%!16=3:ș"Wimp_SendMessage",17,blk%,blk%!4
5p=�to_filer%�put_text(saveas1_window%,filename_icon%,file$)
5z�saveas2_window%
5��save_draw(file$)
5�@blk%!12=blk%!8:blk%!16=3:ș"Wimp_SendMessage",17,blk%,blk%!4
5�=�to_filer%�put_text(saveas2_window%,filename_icon%,file$)
5��saveas3_window%
5��save_text(file$)
5�@blk%!12=blk%!8:blk%!16=3:ș"Wimp_SendMessage",17,blk%,blk%!4
5�=�to_filer%�put_text(saveas3_window%,filename_icon%,file$)
5��
5��
5�ݤget_cell(handle%,�eol%)
5��temp$,temp%,cell$
6��#handle%eol%=2
6;ȕeol%<>2� temp%<>44� temp%<>10� temp%<>13��(cell$)<255
6�temp%<>0 temp$=�(temp%)
6$�temp$=""""temp$=""
6.cell$+=temp$
68temp%=�#handle%
6B�temp%=10�temp%=13 eol%=1
6L��#handle%�
6V
eol%=2
6`�temp%<>0 temp$=�(temp%)
6j�temp$=""""temp$=""
6tcell$+=temp$
6~�
6��
6�
=cell$
6���output(handle%,line$)
6��i%
6��line$=""�#handle%,10:�
6��i%=1��(line$)
7
�#handle%,�(�line$,i%,1))
7�
72�#handle%,10
7F�
7d��save_draw(file$)
7x�error%,click%,i%,append%
7��no_of_records%>30�
7�click%=�
7���report_error("The graph will be more than 1 page long. Is it OK to name the files '"+��leaf(file$),9)+"0', '"+��leaf(file$),9)+"1' etc.",�,�,click%)
7��click%<>1�
7�
append%=�
7��
7�
append%=�
7��
7�ș"Hourglass_On"
7�/group$=�get_text(main_window%,gpname_icon%)
7�!�save_record(current_record%)
85test%(0,0)=�(�get_text(main_window%,tst1d_icon%))
85test%(1,0)=�(�get_text(main_window%,tst1m_icon%))
85test%(2,0)=�(�get_text(main_window%,tst1y_icon%))
8"5test%(0,1)=�(�get_text(main_window%,tst2d_icon%))
8,5test%(1,1)=�(�get_text(main_window%,tst2m_icon%))
865test%(2,1)=�(�get_text(main_window%,tst2y_icon%))
8@�i%=0�no_of_records%�31
8J
�append%�
8T?�drawfile_start(�path(file$)+��leaf(file$),9)+�(i%),error%)
8^�
8h!�drawfile_start(file$,error%)
8r�
8|
�error%��
8��fonttable
8�	�grid
8��fill(i%*31)
8��drawfile_end
8�
�append%�
8�<�("SetType "+�path(file$)+��leaf(file$),9)+�(i%)+" AFF")
8��
8�"�("SetType "+drawfile$+" AFF")
8��
8��
8�ș"Hourglass_Off"
8��
9
��grid
90�i%,h%,w%,a$
9D�group_start
9X�i%=0�31
9bh%=2.75*cm+i%*.75*cm
9l-�path_start(1*cm,h%,1*point,black%,none%)
9v�path_draw(20.25*cm,h%)
9�
�path_end
9��
9��i%=0�6
9�h%=8.25*cm+i%*2*cm
9�.�path_start(h%,26*cm,1*point,black%,none%)
9��path_draw(h%,26.5*cm)
9�
�path_end
9��
9��i%=0�5
9�h%=9.25*cm+i%*2*cm
9�.�path_start(h%,26*cm,1*point,black%,none%)
:�path_draw(h%,26.25*cm)
:
�path_end
:�
:*�down_line(1*cm,1*point)
:4�down_line(4.5*cm,1*point)
:>�down_line(6*cm,1*point)
:H�down_line(7*cm,1*point)
:R�down_line(8*cm,1*point)
:\!�down_line(8.25*cm,.25*point)
:f"�down_line(10.25*cm,.25*point)
:p"�down_line(12.25*cm,.25*point)
:z"�down_line(16.25*cm,.25*point)
:�"�down_line(18.25*cm,.25*point)
:� �down_line(20.25*cm,1*point)
:��i%=0�6
:�h%=8.15*cm+i%*2*cm
:�?�text(h%,26.75*cm,�(i%-3),12*point,12*point,1,black%,none%)
:��
:�e�text(2.25*cm,26.5*cm,"Name               D.O.B.   R.A.1 R.A.2",11*point,11*point,1,black%,none%)
:��
;��down_line(x%,thick%)
;-�path_start(x%,26*cm,thick%,black%,none%)
;$�path_draw(x%,2.75*cm)
;.
�path_end
;8�
;V��init_draw
;`maxlev%=32
;j"�start%(maxlev%),box%(maxlev%)
;t4�l%(maxlev%),b%(maxlev%),r%(maxlev%),t%(maxlev%)
;~�buf%256
;�no_of_d_fonts%=2
;��d_font$(no_of_d_fonts%)
;�d_font$(1)="Trinity.Medium"
;�d_font$(2)="Trinity.Bold"
;�big%=&7FFFFFFF
;�EF=0.552256944
;�c%=0
;�inch=&B400
;�
point=640
;�cm=18140
;�mm=1814
;�black%=0
<white%=&FFFFFF00
<
red%=�col(255,0,0)
<�bar_col%(1)
<�key%(1)
<(!bar_col%(0)=�col(119,119,119)
<2!bar_col%(1)=�col(221,221,221)
<<none%=-1
<F�
<Z ��drawfile_start(D$,�error%)
<n�
<�k���report_error("Not found",�,�,false%):�report_error("Bad file name: '"+D$+"'",�,�,false%):error%=�:�
<�c%=�(D$)
<�drawfile$=D$
<�(�putw(&77617244):�putw(201):�putw(0)
<��puts12("!ReadAge")
<�lev%=-1
<��head_here(�)
<��
<���drawfile_end
<�G�lev%>0��"Warning: Draw file closed with object(s) unfinished     "
<�
�head_now
=
�#c%:c%=0
=�
="*��path_start(x%,y%,width%,lcol%,fcol%)
=,�putw(2)
=6�head_here(�)
=@�putw(fcol%)
=J�putw(lcol%)
=T�putw(width%)
=^�putw(0)
=h�path_move(x%,y%)
=r�
=�1��rectangle(x%,y%,xl%,yl%,width%,lcol%,fcol%)
=�1�path_start(x%,(y%-yl%)/2,width%,lcol%,fcol%)
=��path_move(x%,y%)
=��path_draw(x%+xl%,y%)
=��path_draw(x%+xl%,y%+yl%)
=��path_draw(x%,y%+yl%)
=��path_close
=�
�path_end
=��
=���path_move(x%,y%)
=��putw(2)
>�putxy(x%,y%)
>�
>&��path_draw(x%,y%)
>0�putw(8)
>:�putxy(x%,y%)
>D�
>X,��path_bezier(xc1%,yc1%,xc2%,yc2%,x%,y%)
>b�putw(6)
>l�putxy(xc1%,yc1%)
>v�putxy(xc2%,yc2%)
>��putxy(x%,y%)
>��
>���path_close
>��putw(5)
>��
>���path_end
>��putw(0)
>�
�head_now
>��
>�-��ellipse(x%,y%,w%,h%,width%,lcol%,fcol%)
?,�path_start(x%,y%-h%,width%,lcol%,fcol%)
?8�path_bezier(x%+w%*EF,y%-h%,x%+w%,y%-h%*EF,x%+w%,y%)
?8�path_bezier(x%+w%,y%+h%*EF,x%+w%*EF,y%+h%,x%,y%+h%)
? 8�path_bezier(x%-w%*EF,y%+h%,x%-w%,y%+h%*EF,x%-w%,y%)
?*8�path_bezier(x%-w%,y%-h%*EF,x%-w%*EF,y%-h%,x%,y%-h%)
?4�path_close
?>
�path_end
?H�
?\��group_start
?p�putw(6)
?z�head_here(�)
?��puts12("group")
?��
?���group_end
?�
�head_now
?��
?���fonttable
?��i%
?��putw(0)
?��head_here(�)
?��i%=1�no_of_d_fonts%
?��puts(�(i%)+d_font$(i%))
@�
@
�align
@
�head_now
@$�
@86��text(x%,y%,text$,xsize%,ysize%,font%,col%,bcol%)
@B�putw(1)
@L�head_here(�)
@V�putxy(x%,y%-ysize%*.5)
@`(�putxy(x%+�(text$)*xsize%,y%+ysize%)
@j�putw(col%)
@t�putw(bcol%)
@~�putw(font%)
@��putw(xsize%):�putw(ysize%)
@��putxy(x%,y%)
@��puts(text$):�align
@�
�head_now
@��
@�ݤcol(R%,G%,B%)
@�=(R%<<8)+(G%<<16)+(B%<<24)
@���putw(A%)
@��#c%,A%�&FF
@��#c%,(A%>>>8)�&FF
A�#c%,(A%>>>16)�&FF
A
�#c%,(A%>>>24)�&FF
A�
A(��puts12(A$)
A2�A%
A<A$=A$+�12," ")
AF �A%=1�12:�#c%,�(�A$,A%,1)):�
AP�
Ad��puts(A$)
An�A%
Ax#�A%=1��(A$):�#c%,�(�A$,A%,1)):�
A�
�#c%,0
A��
A���head_here(box%)
A�W�lev%=maxlev%��1234,"Too many nested groups.  Edit program t     o increase limit."
A�lev%+=1
A�box%(lev%)=box%
A�start%(lev%)=�#c%
A��lev%>0��putw(0)
A�
�box%�
A��putw(0):�putw(0)
A��putw(0):�putw(0)
A��
Bl%(lev%)=big%:b%(lev%)=big%
B!r%(lev%)=-big%:t%(lev%)=-big%
B�
B,��head_now
B6	�end%
B@L�lev%<0��"Warning: attempt to end more objects than were star     ted":�
BJ
end%=�#c%
BT�#c%=start%(lev%)
B^&�lev%>0��putw(end%-start%(lev%)+4)
Bh�box%(lev%)�
Br#�putw(l%(lev%)):�putw(b%(lev%))
B|'�putw(r%(lev%)+1):�putw(t%(lev%)+1)
B��
B��lev%>0�
B�lev%-=1
B�,�l%(lev%+1)<l%(lev%)�l%(lev%)=l%(lev%+1)
B�,�b%(lev%+1)<b%(lev%)�b%(lev%)=b%(lev%+1)
B�,�r%(lev%+1)>r%(lev%)�r%(lev%)=r%(lev%+1)
B�,�t%(lev%+1)>t%(lev%)�t%(lev%)=t%(lev%+1)
B��
B�
�#c%=end%
B��
B���putxy(x%,y%)
B��putw(x%):�putw(y%)
C�x%<l%(lev%)�l%(lev%)=x%
C�y%<b%(lev%)�b%(lev%)=y%
C�x%>r%(lev%)�r%(lev%)=x%
C&�y%>t%(lev%)�t%(lev%)=y%
C0�
CD��align
CNȕ�#c%� 3:�#c%,0:�
CX�
Cl
ݤword
Cv0=�#i%�(&100*�#i%)�(&10000*�#i%)�((�#i%)<<24)
C�"ݤlength_of_bar(test%,record%)
C�	�diff
C�!diff=�age_diff(record%,test%)
C�&�(diff)>3=�(diff)*6*cm�=2*cm*diff
C�ݤage_diff(record%,test%)
C��ray%,ram%,agey%,agem%
Dray%=ra%(test%,0,record%)
Dram%=ra%(test%,1,record%)
D u�age_ym(test%(0,test%),test%(1,test%),test%(2,test%),dob%(0,record%),dob%(1,record%),dob%(2,record%),agey%,agem%)
D*$=(ray%+ram%/12)-(agey%+agem%/12)
DH��monthyear(age$,�y%,�m%)
D\�y$,m$,i%,point%,len%
Dppoint%=�age$,".")
Dzlen%=�(age$)
D��point%=0 point%=len%+1
D��point%<>1�
D��i%=1�point%-1
D�y$+=�age$,i%,1)
D��
D��
D��point%<>len%+1�
D��i%=point%+1�len%
D�m$+=�age$,i%,1)
D��
D��
E
�y$,m$
Ey%=�(y$):m%=�(m$)
E.�
EL��fill(offset%)
E`
�i%,j%
Et�i%=0�30
E�s�name$(0,(i%+offset%))<>""�text(1.1*cm,25.5*cm-.75*i%*cm,name$(0,(i%+offset%)),8*point,10*point,1,black%,none%)
E�s�name$(1,(i%+offset%))<>""�text(3.1*cm,25.5*cm-.75*i%*cm,name$(1,(i%+offset%)),8*point,10*point,1,black%,none%)
E���dob%(0,(i%+offset%))<>0�dob%(1,(i%+offset%))<>0�dob%(2,(i%+offset%))<>0��text(4.6*cm,25.5*cm-.75*i%*cm,�(dob%(0,(i%+offset%)))+"/"+�(dob%(1,(i%+offset%)))+"/"+�(dob%(2,(i%+offset%))),10*point,10*point,1,black%,none%)
E��j%=0�1
E�9�ra%(j%,0,(i%+offset%))<>0�ra%(j%,1,(i%+offset%))<>0�
Eā�text((6.1+j%)*cm,25.5*cm-.75*i%*cm,�(ra%(j%,0,(i%+offset%)))+"."+�(ra%(j%,1,(i%+offset%))),10*point,10*point,1,black%,none%)
E�key%(j%)=�
E�S�path_start(14.25*cm,25.625*cm-.75*i%*cm-.25*cm*j%,1*point,black%,bar_col%(j%))
E�V�path_draw(14.25*cm+�length_of_bar(j%,(i%+offset%)),25.625*cm-.75*i%*cm-.25*cm*j%)
E�V�path_draw(14.25*cm+�length_of_bar(j%,(i%+offset%)),25.875*cm-.75*i%*cm-.25*cm*j%)
E�6�path_draw(14.25*cm,25.875*cm-.75*i%*cm-.25*cm*j%)
F
�path_end
F
�
F�
F(�
F< �down_line(14.25*cm,2*point)
FP�group_end
Fdw�text(4.75*cm,28.5*cm,"Graph of Reading Age minus Chronological Age for: "+group$,12*point,12*point,2,black%,none%)
Fx�group_start
F��j%=0�1
F��key%(j%)�
F���text((2.25+j%*3.75)*cm,27.25*cm,"Test "+�(j%+1)+": "+�(test%(0,j%))+"/"+�(test%(1,j%))+"/"+�(test%(2,j%)),12*point,12*point,2,black%,none%)
F�R�rectangle((5.25+j%*3.75)*cm,27.15*cm,.5*cm,.5*cm,1*point,black%,bar_col%(j%))
F��
F��
F��group_end
F��
G-��age_ym(td%,tm%,ty%,bd%,bm%,by%,�y%,�m%)
Gy%=ty%-by%
Gm%=tm%-bm%
G"�td%<bd%m%-=1
G,�m%<0 y%-=1:m%=m%+12
G6�
GT'��open_save_window(main_w%,save_w%)
Gh&�xm%,ym%,l%,w%,x_offset%,y_offset%
Grx_offset%=300
G|y_offset%=625
G�!temp_blk%=main_w%
G�&ș"Wimp_GetWindowState",,temp_blk%
G�x%=temp_blk%!4
G�y%=temp_blk%!8
G�:ș"Wimp_CreateMenu",,save_w%,x%+x_offset%,y%+y_offset%
G��
G���wipe_all(r%)
G�
�i%,j%,k%
Hname$()=""
Hdob%()=0
Hra%()=0
H&
test%()=0
H0
group$=""
HD�r%�wipe_record
HNask_to_save%=�
HXno_of_records%=0
Hbcurrent_record%=0
Hl,�put_text(main_window%,noingp_icon%,"1")
Hv,�put_text(main_window%,record_icon%,"1")
H�7�put_text(saveas1_window%,filename_icon%,"RA�Data")
H�8�put_text(saveas2_window%,filename_icon%,"RA�Graph")
H�7�put_text(saveas3_window%,filename_icon%,"RA�Text")
H��
H���wipe_record
H�+�put_text(main_window%,gpname_icon%,"")
H�*�put_text(main_window%,name1_icon%,"")
H�*�put_text(main_window%,name2_icon%,"")
H�)�put_text(main_window%,dobd_icon%,"")
I)�put_text(main_window%,dobm_icon%,"")
I)�put_text(main_window%,doby_icon%,"")
I)�put_text(main_window%,ra1y_icon%,"")
I )�put_text(main_window%,ra1m_icon%,"")
I*)�put_text(main_window%,ra2y_icon%,"")
I4)�put_text(main_window%,ra2m_icon%,"")
I>*�put_text(main_window%,tst1d_icon%,"")
IH*�put_text(main_window%,tst1m_icon%,"")
IR*�put_text(main_window%,tst1y_icon%,"")
I\*�put_text(main_window%,tst2d_icon%,"")
If*�put_text(main_window%,tst2m_icon%,"")
Ip*�put_text(main_window%,tst2y_icon%,"")
Iz(�set_caret(main_window%,name1_icon%)
I��
I�ݤask2save
I��ask_to_save%�
I�=�
I��
I�$�chk_record(current_record%)�=�
I��
I�=�
J!ݤchk_record(current_record%)
J.D�name$(0,current_record%)<>�get_text(main_window%,name1_icon%)=�
J8D�name$(1,current_record%)<>�get_text(main_window%,name2_icon%)=�
JBE�dob%(0,current_record%)<>�(�get_text(main_window%,dobd_icon%))=�
JLE�dob%(1,current_record%)<>�(�get_text(main_window%,dobm_icon%))=�
JVE�dob%(2,current_record%)<>�(�get_text(main_window%,doby_icon%))=�
J`F�ra%(0,0,current_record%)<>�(�get_text(main_window%,ra1y_icon%))=�
JjF�ra%(0,1,current_record%)<>�(�get_text(main_window%,ra1m_icon%))=�
JtF�ra%(1,0,current_record%)<>�(�get_text(main_window%,ra2y_icon%))=�
J~F�ra%(1,1,current_record%)<>�(�get_text(main_window%,ra2m_icon%))=�
J�3�group$<>�get_text(main_window%,gpname_icon%)=�
J�9�test%(0,0)<>�(�get_text(main_window%,tst1d_icon%))=�
J�9�test%(1,0)<>�(�get_text(main_window%,tst1m_icon%))=�
J�9�test%(2,0)<>�(�get_text(main_window%,tst1y_icon%))=�
J�9�test%(0,1)<>�(�get_text(main_window%,tst2d_icon%))=�
J�9�test%(1,1)<>�(�get_text(main_window%,tst2m_icon%))=�
J�9�test%(2,1)<>�(�get_text(main_window%,tst2y_icon%))=�
J�=�
J���chk_wipe
K
�click%,text$
Kclick%=�
K(6text$="Are you sure you want to wipe ALL the data"
K2A�ask2save text$+=", the current data is UNsaved?"�text$+="?"
K<#�report_error(text$,�,�,click%)
KF�click%=1�wipe_all(�)
KZ�
Kx��check
K��ask2save�
K�0ș"Wimp_CreateMenu",,message_window%,300,700
K��7
K�quit%=�
K��
K�sure%=�
K��
K��
K���save_text(filename$)
L!�handle%,i%,j%,text$,temp$,m%
L@ș"Hourglass_On"
LT!�save_record(current_record%)
Lhhandle%=�(filename$)
L|9�output(handle%,�get_text(main_window%,gpname_icon%))
L��text$="Test 1: "+�get_text(main_window%,tst1d_icon%)+"/"+�get_text(main_window%,tst1m_icon%)+"/"+�get_text(main_window%,tst1y_icon%)
L���(�get_text(main_window%,tst2d_icon%))<>0��(�get_text(main_window%,tst2m_icon%))<>0��(�get_text(main_window%,tst2y_icon%))<>0�
L��text$+="   Test 2: "+�get_text(main_window%,tst2d_icon%)+"/"+�get_text(main_window%,tst2m_icon%)+"/"+�get_text(main_window%,tst2y_icon%)
L��
L�/�selected(saveas3_window%,aget_opt_icon%)�
L��todays_date(d%,m%,y%)
L�0text$+="  Today: "+�(d%)+"/"+�(m%)+"/"+�(y%)
L��
L��output(handle%,text$)
M�output(handle%,"")
Mtext$=""
M&E�selected(saveas3_window%,name_opt_icon%)text$+=�pad("Name:",33)
M0E�selected(saveas3_window%,dob_opt_icon%)text$+=�pad("D.O.B:",10)
M:D�selected(saveas3_window%,ra1_opt_icon%)text$+=�pad("R.A.1:",7)
MDE�selected(saveas3_window%,age1_opt_icon%)text$+=�pad("Age 1:",7)
MND�selected(saveas3_window%,ra2_opt_icon%)text$+=�pad("R.A.2:",7)
MXE�selected(saveas3_window%,age2_opt_icon%)text$+=�pad("Age 2:",7)
MbE�selected(saveas3_window%,aget_opt_icon%)text$+=�pad("Today:",6)
M��output(handle%,text$)
M��output(handle%,"")
M��i%=0�no_of_records%
M�text$=""
M�/�selected(saveas3_window%,name_opt_icon%)�
M�text$+=�pad(name$(0,i%),18)
M�text$+=�pad(name$(1,i%),15)
M��
M�.�selected(saveas3_window%,dob_opt_icon%)�
M�temp$=""
N�j%=0�2
Ntemp$+=�(dob%(j%,i%))
N�j%<2 temp$+="/"
N �
N*�temp$="0/0/0"temp$=""
N4text$+=�pad(temp$,10)
N>�
NR.�selected(saveas3_window%,ra1_opt_icon%)�
N\temp$=""
Nf#�ra%(0,0,i%)<>0�ra%(0,1,i%)<>0�
Np�j%=0�1
Nztemp$+=�(ra%(0,j%,i%))
N��j%<1 temp$+="."
N��
N��
N�text$+=�pad(temp$,7)
N��
N�/�selected(saveas3_window%,age1_opt_icon%)�
N�Qtemp$=�age(test%(0,0),test%(1,0),test%(2,0),dob%(0,i%),dob%(1,i%),dob%(2,i%))
N��temp$="0.0"temp$=""
N�text$+=�pad(temp$,7)
N��
N�.�selected(saveas3_window%,ra2_opt_icon%)�
Otemp$=""
O#�ra%(1,0,i%)<>0�ra%(1,1,i%)<>0�
O�j%=0�1
O$temp$+=�(ra%(1,j%,i%))
O.�j%<1 temp$+="."
O8�
OB�
OLtext$+=�pad(temp$,7)
OV�
Oj/�selected(saveas3_window%,age2_opt_icon%)�
OtQtemp$=�age(test%(0,1),test%(1,1),test%(2,1),dob%(0,i%),dob%(1,i%),dob%(2,i%))
O~�temp$="0.0"temp$=""
O�text$+=�pad(temp$,7)
O��
O�/�selected(saveas3_window%,aget_opt_icon%)�
O�Btext$+=�pad(�age(d%,m%,y%,dob%(0,i%),dob%(1,i%),dob%(2,i%)),5)
O��
O��output(handle%,text$)
O��
O�
�#handle%
P$�("*SetType "+filename$+" &FFF")
Pask_to_save%=�
P(ș"Hourglass_Off"
P<�
PZ��todays_date(�d%,�m%,�y%)
Pn�date$,year$
Pxdate$=�sys_var("Sys$Date")
P�year$=�sys_var("Sys$Year")
P�d%=�(�date$,5,2))
P�y%=�(�year$,2))
P�Ȏ�date$,8,3)�
P�
�"Jan"
P�m%=1
P�
�"Feb"
P�m%=2
P�
�"Mar"
P�m%=3
P�
�"Apr"
P�m%=4
P�
�"May"
Qm%=5
Q
�"Jun"
Qm%=6
Q"
�"Jul"
Q,m%=7
Q6
�"Aug"
Q@m%=8
QJ
�"Sep"
QTm%=9
Q^
�"Oct"
Qh	m%=10
Qr
�"Nov"
Q|	m%=11
Q�
�"Dec"
Q�	m%=12
Q��
Q��
Q�ݤpad(t$,c%)
Q�2�selected(saveas3_window%,tab_icon%)�=t$+�(9)
Q�3�selected(saveas3_window%,comma_icon%)�=t$+","
Q�=t$+�c%-�(t$)," ")
Rݤselected(w%,i%)
R0
�flag%
RDtemp_blk%!0=w%
RNtemp_blk%!4=i%
RX$ș"Wimp_GetIconState",,temp_blk%
Rbflag%=temp_blk%!24
Rl�(flag%�&200000)=&200000�=�
Rv=�
R���remove_record(r%)
R�#�no_of_records%=0�wipe_record:�
R��i%
R��i%=r%�no_of_records%-1
R�name$(0,i%)=name$(0,i%+1)
R�name$(1,i%)=name$(1,i%+1)
R�dob%(0,i%)=dob%(0,i%+1)
R�dob%(1,i%)=dob%(1,i%+1)
R�dob%(2,i%)=dob%(2,i%+1)
Sra%(0,0,i%)=ra%(0,0,i%+1)
Sra%(0,1,i%)=ra%(0,1,i%+1)
Sra%(1,0,i%)=ra%(1,0,i%+1)
S ra%(1,1,i%)=ra%(1,1,i%+1)
S*�
S>�wipe_entry(no_of_records%)
SHno_of_records%-=1
SRask_to_save%=�
Sf�
S���add_record(r%,before%)
S�'�no_of_records%=max_no_of_records%�
S�^�report_error("Sorry! Maximum of "+�(max_no_of_records%+1)+" records allowed.",�,�,false%)
S��
S��
S��i%
S��before%r%-=1
S� �i%=no_of_records%+1�r%+2�-1
S�name$(0,i%)=name$(0,i%-1)
Tname$(1,i%)=name$(1,i%-1)
Tdob%(0,i%)=dob%(0,i%-1)
Tdob%(1,i%)=dob%(1,i%-1)
T$dob%(2,i%)=dob%(2,i%-1)
T.ra%(0,0,i%)=ra%(0,0,i%-1)
T8ra%(0,1,i%)=ra%(0,1,i%-1)
TBra%(1,0,i%)=ra%(1,0,i%-1)
TLra%(1,1,i%)=ra%(1,1,i%-1)
TV�
Tj�wipe_entry(r%+1)
Ttno_of_records%+=1
T~ask_to_save%=�
T��
T���wipe_entry(r%)
T�name$(0,r%)=""
T�name$(1,r%)=""
T�dob%(0,r%)=0
T�dob%(1,r%)=0
T�dob%(2,r%)=0
T�ra%(0,0,r%)=0
Ura%(0,1,r%)=0
U
ra%(1,0,r%)=0
Ura%(1,1,r%)=0
U(�
UF
��goto
UZ�r%,find$,start%,i%
Un.�selected(goto_window%,record_rad_icon%)�
U�4r%=�(�get_text(goto_window%,record_wri_icon%))-1
U�'�r%>no_of_records%r%=no_of_records%
U��r%<0 r%=0
U�2�put_text(goto_window%,record_wri_icon%,�(r%))
U�!�save_record(current_record%)
U�current_record%=r%
U�!�load_record(current_record%)
U��
U�;find$=�to_lower(�get_text(goto_window%,name_wri_icon%))
U�start%=current_record%
U�
i%=start%
V�
V	i%+=1
V"�i%>no_of_records%i%=0
V,R���to_lower(name$(0,i%)),find$)<>0���to_lower(name$(1,i%)),find$)<>0�i%=start%
V@I秤to_lower(name$(0,i%)),find$)<>0���to_lower(name$(1,i%)),find$)<>0�
VJ!�save_record(current_record%)
VTcurrent_record%=i%
V^!�load_record(current_record%)
Vh�
Vr*�report_error("Not found!",�,�,false%)
V|�
V��
V��
V�ݤto_lower(word$)
V��i%,temp$,let%
V�temp$=""
V��i%=1��(word$)
Wlet%=�(�word$,i%,1))
W�let%>64� let%<91 let%+=32
Wtemp$+=�(let%)
W&�
W:
=temp$
WX��tick_item(menu%,item%)
Wl;!(menu%+28+24*item%)=(!(menu%+28+24*item%)�&FFFFFFFE)�1
W��
W���untick_item(menu%,item%)
W�7!(menu%+28+24*item%)=!(menu%+28+24*item%)�&FFFFFFFE
W��
W���shade_item(menu%,item%)
W�E!(menu%+28+24*item%+8)=(!(menu%+28+24*item%+8)�&FFBFFFFF)�&400000
X�
X*��unshade_item(menu%,item%)
X>;!(menu%+28+24*item%+8)=!(menu%+28+24*item%+8)�&FFBFFFFF
XR�
Xpݤticked(menu%,item%)
X�$�(!(menu%+28+24*item%)�&1)=&1�=�
X�=�
X���auto_save
X��f$
X��auto_remind%��ask2save�
X�auto_remind%=�
X�9�get_text(saveas1_window%,filename_icon%)="RA�Data"�
X�z�report_error("Please use the auto-save feature. Save the data, then select auto-save from the main menu.",�,�,false%)
X��
Y�
Y笤ticked(main_menu%,2)�
Yf�report_error("Please use the auto-save feature. Select auto-save from the main menu.",�,�,false%)
Y$�
Y.�
Y8�
YB�
YV笤ticked(main_menu%,2)�
Yj9�get_text(saveas1_window%,filename_icon%)="RA�Data"�
Yt]�report_error("In order to auto-save you must first save the data somewhere!",�,�,false%)
Y~�
Y��
Y�0f$=�get_text(saveas1_window%,filename_icon%)
Y�%f$=�path(f$)+��leaf(f$),6)+"_bak"
Y�(�ticked(main_menu%,2)�save_data(f$)
Y�ask_to_save%=�
Y��
Y�ݤget_writable(menu%,item%)
Z�ptr%,text$
Z ptr%=!(menu%+28+24*item%+12)
Z(text$=""
Z<ȕ?ptr%>31
ZFtext$+=�(?ptr%)
ZPptr%+=1
ZZ�
Zn
=text$
Z�%��put_writable(menu%,item%,text$)
Z�	�ptr%
Z� ptr%=!(menu%+28+24*item%+12)
Z�$ptr%=text$+�(0)
Z��
Z���init_sort
Z�fields%=7:fieldlen%=18
Z��fieldtype%(fields%)
[&�data%max_no_of_records%*fieldlen%
[�table%max_no_of_records%*4
["fieldtype%()=2
[,fieldtype%(0)=1
[6fieldtype%(1)=1
[J�Index%(max_no_of_records%)
[^(�J%=0�no_of_records%:Index%(J%)=J%:�
[rcase%=4
[��
[�!��sort(records%,field%,case%)
[�(�J%,type%,fad%,len%,a1%,a2%,d%,m%,y%
[�a1%=data%:a2%=table%
[��todays_date(d%,m%,y%)
[�Ȏfieldtype%(field%)�
[�!�1:type%=case%:len%=fieldlen%
\�J%=0�records%
\<$a1%=�data(J%,field%,d%,m%,y%):!a2%=a1%:a1%+=len%:a2%+=4
\�
\&�2:type%=3:len%=4
\0�J%=0�records%
\:?!a1%=�(�data(J%,field%,d%,m%,y%)):!a2%=a1%:a1%+=len%:a2%+=4
\D�
\N�
\Xfad%=!table%
\v+ș"OS_HeapSort",records%+1,table%,type%
\��transferOut(0,records%)
\��rearrange
\��
\�#ݤdata(record%,field%,d%,m%,y%)
\��s$
\�	s$=""
\�
Ȏfield%�
]�0
](s$=name$(0,record%)+name$(1,record%)
]�1
] (s$=name$(1,record%)+name$(0,record%)
]*�2
]48s$=�((ra%(0,0,(record%))+ra%(0,1,(record%))/12)*100)
]>�3
]H8s$=�((ra%(1,0,(record%))+ra%(1,1,(record%))/12)*100)
]R�4
]\Ws$=�((�(�age(d%,m%,y%,dob%(0,(record%)),dob%(1,(record%)),dob%(2,(record%)))))*100)
]f�5
]p#s$=�(�age_diff(record%,0)*1000)
]z�6
]�#s$=�(�age_diff(record%,1)*1000)
]��
]��case%=4 s$=�to_lower(s$)
]�=s$
]���transferOut(f%,t%)
]�
a%=table%
]�
�J%=f%�t%
]�
p%=!a%
]�r%=p%-fad%
^Index%(J%)=r%�len%
^	a%+=4
^�
^$�
^B��rearrange
^V�i%,j%,k%,data_ptr%
^j�j%=0�1
^~data_ptr%=data%
^��i%=0�no_of_records%
^�#$data_ptr%=name$(j%,Index%(i%))
^�data_ptr%+=fieldlen%
^��
^�data_ptr%=data%
^��i%=0�no_of_records%
^�name$(j%,i%)=$data_ptr%
^�data_ptr%+=fieldlen%
^��
_
�
_�j%=0�2
_(data_ptr%=data%
_2�i%=0�no_of_records%
_<"!data_ptr%=dob%(j%,Index%(i%))
_Fdata_ptr%+=4
_P�
_Zdata_ptr%=data%
_d�i%=0�no_of_records%
_ndob%(j%,i%)=!data_ptr%
_xdata_ptr%+=4
_��
_��
_��k%=0�1
_��j%=0�1
_�data_ptr%=data%
_��i%=0�no_of_records%
_�$!data_ptr%=ra%(k%,j%,Index%(i%))
_�data_ptr%+=4
_��
_�data_ptr%=data%
_��i%=0�no_of_records%
_�ra%(k%,j%,i%)=!data_ptr%
`data_ptr%+=4
`�
`�
`"�
`6�
�
00000000  0d 00 0a 14 c8 99 22 48  6f 75 72 67 6c 61 73 73  |......"Hourglass|
00000010  5f 4f 6e 22 0d 00 14 16  61 70 70 5f 76 65 72 73  |_On"....app_vers|
00000020  69 6f 6e 24 3d 22 30 2e  38 22 0d 00 1e 0e f2 77  |ion$="0.8".....w|
00000030  69 6d 70 5f 69 6e 69 74  0d 00 28 0e f2 69 6e 69  |imp_init..(..ini|
00000040  74 5f 73 6f 72 74 0d 00  32 0e f2 69 6e 69 74 5f  |t_sort..2..init_|
00000050  64 72 61 77 0d 00 3c 15  c8 99 22 48 6f 75 72 67  |draw..<..."Hourg|
00000060  6c 61 73 73 5f 4f 66 66  22 0d 00 46 0e f2 70 6f  |lass_Off"..F..po|
00000070  6c 6c 5f 6c 6f 6f 70 0d  00 50 05 e0 0d 00 78 0f  |ll_loop..P....x.|
00000080  dd f2 77 69 6d 70 5f 69  6e 69 74 0d 00 aa 1b ee  |..wimp_init.....|
00000090  85 f6 3a f1 22 20 61 74  20 6c 69 6e 65 20 22 3b  |..:." at line ";|
000000a0  9e 2f 31 30 3a e0 0d 00  d2 29 de 62 6c 6b 25 26  |./10:....).blk%&|
000000b0  39 30 30 2c 74 65 6d 70  5f 62 6c 6b 25 26 39 30  |900,temp_blk%&90|
000000c0  30 2c 65 72 72 6f 72 62  6c 6b 25 26 31 30 30 0d  |0,errorblk%&100.|
000000d0  00 fa 14 de 77 6f 72 6b  73 74 61 72 74 25 26 32  |....workstart%&2|
000000e0  30 34 38 0d 01 22 18 77  6f 72 6b 66 72 65 65 25  |048..".workfree%|
000000f0  3d 77 6f 72 6b 73 74 61  72 74 25 0d 01 2c 1d 77  |=workstart%..,.w|
00000100  6f 72 6b 65 6e 64 25 3d  77 6f 72 6b 73 74 61 72  |orkend%=workstar|
00000110  74 25 2b 26 32 30 34 38  0d 01 54 0d de 6d 65 6e  |t%+&2048..T..men|
00000120  75 25 36 30 30 0d 01 68  17 6d 65 6e 75 5f 65 6e  |u%600..h.menu_en|
00000130  64 25 3d 6d 65 6e 75 25  2b 36 30 30 0d 01 90 11  |d%=menu%+600....|
00000140  de 6d 65 6e 75 5f 69 6e  64 25 31 30 30 0d 01 a4  |.menu_ind%100...|
00000150  1f 6d 65 6e 75 5f 69 6e  64 5f 65 6e 64 25 3d 6d  |.menu_ind_end%=m|
00000160  65 6e 75 5f 69 6e 64 25  2b 31 30 30 0d 01 cc 18  |enu_ind%+100....|
00000170  61 70 70 5f 6e 61 6d 65  24 3d 22 21 52 65 61 64  |app_name$="!Read|
00000180  41 67 65 22 0d 01 d6 25  61 70 70 5f 70 75 72 70  |Age"...%app_purp|
00000190  6f 73 65 24 3d 22 54 6f  20 62 65 20 75 73 65 66  |ose$="To be usef|
000001a0  75 6c 21 21 21 21 21 21  22 0d 01 e0 2a 61 70 70  |ul!!!!!!"...*app|
000001b0  5f 64 69 72 65 63 74 6f  72 79 24 3d a4 73 79 73  |_directory$=.sys|
000001c0  5f 76 61 72 28 22 52 65  61 64 41 67 65 24 44 69  |_var("ReadAge$Di|
000001d0  72 22 29 0d 01 f4 11 65  72 72 6f 72 63 6f 75 6e  |r")....errorcoun|
000001e0  74 25 3d 30 0d 01 fe 0c  66 61 6c 73 65 25 3d a3  |t%=0....false%=.|
000001f0  0d 02 26 10 69 63 6f 6e  5f 62 61 72 25 3d 2d 32  |..&.icon_bar%=-2|
00000200  0d 02 3a 13 73 65 6c 65  63 74 5f 63 6c 69 63 6b  |..:.select_click|
00000210  25 3d 34 0d 02 44 13 61  64 6a 75 73 74 5f 63 6c  |%=4..D.adjust_cl|
00000220  69 63 6b 25 3d 31 0d 02  4e 13 73 65 6c 65 63 74  |ick%=1..N.select|
00000230  5f 64 72 61 67 25 3d 36  34 0d 02 58 13 61 64 6a  |_drag%=64..X.adj|
00000240  75 73 74 5f 64 72 61 67  25 3d 31 36 0d 02 62 11  |ust_drag%=16..b.|
00000250  6d 65 6e 75 5f 63 6c 69  63 6b 25 3d 32 0d 02 76  |menu_click%=2..v|
00000260  10 70 6f 6c 6c 5f 6d 61  73 6b 25 3d 30 0d 02 80  |.poll_mask%=0...|
00000270  1e 70 6f 6c 6c 5f 6d 61  73 6b 25 3d 70 6f 6c 6c  |.poll_mask%=poll|
00000280  5f 6d 61 73 6b 25 84 31  3c 3c 31 0d 02 8a 1e 70  |_mask%.1<<1....p|
00000290  6f 6c 6c 5f 6d 61 73 6b  25 3d 70 6f 6c 6c 5f 6d  |oll_mask%=poll_m|
000002a0  61 73 6b 25 84 31 3c 3c  34 0d 02 94 1e 70 6f 6c  |ask%.1<<4....pol|
000002b0  6c 5f 6d 61 73 6b 25 3d  70 6f 6c 6c 5f 6d 61 73  |l_mask%=poll_mas|
000002c0  6b 25 84 31 3c 3c 35 0d  02 9e 1f 70 6f 6c 6c 5f  |k%.1<<5....poll_|
000002d0  6d 61 73 6b 25 3d 70 6f  6c 6c 5f 6d 61 73 6b 25  |mask%=poll_mask%|
000002e0  84 31 3c 3c 31 31 0d 02  a8 1f 70 6f 6c 6c 5f 6d  |.1<<11....poll_m|
000002f0  61 73 6b 25 3d 70 6f 6c  6c 5f 6d 61 73 6b 25 84  |ask%=poll_mask%.|
00000300  31 3c 3c 31 32 0d 02 bc  0b 73 65 63 3d 31 30 30  |1<<12....sec=100|
00000310  0d 02 c6 0e 6d 69 6e 3d  36 30 2a 73 65 63 0d 02  |....min=60*sec..|
00000320  d0 27 c8 99 22 4f 53 5f  52 65 61 64 4d 6f 6e 6f  |.'.."OS_ReadMono|
00000330  74 6f 6e 69 63 54 69 6d  65 22 b8 70 6f 6c 6c 5f  |tonicTime".poll_|
00000340  74 69 6d 65 25 0d 02 da  19 61 75 74 6f 5f 73 61  |time%....auto_sa|
00000350  76 65 5f 74 69 6d 65 25  3d 35 2a 6d 69 6e 0d 02  |ve_time%=5*min..|
00000360  e4 1f 70 6f 6c 6c 5f 74  69 6d 65 25 2b 3d 61 75  |..poll_time%+=au|
00000370  74 6f 5f 73 61 76 65 5f  74 69 6d 65 25 0d 02 ee  |to_save_time%...|
00000380  12 61 75 74 6f 5f 72 65  6d 69 6e 64 25 3d b9 0d  |.auto_remind%=..|
00000390  03 02 0b 71 75 69 74 25  3d a3 0d 03 0c 0b 73 75  |...quit%=.....su|
000003a0  72 65 25 3d a3 0d 03 48  12 61 73 6b 5f 74 6f 5f  |re%=...H.ask_to_|
000003b0  73 61 76 65 25 3d a3 0d  03 52 10 66 69 6c 65 5f  |save%=...R.file_|
000003c0  69 63 6f 6e 25 3d 31 0d  03 5c 14 66 69 6c 65 6e  |icon%=1..\.filen|
000003d0  61 6d 65 5f 69 63 6f 6e  25 3d 32 0d 03 66 0e 6f  |ame_icon%=2..f.o|
000003e0  6b 5f 69 63 6f 6e 25 3d  33 0d 03 7a 0e f2 64 72  |k_icon%=3..z..dr|
000003f0  61 67 5f 69 6e 69 74 0d  03 a2 12 67 70 6e 61 6d  |ag_init....gpnam|
00000400  65 5f 69 63 6f 6e 25 3d  32 0d 03 ac 11 6e 61 6d  |e_icon%=2....nam|
00000410  65 31 5f 69 63 6f 6e 25  3d 33 0d 03 b6 11 6e 61  |e1_icon%=3....na|
00000420  6d 65 32 5f 69 63 6f 6e  25 3d 34 0d 03 c0 10 64  |me2_icon%=4....d|
00000430  6f 62 64 5f 69 63 6f 6e  25 3d 35 0d 03 ca 10 64  |obd_icon%=5....d|
00000440  6f 62 6d 5f 69 63 6f 6e  25 3d 36 0d 03 d4 10 64  |obm_icon%=6....d|
00000450  6f 62 79 5f 69 63 6f 6e  25 3d 37 0d 03 de 10 72  |oby_icon%=7....r|
00000460  61 31 79 5f 69 63 6f 6e  25 3d 38 0d 03 e8 10 72  |a1y_icon%=8....r|
00000470  61 31 6d 5f 69 63 6f 6e  25 3d 39 0d 03 f2 11 72  |a1m_icon%=9....r|
00000480  61 32 79 5f 69 63 6f 6e  25 3d 31 30 0d 03 fc 11  |a2y_icon%=10....|
00000490  72 61 32 6d 5f 69 63 6f  6e 25 3d 31 31 0d 04 06  |ra2m_icon%=11...|
000004a0  12 74 73 74 31 64 5f 69  63 6f 6e 25 3d 31 32 0d  |.tst1d_icon%=12.|
000004b0  04 10 12 74 73 74 31 6d  5f 69 63 6f 6e 25 3d 31  |...tst1m_icon%=1|
000004c0  33 0d 04 1a 12 74 73 74  31 79 5f 69 63 6f 6e 25  |3....tst1y_icon%|
000004d0  3d 31 34 0d 04 24 12 74  73 74 32 64 5f 69 63 6f  |=14..$.tst2d_ico|
000004e0  6e 25 3d 31 35 0d 04 2e  12 74 73 74 32 6d 5f 69  |n%=15....tst2m_i|
000004f0  63 6f 6e 25 3d 31 36 0d  04 38 12 74 73 74 32 79  |con%=16..8.tst2y|
00000500  5f 69 63 6f 6e 25 3d 31  37 0d 04 42 13 6e 6f 69  |_icon%=17..B.noi|
00000510  6e 67 70 5f 69 63 6f 6e  25 3d 31 38 0d 04 4c 16  |ngp_icon%=18..L.|
00000520  6e 6f 6f 66 74 65 73 74  73 5f 69 63 6f 6e 25 3d  |nooftests_icon%=|
00000530  31 39 0d 04 56 13 72 65  63 6f 72 64 5f 69 63 6f  |19..V.record_ico|
00000540  6e 25 3d 32 30 0d 04 60  15 62 61 63 6b 77 61 72  |n%=20..`.backwar|
00000550  64 5f 69 63 6f 6e 25 3d  32 31 0d 04 6a 10 61 64  |d_icon%=21..j.ad|
00000560  64 5f 69 63 6f 6e 25 3d  32 32 0d 04 74 13 73 65  |d_icon%=22..t.se|
00000570  61 72 63 68 5f 69 63 6f  6e 25 3d 32 33 0d 04 7e  |arch_icon%=23..~|
00000580  11 74 61 6b 65 5f 69 63  6f 6e 25 3d 32 34 0d 04  |.take_icon%=24..|
00000590  88 14 66 6f 72 77 61 72  64 5f 69 63 6f 6e 25 3d  |..forward_icon%=|
000005a0  32 35 0d 04 92 12 63 68  61 67 65 5f 69 63 6f 6e  |25....chage_icon|
000005b0  25 3d 32 36 0d 04 9c 10  72 61 31 5f 69 63 6f 6e  |%=26....ra1_icon|
000005c0  25 3d 32 37 0d 04 a6 10  72 61 32 5f 69 63 6f 6e  |%=27....ra2_icon|
000005d0  25 3d 32 38 0d 04 b0 11  74 73 74 31 5f 69 63 6f  |%=28....tst1_ico|
000005e0  6e 25 3d 32 39 0d 04 ba  11 74 73 74 32 5f 69 63  |n%=29....tst2_ic|
000005f0  6f 6e 25 3d 33 30 0d 04  e2 13 64 69 73 63 61 72  |on%=30....discar|
00000600  64 5f 69 63 6f 6e 25 3d  31 0d 04 ec 10 73 61 76  |d_icon%=1....sav|
00000610  65 5f 69 63 6f 6e 25 3d  32 0d 04 f6 12 63 61 6e  |e_icon%=2....can|
00000620  63 65 6c 5f 69 63 6f 6e  25 3d 33 0d 05 1e 14 61  |cel_icon%=3....a|
00000630  70 70 5f 6e 61 6d 65 5f  69 63 6f 6e 25 3d 31 0d  |pp_name_icon%=1.|
00000640  05 28 13 70 75 72 70 6f  73 65 5f 69 63 6f 6e 25  |.(.purpose_icon%|
00000650  3d 32 0d 05 32 13 76 65  72 73 69 6f 6e 5f 69 63  |=2..2.version_ic|
00000660  6f 6e 25 3d 33 0d 05 5a  15 53 6f 72 74 4e 61 6d  |on%=3..Z.SortNam|
00000670  65 31 5f 69 63 6f 6e 25  3d 32 0d 05 64 15 53 6f  |e1_icon%=2..d.So|
00000680  72 74 4e 61 6d 65 32 5f  69 63 6f 6e 25 3d 33 0d  |rtName2_icon%=3.|
00000690  05 6e 14 53 6f 72 74 52  41 31 43 5f 69 63 6f 6e  |.n.SortRA1C_icon|
000006a0  25 3d 34 0d 05 78 14 53  6f 72 74 52 41 32 43 5f  |%=4..x.SortRA2C_|
000006b0  69 63 6f 6e 25 3d 35 0d  05 82 13 53 6f 72 74 52  |icon%=5....SortR|
000006c0  41 31 5f 69 63 6f 6e 25  3d 36 0d 05 8c 13 53 6f  |A1_icon%=6....So|
000006d0  72 74 52 41 32 5f 69 63  6f 6e 25 3d 37 0d 05 96  |rtRA2_icon%=7...|
000006e0  13 53 6f 72 74 43 68 72  5f 69 63 6f 6e 25 3d 38  |.SortChr_icon%=8|
000006f0  0d 05 a0 17 53 6f 72 74  43 61 6e 63 65 6c 5f 69  |....SortCancel_i|
00000700  63 6f 6e 25 3d 31 30 0d  05 aa 13 53 6f 72 74 4f  |con%=10....SortO|
00000710  4b 5f 69 63 6f 6e 25 3d  31 31 0d 05 d2 19 6d 61  |K_icon%=11....ma|
00000720  78 5f 6e 6f 5f 6f 66 5f  72 65 63 6f 72 64 73 25  |x_no_of_records%|
00000730  3d 36 31 0d 05 dc 14 6e  6f 5f 6f 66 5f 72 65 63  |=61....no_of_rec|
00000740  6f 72 64 73 25 3d 30 0d  05 e6 12 6e 6f 5f 6f 66  |ords%=0....no_of|
00000750  5f 74 65 73 74 73 25 3d  31 0d 05 f0 15 63 75 72  |_tests%=1....cur|
00000760  72 65 6e 74 5f 72 65 63  6f 72 64 25 3d 30 0d 06  |rent_record%=0..|
00000770  04 0d 67 72 6f 75 70 24  3d 22 22 0d 06 0e 20 de  |..group$=""... .|
00000780  6e 61 6d 65 24 28 31 2c  6d 61 78 5f 6e 6f 5f 6f  |name$(1,max_no_o|
00000790  66 5f 72 65 63 6f 72 64  73 25 29 0d 06 18 1f de  |f_records%).....|
000007a0  64 6f 62 25 28 32 2c 6d  61 78 5f 6e 6f 5f 6f 66  |dob%(2,max_no_of|
000007b0  5f 72 65 63 6f 72 64 73  25 29 0d 06 22 20 de 72  |_records%).." .r|
000007c0  61 25 28 31 2c 31 2c 6d  61 78 5f 6e 6f 5f 6f 66  |a%(1,1,max_no_of|
000007d0  5f 72 65 63 6f 72 64 73  25 29 0d 06 2c 1a de 74  |_records%)..,..t|
000007e0  65 73 74 25 28 32 2c 6e  6f 5f 6f 66 5f 74 65 73  |est%(2,no_of_tes|
000007f0  74 73 25 29 0d 06 40 12  ee 85 f2 65 72 72 6f 72  |ts%)..@....error|
00000800  3a f2 71 75 69 74 0d 06  72 45 c8 99 22 57 69 6d  |:.quit..rE.."Wim|
00000810  70 5f 49 6e 69 74 69 61  6c 69 73 65 22 2c 32 30  |p_Initialise",20|
00000820  30 2c 26 34 42 35 33 34  31 35 34 2c 61 70 70 5f  |0,&4B534154,app_|
00000830  6e 61 6d 65 24 b8 76 65  72 73 69 6f 6e 25 2c 74  |name$.version%,t|
00000840  61 73 6b 5f 68 61 6e 64  6c 65 25 0d 06 9a 11 21  |ask_handle%....!|
00000850  74 65 6d 70 5f 62 6c 6b  25 3d 2d 31 0d 06 a4 11  |temp_blk%=-1....|
00000860  74 65 6d 70 5f 62 6c 6b  25 21 34 3d 30 0d 06 ae  |temp_blk%!4=0...|
00000870  11 74 65 6d 70 5f 62 6c  6b 25 21 38 3d 30 0d 06  |.temp_blk%!8=0..|
00000880  b8 13 74 65 6d 70 5f 62  6c 6b 25 21 31 32 3d 36  |..temp_blk%!12=6|
00000890  38 0d 06 c2 13 74 65 6d  70 5f 62 6c 6b 25 21 31  |8....temp_blk%!1|
000008a0  36 3d 36 38 0d 06 cc 1a  74 65 6d 70 5f 62 6c 6b  |6=68....temp_blk|
000008b0  25 21 32 30 3d 26 31 37  30 30 32 30 32 41 0d 06  |%!20=&1700202A..|
000008c0  d6 1d 24 28 74 65 6d 70  5f 62 6c 6b 25 2b 32 34  |..$(temp_blk%+24|
000008d0  29 3d 61 70 70 5f 6e 61  6d 65 24 0d 06 e0 33 c8  |)=app_name$...3.|
000008e0  99 22 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  |."Wimp_CreateIco|
000008f0  6e 22 2c 2c 74 65 6d 70  5f 62 6c 6b 25 b8 69 63  |n",,temp_blk%.ic|
00000900  6f 6e 5f 62 61 72 5f 68  61 6e 64 6c 65 25 0d 07  |on_bar_handle%..|
00000910  12 5c 6d 61 69 6e 5f 77  69 6e 64 6f 77 25 3d a4  |.\main_window%=.|
00000920  67 65 74 5f 77 69 6e 64  6f 77 5f 74 65 6d 70 6c  |get_window_templ|
00000930  61 74 65 28 61 70 70 5f  64 69 72 65 63 74 6f 72  |ate(app_director|
00000940  79 24 2b 22 2e 54 65 6d  70 6c 61 74 65 73 22 2c  |y$+".Templates",|
00000950  22 4d 61 69 6e 22 2c 77  6f 72 6b 66 72 65 65 25  |"Main",workfree%|
00000960  2c 77 6f 72 6b 65 6e 64  25 29 0d 07 1c 62 6d 65  |,workend%)...bme|
00000970  73 73 61 67 65 5f 77 69  6e 64 6f 77 25 3d a4 67  |ssage_window%=.g|
00000980  65 74 5f 77 69 6e 64 6f  77 5f 74 65 6d 70 6c 61  |et_window_templa|
00000990  74 65 28 61 70 70 5f 64  69 72 65 63 74 6f 72 79  |te(app_directory|
000009a0  24 2b 22 2e 54 65 6d 70  6c 61 74 65 73 22 2c 22  |$+".Templates","|
000009b0  4d 65 73 73 61 67 65 22  2c 77 6f 72 6b 66 72 65  |Message",workfre|
000009c0  65 25 2c 77 6f 72 6b 65  6e 64 25 29 0d 07 26 62  |e%,workend%)..&b|
000009d0  73 61 76 65 61 73 31 5f  77 69 6e 64 6f 77 25 3d  |saveas1_window%=|
000009e0  a4 67 65 74 5f 77 69 6e  64 6f 77 5f 74 65 6d 70  |.get_window_temp|
000009f0  6c 61 74 65 28 61 70 70  5f 64 69 72 65 63 74 6f  |late(app_directo|
00000a00  72 79 24 2b 22 2e 54 65  6d 70 6c 61 74 65 73 22  |ry$+".Templates"|
00000a10  2c 22 53 61 76 65 41 73  31 22 2c 77 6f 72 6b 66  |,"SaveAs1",workf|
00000a20  72 65 65 25 2c 77 6f 72  6b 65 6e 64 25 29 0d 07  |ree%,workend%)..|
00000a30  30 62 73 61 76 65 61 73  32 5f 77 69 6e 64 6f 77  |0bsaveas2_window|
00000a40  25 3d a4 67 65 74 5f 77  69 6e 64 6f 77 5f 74 65  |%=.get_window_te|
00000a50  6d 70 6c 61 74 65 28 61  70 70 5f 64 69 72 65 63  |mplate(app_direc|
00000a60  74 6f 72 79 24 2b 22 2e  54 65 6d 70 6c 61 74 65  |tory$+".Template|
00000a70  73 22 2c 22 53 61 76 65  41 73 32 22 2c 77 6f 72  |s","SaveAs2",wor|
00000a80  6b 66 72 65 65 25 2c 77  6f 72 6b 65 6e 64 25 29  |kfree%,workend%)|
00000a90  0d 07 3a 62 73 61 76 65  61 73 33 5f 77 69 6e 64  |..:bsaveas3_wind|
00000aa0  6f 77 25 3d a4 67 65 74  5f 77 69 6e 64 6f 77 5f  |ow%=.get_window_|
00000ab0  74 65 6d 70 6c 61 74 65  28 61 70 70 5f 64 69 72  |template(app_dir|
00000ac0  65 63 74 6f 72 79 24 2b  22 2e 54 65 6d 70 6c 61  |ectory$+".Templa|
00000ad0  74 65 73 22 2c 22 53 61  76 65 41 73 33 22 2c 77  |tes","SaveAs3",w|
00000ae0  6f 72 6b 66 72 65 65 25  2c 77 6f 72 6b 65 6e 64  |orkfree%,workend|
00000af0  25 29 0d 07 44 5e 61 62  6f 75 74 5f 77 69 6e 64  |%)..D^about_wind|
00000b00  6f 77 25 3d a4 67 65 74  5f 77 69 6e 64 6f 77 5f  |ow%=.get_window_|
00000b10  74 65 6d 70 6c 61 74 65  28 61 70 70 5f 64 69 72  |template(app_dir|
00000b20  65 63 74 6f 72 79 24 2b  22 2e 54 65 6d 70 6c 61  |ectory$+".Templa|
00000b30  74 65 73 22 2c 22 41 62  6f 75 74 22 2c 77 6f 72  |tes","About",wor|
00000b40  6b 66 72 65 65 25 2c 77  6f 72 6b 65 6e 64 25 29  |kfree%,workend%)|
00000b50  0d 07 4e 5c 67 6f 74 6f  5f 77 69 6e 64 6f 77 25  |..N\goto_window%|
00000b60  3d a4 67 65 74 5f 77 69  6e 64 6f 77 5f 74 65 6d  |=.get_window_tem|
00000b70  70 6c 61 74 65 28 61 70  70 5f 64 69 72 65 63 74  |plate(app_direct|
00000b80  6f 72 79 24 2b 22 2e 54  65 6d 70 6c 61 74 65 73  |ory$+".Templates|
00000b90  22 2c 22 47 6f 74 6f 22  2c 77 6f 72 6b 66 72 65  |","Goto",workfre|
00000ba0  65 25 2c 77 6f 72 6b 65  6e 64 25 29 0d 07 58 5c  |e%,workend%)..X\|
00000bb0  73 6f 72 74 5f 77 69 6e  64 6f 77 25 3d a4 67 65  |sort_window%=.ge|
00000bc0  74 5f 77 69 6e 64 6f 77  5f 74 65 6d 70 6c 61 74  |t_window_templat|
00000bd0  65 28 61 70 70 5f 64 69  72 65 63 74 6f 72 79 24  |e(app_directory$|
00000be0  2b 22 2e 54 65 6d 70 6c  61 74 65 73 22 2c 22 53  |+".Templates","S|
00000bf0  6f 72 74 22 2c 77 6f 72  6b 66 72 65 65 25 2c 77  |ort",workfree%,w|
00000c00  6f 72 6b 65 6e 64 25 29  0d 07 6c 14 6e 61 6d 65  |orkend%)..l.name|
00000c10  5f 6f 70 74 5f 69 63 6f  6e 25 3d 36 0d 07 76 30  |_opt_icon%=6..v0|
00000c20  f2 73 65 6c 65 63 74 5f  69 63 6f 6e 28 73 61 76  |.select_icon(sav|
00000c30  65 61 73 33 5f 77 69 6e  64 6f 77 25 2c 6e 61 6d  |eas3_window%,nam|
00000c40  65 5f 6f 70 74 5f 69 63  6f 6e 25 29 0d 07 80 13  |e_opt_icon%)....|
00000c50  64 6f 62 5f 6f 70 74 5f  69 63 6f 6e 25 3d 37 0d  |dob_opt_icon%=7.|
00000c60  07 8a 2f f2 73 65 6c 65  63 74 5f 69 63 6f 6e 28  |../.select_icon(|
00000c70  73 61 76 65 61 73 33 5f  77 69 6e 64 6f 77 25 2c  |saveas3_window%,|
00000c80  64 6f 62 5f 6f 70 74 5f  69 63 6f 6e 25 29 0d 07  |dob_opt_icon%)..|
00000c90  94 13 72 61 31 5f 6f 70  74 5f 69 63 6f 6e 25 3d  |..ra1_opt_icon%=|
00000ca0  38 0d 07 9e 2f f2 73 65  6c 65 63 74 5f 69 63 6f  |8.../.select_ico|
00000cb0  6e 28 73 61 76 65 61 73  33 5f 77 69 6e 64 6f 77  |n(saveas3_window|
00000cc0  25 2c 72 61 31 5f 6f 70  74 5f 69 63 6f 6e 25 29  |%,ra1_opt_icon%)|
00000cd0  0d 07 a8 13 72 61 32 5f  6f 70 74 5f 69 63 6f 6e  |....ra2_opt_icon|
00000ce0  25 3d 39 0d 07 b2 2f f2  73 65 6c 65 63 74 5f 69  |%=9.../.select_i|
00000cf0  63 6f 6e 28 73 61 76 65  61 73 33 5f 77 69 6e 64  |con(saveas3_wind|
00000d00  6f 77 25 2c 72 61 32 5f  6f 70 74 5f 69 63 6f 6e  |ow%,ra2_opt_icon|
00000d10  25 29 0d 07 bc 15 61 67  65 74 5f 6f 70 74 5f 69  |%)....aget_opt_i|
00000d20  63 6f 6e 25 3d 31 30 0d  07 c6 32 f2 64 65 73 65  |con%=10...2.dese|
00000d30  6c 65 63 74 5f 69 63 6f  6e 28 73 61 76 65 61 73  |lect_icon(saveas|
00000d40  33 5f 77 69 6e 64 6f 77  25 2c 61 67 65 74 5f 6f  |3_window%,aget_o|
00000d50  70 74 5f 69 63 6f 6e 25  29 0d 07 d0 15 61 67 65  |pt_icon%)....age|
00000d60  31 5f 6f 70 74 5f 69 63  6f 6e 25 3d 31 31 0d 07  |1_opt_icon%=11..|
00000d70  da 30 f2 73 65 6c 65 63  74 5f 69 63 6f 6e 28 73  |.0.select_icon(s|
00000d80  61 76 65 61 73 33 5f 77  69 6e 64 6f 77 25 2c 61  |aveas3_window%,a|
00000d90  67 65 31 5f 6f 70 74 5f  69 63 6f 6e 25 29 0d 07  |ge1_opt_icon%)..|
00000da0  e4 15 61 67 65 32 5f 6f  70 74 5f 69 63 6f 6e 25  |..age2_opt_icon%|
00000db0  3d 31 32 0d 07 ee 30 f2  73 65 6c 65 63 74 5f 69  |=12...0.select_i|
00000dc0  63 6f 6e 28 73 61 76 65  61 73 33 5f 77 69 6e 64  |con(saveas3_wind|
00000dd0  6f 77 25 2c 61 67 65 32  5f 6f 70 74 5f 69 63 6f  |ow%,age2_opt_ico|
00000de0  6e 25 29 0d 07 f8 10 74  61 62 5f 69 63 6f 6e 25  |n%)....tab_icon%|
00000df0  3d 31 34 0d 08 02 12 73  70 61 63 65 5f 69 63 6f  |=14....space_ico|
00000e00  6e 25 3d 31 35 0d 08 0c  2d f2 73 65 6c 65 63 74  |n%=15...-.select|
00000e10  5f 69 63 6f 6e 28 73 61  76 65 61 73 33 5f 77 69  |_icon(saveas3_wi|
00000e20  6e 64 6f 77 25 2c 73 70  61 63 65 5f 69 63 6f 6e  |ndow%,space_icon|
00000e30  25 29 0d 08 16 12 63 6f  6d 6d 61 5f 69 63 6f 6e  |%)....comma_icon|
00000e40  25 3d 31 36 0d 08 3e 35  f2 70 75 74 5f 74 65 78  |%=16..>5.put_tex|
00000e50  74 28 61 62 6f 75 74 5f  77 69 6e 64 6f 77 25 2c  |t(about_window%,|
00000e60  61 70 70 5f 6e 61 6d 65  5f 69 63 6f 6e 25 2c 61  |app_name_icon%,a|
00000e70  70 70 5f 6e 61 6d 65 24  29 0d 08 48 37 f2 70 75  |pp_name$)..H7.pu|
00000e80  74 5f 74 65 78 74 28 61  62 6f 75 74 5f 77 69 6e  |t_text(about_win|
00000e90  64 6f 77 25 2c 76 65 72  73 69 6f 6e 5f 69 63 6f  |dow%,version_ico|
00000ea0  6e 25 2c 61 70 70 5f 76  65 72 73 69 6f 6e 24 29  |n%,app_version$)|
00000eb0  0d 08 52 37 f2 70 75 74  5f 74 65 78 74 28 61 62  |..R7.put_text(ab|
00000ec0  6f 75 74 5f 77 69 6e 64  6f 77 25 2c 70 75 72 70  |out_window%,purp|
00000ed0  6f 73 65 5f 69 63 6f 6e  25 2c 61 70 70 5f 70 75  |ose_icon%,app_pu|
00000ee0  72 70 6f 73 65 24 29 0d  08 7a 3c f2 70 75 74 5f  |rpose$)..z<.put_|
00000ef0  74 65 78 74 28 6d 61 69  6e 5f 77 69 6e 64 6f 77  |text(main_window|
00000f00  25 2c 6e 6f 69 6e 67 70  5f 69 63 6f 6e 25 2c c3  |%,noingp_icon%,.|
00000f10  28 6e 6f 5f 6f 66 5f 72  65 63 6f 72 64 73 25 2b  |(no_of_records%+|
00000f20  31 29 29 0d 08 84 3d f2  70 75 74 5f 74 65 78 74  |1))...=.put_text|
00000f30  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 6e 6f  |(main_window%,no|
00000f40  6f 66 74 65 73 74 73 5f  69 63 6f 6e 25 2c c3 28  |oftests_icon%,.(|
00000f50  6e 6f 5f 6f 66 5f 74 65  73 74 73 25 2b 31 29 29  |no_of_tests%+1))|
00000f60  0d 08 8e 3d f2 70 75 74  5f 74 65 78 74 28 6d 61  |...=.put_text(ma|
00000f70  69 6e 5f 77 69 6e 64 6f  77 25 2c 72 65 63 6f 72  |in_window%,recor|
00000f80  64 5f 69 63 6f 6e 25 2c  c3 28 63 75 72 72 65 6e  |d_icon%,.(curren|
00000f90  74 5f 72 65 63 6f 72 64  25 2b 31 29 29 0d 08 b6  |t_record%+1))...|
00000fa0  16 72 65 63 6f 72 64 5f  72 61 64 5f 69 63 6f 6e  |.record_rad_icon|
00000fb0  25 3d 32 0d 08 c0 16 72  65 63 6f 72 64 5f 77 72  |%=2....record_wr|
00000fc0  69 5f 69 63 6f 6e 25 3d  33 0d 08 ca 14 6e 61 6d  |i_icon%=3....nam|
00000fd0  65 5f 72 61 64 5f 69 63  6f 6e 25 3d 34 0d 08 d4  |e_rad_icon%=4...|
00000fe0  14 6e 61 6d 65 5f 77 72  69 5f 69 63 6f 6e 25 3d  |.name_wri_icon%=|
00000ff0  35 0d 08 de 17 67 6f 74  6f 5f 63 61 6e 63 65 6c  |5....goto_cancel|
00001000  5f 69 63 6f 6e 25 3d 38  0d 08 e8 13 67 6f 74 6f  |_icon%=8....goto|
00001010  5f 6f 6b 5f 69 63 6f 6e  25 3d 37 0d 08 fc 2f f2  |_ok_icon%=7.../.|
00001020  70 75 74 5f 74 65 78 74  28 67 6f 74 6f 5f 77 69  |put_text(goto_wi|
00001030  6e 64 6f 77 25 2c 72 65  63 6f 72 64 5f 77 72 69  |ndow%,record_wri|
00001040  5f 69 63 6f 6e 25 2c 22  22 29 0d 09 06 2d f2 70  |_icon%,"")...-.p|
00001050  75 74 5f 74 65 78 74 28  67 6f 74 6f 5f 77 69 6e  |ut_text(goto_win|
00001060  64 6f 77 25 2c 6e 61 6d  65 5f 77 72 69 5f 69 63  |dow%,name_wri_ic|
00001070  6f 6e 25 2c 22 22 29 0d  09 10 2d f2 73 65 6c 65  |on%,"")...-.sele|
00001080  63 74 5f 69 63 6f 6e 28  67 6f 74 6f 5f 77 69 6e  |ct_icon(goto_win|
00001090  64 6f 77 25 2c 6e 61 6d  65 5f 72 61 64 5f 69 63  |dow%,name_rad_ic|
000010a0  6f 6e 25 29 0d 09 1a 2e  f2 73 68 61 64 65 5f 69  |on%).....shade_i|
000010b0  63 6f 6e 28 67 6f 74 6f  5f 77 69 6e 64 6f 77 25  |con(goto_window%|
000010c0  2c 72 65 63 6f 72 64 5f  77 72 69 5f 69 63 6f 6e  |,record_wri_icon|
000010d0  25 29 0d 09 24 2e f2 75  6e 73 68 61 64 65 5f 69  |%)..$..unshade_i|
000010e0  63 6f 6e 28 67 6f 74 6f  5f 77 69 6e 64 6f 77 25  |con(goto_window%|
000010f0  2c 6e 61 6d 65 5f 77 72  69 5f 69 63 6f 6e 25 29  |,name_wri_icon%)|
00001100  0d 09 38 2e f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |..8..select_icon|
00001110  28 73 6f 72 74 5f 77 69  6e 64 6f 77 25 2c 53 6f  |(sort_window%,So|
00001120  72 74 4e 61 6d 65 31 5f  69 63 6f 6e 25 29 0d 09  |rtName1_icon%)..|
00001130  4c 13 63 75 72 72 65 6e  74 5f 74 65 73 74 25 3d  |L.current_test%=|
00001140  30 0d 09 56 15 f2 73 65  6c 65 63 74 5f 74 65 73  |0..V..select_tes|
00001150  74 28 31 2c b9 29 0d 09  7e 3d 69 63 6f 6e 5f 62  |t(1,.)..~=icon_b|
00001160  61 72 5f 6d 65 6e 75 25  3d a4 64 69 6d 5f 6d 65  |ar_menu%=.dim_me|
00001170  6e 75 28 6d 65 6e 75 25  2c 6d 65 6e 75 5f 65 6e  |nu(menu%,menu_en|
00001180  64 25 2c 32 2c 31 30 30  2c 61 70 70 5f 6e 61 6d  |d%,2,100,app_nam|
00001190  65 24 29 0d 09 88 4d f2  6d 65 6e 75 5f 65 6e 74  |e$)...M.menu_ent|
000011a0  72 79 28 22 49 6e 66 6f  22 2c 6d 65 6e 75 25 2c  |ry("Info",menu%,|
000011b0  6d 65 6e 75 5f 69 6e 64  25 2c 6d 65 6e 75 5f 69  |menu_ind%,menu_i|
000011c0  6e 64 5f 65 6e 64 25 2c  61 62 6f 75 74 5f 77 69  |nd_end%,about_wi|
000011d0  6e 64 6f 77 25 2c a3 2c  a3 2c a3 2c a3 2c a3 29  |ndow%,.,.,.,.,.)|
000011e0  0d 09 92 41 f2 6d 65 6e  75 5f 65 6e 74 72 79 28  |...A.menu_entry(|
000011f0  22 51 75 69 74 22 2c 6d  65 6e 75 25 2c 6d 65 6e  |"Quit",menu%,men|
00001200  75 5f 69 6e 64 25 2c 6d  65 6e 75 5f 69 6e 64 5f  |u_ind%,menu_ind_|
00001210  65 6e 64 25 2c a3 2c a3  2c a3 2c a3 2c a3 2c b9  |end%,.,.,.,.,.,.|
00001220  29 0d 09 a6 40 61 64 64  5f 69 63 6f 6e 5f 6d 65  |)...@add_icon_me|
00001230  6e 75 25 3d a4 64 69 6d  5f 6d 65 6e 75 28 6d 65  |nu%=.dim_menu(me|
00001240  6e 75 25 2c 6d 65 6e 75  5f 65 6e 64 25 2c 32 2c  |nu%,menu_end%,2,|
00001250  31 38 30 2c 22 41 64 64  20 72 65 63 6f 72 64 22  |180,"Add record"|
00001260  29 0d 09 b0 43 f2 6d 65  6e 75 5f 65 6e 74 72 79  |)...C.menu_entry|
00001270  28 22 42 65 66 6f 72 65  22 2c 6d 65 6e 75 25 2c  |("Before",menu%,|
00001280  6d 65 6e 75 5f 69 6e 64  25 2c 6d 65 6e 75 5f 69  |menu_ind%,menu_i|
00001290  6e 64 5f 65 6e 64 25 2c  a3 2c a3 2c a3 2c a3 2c  |nd_end%,.,.,.,.,|
000012a0  a3 2c a3 29 0d 09 ba 42  f2 6d 65 6e 75 5f 65 6e  |.,.)...B.menu_en|
000012b0  74 72 79 28 22 41 66 74  65 72 22 2c 6d 65 6e 75  |try("After",menu|
000012c0  25 2c 6d 65 6e 75 5f 69  6e 64 25 2c 6d 65 6e 75  |%,menu_ind%,menu|
000012d0  5f 69 6e 64 5f 65 6e 64  25 2c a3 2c a3 2c a3 2c  |_ind_end%,.,.,.,|
000012e0  a3 2c a3 2c b9 29 0d 09  ce 39 73 65 61 72 63 68  |.,.,.)...9search|
000012f0  5f 6d 65 6e 75 25 3d a4  64 69 6d 5f 6d 65 6e 75  |_menu%=.dim_menu|
00001300  28 6d 65 6e 75 25 2c 6d  65 6e 75 5f 65 6e 64 25  |(menu%,menu_end%|
00001310  2c 32 2c 31 38 30 2c 22  51 75 65 72 79 22 29 0d  |,2,180,"Query").|
00001320  09 d8 47 f2 6d 65 6e 75  5f 65 6e 74 72 79 28 22  |..G.menu_entry("|
00001330  46 69 6e 64 2e 2e 2e 20  46 34 22 2c 6d 65 6e 75  |Find... F4",menu|
00001340  25 2c 6d 65 6e 75 5f 69  6e 64 25 2c 6d 65 6e 75  |%,menu_ind%,menu|
00001350  5f 69 6e 64 5f 65 6e 64  25 2c a3 2c a3 2c a3 2c  |_ind_end%,.,.,.,|
00001360  a3 2c a3 2c a3 29 0d 09  e2 52 f2 6d 65 6e 75 5f  |.,.,.)...R.menu_|
00001370  65 6e 74 72 79 28 22 53  6f 72 74 20 20 20 20 46  |entry("Sort    F|
00001380  35 22 2c 6d 65 6e 75 25  2c 6d 65 6e 75 5f 69 6e  |5",menu%,menu_in|
00001390  64 25 2c 6d 65 6e 75 5f  69 6e 64 5f 65 6e 64 25  |d%,menu_ind_end%|
000013a0  2c 73 6f 72 74 5f 77 69  6e 64 6f 77 25 2c a3 2c  |,sort_window%,.,|
000013b0  a3 2c a3 2c a3 2c b9 29  0d 09 f6 3d 74 61 6b 65  |.,.,.,.)...=take|
000013c0  5f 69 63 6f 6e 5f 6d 65  6e 75 25 3d a4 64 69 6d  |_icon_menu%=.dim|
000013d0  5f 6d 65 6e 75 28 6d 65  6e 75 25 2c 6d 65 6e 75  |_menu(menu%,menu|
000013e0  5f 65 6e 64 25 2c 32 2c  31 38 30 2c 22 44 65 6c  |_end%,2,180,"Del|
000013f0  65 74 65 22 29 0d 0a 00  41 f2 6d 65 6e 75 5f 65  |ete")...A.menu_e|
00001400  6e 74 72 79 28 22 57 69  70 65 22 2c 6d 65 6e 75  |ntry("Wipe",menu|
00001410  25 2c 6d 65 6e 75 5f 69  6e 64 25 2c 6d 65 6e 75  |%,menu_ind%,menu|
00001420  5f 69 6e 64 5f 65 6e 64  25 2c a3 2c a3 2c a3 2c  |_ind_end%,.,.,.,|
00001430  a3 2c a3 2c a3 29 0d 0a  0a 43 f2 6d 65 6e 75 5f  |.,.,.)...C.menu_|
00001440  65 6e 74 72 79 28 22 52  65 6d 6f 76 65 22 2c 6d  |entry("Remove",m|
00001450  65 6e 75 25 2c 6d 65 6e  75 5f 69 6e 64 25 2c 6d  |enu%,menu_ind%,m|
00001460  65 6e 75 5f 69 6e 64 5f  65 6e 64 25 2c a3 2c a3  |enu_ind_end%,.,.|
00001470  2c a3 2c a3 2c a3 2c b9  29 0d 0a 1e 36 73 61 76  |,.,.,.,.)...6sav|
00001480  65 5f 6d 65 6e 75 25 3d  a4 64 69 6d 5f 6d 65 6e  |e_menu%=.dim_men|
00001490  75 28 6d 65 6e 75 25 2c  6d 65 6e 75 5f 65 6e 64  |u(menu%,menu_end|
000014a0  25 2c 33 2c 32 39 30 2c  22 53 61 76 65 22 29 0d  |%,3,290,"Save").|
000014b0  0a 28 5b f2 6d 65 6e 75  5f 65 6e 74 72 79 28 22  |.([.menu_entry("|
000014c0  53 61 76 65 20 64 61 74  61 20 20 20 20 20 46 33  |Save data     F3|
000014d0  22 2c 6d 65 6e 75 25 2c  6d 65 6e 75 5f 69 6e 64  |",menu%,menu_ind|
000014e0  25 2c 6d 65 6e 75 5f 69  6e 64 5f 65 6e 64 25 2c  |%,menu_ind_end%,|
000014f0  73 61 76 65 61 73 31 5f  77 69 6e 64 6f 77 25 2c  |saveas1_window%,|
00001500  a3 2c a3 2c a3 2c a3 2c  a3 29 0d 0a 32 5b f2 6d  |.,.,.,.,.)..2[.m|
00001510  65 6e 75 5f 65 6e 74 72  79 28 22 53 61 76 65 20  |enu_entry("Save |
00001520  67 72 61 70 68 20 a0 a0  8b 46 33 22 2c 6d 65 6e  |graph ...F3",men|
00001530  75 25 2c 6d 65 6e 75 5f  69 6e 64 25 2c 6d 65 6e  |u%,menu_ind%,men|
00001540  75 5f 69 6e 64 5f 65 6e  64 25 2c 73 61 76 65 61  |u_ind_end%,savea|
00001550  73 32 5f 77 69 6e 64 6f  77 25 2c a3 2c a3 2c a3  |s2_window%,.,.,.|
00001560  2c a3 2c a3 29 0d 0a 3c  5b f2 6d 65 6e 75 5f 65  |,.,.)..<[.menu_e|
00001570  6e 74 72 79 28 22 53 61  76 65 20 74 65 78 74 a0  |ntry("Save text.|
00001580  20 a0 a0 7e 46 33 22 2c  6d 65 6e 75 25 2c 6d 65  | ..~F3",menu%,me|
00001590  6e 75 5f 69 6e 64 25 2c  6d 65 6e 75 5f 69 6e 64  |nu_ind%,menu_ind|
000015a0  5f 65 6e 64 25 2c 73 61  76 65 61 73 33 5f 77 69  |_end%,saveas3_wi|
000015b0  6e 64 6f 77 25 2c a3 2c  a3 2c a3 2c a3 2c b9 29  |ndow%,.,.,.,.,.)|
000015c0  0d 0a 50 3e 61 75 74 6f  5f 6d 65 6e 75 25 3d a4  |..P>auto_menu%=.|
000015d0  64 69 6d 5f 6d 65 6e 75  28 6d 65 6e 75 25 2c 6d  |dim_menu(menu%,m|
000015e0  65 6e 75 5f 65 6e 64 25  2c 31 2c 32 30 30 2c 22  |enu_end%,1,200,"|
000015f0  54 69 6d 65 20 20 28 6d  69 6e 73 29 22 29 0d 0a  |Time  (mins)")..|
00001600  5a 51 f2 6d 65 6e 75 5f  65 6e 74 72 79 28 c3 28  |ZQ.menu_entry(.(|
00001610  61 75 74 6f 5f 73 61 76  65 5f 74 69 6d 65 25 2f  |auto_save_time%/|
00001620  6d 69 6e 29 2c 6d 65 6e  75 25 2c 6d 65 6e 75 5f  |min),menu%,menu_|
00001630  69 6e 64 25 2c 6d 65 6e  75 5f 69 6e 64 5f 65 6e  |ind%,menu_ind_en|
00001640  64 25 2c a3 2c a3 2c a3  2c 36 2c a3 2c b9 29 0d  |d%,.,.,.,6,.,.).|
00001650  0a 6e 39 6d 61 69 6e 5f  6d 65 6e 75 25 3d a4 64  |.n9main_menu%=.d|
00001660  69 6d 5f 6d 65 6e 75 28  6d 65 6e 75 25 2c 6d 65  |im_menu(menu%,me|
00001670  6e 75 5f 65 6e 64 25 2c  34 2c 31 36 30 2c 61 70  |nu_end%,4,160,ap|
00001680  70 5f 6e 61 6d 65 24 29  0d 0a 78 4d f2 6d 65 6e  |p_name$)..xM.men|
00001690  75 5f 65 6e 74 72 79 28  22 49 6e 66 6f 22 2c 6d  |u_entry("Info",m|
000016a0  65 6e 75 25 2c 6d 65 6e  75 5f 69 6e 64 25 2c 6d  |enu%,menu_ind%,m|
000016b0  65 6e 75 5f 69 6e 64 5f  65 6e 64 25 2c 61 62 6f  |enu_ind_end%,abo|
000016c0  75 74 5f 77 69 6e 64 6f  77 25 2c a3 2c b9 2c a3  |ut_window%,.,.,.|
000016d0  2c a3 2c a3 29 0d 0a 82  4a f2 6d 65 6e 75 5f 65  |,.,.)...J.menu_e|
000016e0  6e 74 72 79 28 22 53 61  76 65 22 2c 6d 65 6e 75  |ntry("Save",menu|
000016f0  25 2c 6d 65 6e 75 5f 69  6e 64 25 2c 6d 65 6e 75  |%,menu_ind%,menu|
00001700  5f 69 6e 64 5f 65 6e 64  25 2c 73 61 76 65 5f 6d  |_ind_end%,save_m|
00001710  65 6e 75 25 2c a3 2c a3  2c a3 2c a3 2c a3 29 0d  |enu%,.,.,.,.,.).|
00001720  0a 8c 4f f2 6d 65 6e 75  5f 65 6e 74 72 79 28 22  |..O.menu_entry("|
00001730  41 75 74 6f 2d 73 61 76  65 22 2c 6d 65 6e 75 25  |Auto-save",menu%|
00001740  2c 6d 65 6e 75 5f 69 6e  64 25 2c 6d 65 6e 75 5f  |,menu_ind%,menu_|
00001750  69 6e 64 5f 65 6e 64 25  2c 61 75 74 6f 5f 6d 65  |ind_end%,auto_me|
00001760  6e 75 25 2c a3 2c b9 2c  a3 2c a3 2c a3 29 0d 0a  |nu%,.,.,.,.,.)..|
00001770  96 45 f2 6d 65 6e 75 5f  65 6e 74 72 79 28 22 57  |.E.menu_entry("W|
00001780  69 70 65 20 61 6c 6c 22  2c 6d 65 6e 75 25 2c 6d  |ipe all",menu%,m|
00001790  65 6e 75 5f 69 6e 64 25  2c 6d 65 6e 75 5f 69 6e  |enu_ind%,menu_in|
000017a0  64 5f 65 6e 64 25 2c a3  2c a3 2c a3 2c a3 2c a3  |d_end%,.,.,.,.,.|
000017b0  2c b9 29 0d 0a aa 05 e1  0d 0a c8 0f dd f2 70 6f  |,.)...........po|
000017c0  6c 6c 5f 6c 6f 6f 70 0d  0a dc 05 f5 0d 0a e6 37  |ll_loop........7|
000017d0  c8 99 22 57 69 6d 70 5f  50 6f 6c 6c 49 64 6c 65  |.."Wimp_PollIdle|
000017e0  22 2c 70 6f 6c 6c 5f 6d  61 73 6b 25 2c 62 6c 6b  |",poll_mask%,blk|
000017f0  25 2c 70 6f 6c 6c 5f 74  69 6d 65 25 b8 65 76 65  |%,poll_time%.eve|
00001800  6e 74 25 0d 0b 04 0d c8  8e 65 76 65 6e 74 25 ca  |nt%......event%.|
00001810  0d 0b 0e 06 c9 30 0d 0b  18 18 e7 a4 61 73 6b 32  |.....0......ask2|
00001820  73 61 76 65 f2 61 75 74  6f 5f 73 61 76 65 0d 0b  |save.auto_save..|
00001830  22 27 c8 99 22 4f 53 5f  52 65 61 64 4d 6f 6e 6f  |"'.."OS_ReadMono|
00001840  74 6f 6e 69 63 54 69 6d  65 22 b8 70 6f 6c 6c 5f  |tonicTime".poll_|
00001850  74 69 6d 65 25 0d 0b 2c  1f 70 6f 6c 6c 5f 74 69  |time%..,.poll_ti|
00001860  6d 65 25 2b 3d 61 75 74  6f 5f 73 61 76 65 5f 74  |me%+=auto_save_t|
00001870  69 6d 65 25 0d 0b 4a 06  c9 32 0d 0b 54 1d c8 99  |ime%..J..2..T...|
00001880  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00001890  22 2c 2c 62 6c 6b 25 0d  0b 68 06 c9 33 0d 0b 72  |",,blk%..h..3..r|
000018a0  1e c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |..."Wimp_CloseWi|
000018b0  6e 64 6f 77 22 2c 2c 62  6c 6b 25 0d 0b 86 06 c9  |ndow",,blk%.....|
000018c0  36 0d 0b 90 11 f2 6d 6f  75 73 65 5f 62 75 74 74  |6.....mouse_butt|
000018d0  6f 6e 0d 0b a4 06 c9 37  0d 0b ae 0e f2 64 72 61  |on.....7.....dra|
000018e0  67 5f 6f 76 65 72 0d 0b  c2 06 c9 38 0d 0b cc 0e  |g_over.....8....|
000018f0  f2 6b 65 79 5f 70 72 65  73 73 0d 0b e0 06 c9 39  |.key_press.....9|
00001900  0d 0b ea 0f f2 6d 65 6e  75 5f 63 6c 69 63 6b 0d  |.....menu_click.|
00001910  0b fe 07 c9 31 37 0d 0c  08 0c f2 6d 65 73 73 61  |....17.....messa|
00001920  67 65 0d 0c 1c 07 c9 31  38 0d 0c 26 0c f2 6d 65  |ge.....18..&..me|
00001930  73 73 61 67 65 0d 0c 30  05 cb 0d 0c 44 10 e7 71  |ssage..0....D..q|
00001940  75 69 74 25 f2 63 68 65  63 6b 0d 0c 58 0a fd 73  |uit%.check..X..s|
00001950  75 72 65 25 0d 0c 6c 09  f2 71 75 69 74 0d 0c 80  |ure%..l..quit...|
00001960  05 e1 0d 0c d0 13 dd a4  73 79 73 5f 76 61 72 28  |........sys_var(|
00001970  76 61 72 24 29 0d 0c da  0b ea 6c 65 6e 74 68 25  |var$).....lenth%|
00001980  0d 0c e4 36 c8 99 22 58  4f 53 5f 52 65 61 64 56  |...6.."XOS_ReadV|
00001990  61 72 56 61 6c 22 2c 76  61 72 24 2b bd 28 30 29  |arVal",var$+.(0)|
000019a0  2c 74 65 6d 70 5f 62 6c  6b 25 2c 2d 31 b8 2c 2c  |,temp_blk%,-1.,,|
000019b0  6c 65 6e 74 68 25 0d 0c  ee 38 e7 6c 65 6e 74 68  |lenth%...8.lenth|
000019c0  25 3d 30 85 a2 30 2c 22  53 79 73 74 65 6d 20 76  |%=0..0,"System v|
000019d0  61 72 69 61 62 6c 65 20  27 22 2b 76 61 72 24 2b  |ariable '"+var$+|
000019e0  22 27 20 6e 6f 74 20 66  6f 75 6e 64 21 22 0d 0c  |"' not found!"..|
000019f0  f8 3a c8 99 22 58 4f 53  5f 52 65 61 64 56 61 72  |.:.."XOS_ReadVar|
00001a00  56 61 6c 22 2c 76 61 72  24 2b bd 28 30 29 2c 74  |Val",var$+.(0),t|
00001a10  65 6d 70 5f 62 6c 6b 25  2c 32 35 35 2c 2c 33 b8  |emp_blk%,255,,3.|
00001a20  2c 2c 6c 65 6e 74 68 25  0d 0d 02 1a 3f 28 74 65  |,,lenth%....?(te|
00001a30  6d 70 5f 62 6c 6b 25 2b  6c 65 6e 74 68 25 29 3d  |mp_blk%+lenth%)=|
00001a40  31 33 0d 0d 0c 0f 3d 24  74 65 6d 70 5f 62 6c 6b  |13....=$temp_blk|
00001a50  25 0d 0d 2a 0b dd f2 65  72 72 6f 72 0d 0d 3e 12  |%..*...error..>.|
00001a60  65 72 72 6f 72 63 6f 75  6e 74 25 2b 3d 31 0d 0d  |errorcount%+=1..|
00001a70  48 29 e7 65 72 72 6f 72  63 6f 75 6e 74 25 3e 35  |H).errorcount%>5|
00001a80  3a 85 a2 30 2c 22 54 6f  6f 20 6d 61 6e 79 20 65  |:..0,"Too many e|
00001a90  72 72 6f 72 73 21 22 0d  0d 5c 1b c8 99 22 58 57  |rrors!"..\..."XW|
00001aa0  69 6d 70 5f 43 6c 6f 73  65 54 65 6d 70 6c 61 74  |imp_CloseTemplat|
00001ab0  65 22 0d 0d 66 0f e7 63  25 3c 3e 30 8c d9 23 63  |e"..f..c%<>0..#c|
00001ac0  25 0d 0d 70 17 c8 99 22  48 6f 75 72 67 6c 61 73  |%..p..."Hourglas|
00001ad0  73 5f 53 6d 61 73 68 22  0d 0d 84 10 21 65 72 72  |s_Smash"....!err|
00001ae0  6f 72 62 6c 6b 25 3d 9f  0d 0d 8e 29 24 28 65 72  |orblk%=....)$(er|
00001af0  72 6f 72 62 6c 6b 25 2b  34 29 3d f6 24 2b 22 20  |rorblk%+4)=.$+" |
00001b00  61 74 20 6c 69 6e 65 20  22 2b c3 28 9e 81 31 30  |at line "+.(..10|
00001b10  29 0d 0d 98 2e c8 99 22  57 69 6d 70 5f 52 65 70  |)......"Wimp_Rep|
00001b20  6f 72 74 45 72 72 6f 72  22 2c 65 72 72 6f 72 62  |ortError",errorb|
00001b30  6c 6b 25 2c 31 2c 61 70  70 5f 6e 61 6d 65 24 0d  |lk%,1,app_name$.|
00001b40  0d ac 05 e1 0d 0d ca 0a  dd f2 71 75 69 74 0d 0d  |..........quit..|
00001b50  d4 2d c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 44  |.-.."Wimp_CloseD|
00001b60  6f 77 6e 22 2c 74 61 73  6b 5f 68 61 6e 64 6c 65  |own",task_handle|
00001b70  25 2c 26 34 42 35 33 34  31 35 34 0d 0d de 05 e0  |%,&4B534154.....|
00001b80  0d 0d e8 05 e1 0d 0e 06  32 dd a4 67 65 74 5f 77  |........2..get_w|
00001b90  69 6e 64 6f 77 5f 74 65  6d 70 6c 61 74 65 28 66  |indow_template(f|
00001ba0  69 6c 65 24 2c 6e 61 6d  65 24 2c f8 66 72 65 65  |ile$,name$,.free|
00001bb0  25 2c 65 6e 64 25 29 0d  0e 1a 13 ea 68 61 6e 64  |%,end%).....hand|
00001bc0  6c 65 25 2c 66 6f 75 6e  64 25 0d 0e 24 20 c8 99  |le%,found%..$ ..|
00001bd0  22 57 69 6d 70 5f 4f 70  65 6e 54 65 6d 70 6c 61  |"Wimp_OpenTempla|
00001be0  74 65 22 2c 2c 66 69 6c  65 24 0d 0e 2e 47 c8 99  |te",,file$...G..|
00001bf0  22 57 69 6d 70 5f 4c 6f  61 64 54 65 6d 70 6c 61  |"Wimp_LoadTempla|
00001c00  74 65 22 2c 2c 62 6c 6b  25 2c 66 72 65 65 25 2c  |te",,blk%,free%,|
00001c10  65 6e 64 25 2c 2d 31 2c  6e 61 6d 65 24 2c 30 b8  |end%,-1,name$,0.|
00001c20  2c 2c 66 72 65 65 25 2c  2c 2c 2c 66 6f 75 6e 64  |,,free%,,,,found|
00001c30  25 0d 0e 38 0c e7 66 6f  75 6e 64 25 8c 0d 0e 42  |%..8..found%...B|
00001c40  27 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |'.."Wimp_CreateW|
00001c50  69 6e 64 6f 77 22 2c 2c  62 6c 6b 25 b8 68 61 6e  |indow",,blk%.han|
00001c60  64 6c 65 25 0d 0e 4c 05  cc 0d 0e 56 36 85 a2 30  |dle%..L....V6..0|
00001c70  2c 22 57 69 6e 64 6f 77  20 22 2b 6e 61 6d 65 24  |,"Window "+name$|
00001c80  2b 22 20 6e 6f 74 20 66  6f 75 6e 64 20 69 6e 20  |+" not found in |
00001c90  74 65 6d 70 6c 61 74 65  20 66 69 6c 65 21 22 0d  |template file!".|
00001ca0  0e 60 05 cd 0d 0e 6a 1a  c8 99 22 57 69 6d 70 5f  |.`....j..."Wimp_|
00001cb0  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 0d 0e  |CloseTemplate"..|
00001cc0  74 0c 3d 68 61 6e 64 6c  65 25 0d 0e 92 23 dd f2  |t.=handle%...#..|
00001cd0  70 75 74 5f 74 65 78 74  28 77 69 6e 64 6f 77 25  |put_text(window%|
00001ce0  2c 69 63 6f 6e 25 2c 74  65 78 74 24 29 0d 0e 9c  |,icon%,text$)...|
00001cf0  16 e7 74 65 78 74 24 3d  22 30 22 74 65 78 74 24  |..text$="0"text$|
00001d00  3d 22 22 0d 0e a6 17 74  65 6d 70 5f 62 6c 6b 25  |=""....temp_blk%|
00001d10  21 30 3d 77 69 6e 64 6f  77 25 0d 0e b0 15 74 65  |!0=window%....te|
00001d20  6d 70 5f 62 6c 6b 25 21  34 3d 69 63 6f 6e 25 0d  |mp_blk%!4=icon%.|
00001d30  0e ba 24 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |..$.."Wimp_GetIc|
00001d40  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 5f 62  |onState",,temp_b|
00001d50  6c 6b 25 0d 0e c4 1f e7  28 74 65 6d 70 5f 62 6c  |lk%.....(temp_bl|
00001d60  6b 25 21 32 34 80 26 31  30 31 29 3c 3e 26 31 30  |k%!24.&101)<>&10|
00001d70  31 8c 0d 0e ce 2c 85 32  30 32 2c 22 49 63 6f 6e  |1....,.202,"Icon|
00001d80  20 22 2b c3 28 69 63 6f  6e 25 29 2b 22 20 6e 6f  | "+.(icon%)+" no|
00001d90  74 20 69 6e 64 69 72 65  63 74 65 64 21 22 0d 0e  |t indirected!"..|
00001da0  d8 05 e1 0d 0e e2 05 cd  0d 0e f6 20 74 65 78 74  |........... text|
00001db0  24 3d c0 74 65 78 74 24  2c 74 65 6d 70 5f 62 6c  |$=.text$,temp_bl|
00001dc0  6b 25 21 33 36 2d 31 29  0d 0f 00 17 24 74 65 6d  |k%!36-1)....$tem|
00001dd0  70 5f 62 6c 6b 25 21 32  38 3d 74 65 78 74 24 0d  |p_blk%!28=text$.|
00001de0  0f 0a 11 74 65 6d 70 5f  62 6c 6b 25 21 38 3d 30  |...temp_blk%!8=0|
00001df0  0d 0f 14 12 74 65 6d 70  5f 62 6c 6b 25 21 31 32  |....temp_blk%!12|
00001e00  3d 30 0d 0f 28 24 c8 99  22 57 69 6d 70 5f 53 65  |=0..($.."Wimp_Se|
00001e10  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 74 65 6d  |tIconState",,tem|
00001e20  70 5f 62 6c 6b 25 0d 0f  32 05 e1 0d 0f 50 1d dd  |p_blk%..2....P..|
00001e30  a4 67 65 74 5f 74 65 78  74 28 77 69 6e 64 6f 77  |.get_text(window|
00001e40  25 2c 69 63 6f 6e 25 29  0d 0f 5a 16 21 74 65 6d  |%,icon%)..Z.!tem|
00001e50  70 5f 62 6c 6b 25 3d 77  69 6e 64 6f 77 25 0d 0f  |p_blk%=window%..|
00001e60  64 15 74 65 6d 70 5f 62  6c 6b 25 21 34 3d 69 63  |d.temp_blk%!4=ic|
00001e70  6f 6e 25 0d 0f 6e 24 c8  99 22 57 69 6d 70 5f 47  |on%..n$.."Wimp_G|
00001e80  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00001e90  6d 70 5f 62 6c 6b 25 0d  0f 78 1f e7 28 74 65 6d  |mp_blk%..x..(tem|
00001ea0  70 5f 62 6c 6b 25 21 32  34 80 26 31 30 31 29 3c  |p_blk%!24.&101)<|
00001eb0  3e 26 31 30 31 8c 0d 0f  82 2c 85 32 30 32 2c 22  |>&101....,.202,"|
00001ec0  49 63 6f 6e 20 22 2b c3  28 69 63 6f 6e 25 29 2b  |Icon "+.(icon%)+|
00001ed0  22 20 6e 6f 74 20 69 6e  64 69 72 65 63 74 65 64  |" not indirected|
00001ee0  21 22 0d 0f 8c 07 3d 22  22 0d 0f 96 05 cd 0d 0f  |!"....="".......|
00001ef0  a0 12 3d 24 74 65 6d 70  5f 62 6c 6b 25 21 32 38  |..=$temp_blk%!28|
00001f00  0d 0f be 1a dd f2 6f 70  65 6e 5f 77 69 6e 64 6f  |......open_windo|
00001f10  77 28 77 69 6e 64 6f 77  25 29 0d 0f c8 16 21 74  |w(window%)....!t|
00001f20  65 6d 70 5f 62 6c 6b 25  3d 77 69 6e 64 6f 77 25  |emp_blk%=window%|
00001f30  0d 0f d2 26 c8 99 22 57  69 6d 70 5f 47 65 74 57  |...&.."Wimp_GetW|
00001f40  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
00001f50  70 5f 62 6c 6b 25 0d 0f  dc 22 c8 99 22 57 69 6d  |p_blk%...".."Wim|
00001f60  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
00001f70  65 6d 70 5f 62 6c 6b 25  0d 0f e6 05 e1 0d 0f fa  |emp_blk%........|
00001f80  0d dd f2 6d 65 73 73 61  67 65 0d 10 0e 0b ea 63  |...message.....c|
00001f90  6c 69 63 6b 25 0d 10 2c  0e c8 8e 62 6c 6b 25 21  |lick%..,...blk%!|
00001fa0  31 36 ca 0d 10 40 06 c9  30 0d 10 4a 0f e7 a4 61  |16...@..0..J...a|
00001fb0  73 6b 32 73 61 76 65 8c  0d 10 54 0c 63 6c 69 63  |sk2save...T.clic|
00001fc0  6b 25 3d b9 0d 10 5e 58  f2 72 65 70 6f 72 74 5f  |k%=...^X.report_|
00001fd0  65 72 72 6f 72 28 22 54  68 65 20 43 75 72 72 65  |error("The Curre|
00001fe0  6e 74 20 64 61 74 61 20  69 73 20 55 4e 73 61 76  |nt data is UNsav|
00001ff0  65 64 2e 20 4f 4b 20 74  6f 20 73 61 76 65 2c 20  |ed. OK to save, |
00002000  43 41 4e 43 45 4c 20 74  6f 20 71 75 69 74 2e 22  |CANCEL to quit."|
00002010  2c b9 2c b9 2c 63 6c 69  63 6b 25 29 0d 10 68 0e  |,.,.,click%)..h.|
00002020  e7 63 6c 69 63 6b 25 3d  31 8c 0d 10 72 33 f2 6f  |.click%=1...r3.o|
00002030  70 65 6e 5f 73 61 76 65  5f 77 69 6e 64 6f 77 28  |pen_save_window(|
00002040  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 73 61 76  |main_window%,sav|
00002050  65 61 73 31 5f 77 69 6e  64 6f 77 25 29 0d 10 7c  |eas1_window%)..||
00002060  0b 71 75 69 74 25 3d a3  0d 10 86 05 cc 0d 10 90  |.quit%=.........|
00002070  09 f2 71 75 69 74 0d 10  9a 05 cd 0d 10 a4 05 cc  |..quit..........|
00002080  0d 10 ae 09 f2 71 75 69  74 0d 10 b8 05 cd 0d 10  |.....quit.......|
00002090  cc 06 c9 31 0d 10 d6 11  f2 73 61 76 65 5f 72 65  |...1.....save_re|
000020a0  71 75 65 73 74 0d 10 ea  06 c9 33 0d 10 f4 11 f2  |quest.....3.....|
000020b0  6c 6f 61 64 5f 72 65 71  75 65 73 74 0d 11 08 06  |load_request....|
000020c0  c9 32 0d 11 12 10 f2 73  61 76 65 5f 64 65 6d 61  |.2.....save_dema|
000020d0  6e 64 0d 11 26 06 c9 35  0d 11 30 1f e7 62 6c 6b  |nd..&..5..0..blk|
000020e0  25 21 34 30 3d 26 44 46  45 8c f2 6c 6f 61 64 5f  |%!40=&DFE..load_|
000020f0  72 65 71 75 65 73 74 0d  11 44 06 c9 34 0d 11 4e  |request..D..4..N|
00002100  0f f2 63 6c 6f 73 65 5f  6d 65 6e 75 0d 11 58 05  |..close_menu..X.|
00002110  cb 0d 11 6c 05 e1 0d 11  8a 12 dd f2 6d 6f 75 73  |...l........mous|
00002120  65 5f 62 75 74 74 6f 6e  0d 11 9e 12 6d 6f 75 73  |e_button....mous|
00002130  65 78 25 3d 62 6c 6b 25  21 30 0d 11 a8 12 6d 6f  |ex%=blk%!0....mo|
00002140  75 73 65 79 25 3d 62 6c  6b 25 21 34 0d 11 b2 14  |usey%=blk%!4....|
00002150  6d 6f 75 73 65 62 75 74  25 3d 62 6c 6b 25 21 38  |mousebut%=blk%!8|
00002160  0d 11 bc 1a 77 69 6e 64  6f 77 5f 68 61 6e 64 6c  |....window_handl|
00002170  65 25 3d 62 6c 6b 25 21  31 32 0d 11 c6 18 69 63  |e%=blk%!12....ic|
00002180  6f 6e 5f 68 61 6e 64 6c  65 25 3d 62 6c 6b 25 21  |on_handle%=blk%!|
00002190  31 36 0d 11 da 15 c8 8e  77 69 6e 64 6f 77 5f 68  |16......window_h|
000021a0  61 6e 64 6c 65 25 ca 0d  11 ee 11 c9 6d 61 69 6e  |andle%......main|
000021b0  5f 77 69 6e 64 6f 77 25  0d 11 f8 16 f2 6d 61 69  |_window%.....mai|
000021c0  6e 5f 77 69 6e 64 6f 77  5f 63 6c 69 63 6b 0d 12  |n_window_click..|
000021d0  0c 0e c9 69 63 6f 6e 5f  62 61 72 25 0d 12 16 13  |...icon_bar%....|
000021e0  f2 69 63 6f 6e 5f 62 61  72 5f 63 6c 69 63 6b 0d  |.icon_bar_click.|
000021f0  12 2a 34 c9 73 61 76 65  61 73 31 5f 77 69 6e 64  |.*4.saveas1_wind|
00002200  6f 77 25 2c 73 61 76 65  61 73 32 5f 77 69 6e 64  |ow%,saveas2_wind|
00002210  6f 77 25 2c 73 61 76 65  61 73 33 5f 77 69 6e 64  |ow%,saveas3_wind|
00002220  6f 77 25 0d 12 34 26 f2  73 61 76 65 5f 77 69 6e  |ow%..4&.save_win|
00002230  64 6f 77 5f 63 6c 69 63  6b 28 77 69 6e 64 6f 77  |dow_click(window|
00002240  5f 68 61 6e 64 6c 65 25  29 0d 12 48 11 c9 67 6f  |_handle%)..H..go|
00002250  74 6f 5f 77 69 6e 64 6f  77 25 0d 12 52 13 c8 8e  |to_window%..R...|
00002260  69 63 6f 6e 5f 68 61 6e  64 6c 65 25 ca 0d 12 5c  |icon_handle%...\|
00002270  12 c9 67 6f 74 6f 5f 6f  6b 5f 69 63 6f 6e 25 0d  |..goto_ok_icon%.|
00002280  12 66 09 f2 67 6f 74 6f  0d 12 70 0f f2 63 6c 6f  |.f..goto..p..clo|
00002290  73 65 5f 6d 65 6e 75 0d  12 7a 16 c9 67 6f 74 6f  |se_menu..z..goto|
000022a0  5f 63 61 6e 63 65 6c 5f  69 63 6f 6e 25 0d 12 84  |_cancel_icon%...|
000022b0  0f f2 63 6c 6f 73 65 5f  6d 65 6e 75 0d 12 8e 15  |..close_menu....|
000022c0  c9 72 65 63 6f 72 64 5f  72 61 64 5f 69 63 6f 6e  |.record_rad_icon|
000022d0  25 0d 12 98 2b f2 73 65  6c 65 63 74 5f 69 63 6f  |%...+.select_ico|
000022e0  6e 28 67 6f 74 6f 5f 77  69 6e 64 6f 77 25 2c 69  |n(goto_window%,i|
000022f0  63 6f 6e 5f 68 61 6e 64  6c 65 25 29 0d 12 a2 2c  |con_handle%)...,|
00002300  f2 73 68 61 64 65 5f 69  63 6f 6e 28 67 6f 74 6f  |.shade_icon(goto|
00002310  5f 77 69 6e 64 6f 77 25  2c 6e 61 6d 65 5f 77 72  |_window%,name_wr|
00002320  69 5f 69 63 6f 6e 25 29  0d 12 ac 30 f2 75 6e 73  |i_icon%)...0.uns|
00002330  68 61 64 65 5f 69 63 6f  6e 28 67 6f 74 6f 5f 77  |hade_icon(goto_w|
00002340  69 6e 64 6f 77 25 2c 72  65 63 6f 72 64 5f 77 72  |indow%,record_wr|
00002350  69 5f 69 63 6f 6e 25 29  0d 12 b6 2d f2 73 65 74  |i_icon%)...-.set|
00002360  5f 63 61 72 65 74 28 67  6f 74 6f 5f 77 69 6e 64  |_caret(goto_wind|
00002370  6f 77 25 2c 72 65 63 6f  72 64 5f 77 72 69 5f 69  |ow%,record_wri_i|
00002380  63 6f 6e 25 29 0d 12 c0  13 c9 6e 61 6d 65 5f 72  |con%).....name_r|
00002390  61 64 5f 69 63 6f 6e 25  0d 12 ca 2b f2 73 65 6c  |ad_icon%...+.sel|
000023a0  65 63 74 5f 69 63 6f 6e  28 67 6f 74 6f 5f 77 69  |ect_icon(goto_wi|
000023b0  6e 64 6f 77 25 2c 69 63  6f 6e 5f 68 61 6e 64 6c  |ndow%,icon_handl|
000023c0  65 25 29 0d 12 d4 2e f2  73 68 61 64 65 5f 69 63  |e%).....shade_ic|
000023d0  6f 6e 28 67 6f 74 6f 5f  77 69 6e 64 6f 77 25 2c  |on(goto_window%,|
000023e0  72 65 63 6f 72 64 5f 77  72 69 5f 69 63 6f 6e 25  |record_wri_icon%|
000023f0  29 0d 12 de 2e f2 75 6e  73 68 61 64 65 5f 69 63  |).....unshade_ic|
00002400  6f 6e 28 67 6f 74 6f 5f  77 69 6e 64 6f 77 25 2c  |on(goto_window%,|
00002410  6e 61 6d 65 5f 77 72 69  5f 69 63 6f 6e 25 29 0d  |name_wri_icon%).|
00002420  12 e8 2b f2 73 65 74 5f  63 61 72 65 74 28 67 6f  |..+.set_caret(go|
00002430  74 6f 5f 77 69 6e 64 6f  77 25 2c 6e 61 6d 65 5f  |to_window%,name_|
00002440  77 72 69 5f 69 63 6f 6e  25 29 0d 12 f2 05 cb 0d  |wri_icon%)......|
00002450  13 06 11 c9 73 6f 72 74  5f 77 69 6e 64 6f 77 25  |....sort_window%|
00002460  0d 13 10 13 c8 8e 69 63  6f 6e 5f 68 61 6e 64 6c  |......icon_handl|
00002470  65 25 ca 0d 13 1a 15 c9  53 6f 72 74 43 61 6e 63  |e%......SortCanc|
00002480  65 6c 5f 69 63 6f 6e 25  0d 13 24 0f f2 63 6c 6f  |el_icon%..$..clo|
00002490  73 65 5f 6d 65 6e 75 0d  13 2e 11 c9 53 6f 72 74  |se_menu.....Sort|
000024a0  4f 4b 5f 69 63 6f 6e 25  0d 13 38 14 c8 99 22 48  |OK_icon%..8..."H|
000024b0  6f 75 72 67 6c 61 73 73  5f 4f 6e 22 0d 13 42 21  |ourglass_On"..B!|
000024c0  f2 73 61 76 65 5f 72 65  63 6f 72 64 28 63 75 72  |.save_record(cur|
000024d0  72 65 6e 74 5f 72 65 63  6f 72 64 25 29 0d 13 4c  |rent_record%)..L|
000024e0  49 e7 a4 73 65 6c 65 63  74 65 64 28 73 6f 72 74  |I..selected(sort|
000024f0  5f 77 69 6e 64 6f 77 25  2c 53 6f 72 74 4e 61 6d  |_window%,SortNam|
00002500  65 31 5f 69 63 6f 6e 25  29 f2 73 6f 72 74 28 6e  |e1_icon%).sort(n|
00002510  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 2c 30 2c  |o_of_records%,0,|
00002520  63 61 73 65 25 29 0d 13  56 49 e7 a4 73 65 6c 65  |case%)..VI..sele|
00002530  63 74 65 64 28 73 6f 72  74 5f 77 69 6e 64 6f 77  |cted(sort_window|
00002540  25 2c 53 6f 72 74 4e 61  6d 65 32 5f 69 63 6f 6e  |%,SortName2_icon|
00002550  25 29 f2 73 6f 72 74 28  6e 6f 5f 6f 66 5f 72 65  |%).sort(no_of_re|
00002560  63 6f 72 64 73 25 2c 31  2c 63 61 73 65 25 29 0d  |cords%,1,case%).|
00002570  13 60 47 e7 a4 73 65 6c  65 63 74 65 64 28 73 6f  |.`G..selected(so|
00002580  72 74 5f 77 69 6e 64 6f  77 25 2c 53 6f 72 74 52  |rt_window%,SortR|
00002590  41 31 5f 69 63 6f 6e 25  29 f2 73 6f 72 74 28 6e  |A1_icon%).sort(n|
000025a0  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 2c 32 2c  |o_of_records%,2,|
000025b0  63 61 73 65 25 29 0d 13  6a 47 e7 a4 73 65 6c 65  |case%)..jG..sele|
000025c0  63 74 65 64 28 73 6f 72  74 5f 77 69 6e 64 6f 77  |cted(sort_window|
000025d0  25 2c 53 6f 72 74 52 41  32 5f 69 63 6f 6e 25 29  |%,SortRA2_icon%)|
000025e0  f2 73 6f 72 74 28 6e 6f  5f 6f 66 5f 72 65 63 6f  |.sort(no_of_reco|
000025f0  72 64 73 25 2c 33 2c 63  61 73 65 25 29 0d 13 74  |rds%,3,case%)..t|
00002600  47 e7 a4 73 65 6c 65 63  74 65 64 28 73 6f 72 74  |G..selected(sort|
00002610  5f 77 69 6e 64 6f 77 25  2c 53 6f 72 74 43 68 72  |_window%,SortChr|
00002620  5f 69 63 6f 6e 25 29 f2  73 6f 72 74 28 6e 6f 5f  |_icon%).sort(no_|
00002630  6f 66 5f 72 65 63 6f 72  64 73 25 2c 34 2c 63 61  |of_records%,4,ca|
00002640  73 65 25 29 0d 13 7e 48  e7 a4 73 65 6c 65 63 74  |se%)..~H..select|
00002650  65 64 28 73 6f 72 74 5f  77 69 6e 64 6f 77 25 2c  |ed(sort_window%,|
00002660  53 6f 72 74 52 41 31 43  5f 69 63 6f 6e 25 29 f2  |SortRA1C_icon%).|
00002670  73 6f 72 74 28 6e 6f 5f  6f 66 5f 72 65 63 6f 72  |sort(no_of_recor|
00002680  64 73 25 2c 35 2c 63 61  73 65 25 29 0d 13 88 48  |ds%,5,case%)...H|
00002690  e7 a4 73 65 6c 65 63 74  65 64 28 73 6f 72 74 5f  |..selected(sort_|
000026a0  77 69 6e 64 6f 77 25 2c  53 6f 72 74 52 41 32 43  |window%,SortRA2C|
000026b0  5f 69 63 6f 6e 25 29 f2  73 6f 72 74 28 6e 6f 5f  |_icon%).sort(no_|
000026c0  6f 66 5f 72 65 63 6f 72  64 73 25 2c 36 2c 63 61  |of_records%,6,ca|
000026d0  73 65 25 29 0d 13 92 15  c8 99 22 48 6f 75 72 67  |se%)......"Hourg|
000026e0  6c 61 73 73 5f 4f 66 66  22 0d 13 9c 0f f2 63 6c  |lass_Off".....cl|
000026f0  6f 73 65 5f 6d 65 6e 75  0d 13 a6 21 f2 6c 6f 61  |ose_menu...!.loa|
00002700  64 5f 72 65 63 6f 72 64  28 63 75 72 72 65 6e 74  |d_record(current|
00002710  5f 72 65 63 6f 72 64 25  29 0d 13 b0 12 61 73 6b  |_record%)....ask|
00002720  5f 74 6f 5f 73 61 76 65  25 3d b9 0d 13 ba 05 cb  |_to_save%=......|
00002730  0d 13 ce 14 c9 6d 65 73  73 61 67 65 5f 77 69 6e  |.....message_win|
00002740  64 6f 77 25 0d 13 d8 13  c8 8e 69 63 6f 6e 5f 68  |dow%......icon_h|
00002750  61 6e 64 6c 65 25 ca 0d  13 e2 11 c9 63 61 6e 63  |andle%......canc|
00002760  65 6c 5f 69 63 6f 6e 25  0d 13 ec 0f f2 63 6c 6f  |el_icon%.....clo|
00002770  73 65 5f 6d 65 6e 75 0d  13 f6 0f c9 73 61 76 65  |se_menu.....save|
00002780  5f 69 63 6f 6e 25 0d 14  00 33 f2 6f 70 65 6e 5f  |_icon%...3.open_|
00002790  73 61 76 65 5f 77 69 6e  64 6f 77 28 6d 61 69 6e  |save_window(main|
000027a0  5f 77 69 6e 64 6f 77 25  2c 73 61 76 65 61 73 31  |_window%,saveas1|
000027b0  5f 77 69 6e 64 6f 77 25  29 0d 14 0a 12 c9 64 69  |_window%).....di|
000027c0  73 63 61 72 64 5f 69 63  6f 6e 25 0d 14 14 0b 73  |scard_icon%....s|
000027d0  75 72 65 25 3d b9 0d 14  1e 05 cb 0d 14 32 05 cb  |ure%=........2..|
000027e0  0d 14 46 05 e1 0d 14 64  14 dd f2 69 63 6f 6e 5f  |..F....d...icon_|
000027f0  62 61 72 5f 63 6c 69 63  6b 0d 14 78 10 c8 8e 6d  |bar_click..x...m|
00002800  6f 75 73 65 62 75 74 25  ca 0d 14 8c 10 c9 6d 65  |ousebut%......me|
00002810  6e 75 5f 63 6c 69 63 6b  25 0d 14 a0 20 63 75 72  |nu_click%... cur|
00002820  72 65 6e 74 5f 6d 65 6e  75 25 3d 69 63 6f 6e 5f  |rent_menu%=icon_|
00002830  62 61 72 5f 6d 65 6e 75  25 0d 14 b4 16 6d 65 6e  |bar_menu%....men|
00002840  75 5f 78 25 3d 6d 6f 75  73 65 78 25 2d 36 34 0d  |u_x%=mousex%-64.|
00002850  14 c8 12 6e 6f 5f 6f 66  5f 69 74 65 6d 73 25 3d  |...no_of_items%=|
00002860  32 0d 14 d2 13 6e 6f 5f  6f 66 5f 64 6f 74 74 65  |2....no_of_dotte|
00002870  64 25 3d 30 0d 14 e6 33  6d 65 6e 75 5f 79 25 3d  |d%=0...3menu_y%=|
00002880  39 36 2b 28 6e 6f 5f 6f  66 5f 69 74 65 6d 73 25  |96+(no_of_items%|
00002890  2a 34 34 29 2b 28 6e 6f  5f 6f 66 5f 64 6f 74 74  |*44)+(no_of_dott|
000028a0  65 64 25 2a 32 34 29 0d  14 fa 36 c8 99 22 57 69  |ed%*24)...6.."Wi|
000028b0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000028c0  63 75 72 72 65 6e 74 5f  6d 65 6e 75 25 2c 6d 65  |current_menu%,me|
000028d0  6e 75 5f 78 25 2c 6d 65  6e 75 5f 79 25 0d 15 0e  |nu_x%,menu_y%...|
000028e0  20 c9 73 65 6c 65 63 74  5f 63 6c 69 63 6b 25 2c  | .select_click%,|
000028f0  61 64 6a 75 73 74 5f 63  6c 69 63 6b 25 0d 15 18  |adjust_click%...|
00002900  43 f2 6f 70 65 6e 5f 77  69 6e 64 6f 77 28 6d 61  |C.open_window(ma|
00002910  69 6e 5f 77 69 6e 64 6f  77 25 29 3a f2 73 65 74  |in_window%):.set|
00002920  5f 63 61 72 65 74 28 6d  61 69 6e 5f 77 69 6e 64  |_caret(main_wind|
00002930  6f 77 25 2c 6e 61 6d 65  31 5f 69 63 6f 6e 25 29  |ow%,name1_icon%)|
00002940  0d 15 2c 05 cb 0d 15 40  05 e1 0d 15 5e 35 dd a4  |..,....@....^5..|
00002950  64 69 6d 5f 6d 65 6e 75  28 f8 70 74 72 25 2c 65  |dim_menu(.ptr%,e|
00002960  6e 64 25 2c 6e 6f 5f 6f  66 5f 69 74 65 6d 73 25  |nd%,no_of_items%|
00002970  2c 77 69 64 74 68 25 2c  74 69 74 6c 65 24 29 0d  |,width%,title$).|
00002980  15 72 37 e7 28 70 74 72  25 2b 32 38 29 2b 28 6e  |.r7.(ptr%+28)+(n|
00002990  6f 5f 6f 66 5f 69 74 65  6d 73 25 2a 32 34 29 3e  |o_of_items%*24)>|
000029a0  65 6e 64 25 85 30 2c 22  4d 65 6e 75 20 6f 76 65  |end%.0,"Menu ove|
000029b0  72 66 6c 6f 77 22 0d 15  7c 0e 6e 61 6d 65 25 3d  |rflow"..|.name%=|
000029c0  70 74 72 25 0d 15 86 1a  24 70 74 72 25 3d c0 74  |ptr%....$ptr%=.t|
000029d0  69 74 6c 65 24 2c 31 32  29 2b bd 28 30 29 0d 15  |itle$,12)+.(0)..|
000029e0  90 0d 70 74 72 25 21 31  32 3d 37 0d 15 9a 0d 70  |..ptr%!12=7....p|
000029f0  74 72 25 21 31 33 3d 32  0d 15 a4 0d 70 74 72 25  |tr%!13=2....ptr%|
00002a00  21 31 34 3d 37 0d 15 ae  0d 70 74 72 25 21 31 35  |!14=7....ptr%!15|
00002a10  3d 30 0d 15 b8 12 70 74  72 25 21 31 36 3d 77 69  |=0....ptr%!16=wi|
00002a20  64 74 68 25 0d 15 c2 0e  70 74 72 25 21 32 30 3d  |dth%....ptr%!20=|
00002a30  34 34 0d 15 cc 0d 70 74  72 25 21 32 34 3d 30 0d  |44....ptr%!24=0.|
00002a40  15 d6 0c 70 74 72 25 2b  3d 32 38 0d 15 e0 0c 3d  |...ptr%+=28....=|
00002a50  70 74 72 25 2d 32 38 0d  15 fe 59 dd f2 6d 65 6e  |ptr%-28...Y..men|
00002a60  75 5f 65 6e 74 72 79 28  74 65 78 74 24 2c f8 70  |u_entry(text$,.p|
00002a70  74 72 25 2c f8 69 6e 64  5f 70 74 72 25 2c 65 6e  |tr%,.ind_ptr%,en|
00002a80  64 25 2c 73 75 62 25 2c  74 69 63 6b 65 64 25 2c  |d%,sub%,ticked%,|
00002a90  64 6f 74 74 65 64 25 2c  77 72 69 74 61 62 6c 65  |dotted%,writable|
00002aa0  25 2c 73 68 61 64 65 64  25 2c 6c 61 73 74 25 29  |%,shaded%,last%)|
00002ab0  0d 16 12 18 ea 6d 65 6e  75 66 6c 61 67 25 2c 69  |.....menuflag%,i|
00002ac0  63 6f 6e 66 6c 61 67 25  0d 16 1c 0f 6d 65 6e 75  |conflag%....menu|
00002ad0  66 6c 61 67 25 3d 30 0d  16 26 11 e7 73 75 62 25  |flag%=0..&..sub%|
00002ae0  3d a3 73 75 62 25 3d 30  0d 16 30 24 e7 74 69 63  |=.sub%=0..0$.tic|
00002af0  6b 65 64 25 6d 65 6e 75  66 6c 61 67 25 3d 6d 65  |ked%menuflag%=me|
00002b00  6e 75 66 6c 61 67 25 84  31 3c 3c 30 0d 16 3a 24  |nuflag%.1<<0..:$|
00002b10  e7 64 6f 74 74 65 64 25  6d 65 6e 75 66 6c 61 67  |.dotted%menuflag|
00002b20  25 3d 6d 65 6e 75 66 6c  61 67 25 84 31 3c 3c 31  |%=menuflag%.1<<1|
00002b30  0d 16 44 26 e7 77 72 69  74 61 62 6c 65 25 6d 65  |..D&.writable%me|
00002b40  6e 75 66 6c 61 67 25 3d  6d 65 6e 75 66 6c 61 67  |nuflag%=menuflag|
00002b50  25 84 31 3c 3c 32 0d 16  4e 22 e7 6c 61 73 74 25  |%.1<<2..N".last%|
00002b60  6d 65 6e 75 66 6c 61 67  25 3d 6d 65 6e 75 66 6c  |menuflag%=menufl|
00002b70  61 67 25 84 31 3c 3c 37  0d 16 62 0f 69 63 6f 6e  |ag%.1<<7..b.icon|
00002b80  66 6c 61 67 25 3d 30 0d  16 6c 1c 69 63 6f 6e 66  |flag%=0..l.iconf|
00002b90  6c 61 67 25 3d 69 63 6f  6e 66 6c 61 67 25 84 31  |lag%=iconflag%.1|
00002ba0  3c 3c 30 0d 16 76 1c 69  63 6f 6e 66 6c 61 67 25  |<<0..v.iconflag%|
00002bb0  3d 69 63 6f 6e 66 6c 61  67 25 84 31 3c 3c 35 0d  |=iconflag%.1<<5.|
00002bc0  16 80 25 e7 73 68 61 64  65 64 25 69 63 6f 6e 66  |..%.shaded%iconf|
00002bd0  6c 61 67 25 3d 69 63 6f  6e 66 6c 61 67 25 84 31  |lag%=iconflag%.1|
00002be0  3c 3c 32 32 0d 16 8a 1d  69 63 6f 6e 66 6c 61 67  |<<22....iconflag|
00002bf0  25 3d 69 63 6f 6e 66 6c  61 67 25 84 37 3c 3c 32  |%=iconflag%.7<<2|
00002c00  34 0d 16 9e 13 21 70 74  72 25 3d 6d 65 6e 75 66  |4....!ptr%=menuf|
00002c10  6c 61 67 25 0d 16 a8 0f  70 74 72 25 21 34 3d 73  |lag%....ptr%!4=s|
00002c20  75 62 25 0d 16 bc 1b e7  a9 28 74 65 78 74 24 29  |ub%......(text$)|
00002c30  3e 31 32 84 77 72 69 74  61 62 6c 65 25 8c 0d 16  |>12.writable%...|
00002c40  c6 3a e7 69 6e 64 5f 70  74 72 25 2b a9 28 74 65  |.:.ind_ptr%+.(te|
00002c50  78 74 24 29 2b 31 3e 65  6e 64 25 85 30 2c 22 49  |xt$)+1>end%.0,"I|
00002c60  6e 64 69 72 65 63 74 65  64 20 6d 65 6e 75 20 6f  |ndirected menu o|
00002c70  76 65 72 66 6c 6f 77 22  0d 16 d0 18 24 69 6e 64  |verflow"....$ind|
00002c80  5f 70 74 72 25 3d 74 65  78 74 24 2b bd 28 30 29  |_ptr%=text$+.(0)|
00002c90  0d 16 da 14 70 74 72 25  21 31 32 3d 69 6e 64 5f  |....ptr%!12=ind_|
00002ca0  70 74 72 25 0d 16 e4 18  69 6e 64 5f 70 74 72 25  |ptr%....ind_ptr%|
00002cb0  2b 3d a9 28 74 65 78 74  24 29 2b 31 0d 16 ee 0f  |+=.(text$)+1....|
00002cc0  e7 77 72 69 74 61 62 6c  65 25 8c 0d 16 f8 1d 24  |.writable%.....$|
00002cd0  69 6e 64 5f 70 74 72 25  3d 22 41 30 2d 39 6d 69  |ind_ptr%="A0-9mi|
00002ce0  6e 73 22 2b bd 28 30 29  0d 17 02 14 70 74 72 25  |ns"+.(0)....ptr%|
00002cf0  21 31 36 3d 69 6e 64 5f  70 74 72 25 0d 17 0c 0f  |!16=ind_ptr%....|
00002d00  69 6e 64 5f 70 74 72 25  2b 3d 39 0d 17 16 15 70  |ind_ptr%+=9....p|
00002d10  74 72 25 21 32 30 3d 77  72 69 74 61 62 6c 65 25  |tr%!20=writable%|
00002d20  0d 17 20 05 cc 0d 17 2a  0f 3f 69 6e 64 5f 70 74  |.. ....*.?ind_pt|
00002d30  72 25 3d 30 0d 17 34 14  70 74 72 25 21 31 36 3d  |r%=0..4.ptr%!16=|
00002d40  69 6e 64 5f 70 74 72 25  0d 17 3e 0f 69 6e 64 5f  |ind_ptr%..>.ind_|
00002d50  70 74 72 25 2b 3d 31 0d  17 48 16 70 74 72 25 21  |ptr%+=1..H.ptr%!|
00002d60  32 30 3d a9 28 74 65 78  74 24 29 2b 31 0d 17 52  |20=.(text$)+1..R|
00002d70  05 cd 0d 17 5c 1c 69 63  6f 6e 66 6c 61 67 25 3d  |....\.iconflag%=|
00002d80  69 63 6f 6e 66 6c 61 67  25 84 31 3c 3c 38 0d 17  |iconflag%.1<<8..|
00002d90  66 05 cc 0d 17 70 1e 24  28 70 74 72 25 2b 31 32  |f....p.$(ptr%+12|
00002da0  29 3d c0 74 65 78 74 24  2c 31 32 29 2b bd 28 30  |)=.text$,12)+.(0|
00002db0  29 0d 17 7a 05 cd 0d 17  8e 14 70 74 72 25 21 38  |)..z......ptr%!8|
00002dc0  3d 69 63 6f 6e 66 6c 61  67 25 0d 17 a2 0c 70 74  |=iconflag%....pt|
00002dd0  72 25 2b 3d 32 34 0d 17  b6 05 e1 0d 17 d4 10 dd  |r%+=24..........|
00002de0  f2 6d 65 6e 75 5f 63 6c  69 63 6b 0d 17 e8 0e ea  |.menu_click.....|
00002df0  69 25 2c 63 6c 69 63 6b  25 0d 17 fc 0c 6d 65 6e  |i%,click%....men|
00002e00  75 24 3d 22 22 0d 18 06  08 69 25 3d 30 0d 18 1a  |u$=""....i%=0...|
00002e10  05 f5 0d 18 24 1a 6d 65  6e 75 24 3d 6d 65 6e 75  |....$.menu$=menu|
00002e20  24 2b c3 28 62 6c 6b 25  21 69 25 29 0d 18 2e 09  |$+.(blk%!i%)....|
00002e30  69 25 2b 3d 34 0d 18 38  0c fd 62 6c 6b 25 21 69  |i%+=4..8..blk%!i|
00002e40  25 0d 18 4c 14 c8 8e 63  75 72 72 65 6e 74 5f 6d  |%..L...current_m|
00002e50  65 6e 75 25 ca 0d 18 60  13 c9 69 63 6f 6e 5f 62  |enu%...`..icon_b|
00002e60  61 72 5f 6d 65 6e 75 25  0d 18 6a 12 f2 69 63 6f  |ar_menu%..j..ico|
00002e70  6e 5f 62 61 72 5f 6d 65  6e 75 0d 18 7e 0f c9 6d  |n_bar_menu..~..m|
00002e80  61 69 6e 5f 6d 65 6e 75  25 0d 18 88 0c c8 8e 6d  |ain_menu%......m|
00002e90  65 6e 75 24 ca 0d 18 92  08 c9 22 32 22 0d 18 9c  |enu$......"2"...|
00002ea0  1b e7 a4 74 69 63 6b 65  64 28 6d 61 69 6e 5f 6d  |...ticked(main_m|
00002eb0  65 6e 75 25 2c 32 29 8c  0d 18 a6 1e f2 75 6e 74  |enu%,2)......unt|
00002ec0  69 63 6b 5f 69 74 65 6d  28 6d 61 69 6e 5f 6d 65  |ick_item(main_me|
00002ed0  6e 75 25 2c 32 29 0d 18  b0 05 cc 0d 18 ba 1c f2  |nu%,2)..........|
00002ee0  74 69 63 6b 5f 69 74 65  6d 28 6d 61 69 6e 5f 6d  |tick_item(main_m|
00002ef0  65 6e 75 25 2c 32 29 0d  18 c4 05 cd 0d 18 ce 08  |enu%,2).........|
00002f00  c9 22 33 22 0d 18 d8 0d  f2 63 68 6b 5f 77 69 70  |."3".....chk_wip|
00002f10  65 0d 18 e2 09 c9 22 32  30 22 0d 18 ec 1c f2 74  |e....."20".....t|
00002f20  69 63 6b 5f 69 74 65 6d  28 6d 61 69 6e 5f 6d 65  |ick_item(main_me|
00002f30  6e 75 25 2c 32 29 0d 18  f6 39 61 75 74 6f 5f 73  |nu%,2)...9auto_s|
00002f40  61 76 65 5f 74 69 6d 65  25 3d a8 28 bb 28 a4 67  |ave_time%=.(.(.g|
00002f50  65 74 5f 77 72 69 74 61  62 6c 65 28 61 75 74 6f  |et_writable(auto|
00002f60  5f 6d 65 6e 75 25 2c 30  29 29 29 2a 6d 69 6e 0d  |_menu%,0)))*min.|
00002f70  19 00 31 e7 61 75 74 6f  5f 73 61 76 65 5f 74 69  |..1.auto_save_ti|
00002f80  6d 65 25 2f 6d 69 6e 3e  39 39 20 61 75 74 6f 5f  |me%/min>99 auto_|
00002f90  73 61 76 65 5f 74 69 6d  65 25 3d 35 2a 6d 69 6e  |save_time%=5*min|
00002fa0  0d 19 0a 30 e7 61 75 74  6f 5f 73 61 76 65 5f 74  |...0.auto_save_t|
00002fb0  69 6d 65 25 2f 6d 69 6e  3c 31 20 61 75 74 6f 5f  |ime%/min<1 auto_|
00002fc0  73 61 76 65 5f 74 69 6d  65 25 3d 35 2a 6d 69 6e  |save_time%=5*min|
00002fd0  0d 19 14 27 c8 99 22 4f  53 5f 52 65 61 64 4d 6f  |...'.."OS_ReadMo|
00002fe0  6e 6f 74 6f 6e 69 63 54  69 6d 65 22 b8 70 6f 6c  |notonicTime".pol|
00002ff0  6c 5f 74 69 6d 65 25 0d  19 1e 1f 70 6f 6c 6c 5f  |l_time%....poll_|
00003000  74 69 6d 65 25 2b 3d 61  75 74 6f 5f 73 61 76 65  |time%+=auto_save|
00003010  5f 74 69 6d 65 25 0d 19  28 05 cb 0d 19 3c 13 c9  |_time%..(....<..|
00003020  61 64 64 5f 69 63 6f 6e  5f 6d 65 6e 75 25 0d 19  |add_icon_menu%..|
00003030  46 21 f2 73 61 76 65 5f  72 65 63 6f 72 64 28 63  |F!.save_record(c|
00003040  75 72 72 65 6e 74 5f 72  65 63 6f 72 64 25 29 0d  |urrent_record%).|
00003050  19 50 0c c8 8e 6d 65 6e  75 24 ca 0d 19 5a 08 c9  |.P...menu$...Z..|
00003060  22 30 22 0d 19 64 22 f2  61 64 64 5f 72 65 63 6f  |"0"..d".add_reco|
00003070  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
00003080  64 25 2c b9 29 0d 19 6e  08 c9 22 31 22 0d 19 78  |d%,.)..n.."1"..x|
00003090  22 f2 61 64 64 5f 72 65  63 6f 72 64 28 63 75 72  |".add_record(cur|
000030a0  72 65 6e 74 5f 72 65 63  6f 72 64 25 2c a3 29 0d  |rent_record%,.).|
000030b0  19 82 16 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |...current_recor|
000030c0  64 25 2b 3d 31 0d 19 8c  05 cb 0d 19 96 3c f2 70  |d%+=1........<.p|
000030d0  75 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |ut_text(main_win|
000030e0  64 6f 77 25 2c 6e 6f 69  6e 67 70 5f 69 63 6f 6e  |dow%,noingp_icon|
000030f0  25 2c c3 28 6e 6f 5f 6f  66 5f 72 65 63 6f 72 64  |%,.(no_of_record|
00003100  73 25 2b 31 29 29 0d 19  a0 21 f2 6c 6f 61 64 5f  |s%+1))...!.load_|
00003110  72 65 63 6f 72 64 28 63  75 72 72 65 6e 74 5f 72  |record(current_r|
00003120  65 63 6f 72 64 25 29 0d  19 b4 11 c9 73 65 61 72  |ecord%).....sear|
00003130  63 68 5f 6d 65 6e 75 25  0d 19 be 0c c8 8e 6d 65  |ch_menu%......me|
00003140  6e 75 24 ca 0d 19 c8 08  c9 22 30 22 0d 19 d2 21  |nu$......"0"...!|
00003150  f2 73 61 76 65 5f 72 65  63 6f 72 64 28 63 75 72  |.save_record(cur|
00003160  72 65 6e 74 5f 72 65 63  6f 72 64 25 29 0d 19 dc  |rent_record%)...|
00003170  30 f2 6f 70 65 6e 5f 73  61 76 65 5f 77 69 6e 64  |0.open_save_wind|
00003180  6f 77 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |ow(main_window%,|
00003190  67 6f 74 6f 5f 77 69 6e  64 6f 77 25 29 0d 19 e6  |goto_window%)...|
000031a0  7e e7 a4 73 65 6c 65 63  74 65 64 28 67 6f 74 6f  |~..selected(goto|
000031b0  5f 77 69 6e 64 6f 77 25  2c 72 65 63 6f 72 64 5f  |_window%,record_|
000031c0  72 61 64 5f 69 63 6f 6e  25 29 f2 73 65 74 5f 63  |rad_icon%).set_c|
000031d0  61 72 65 74 28 67 6f 74  6f 5f 77 69 6e 64 6f 77  |aret(goto_window|
000031e0  25 2c 72 65 63 6f 72 64  5f 77 72 69 5f 69 63 6f  |%,record_wri_ico|
000031f0  6e 25 29 8b f2 73 65 74  5f 63 61 72 65 74 28 67  |n%)..set_caret(g|
00003200  6f 74 6f 5f 77 69 6e 64  6f 77 25 2c 6e 61 6d 65  |oto_window%,name|
00003210  5f 77 72 69 5f 69 63 6f  6e 25 29 0d 19 f0 05 cb  |_wri_icon%).....|
00003220  0d 1a 04 14 c9 74 61 6b  65 5f 69 63 6f 6e 5f 6d  |.....take_icon_m|
00003230  65 6e 75 25 0d 1a 0e 0c  c8 8e 6d 65 6e 75 24 ca  |enu%......menu$.|
00003240  0d 1a 18 08 c9 22 30 22  0d 1a 22 0c 63 6c 69 63  |....."0"..".clic|
00003250  6b 25 3d b9 0d 1a 2c 4a  f2 72 65 70 6f 72 74 5f  |k%=...,J.report_|
00003260  65 72 72 6f 72 28 22 41  72 65 20 79 6f 75 20 73  |error("Are you s|
00003270  75 72 65 20 79 6f 75 20  77 69 73 68 20 74 6f 20  |ure you wish to |
00003280  77 69 70 65 20 74 68 69  73 20 72 65 63 6f 72 64  |wipe this record|
00003290  3f 22 2c b9 2c b9 2c 63  6c 69 63 6b 25 29 0d 1a  |?",.,.,click%)..|
000032a0  36 19 e7 63 6c 69 63 6b  25 3d 31 f2 77 69 70 65  |6..click%=1.wipe|
000032b0  5f 72 65 63 6f 72 64 0d  1a 40 08 c9 22 31 22 0d  |_record..@.."1".|
000032c0  1a 4a 0c 63 6c 69 63 6b  25 3d b9 0d 1a 54 4c f2  |.J.click%=...TL.|
000032d0  72 65 70 6f 72 74 5f 65  72 72 6f 72 28 22 41 72  |report_error("Ar|
000032e0  65 20 79 6f 75 20 73 75  72 65 20 79 6f 75 20 77  |e you sure you w|
000032f0  69 73 68 20 74 6f 20 72  65 6d 6f 76 65 20 74 68  |ish to remove th|
00003300  69 73 20 72 65 63 6f 72  64 3f 22 2c b9 2c b9 2c  |is record?",.,.,|
00003310  63 6c 69 63 6b 25 29 0d  1a 5e 0e e7 63 6c 69 63  |click%)..^..clic|
00003320  6b 25 3d 31 8c 0d 1a 68  23 f2 72 65 6d 6f 76 65  |k%=1...h#.remove|
00003330  5f 72 65 63 6f 72 64 28  63 75 72 72 65 6e 74 5f  |_record(current_|
00003340  72 65 63 6f 72 64 25 29  0d 1a 72 41 e7 63 75 72  |record%)..rA.cur|
00003350  72 65 6e 74 5f 72 65 63  6f 72 64 25 3e 6e 6f 5f  |rent_record%>no_|
00003360  6f 66 5f 72 65 63 6f 72  64 73 25 63 75 72 72 65  |of_records%curre|
00003370  6e 74 5f 72 65 63 6f 72  64 25 3d 6e 6f 5f 6f 66  |nt_record%=no_of|
00003380  5f 72 65 63 6f 72 64 73  25 0d 1a 7c 3c f2 70 75  |_records%..|<.pu|
00003390  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
000033a0  6f 77 25 2c 6e 6f 69 6e  67 70 5f 69 63 6f 6e 25  |ow%,noingp_icon%|
000033b0  2c c3 28 6e 6f 5f 6f 66  5f 72 65 63 6f 72 64 73  |,.(no_of_records|
000033c0  25 2b 31 29 29 0d 1a 86  3d f2 70 75 74 5f 74 65  |%+1))...=.put_te|
000033d0  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
000033e0  72 65 63 6f 72 64 5f 69  63 6f 6e 25 2c c3 28 63  |record_icon%,.(c|
000033f0  75 72 72 65 6e 74 5f 72  65 63 6f 72 64 25 2b 31  |urrent_record%+1|
00003400  29 29 0d 1a 90 21 f2 6c  6f 61 64 5f 72 65 63 6f  |))...!.load_reco|
00003410  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
00003420  64 25 29 0d 1a 9a 05 cd  0d 1a a4 05 cb 0d 1a ae  |d%).............|
00003430  05 cb 0d 1a c2 21 c8 99  22 57 69 6d 70 5f 47 65  |.....!.."Wimp_Ge|
00003440  74 50 6f 69 6e 74 65 72  49 6e 66 6f 22 2c 2c 62  |tPointerInfo",,b|
00003450  6c 6b 25 0d 1a cc 4b e7  62 6c 6b 25 21 38 3d 61  |lk%...K.blk%!8=a|
00003460  64 6a 75 73 74 5f 63 6c  69 63 6b 25 c8 99 22 57  |djust_click%.."W|
00003470  69 6d 70 5f 43 72 65 61  74 65 4d 65 6e 75 22 2c  |imp_CreateMenu",|
00003480  2c 63 75 72 72 65 6e 74  5f 6d 65 6e 75 25 2c 6d  |,current_menu%,m|
00003490  65 6e 75 5f 78 25 2c 6d  65 6e 75 5f 79 25 0d 1a  |enu_x%,menu_y%..|
000034a0  e0 05 e1 0d 1a fe 13 dd  f2 69 63 6f 6e 5f 62 61  |.........icon_ba|
000034b0  72 5f 6d 65 6e 75 0d 1b  12 0c c8 8e 6d 65 6e 75  |r_menu......menu|
000034c0  24 ca 0d 1b 26 08 c9 22  31 22 0d 1b 30 0b 71 75  |$...&.."1"..0.qu|
000034d0  69 74 25 3d b9 0d 1b 44  05 cb 0d 1b 58 05 e1 0d  |it%=...D....X...|
000034e0  1b 76 17 dd f2 6d 61 69  6e 5f 77 69 6e 64 6f 77  |.v...main_window|
000034f0  5f 63 6c 69 63 6b 0d 1b  8a 0a ea 6f 70 65 6e 25  |_click.....open%|
00003500  0d 1b 9e 13 c8 8e 69 63  6f 6e 5f 68 61 6e 64 6c  |......icon_handl|
00003510  65 25 ca 0d 1b b2 11 c9  73 65 61 72 63 68 5f 69  |e%......search_i|
00003520  63 6f 6e 25 0d 1b bc 1e  63 75 72 72 65 6e 74 5f  |con%....current_|
00003530  6d 65 6e 75 25 3d 73 65  61 72 63 68 5f 6d 65 6e  |menu%=search_men|
00003540  75 25 0d 1b c6 0b 6f 70  65 6e 25 3d b9 0d 1b da  |u%....open%=....|
00003550  0e c9 61 64 64 5f 69 63  6f 6e 25 0d 1b e4 20 63  |..add_icon%... c|
00003560  75 72 72 65 6e 74 5f 6d  65 6e 75 25 3d 61 64 64  |urrent_menu%=add|
00003570  5f 69 63 6f 6e 5f 6d 65  6e 75 25 0d 1b ee 0b 6f  |_icon_menu%....o|
00003580  70 65 6e 25 3d b9 0d 1c  02 0f c9 74 61 6b 65 5f  |pen%=......take_|
00003590  69 63 6f 6e 25 0d 1c 0c  21 63 75 72 72 65 6e 74  |icon%...!current|
000035a0  5f 6d 65 6e 75 25 3d 74  61 6b 65 5f 69 63 6f 6e  |_menu%=take_icon|
000035b0  5f 6d 65 6e 75 25 0d 1c  16 0b 6f 70 65 6e 25 3d  |_menu%....open%=|
000035c0  b9 0d 1c 2a 05 cb 0d 1c  3e 24 e7 6d 6f 75 73 65  |...*....>$.mouse|
000035d0  62 75 74 25 3d 6d 65 6e  75 5f 63 6c 69 63 6b 25  |but%=menu_click%|
000035e0  80 20 6f 70 65 6e 25 3d  a3 8c 0d 1c 48 3d f2 70  |. open%=....H=.p|
000035f0  75 74 5f 77 72 69 74 61  62 6c 65 28 61 75 74 6f  |ut_writable(auto|
00003600  5f 6d 65 6e 75 25 2c 30  2c c3 28 61 75 74 6f 5f  |_menu%,0,.(auto_|
00003610  73 61 76 65 5f 74 69 6d  65 25 2f 6d 69 6e 29 2b  |save_time%/min)+|
00003620  22 6d 69 6e 73 22 29 0d  1c 52 1c 63 75 72 72 65  |"mins")..R.curre|
00003630  6e 74 5f 6d 65 6e 75 25  3d 6d 61 69 6e 5f 6d 65  |nt_menu%=main_me|
00003640  6e 75 25 0d 1c 5c 0b 6f  70 65 6e 25 3d b9 0d 1c  |nu%..\.open%=...|
00003650  66 05 cd 0d 1c 7a 0b e7  6f 70 65 6e 25 8c 0d 1c  |f....z..open%...|
00003660  84 16 6d 65 6e 75 5f 78  25 3d 6d 6f 75 73 65 78  |..menu_x%=mousex|
00003670  25 2d 36 34 0d 1c 8e 13  6d 65 6e 75 5f 79 25 3d  |%-64....menu_y%=|
00003680  6d 6f 75 73 65 79 25 0d  1c 98 36 c8 99 22 57 69  |mousey%...6.."Wi|
00003690  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000036a0  63 75 72 72 65 6e 74 5f  6d 65 6e 75 25 2c 6d 65  |current_menu%,me|
000036b0  6e 75 5f 78 25 2c 6d 65  6e 75 5f 79 25 0d 1c a2  |nu_x%,menu_y%...|
000036c0  05 e1 0d 1c b6 05 cd 0d  1c ca 13 c8 8e 69 63 6f  |.............ico|
000036d0  6e 5f 68 61 6e 64 6c 65  25 ca 0d 1c de 12 c9 66  |n_handle%......f|
000036e0  6f 72 77 61 72 64 5f 69  63 6f 6e 25 0d 1c e8 2e  |orward_icon%....|
000036f0  e7 6d 6f 75 73 65 62 75  74 25 3d 73 65 6c 65 63  |.mousebut%=selec|
00003700  74 5f 63 6c 69 63 6b 25  f2 66 6f 72 77 61 72 64  |t_click%.forward|
00003710  8b f2 62 61 63 6b 77 61  72 64 0d 1c fc 13 c9 62  |..backward.....b|
00003720  61 63 6b 77 61 72 64 5f  69 63 6f 6e 25 0d 1d 06  |ackward_icon%...|
00003730  2e e7 6d 6f 75 73 65 62  75 74 25 3d 73 65 6c 65  |..mousebut%=sele|
00003740  63 74 5f 63 6c 69 63 6b  25 f2 62 61 63 6b 77 61  |ct_click%.backwa|
00003750  72 64 8b f2 66 6f 72 77  61 72 64 0d 1d 1a 19 c9  |rd..forward.....|
00003760  72 61 31 5f 69 63 6f 6e  25 2c 74 73 74 31 5f 69  |ra1_icon%,tst1_i|
00003770  63 6f 6e 25 0d 1d 24 3f  e7 6d 6f 75 73 65 62 75  |con%..$?.mousebu|
00003780  74 25 3d 73 65 6c 65 63  74 5f 63 6c 69 63 6b 25  |t%=select_click%|
00003790  f2 73 65 6c 65 63 74 5f  74 65 73 74 28 31 2c b9  |.select_test(1,.|
000037a0  29 8b f2 73 65 6c 65 63  74 5f 74 65 73 74 28 32  |)..select_test(2|
000037b0  2c b9 29 0d 1d 38 19 c9  72 61 32 5f 69 63 6f 6e  |,.)..8..ra2_icon|
000037c0  25 2c 74 73 74 32 5f 69  63 6f 6e 25 0d 1d 42 3f  |%,tst2_icon%..B?|
000037d0  e7 6d 6f 75 73 65 62 75  74 25 3d 73 65 6c 65 63  |.mousebut%=selec|
000037e0  74 5f 63 6c 69 63 6b 25  f2 73 65 6c 65 63 74 5f  |t_click%.select_|
000037f0  74 65 73 74 28 32 2c b9  29 8b f2 73 65 6c 65 63  |test(2,.)..selec|
00003800  74 5f 74 65 73 74 28 31  2c b9 29 0d 1d 56 05 cb  |t_test(1,.)..V..|
00003810  0d 1d 6a 05 e1 0d 1d 88  23 dd f2 67 65 74 5f 69  |..j.....#..get_i|
00003820  63 6f 6e 5f 73 74 61 74  65 28 77 69 6e 64 6f 77  |con_state(window|
00003830  25 2c 69 63 6f 6e 25 29  0d 1d 9c 11 21 62 6c 6b  |%,icon%)....!blk|
00003840  25 3d 77 69 6e 64 6f 77  25 0d 1d a6 10 62 6c 6b  |%=window%....blk|
00003850  25 21 34 3d 69 63 6f 6e  25 0d 1d b0 1f c8 99 22  |%!4=icon%......"|
00003860  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00003870  65 22 2c 2c 62 6c 6b 25  0d 1d c4 05 e1 0d 1d e2  |e",,blk%........|
00003880  23 dd f2 73 65 74 5f 69  63 6f 6e 5f 73 74 61 74  |#..set_icon_stat|
00003890  65 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 29  |e(window%,icon%)|
000038a0  0d 1d f6 11 21 62 6c 6b  25 3d 77 69 6e 64 6f 77  |....!blk%=window|
000038b0  25 0d 1e 00 10 62 6c 6b  25 21 34 3d 69 63 6f 6e  |%....blk%!4=icon|
000038c0  25 0d 1e 0a 1f c8 99 22  57 69 6d 70 5f 53 65 74  |%......"Wimp_Set|
000038d0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 6c 6b 25  |IconState",,blk%|
000038e0  0d 1e 1e 05 e1 0d 1e 3c  20 dd f2 73 65 6c 65 63  |.......< ..selec|
000038f0  74 5f 69 63 6f 6e 28 77  69 6e 64 6f 77 25 2c 69  |t_icon(window%,i|
00003900  63 6f 6e 25 29 0d 1e 50  1a ea 63 6c 65 61 72 5f  |con%)..P..clear_|
00003910  77 6f 72 64 25 2c 65 6f  72 5f 77 6f 72 64 25 0d  |word%,eor_word%.|
00003920  1e 5a 15 63 6c 65 61 72  5f 77 6f 72 64 25 3d 31  |.Z.clear_word%=1|
00003930  3c 3c 32 31 0d 1e 64 13  65 6f 72 5f 77 6f 72 64  |<<21..d.eor_word|
00003940  25 3d 31 3c 3c 32 31 0d  1e 6e 14 62 6c 6b 25 21  |%=1<<21..n.blk%!|
00003950  38 3d 65 6f 72 5f 77 6f  72 64 25 0d 1e 78 17 62  |8=eor_word%..x.b|
00003960  6c 6b 25 21 31 32 3d 63  6c 65 61 72 5f 77 6f 72  |lk%!12=clear_wor|
00003970  64 25 0d 1e 82 22 f2 73  65 74 5f 69 63 6f 6e 5f  |d%...".set_icon_|
00003980  73 74 61 74 65 28 77 69  6e 64 6f 77 25 2c 69 63  |state(window%,ic|
00003990  6f 6e 25 29 0d 1e 96 05  e1 0d 1e b4 1f dd f2 73  |on%)...........s|
000039a0  68 61 64 65 5f 69 63 6f  6e 28 77 69 6e 64 6f 77  |hade_icon(window|
000039b0  25 2c 69 63 6f 6e 25 29  0d 1e c8 1a ea 63 6c 65  |%,icon%).....cle|
000039c0  61 72 5f 77 6f 72 64 25  2c 65 6f 72 5f 77 6f 72  |ar_word%,eor_wor|
000039d0  64 25 0d 1e d2 15 63 6c  65 61 72 5f 77 6f 72 64  |d%....clear_word|
000039e0  25 3d 31 3c 3c 32 32 0d  1e dc 13 65 6f 72 5f 77  |%=1<<22....eor_w|
000039f0  6f 72 64 25 3d 31 3c 3c  32 32 0d 1e e6 14 62 6c  |ord%=1<<22....bl|
00003a00  6b 25 21 38 3d 65 6f 72  5f 77 6f 72 64 25 0d 1e  |k%!8=eor_word%..|
00003a10  f0 17 62 6c 6b 25 21 31  32 3d 63 6c 65 61 72 5f  |..blk%!12=clear_|
00003a20  77 6f 72 64 25 0d 1e fa  22 f2 73 65 74 5f 69 63  |word%...".set_ic|
00003a30  6f 6e 5f 73 74 61 74 65  28 77 69 6e 64 6f 77 25  |on_state(window%|
00003a40  2c 69 63 6f 6e 25 29 0d  1f 0e 05 e1 0d 1f 2c 22  |,icon%).......,"|
00003a50  dd f2 64 65 73 65 6c 65  63 74 5f 69 63 6f 6e 28  |..deselect_icon(|
00003a60  77 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 29 0d 1f  |window%,icon%)..|
00003a70  40 1a ea 63 6c 65 61 72  5f 77 6f 72 64 25 2c 65  |@..clear_word%,e|
00003a80  6f 72 5f 77 6f 72 64 25  0d 1f 4a 15 63 6c 65 61  |or_word%..J.clea|
00003a90  72 5f 77 6f 72 64 25 3d  31 3c 3c 32 31 0d 1f 54  |r_word%=1<<21..T|
00003aa0  0f 65 6f 72 5f 77 6f 72  64 25 3d 30 0d 1f 5e 14  |.eor_word%=0..^.|
00003ab0  62 6c 6b 25 21 38 3d 65  6f 72 5f 77 6f 72 64 25  |blk%!8=eor_word%|
00003ac0  0d 1f 68 17 62 6c 6b 25  21 31 32 3d 63 6c 65 61  |..h.blk%!12=clea|
00003ad0  72 5f 77 6f 72 64 25 0d  1f 72 22 f2 73 65 74 5f  |r_word%..r".set_|
00003ae0  69 63 6f 6e 5f 73 74 61  74 65 28 77 69 6e 64 6f  |icon_state(windo|
00003af0  77 25 2c 69 63 6f 6e 25  29 0d 1f 86 05 e1 0d 1f  |w%,icon%).......|
00003b00  a4 21 dd f2 75 6e 73 68  61 64 65 5f 69 63 6f 6e  |.!..unshade_icon|
00003b10  28 77 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 29 0d  |(window%,icon%).|
00003b20  1f b8 1a ea 63 6c 65 61  72 5f 77 6f 72 64 25 2c  |....clear_word%,|
00003b30  65 6f 72 5f 77 6f 72 64  25 0d 1f c2 15 63 6c 65  |eor_word%....cle|
00003b40  61 72 5f 77 6f 72 64 25  3d 31 3c 3c 32 32 0d 1f  |ar_word%=1<<22..|
00003b50  cc 0f 65 6f 72 5f 77 6f  72 64 25 3d 30 0d 1f d6  |..eor_word%=0...|
00003b60  14 62 6c 6b 25 21 38 3d  65 6f 72 5f 77 6f 72 64  |.blk%!8=eor_word|
00003b70  25 0d 1f e0 17 62 6c 6b  25 21 31 32 3d 63 6c 65  |%....blk%!12=cle|
00003b80  61 72 5f 77 6f 72 64 25  0d 1f ea 22 f2 73 65 74  |ar_word%...".set|
00003b90  5f 69 63 6f 6e 5f 73 74  61 74 65 28 77 69 6e 64  |_icon_state(wind|
00003ba0  6f 77 25 2c 69 63 6f 6e  25 29 0d 1f fe 05 e1 0d  |ow%,icon%)......|
00003bb0  20 1c 22 dd a4 61 67 65  28 74 64 25 2c 74 6d 25  | ."..age(td%,tm%|
00003bc0  2c 74 79 25 2c 62 64 25  2c 62 6d 25 2c 62 79 25  |,ty%,bd%,bm%,by%|
00003bd0  29 0d 20 26 0a ea 79 25  2c 6d 25 0d 20 30 0e 79  |). &..y%,m%. 0.y|
00003be0  25 3d 74 79 25 2d 62 79  25 0d 20 3a 0e 6d 25 3d  |%=ty%-by%. :.m%=|
00003bf0  74 6d 25 2d 62 6d 25 0d  20 44 11 e7 74 64 25 3c  |tm%-bm%. D..td%<|
00003c00  62 64 25 6d 25 2d 3d 31  0d 20 4e 18 e7 6d 25 3c  |bd%m%-=1. N..m%<|
00003c10  30 20 79 25 2d 3d 31 3a  6d 25 3d 6d 25 2b 31 32  |0 y%-=1:m%=m%+12|
00003c20  0d 20 58 12 e7 79 25 3c  30 84 6d 25 3c 30 8c 3d  |. X..y%<0.m%<0.=|
00003c30  22 22 0d 20 62 14 3d c3  28 79 25 29 2b 22 2e 22  |"". b.=.(y%)+"."|
00003c40  2b c3 28 6d 25 29 0d 20  80 22 dd f2 73 65 6c 65  |+.(m%). ."..sele|
00003c50  63 74 5f 74 65 73 74 28  74 65 73 74 25 2c 63 68  |ct_test(test%,ch|
00003c60  5f 69 63 6f 6e 73 25 29  0d 20 94 1c ea 74 64 24  |_icons%). ...td$|
00003c70  2c 74 6d 24 2c 74 79 24  2c 62 64 24 2c 62 6d 24  |,tm$,ty$,bd$,bm$|
00003c80  2c 62 79 24 0d 20 a8 2a  62 64 24 3d a4 67 65 74  |,by$. .*bd$=.get|
00003c90  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00003ca0  77 25 2c 64 6f 62 64 5f  69 63 6f 6e 25 29 0d 20  |w%,dobd_icon%). |
00003cb0  b2 2a 62 6d 24 3d a4 67  65 74 5f 74 65 78 74 28  |.*bm$=.get_text(|
00003cc0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 64 6f 62  |main_window%,dob|
00003cd0  6d 5f 69 63 6f 6e 25 29  0d 20 bc 2a 62 79 24 3d  |m_icon%). .*by$=|
00003ce0  a4 67 65 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.get_text(main_w|
00003cf0  69 6e 64 6f 77 25 2c 64  6f 62 79 5f 69 63 6f 6e  |indow%,doby_icon|
00003d00  25 29 0d 20 d0 0c c8 8e  74 65 73 74 25 ca 0d 20  |%). ....test%.. |
00003d10  e4 06 c9 31 0d 20 ee 0f  e7 63 68 5f 69 63 6f 6e  |...1. ...ch_icon|
00003d20  73 25 8c 0d 20 f8 28 f2  73 65 6c 65 63 74 5f 69  |s%.. .(.select_i|
00003d30  63 6f 6e 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |con(main_window%|
00003d40  2c 72 61 31 5f 69 63 6f  6e 25 29 0d 21 02 29 f2  |,ra1_icon%).!.).|
00003d50  73 65 6c 65 63 74 5f 69  63 6f 6e 28 6d 61 69 6e  |select_icon(main|
00003d60  5f 77 69 6e 64 6f 77 25  2c 74 73 74 31 5f 69 63  |_window%,tst1_ic|
00003d70  6f 6e 25 29 0d 21 0c 2a  f2 64 65 73 65 6c 65 63  |on%).!.*.deselec|
00003d80  74 5f 69 63 6f 6e 28 6d  61 69 6e 5f 77 69 6e 64  |t_icon(main_wind|
00003d90  6f 77 25 2c 72 61 32 5f  69 63 6f 6e 25 29 0d 21  |ow%,ra2_icon%).!|
00003da0  16 2b f2 64 65 73 65 6c  65 63 74 5f 69 63 6f 6e  |.+.deselect_icon|
00003db0  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 74 73  |(main_window%,ts|
00003dc0  74 32 5f 69 63 6f 6e 25  29 0d 21 20 05 cd 0d 21  |t2_icon%).! ...!|
00003dd0  34 2b 74 64 24 3d a4 67  65 74 5f 74 65 78 74 28  |4+td$=.get_text(|
00003de0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
00003df0  31 64 5f 69 63 6f 6e 25  29 0d 21 3e 2b 74 6d 24  |1d_icon%).!>+tm$|
00003e00  3d a4 67 65 74 5f 74 65  78 74 28 6d 61 69 6e 5f  |=.get_text(main_|
00003e10  77 69 6e 64 6f 77 25 2c  74 73 74 31 6d 5f 69 63  |window%,tst1m_ic|
00003e20  6f 6e 25 29 0d 21 48 2b  74 79 24 3d a4 67 65 74  |on%).!H+ty$=.get|
00003e30  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00003e40  77 25 2c 74 73 74 31 79  5f 69 63 6f 6e 25 29 0d  |w%,tst1y_icon%).|
00003e50  21 5c 13 63 75 72 72 65  6e 74 5f 74 65 73 74 25  |!\.current_test%|
00003e60  3d 31 0d 21 70 06 c9 32  0d 21 7a 0f e7 63 68 5f  |=1.!p..2.!z..ch_|
00003e70  69 63 6f 6e 73 25 8c 0d  21 84 28 f2 73 65 6c 65  |icons%..!.(.sele|
00003e80  63 74 5f 69 63 6f 6e 28  6d 61 69 6e 5f 77 69 6e  |ct_icon(main_win|
00003e90  64 6f 77 25 2c 72 61 32  5f 69 63 6f 6e 25 29 0d  |dow%,ra2_icon%).|
00003ea0  21 8e 29 f2 73 65 6c 65  63 74 5f 69 63 6f 6e 28  |!.).select_icon(|
00003eb0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
00003ec0  32 5f 69 63 6f 6e 25 29  0d 21 98 2a f2 64 65 73  |2_icon%).!.*.des|
00003ed0  65 6c 65 63 74 5f 69 63  6f 6e 28 6d 61 69 6e 5f  |elect_icon(main_|
00003ee0  77 69 6e 64 6f 77 25 2c  72 61 31 5f 69 63 6f 6e  |window%,ra1_icon|
00003ef0  25 29 0d 21 a2 2b f2 64  65 73 65 6c 65 63 74 5f  |%).!.+.deselect_|
00003f00  69 63 6f 6e 28 6d 61 69  6e 5f 77 69 6e 64 6f 77  |icon(main_window|
00003f10  25 2c 74 73 74 31 5f 69  63 6f 6e 25 29 0d 21 ac  |%,tst1_icon%).!.|
00003f20  05 cd 0d 21 c0 2b 74 64  24 3d a4 67 65 74 5f 74  |...!.+td$=.get_t|
00003f30  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00003f40  2c 74 73 74 32 64 5f 69  63 6f 6e 25 29 0d 21 ca  |,tst2d_icon%).!.|
00003f50  2b 74 6d 24 3d a4 67 65  74 5f 74 65 78 74 28 6d  |+tm$=.get_text(m|
00003f60  61 69 6e 5f 77 69 6e 64  6f 77 25 2c 74 73 74 32  |ain_window%,tst2|
00003f70  6d 5f 69 63 6f 6e 25 29  0d 21 d4 2b 74 79 24 3d  |m_icon%).!.+ty$=|
00003f80  a4 67 65 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.get_text(main_w|
00003f90  69 6e 64 6f 77 25 2c 74  73 74 32 79 5f 69 63 6f  |indow%,tst2y_ico|
00003fa0  6e 25 29 0d 21 e8 13 63  75 72 72 65 6e 74 5f 74  |n%).!..current_t|
00003fb0  65 73 74 25 3d 32 0d 21  fc 05 cb 0d 22 10 2f e7  |est%=2.!...."./.|
00003fc0  74 64 24 3d 22 22 84 74  6d 24 3d 22 22 84 74 79  |td$="".tm$="".ty|
00003fd0  24 3d 22 22 84 62 64 24  3d 22 22 84 62 6d 24 3d  |$="".bd$="".bm$=|
00003fe0  22 22 84 62 79 24 3d 22  22 8c 0d 22 1a 18 63 75  |"".by$="".."..cu|
00003ff0  72 72 65 6e 74 5f 61 67  65 24 3d 22 2d 2d 2e 2d  |rrent_age$="--.-|
00004000  2d 22 0d 22 24 05 cc 0d  22 2e 40 63 75 72 72 65  |-"."$...".@curre|
00004010  6e 74 5f 61 67 65 24 3d  a4 61 67 65 28 bb 28 74  |nt_age$=.age(.(t|
00004020  64 24 29 2c bb 28 74 6d  24 29 2c bb 28 74 79 24  |d$),.(tm$),.(ty$|
00004030  29 2c bb 28 62 64 24 29  2c bb 28 62 6d 24 29 2c  |),.(bd$),.(bm$),|
00004040  bb 28 62 79 24 29 29 0d  22 38 05 cd 0d 22 4c 34  |.(by$))."8..."L4|
00004050  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00004060  69 6e 64 6f 77 25 2c 63  68 61 67 65 5f 69 63 6f  |indow%,chage_ico|
00004070  6e 25 2c 63 75 72 72 65  6e 74 5f 61 67 65 24 29  |n%,current_age$)|
00004080  0d 22 60 05 e1 0d 22 7e  1d dd f2 73 61 76 65 5f  |."`..."~...save_|
00004090  72 65 63 6f 72 64 28 72  65 63 6f 72 64 5f 6e 6f  |record(record_no|
000040a0  25 29 0d 22 92 1d e7 a4  63 68 6b 5f 72 65 63 6f  |%)."....chk_reco|
000040b0  72 64 28 72 65 63 6f 72  64 5f 6e 6f 25 29 8c 0d  |rd(record_no%)..|
000040c0  22 9c 3b 6e 61 6d 65 24  28 30 2c 72 65 63 6f 72  |".;name$(0,recor|
000040d0  64 5f 6e 6f 25 29 3d a4  67 65 74 5f 74 65 78 74  |d_no%)=.get_text|
000040e0  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 6e 61  |(main_window%,na|
000040f0  6d 65 31 5f 69 63 6f 6e  25 29 0d 22 a6 3b 6e 61  |me1_icon%).".;na|
00004100  6d 65 24 28 31 2c 72 65  63 6f 72 64 5f 6e 6f 25  |me$(1,record_no%|
00004110  29 3d a4 67 65 74 5f 74  65 78 74 28 6d 61 69 6e  |)=.get_text(main|
00004120  5f 77 69 6e 64 6f 77 25  2c 6e 61 6d 65 32 5f 69  |_window%,name2_i|
00004130  63 6f 6e 25 29 0d 22 b0  3c 64 6f 62 25 28 30 2c  |con%).".<dob%(0,|
00004140  72 65 63 6f 72 64 5f 6e  6f 25 29 3d bb 28 a4 67  |record_no%)=.(.g|
00004150  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00004160  64 6f 77 25 2c 64 6f 62  64 5f 69 63 6f 6e 25 29  |dow%,dobd_icon%)|
00004170  29 0d 22 ba 3c 64 6f 62  25 28 31 2c 72 65 63 6f  |).".<dob%(1,reco|
00004180  72 64 5f 6e 6f 25 29 3d  bb 28 a4 67 65 74 5f 74  |rd_no%)=.(.get_t|
00004190  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
000041a0  2c 64 6f 62 6d 5f 69 63  6f 6e 25 29 29 0d 22 c4  |,dobm_icon%)).".|
000041b0  3c 64 6f 62 25 28 32 2c  72 65 63 6f 72 64 5f 6e  |<dob%(2,record_n|
000041c0  6f 25 29 3d bb 28 a4 67  65 74 5f 74 65 78 74 28  |o%)=.(.get_text(|
000041d0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 64 6f 62  |main_window%,dob|
000041e0  79 5f 69 63 6f 6e 25 29  29 0d 22 ce 3d 72 61 25  |y_icon%)).".=ra%|
000041f0  28 30 2c 30 2c 72 65 63  6f 72 64 5f 6e 6f 25 29  |(0,0,record_no%)|
00004200  3d bb 28 a4 67 65 74 5f  74 65 78 74 28 6d 61 69  |=.(.get_text(mai|
00004210  6e 5f 77 69 6e 64 6f 77  25 2c 72 61 31 79 5f 69  |n_window%,ra1y_i|
00004220  63 6f 6e 25 29 29 0d 22  d8 3d 72 61 25 28 30 2c  |con%)).".=ra%(0,|
00004230  31 2c 72 65 63 6f 72 64  5f 6e 6f 25 29 3d bb 28  |1,record_no%)=.(|
00004240  a4 67 65 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.get_text(main_w|
00004250  69 6e 64 6f 77 25 2c 72  61 31 6d 5f 69 63 6f 6e  |indow%,ra1m_icon|
00004260  25 29 29 0d 22 e2 3d 72  61 25 28 31 2c 30 2c 72  |%)).".=ra%(1,0,r|
00004270  65 63 6f 72 64 5f 6e 6f  25 29 3d bb 28 a4 67 65  |ecord_no%)=.(.ge|
00004280  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
00004290  6f 77 25 2c 72 61 32 79  5f 69 63 6f 6e 25 29 29  |ow%,ra2y_icon%))|
000042a0  0d 22 ec 3d 72 61 25 28  31 2c 31 2c 72 65 63 6f  |.".=ra%(1,1,reco|
000042b0  72 64 5f 6e 6f 25 29 3d  bb 28 a4 67 65 74 5f 74  |rd_no%)=.(.get_t|
000042c0  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
000042d0  2c 72 61 32 6d 5f 69 63  6f 6e 25 29 29 0d 22 f6  |,ra2m_icon%)).".|
000042e0  12 61 73 6b 5f 74 6f 5f  73 61 76 65 25 3d b9 0d  |.ask_to_save%=..|
000042f0  23 00 05 cd 0d 23 14 05  e1 0d 23 32 1d dd f2 6c  |#....#....#2...l|
00004300  6f 61 64 5f 72 65 63 6f  72 64 28 72 65 63 6f 72  |oad_record(recor|
00004310  64 5f 6e 6f 25 29 0d 23  46 38 f2 70 75 74 5f 74  |d_no%).#F8.put_t|
00004320  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00004330  2c 72 65 63 6f 72 64 5f  69 63 6f 6e 25 2c c3 28  |,record_icon%,.(|
00004340  72 65 63 6f 72 64 5f 6e  6f 25 2b 31 29 29 0d 23  |record_no%+1)).#|
00004350  5a 3b f2 70 75 74 5f 74  65 78 74 28 6d 61 69 6e  |Z;.put_text(main|
00004360  5f 77 69 6e 64 6f 77 25  2c 6e 61 6d 65 31 5f 69  |_window%,name1_i|
00004370  63 6f 6e 25 2c 6e 61 6d  65 24 28 30 2c 72 65 63  |con%,name$(0,rec|
00004380  6f 72 64 5f 6e 6f 25 29  29 0d 23 64 3b f2 70 75  |ord_no%)).#d;.pu|
00004390  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
000043a0  6f 77 25 2c 6e 61 6d 65  32 5f 69 63 6f 6e 25 2c  |ow%,name2_icon%,|
000043b0  6e 61 6d 65 24 28 31 2c  72 65 63 6f 72 64 5f 6e  |name$(1,record_n|
000043c0  6f 25 29 29 0d 23 6e 3c  f2 70 75 74 5f 74 65 78  |o%)).#n<.put_tex|
000043d0  74 28 6d 61 69 6e 5f 77  69 6e 64 6f 77 25 2c 64  |t(main_window%,d|
000043e0  6f 62 64 5f 69 63 6f 6e  25 2c c3 28 64 6f 62 25  |obd_icon%,.(dob%|
000043f0  28 30 2c 72 65 63 6f 72  64 5f 6e 6f 25 29 29 29  |(0,record_no%)))|
00004400  0d 23 78 3c f2 70 75 74  5f 74 65 78 74 28 6d 61  |.#x<.put_text(ma|
00004410  69 6e 5f 77 69 6e 64 6f  77 25 2c 64 6f 62 6d 5f  |in_window%,dobm_|
00004420  69 63 6f 6e 25 2c c3 28  64 6f 62 25 28 31 2c 72  |icon%,.(dob%(1,r|
00004430  65 63 6f 72 64 5f 6e 6f  25 29 29 29 0d 23 82 3c  |ecord_no%))).#.<|
00004440  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00004450  69 6e 64 6f 77 25 2c 64  6f 62 79 5f 69 63 6f 6e  |indow%,doby_icon|
00004460  25 2c c3 28 64 6f 62 25  28 32 2c 72 65 63 6f 72  |%,.(dob%(2,recor|
00004470  64 5f 6e 6f 25 29 29 29  0d 23 8c 3d f2 70 75 74  |d_no%))).#.=.put|
00004480  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00004490  77 25 2c 72 61 31 79 5f  69 63 6f 6e 25 2c c3 28  |w%,ra1y_icon%,.(|
000044a0  72 61 25 28 30 2c 30 2c  72 65 63 6f 72 64 5f 6e  |ra%(0,0,record_n|
000044b0  6f 25 29 29 29 0d 23 96  3d f2 70 75 74 5f 74 65  |o%))).#.=.put_te|
000044c0  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
000044d0  72 61 31 6d 5f 69 63 6f  6e 25 2c c3 28 72 61 25  |ra1m_icon%,.(ra%|
000044e0  28 30 2c 31 2c 72 65 63  6f 72 64 5f 6e 6f 25 29  |(0,1,record_no%)|
000044f0  29 29 0d 23 a0 3d f2 70  75 74 5f 74 65 78 74 28  |)).#.=.put_text(|
00004500  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 72 61 32  |main_window%,ra2|
00004510  79 5f 69 63 6f 6e 25 2c  c3 28 72 61 25 28 31 2c  |y_icon%,.(ra%(1,|
00004520  30 2c 72 65 63 6f 72 64  5f 6e 6f 25 29 29 29 0d  |0,record_no%))).|
00004530  23 aa 3d f2 70 75 74 5f  74 65 78 74 28 6d 61 69  |#.=.put_text(mai|
00004540  6e 5f 77 69 6e 64 6f 77  25 2c 72 61 32 6d 5f 69  |n_window%,ra2m_i|
00004550  63 6f 6e 25 2c c3 28 72  61 25 28 31 2c 31 2c 72  |con%,.(ra%(1,1,r|
00004560  65 63 6f 72 64 5f 6e 6f  25 29 29 29 0d 23 be 21  |ecord_no%))).#.!|
00004570  f2 73 65 6c 65 63 74 5f  74 65 73 74 28 63 75 72  |.select_test(cur|
00004580  72 65 6e 74 5f 74 65 73  74 25 2c a3 29 0d 23 c8  |rent_test%,.).#.|
00004590  28 f2 73 65 74 5f 63 61  72 65 74 28 6d 61 69 6e  |(.set_caret(main|
000045a0  5f 77 69 6e 64 6f 77 25  2c 6e 61 6d 65 31 5f 69  |_window%,name1_i|
000045b0  63 6f 6e 25 29 0d 23 dc  05 e1 0d 23 fa 0d dd f2  |con%).#....#....|
000045c0  66 6f 72 77 61 72 64 0d  24 0e 21 f2 73 61 76 65  |forward.$.!.save|
000045d0  5f 72 65 63 6f 72 64 28  63 75 72 72 65 6e 74 5f  |_record(current_|
000045e0  72 65 63 6f 72 64 25 29  0d 24 22 16 63 75 72 72  |record%).$".curr|
000045f0  65 6e 74 5f 72 65 63 6f  72 64 25 2b 3d 31 0d 24  |ent_record%+=1.$|
00004600  2c 34 e7 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |,4.current_recor|
00004610  64 25 3e 6e 6f 5f 6f 66  5f 72 65 63 6f 72 64 73  |d%>no_of_records|
00004620  25 63 75 72 72 65 6e 74  5f 72 65 63 6f 72 64 25  |%current_record%|
00004630  3d 30 0d 24 40 21 f2 6c  6f 61 64 5f 72 65 63 6f  |=0.$@!.load_reco|
00004640  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
00004650  64 25 29 0d 24 54 05 e1  0d 24 72 0e dd f2 62 61  |d%).$T...$r...ba|
00004660  63 6b 77 61 72 64 0d 24  86 21 f2 73 61 76 65 5f  |ckward.$.!.save_|
00004670  72 65 63 6f 72 64 28 63  75 72 72 65 6e 74 5f 72  |record(current_r|
00004680  65 63 6f 72 64 25 29 0d  24 9a 16 63 75 72 72 65  |ecord%).$..curre|
00004690  6e 74 5f 72 65 63 6f 72  64 25 2d 3d 31 0d 24 a4  |nt_record%-=1.$.|
000046a0  35 e7 63 75 72 72 65 6e  74 5f 72 65 63 6f 72 64  |5.current_record|
000046b0  25 3c 30 20 63 75 72 72  65 6e 74 5f 72 65 63 6f  |%<0 current_reco|
000046c0  72 64 25 3d 6e 6f 5f 6f  66 5f 72 65 63 6f 72 64  |rd%=no_of_record|
000046d0  73 25 0d 24 b8 21 f2 6c  6f 61 64 5f 72 65 63 6f  |s%.$.!.load_reco|
000046e0  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
000046f0  64 25 29 0d 24 cc 05 e1  0d 24 ea 1a dd f2 73 61  |d%).$....$....sa|
00004700  76 65 5f 64 61 74 61 28  66 69 6c 65 6e 61 6d 65  |ve_data(filename|
00004710  24 29 0d 24 fe 18 ea 68  61 6e 64 6c 65 25 2c 69  |$).$...handle%,i|
00004720  25 2c 6a 25 2c 74 65 78  74 24 0d 25 08 06 ea 85  |%,j%,text$.%....|
00004730  0d 25 1c 69 ee 85 ea f2  72 65 70 6f 72 74 5f 65  |.%.i....report_e|
00004740  72 72 6f 72 28 22 4e 6f  74 20 66 6f 75 6e 64 22  |rror("Not found"|
00004750  2c b9 2c a3 2c 66 61 6c  73 65 25 29 3a f2 72 65  |,.,.,false%):.re|
00004760  70 6f 72 74 5f 65 72 72  6f 72 28 22 42 61 64 20  |port_error("Bad |
00004770  66 69 6c 65 20 6e 61 6d  65 3a 20 27 22 2b 66 69  |file name: '"+fi|
00004780  6c 65 6e 61 6d 65 24 2b  22 27 22 2c b9 2c a3 2c  |lename$+"'",.,.,|
00004790  66 61 6c 73 65 25 29 3a  e1 0d 25 30 14 c8 99 22  |false%):..%0..."|
000047a0  48 6f 75 72 67 6c 61 73  73 5f 4f 6e 22 0d 25 44  |Hourglass_On".%D|
000047b0  21 f2 73 61 76 65 5f 72  65 63 6f 72 64 28 63 75  |!.save_record(cu|
000047c0  72 72 65 6e 74 5f 72 65  63 6f 72 64 25 29 0d 25  |rrent_record%).%|
000047d0  58 18 68 61 6e 64 6c 65  25 3d ae 28 66 69 6c 65  |X.handle%=.(file|
000047e0  6e 61 6d 65 24 29 0d 25  6c 39 f2 6f 75 74 70 75  |name$).%l9.outpu|
000047f0  74 28 68 61 6e 64 6c 65  25 2c a4 67 65 74 5f 74  |t(handle%,.get_t|
00004800  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00004810  2c 67 70 6e 61 6d 65 5f  69 63 6f 6e 25 29 29 0d  |,gpname_icon%)).|
00004820  25 80 7d 74 65 78 74 24  3d a4 67 65 74 5f 74 65  |%.}text$=.get_te|
00004830  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00004840  74 73 74 31 64 5f 69 63  6f 6e 25 29 2b 22 2c 22  |tst1d_icon%)+","|
00004850  2b a4 67 65 74 5f 74 65  78 74 28 6d 61 69 6e 5f  |+.get_text(main_|
00004860  77 69 6e 64 6f 77 25 2c  74 73 74 31 6d 5f 69 63  |window%,tst1m_ic|
00004870  6f 6e 25 29 2b 22 2c 22  2b a4 67 65 74 5f 74 65  |on%)+","+.get_te|
00004880  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00004890  74 73 74 31 79 5f 69 63  6f 6e 25 29 0d 25 8a 83  |tst1y_icon%).%..|
000048a0  e7 bb 28 a4 67 65 74 5f  74 65 78 74 28 6d 61 69  |..(.get_text(mai|
000048b0  6e 5f 77 69 6e 64 6f 77  25 2c 74 73 74 32 64 5f  |n_window%,tst2d_|
000048c0  69 63 6f 6e 25 29 29 3c  3e 30 80 bb 28 a4 67 65  |icon%))<>0..(.ge|
000048d0  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
000048e0  6f 77 25 2c 74 73 74 32  6d 5f 69 63 6f 6e 25 29  |ow%,tst2m_icon%)|
000048f0  29 3c 3e 30 80 bb 28 a4  67 65 74 5f 74 65 78 74  |)<>0..(.get_text|
00004900  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 74 73  |(main_window%,ts|
00004910  74 32 79 5f 69 63 6f 6e  25 29 29 3c 3e 30 8c 0d  |t2y_icon%))<>0..|
00004920  25 94 82 74 65 78 74 24  2b 3d 22 2c 22 2b a4 67  |%..text$+=","+.g|
00004930  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00004940  64 6f 77 25 2c 74 73 74  32 64 5f 69 63 6f 6e 25  |dow%,tst2d_icon%|
00004950  29 2b 22 2c 22 2b a4 67  65 74 5f 74 65 78 74 28  |)+","+.get_text(|
00004960  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
00004970  32 6d 5f 69 63 6f 6e 25  29 2b 22 2c 22 2b a4 67  |2m_icon%)+","+.g|
00004980  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00004990  64 6f 77 25 2c 74 73 74  32 79 5f 69 63 6f 6e 25  |dow%,tst2y_icon%|
000049a0  29 0d 25 9e 05 cd 0d 25  a8 1a f2 6f 75 74 70 75  |).%....%...outpu|
000049b0  74 28 68 61 6e 64 6c 65  25 2c 74 65 78 74 24 29  |t(handle%,text$)|
000049c0  0d 25 bc 18 e3 69 25 3d  30 b8 6e 6f 5f 6f 66 5f  |.%...i%=0.no_of_|
000049d0  72 65 63 6f 72 64 73 25  0d 25 d0 25 74 65 78 74  |records%.%.%text|
000049e0  24 3d 6e 61 6d 65 24 28  30 2c 69 25 29 2b 22 2c  |$=name$(0,i%)+",|
000049f0  22 2b 6e 61 6d 65 24 28  31 2c 69 25 29 0d 25 da  |"+name$(1,i%).%.|
00004a00  0b e3 6a 25 3d 30 b8 32  0d 25 e4 1d 74 65 78 74  |..j%=0.2.%..text|
00004a10  24 2b 3d 22 2c 22 2b c3  28 64 6f 62 25 28 6a 25  |$+=","+.(dob%(j%|
00004a20  2c 69 25 29 29 0d 25 ee  05 ed 0d 25 f8 0b e3 6a  |,i%)).%....%...j|
00004a30  25 3d 30 b8 31 0d 26 02  1e 74 65 78 74 24 2b 3d  |%=0.1.&..text$+=|
00004a40  22 2c 22 2b c3 28 72 61  25 28 30 2c 6a 25 2c 69  |","+.(ra%(0,j%,i|
00004a50  25 29 29 0d 26 0c 05 ed  0d 26 16 23 e7 72 61 25  |%)).&....&.#.ra%|
00004a60  28 31 2c 30 2c 69 25 29  3c 3e 30 84 72 61 25 28  |(1,0,i%)<>0.ra%(|
00004a70  31 2c 31 2c 69 25 29 3c  3e 30 8c 0d 26 20 0b e3  |1,1,i%)<>0..& ..|
00004a80  6a 25 3d 30 b8 31 0d 26  2a 1e 74 65 78 74 24 2b  |j%=0.1.&*.text$+|
00004a90  3d 22 2c 22 2b c3 28 72  61 25 28 31 2c 6a 25 2c  |=","+.(ra%(1,j%,|
00004aa0  69 25 29 29 0d 26 34 05  ed 0d 26 3e 05 cd 0d 26  |i%)).&4...&>...&|
00004ab0  48 1a f2 6f 75 74 70 75  74 28 68 61 6e 64 6c 65  |H..output(handle|
00004ac0  25 2c 74 65 78 74 24 29  0d 26 5c 05 ed 0d 26 70  |%,text$).&\...&p|
00004ad0  0d d9 23 68 61 6e 64 6c  65 25 0d 26 7a 24 ff 28  |..#handle%.&z$.(|
00004ae0  22 2a 53 65 74 54 79 70  65 20 22 2b 66 69 6c 65  |"*SetType "+file|
00004af0  6e 61 6d 65 24 2b 22 20  26 44 46 45 22 29 0d 26  |name$+" &DFE").&|
00004b00  8e 12 61 73 6b 5f 74 6f  5f 73 61 76 65 25 3d a3  |..ask_to_save%=.|
00004b10  0d 26 a2 15 c8 99 22 48  6f 75 72 67 6c 61 73 73  |.&...."Hourglass|
00004b20  5f 4f 66 66 22 0d 26 b6  05 e1 0d 26 d4 1e dd f2  |_Off".&....&....|
00004b30  73 65 74 5f 63 61 72 65  74 28 77 69 6e 64 6f 77  |set_caret(window|
00004b40  25 2c 69 63 6f 6e 25 29  0d 26 e8 22 f2 67 65 74  |%,icon%).&.".get|
00004b50  5f 69 63 6f 6e 5f 73 74  61 74 65 28 77 69 6e 64  |_icon_state(wind|
00004b60  6f 77 25 2c 69 63 6f 6e  25 29 0d 26 fc 3e c8 99  |ow%,icon%).&.>..|
00004b70  22 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |"Wimp_SetCaretPo|
00004b80  73 69 74 69 6f 6e 22 2c  77 69 6e 64 6f 77 25 2c  |sition",window%,|
00004b90  69 63 6f 6e 25 2c 30 2c  30 2c 2d 31 2c a9 28 24  |icon%,0,0,-1,.($|
00004ba0  62 6c 6b 25 21 32 38 29  0d 27 10 05 e1 0d 27 2e  |blk%!28).'....'.|
00004bb0  20 dd f2 73 61 76 65 5f  77 69 6e 64 6f 77 5f 63  | ..save_window_c|
00004bc0  6c 69 63 6b 28 77 69 6e  64 6f 77 25 29 0d 27 42  |lick(window%).'B|
00004bd0  0e ea 66 69 6c 65 6e 61  6d 65 24 0d 27 56 10 c8  |..filename$.'V..|
00004be0  8e 6d 6f 75 73 65 62 75  74 25 ca 0d 27 6a 20 c9  |.mousebut%..'j .|
00004bf0  73 65 6c 65 63 74 5f 63  6c 69 63 6b 25 2c 61 64  |select_click%,ad|
00004c00  6a 75 73 74 5f 63 6c 69  63 6b 25 0d 27 74 1b e7  |just_click%.'t..|
00004c10  69 63 6f 6e 5f 68 61 6e  64 6c 65 25 3d 6f 6b 5f  |icon_handle%=ok_|
00004c20  69 63 6f 6e 25 8c 0d 27  7e 2f 66 69 6c 65 6e 61  |icon%..'~/filena|
00004c30  6d 65 24 3d a4 67 65 74  5f 74 65 78 74 28 77 69  |me$=.get_text(wi|
00004c40  6e 64 6f 77 25 2c 66 69  6c 65 6e 61 6d 65 5f 69  |ndow%,filename_i|
00004c50  63 6f 6e 25 29 0d 27 88  15 e7 a7 66 69 6c 65 6e  |con%).'....filen|
00004c60  61 6d 65 24 2c 22 2e 22  29 8c 0d 27 92 0e c8 8e  |ame$,".")..'....|
00004c70  77 69 6e 64 6f 77 25 ca  0d 27 9c 14 c9 73 61 76  |window%..'...sav|
00004c80  65 61 73 31 5f 77 69 6e  64 6f 77 25 0d 27 a6 19  |eas1_window%.'..|
00004c90  f2 73 61 76 65 5f 64 61  74 61 28 66 69 6c 65 6e  |.save_data(filen|
00004ca0  61 6d 65 24 29 0d 27 b0  14 c9 73 61 76 65 61 73  |ame$).'...saveas|
00004cb0  32 5f 77 69 6e 64 6f 77  25 0d 27 ba 19 f2 73 61  |2_window%.'...sa|
00004cc0  76 65 5f 64 72 61 77 28  66 69 6c 65 6e 61 6d 65  |ve_draw(filename|
00004cd0  24 29 0d 27 c4 14 c9 73  61 76 65 61 73 33 5f 77  |$).'...saveas3_w|
00004ce0  69 6e 64 6f 77 25 0d 27  ce 19 f2 73 61 76 65 5f  |indow%.'...save_|
00004cf0  74 65 78 74 28 66 69 6c  65 6e 61 6d 65 24 29 0d  |text(filename$).|
00004d00  27 d8 05 cb 0d 27 e2 0f  f2 63 6c 6f 73 65 5f 6d  |'....'...close_m|
00004d10  65 6e 75 0d 27 ec 05 cc  0d 27 f6 4d f2 72 65 70  |enu.'....'.M.rep|
00004d20  6f 72 74 5f 65 72 72 6f  72 28 22 54 6f 20 73 61  |ort_error("To sa|
00004d30  76 65 2c 20 64 72 61 67  20 74 68 65 20 69 63 6f  |ve, drag the ico|
00004d40  6e 20 74 6f 20 61 20 64  69 72 65 63 74 6f 72 79  |n to a directory|
00004d50  20 64 69 73 70 6c 61 79  22 2c b9 2c a3 2c 66 61  | display",.,.,fa|
00004d60  6c 73 65 25 29 0d 28 00  05 cd 0d 28 0a 05 cd 0d  |lse%).(....(....|
00004d70  28 1e 1e c9 73 65 6c 65  63 74 5f 64 72 61 67 25  |(...select_drag%|
00004d80  2c 61 64 6a 75 73 74 5f  64 72 61 67 25 0d 28 28  |,adjust_drag%.((|
00004d90  1d e7 69 63 6f 6e 5f 68  61 6e 64 6c 65 25 3d 66  |..icon_handle%=f|
00004da0  69 6c 65 5f 69 63 6f 6e  25 8c 0d 28 32 18 64 72  |ile_icon%..(2.dr|
00004db0  61 67 5f 77 69 6e 64 6f  77 25 3d 77 69 6e 64 6f  |ag_window%=windo|
00004dc0  77 25 0d 28 3c 0e c8 8e  77 69 6e 64 6f 77 25 ca  |w%.(<...window%.|
00004dd0  0d 28 46 14 c9 73 61 76  65 61 73 31 5f 77 69 6e  |.(F..saveas1_win|
00004de0  64 6f 77 25 0d 28 50 33  f2 64 72 61 67 5f 73 74  |dow%.(P3.drag_st|
00004df0  61 72 74 28 64 72 61 67  5f 77 69 6e 64 6f 77 25  |art(drag_window%|
00004e00  2c 66 69 6c 65 5f 69 63  6f 6e 25 2c 22 66 69 6c  |,file_icon%,"fil|
00004e10  65 5f 64 66 65 22 29 0d  28 5a 14 c9 73 61 76 65  |e_dfe").(Z..save|
00004e20  61 73 32 5f 77 69 6e 64  6f 77 25 0d 28 64 33 f2  |as2_window%.(d3.|
00004e30  64 72 61 67 5f 73 74 61  72 74 28 64 72 61 67 5f  |drag_start(drag_|
00004e40  77 69 6e 64 6f 77 25 2c  66 69 6c 65 5f 69 63 6f  |window%,file_ico|
00004e50  6e 25 2c 22 66 69 6c 65  5f 61 66 66 22 29 0d 28  |n%,"file_aff").(|
00004e60  6e 14 c9 73 61 76 65 61  73 33 5f 77 69 6e 64 6f  |n..saveas3_windo|
00004e70  77 25 0d 28 78 33 f2 64  72 61 67 5f 73 74 61 72  |w%.(x3.drag_star|
00004e80  74 28 64 72 61 67 5f 77  69 6e 64 6f 77 25 2c 66  |t(drag_window%,f|
00004e90  69 6c 65 5f 69 63 6f 6e  25 2c 22 66 69 6c 65 5f  |ile_icon%,"file_|
00004ea0  66 66 66 22 29 0d 28 82  05 cb 0d 28 8c 05 cd 0d  |fff").(....(....|
00004eb0  28 96 05 cb 0d 28 a0 05  e1 0d 28 be 2d dd f2 72  |(....(....(.-..r|
00004ec0  65 70 6f 72 74 5f 65 72  72 6f 72 28 74 65 78 74  |eport_error(text|
00004ed0  24 2c 6f 6b 25 2c 63 61  6e 63 65 6c 25 2c f8 63  |$,ok%,cancel%,.c|
00004ee0  6c 69 63 6b 25 29 0d 28  d2 17 c8 99 22 48 6f 75  |lick%).(...."Hou|
00004ef0  72 67 6c 61 73 73 5f 53  6d 61 73 68 22 0d 28 dc  |rglass_Smash".(.|
00004f00  0a ea 66 6c 61 67 25 0d  28 e6 0b 66 6c 61 67 25  |..flag%.(..flag%|
00004f10  3d 30 0d 28 f0 14 66 6c  61 67 25 3d 66 6c 61 67  |=0.(..flag%=flag|
00004f20  25 84 31 3c 3c 34 0d 28  fa 18 e7 6f 6b 25 66 6c  |%.1<<4.(...ok%fl|
00004f30  61 67 25 3d 66 6c 61 67  25 84 31 3c 3c 30 0d 29  |ag%=flag%.1<<0.)|
00004f40  04 1c e7 63 61 6e 63 65  6c 25 66 6c 61 67 25 3d  |...cancel%flag%=|
00004f50  66 6c 61 67 25 84 31 3c  3c 31 0d 29 0e 28 74 65  |flag%.1<<1.).(te|
00004f60  78 74 24 3d bd 28 30 29  2b bd 28 30 29 2b bd 28  |xt$=.(0)+.(0)+.(|
00004f70  30 29 2b bd 28 30 29 2b  74 65 78 74 24 2b bd 28  |0)+.(0)+text$+.(|
00004f80  30 29 0d 29 18 0c e7 63  6c 69 63 6b 25 8c 0d 29  |0).)...click%..)|
00004f90  22 36 c8 99 22 57 69 6d  70 5f 52 65 70 6f 72 74  |"6.."Wimp_Report|
00004fa0  45 72 72 6f 72 22 2c 74  65 78 74 24 2c 66 6c 61  |Error",text$,fla|
00004fb0  67 25 2c 61 70 70 5f 6e  61 6d 65 24 b8 2c 63 6c  |g%,app_name$.,cl|
00004fc0  69 63 6b 25 0d 29 2c 05  cc 0d 29 36 2e c8 99 22  |ick%.),...)6..."|
00004fd0  57 69 6d 70 5f 52 65 70  6f 72 74 45 72 72 6f 72  |Wimp_ReportError|
00004fe0  22 2c 74 65 78 74 24 2c  66 6c 61 67 25 2c 61 70  |",text$,flag%,ap|
00004ff0  70 5f 6e 61 6d 65 24 0d  29 40 05 cd 0d 29 54 05  |p_name$.)@...)T.|
00005000  e1 0d 29 72 0f dd f2 64  72 61 67 5f 69 6e 69 74  |..)r...drag_init|
00005010  0d 29 86 09 ea 63 6d 6f  73 0d 29 90 29 64 72 61  |.)...cmos.).)dra|
00005020  67 5f 73 74 61 72 74 25  3d a4 73 77 69 28 22 44  |g_start%=.swi("D|
00005030  72 61 67 41 53 70 72 69  74 65 5f 53 74 61 72 74  |ragASprite_Start|
00005040  22 29 0d 29 9a 27 64 72  61 67 5f 73 74 6f 70 25  |").).'drag_stop%|
00005050  3d a4 73 77 69 28 22 44  72 61 67 41 53 70 72 69  |=.swi("DragASpri|
00005060  74 65 5f 53 74 6f 70 22  29 0d 29 a4 1d c8 99 22  |te_Stop").)...."|
00005070  4f 53 5f 42 79 74 65 22  2c 31 36 31 2c 32 38 b8  |OS_Byte",161,28.|
00005080  2c 2c 63 6d 6f 73 0d 29  ae 2d e7 28 63 6d 6f 73  |,,cmos.).-.(cmos|
00005090  80 20 32 29 3d 30 20 64  72 61 67 5f 73 74 61 72  |. 2)=0 drag_star|
000050a0  74 25 3d 2d 31 3a 64 72  61 67 5f 73 74 6f 70 25  |t%=-1:drag_stop%|
000050b0  3d 2d 31 0d 29 c2 05 e1  0d 29 e0 0f dd a4 73 77  |=-1.)....)....sw|
000050c0  69 28 73 77 69 24 29 0d  29 ea 08 ea 73 77 69 0d  |i(swi$).)...swi.|
000050d0  29 f4 2e c8 99 22 58 4f  53 5f 53 57 49 4e 75 6d  |)...."XOS_SWINum|
000050e0  62 65 72 46 72 6f 6d 53  74 72 69 6e 67 22 2c 2c  |berFromString",,|
000050f0  73 77 69 24 b8 73 77 69  3b 66 6c 61 67 0d 29 fe  |swi$.swi;flag.).|
00005100  14 e7 28 66 6c 61 67 80  20 31 29 73 77 69 3d 2d  |..(flag. 1)swi=-|
00005110  31 0d 2a 08 08 3d 73 77  69 0d 2a 26 2f dd f2 64  |1.*..=swi.*&/..d|
00005120  72 61 67 5f 73 74 61 72  74 28 77 69 6e 64 6f 77  |rag_start(window|
00005130  25 2c 69 63 6f 6e 25 2c  64 72 61 67 5f 66 69 6c  |%,icon%,drag_fil|
00005140  65 5f 74 79 70 65 24 29  0d 2a 3a 0a ea 78 25 2c  |e_type$).*:..x%,|
00005150  79 25 0d 2a 4e 11 21 62  6c 6b 25 3d 77 69 6e 64  |y%.*N.!blk%=wind|
00005160  6f 77 25 0d 2a 58 21 c8  99 22 57 69 6d 70 5f 47  |ow%.*X!.."Wimp_G|
00005170  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00005180  62 6c 6b 25 0d 2a 62 15  78 25 3d 62 6c 6b 25 21  |blk%.*b.x%=blk%!|
00005190  34 2d 62 6c 6b 25 21 32  30 0d 2a 6c 16 79 25 3d  |4-blk%!20.*l.y%=|
000051a0  62 6c 6b 25 21 31 36 2d  62 6c 6b 25 21 32 34 0d  |blk%!16-blk%!24.|
000051b0  2a 80 10 62 6c 6b 25 21  34 3d 69 63 6f 6e 25 0d  |*..blk%!4=icon%.|
000051c0  2a 8a 1f c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |*...."Wimp_GetIc|
000051d0  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6b 25 0d 2a  |onState",,blk%.*|
000051e0  9e 0c 62 6c 6b 25 21 34  3d 35 0d 2a a8 0e 62 6c  |..blk%!4=5.*..bl|
000051f0  6b 25 21 38 2b 3d 78 25  0d 2a b2 0f 62 6c 6b 25  |k%!8+=x%.*..blk%|
00005200  21 31 32 2b 3d 79 25 0d  2a bc 0f 62 6c 6b 25 21  |!12+=y%.*..blk%!|
00005210  31 36 2b 3d 78 25 0d 2a  c6 0f 62 6c 6b 25 21 32  |16+=x%.*..blk%!2|
00005220  30 2b 3d 79 25 0d 2a d0  0e 62 6c 6b 25 21 32 34  |0+=y%.*..blk%!24|
00005230  3d 2d 31 0d 2a da 0e 62  6c 6b 25 21 32 38 3d 2d  |=-1.*..blk%!28=-|
00005240  31 0d 2a e4 15 62 6c 6b  25 21 33 32 3d 26 37 46  |1.*..blk%!32=&7F|
00005250  46 46 46 46 46 46 0d 2a  ee 15 62 6c 6b 25 21 33  |FFFFFF.*..blk%!3|
00005260  36 3d 26 37 46 46 46 46  46 46 46 0d 2b 02 14 e7  |6=&7FFFFFFF.+...|
00005270  64 72 61 67 5f 73 74 61  72 74 25 3d 2d 31 8c 0d  |drag_start%=-1..|
00005280  2b 0c 1a c8 99 22 57 69  6d 70 5f 44 72 61 67 42  |+...."Wimp_DragB|
00005290  6f 78 22 2c 2c 62 6c 6b  25 0d 2b 16 05 cc 0d 2b  |ox",,blk%.+....+|
000052a0  20 3c c8 99 64 72 61 67  5f 73 74 61 72 74 25 2c  | <..drag_start%,|
000052b0  25 31 31 30 30 30 31 30  31 2c 31 2c 64 72 61 67  |%11000101,1,drag|
000052c0  5f 66 69 6c 65 5f 74 79  70 65 24 2c 62 6c 6b 25  |_file_type$,blk%|
000052d0  2b 38 2c 62 6c 6b 25 2b  32 34 0d 2b 2a 05 cd 0d  |+8,blk%+24.+*...|
000052e0  2b 34 05 e1 0d 2b 52 0f  dd f2 64 72 61 67 5f 6f  |+4...+R...drag_o|
000052f0  76 65 72 0d 2b 66 24 ea  77 69 6e 64 6f 77 25 2c  |ver.+f$.window%,|
00005300  69 63 6f 6e 25 2c 78 25  2c 79 25 2c 66 69 6c 65  |icon%,x%,y%,file|
00005310  24 2c 73 69 7a 65 25 0d  2b 7a 0b 73 69 7a 65 25  |$,size%.+z.size%|
00005320  3d 30 0d 2b 8e 1f e7 64  72 61 67 5f 73 74 6f 70  |=0.+...drag_stop|
00005330  25 3c 3e 2d 31 c8 99 64  72 61 67 5f 73 74 6f 70  |%<>-1..drag_stop|
00005340  25 0d 2b 98 21 c8 99 22  57 69 6d 70 5f 47 65 74  |%.+.!.."Wimp_Get|
00005350  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 62 6c  |PointerInfo",,bl|
00005360  6b 25 0d 2b a2 0d 78 25  3d 62 6c 6b 25 21 30 0d  |k%.+..x%=blk%!0.|
00005370  2b ac 0d 79 25 3d 62 6c  6b 25 21 34 0d 2b b6 13  |+..y%=blk%!4.+..|
00005380  77 69 6e 64 6f 77 25 3d  62 6c 6b 25 21 31 32 0d  |window%=blk%!12.|
00005390  2b c0 11 69 63 6f 6e 25  3d 62 6c 6b 25 21 31 36  |+..icon%=blk%!16|
000053a0  0d 2b d4 69 e7 77 69 6e  64 6f 77 25 3c 3e 73 61  |.+.i.window%<>sa|
000053b0  76 65 61 73 31 5f 77 69  6e 64 6f 77 25 80 20 77  |veas1_window%. w|
000053c0  69 6e 64 6f 77 25 3c 3e  73 61 76 65 61 73 32 5f  |indow%<>saveas2_|
000053d0  77 69 6e 64 6f 77 25 80  20 77 69 6e 64 6f 77 25  |window%. window%|
000053e0  3c 3e 73 61 76 65 61 73  33 5f 77 69 6e 64 6f 77  |<>saveas3_window|
000053f0  25 80 20 77 69 6e 64 6f  77 25 3c 3e 6d 61 69 6e  |%. window%<>main|
00005400  5f 77 69 6e 64 6f 77 25  8c 0d 2b de 37 66 69 6c  |_window%..+.7fil|
00005410  65 24 3d a4 6c 65 61 66  28 a4 67 65 74 5f 74 65  |e$=.leaf(.get_te|
00005420  78 74 28 64 72 61 67 5f  77 69 6e 64 6f 77 25 2c  |xt(drag_window%,|
00005430  66 69 6c 65 6e 61 6d 65  5f 69 63 6f 6e 25 29 29  |filename_icon%))|
00005440  0d 2b e8 7a 62 6c 6b 25  21 30 3d 32 35 36 3a 62  |.+.zblk%!0=256:b|
00005450  6c 6b 25 21 31 32 3d 30  3a 62 6c 6b 25 21 31 36  |lk%!12=0:blk%!16|
00005460  3d 31 3a 62 6c 6b 25 21  32 30 3d 77 69 6e 64 6f  |=1:blk%!20=windo|
00005470  77 25 3a 62 6c 6b 25 21  32 34 3d 69 63 6f 6e 25  |w%:blk%!24=icon%|
00005480  3a 62 6c 6b 25 21 32 38  3d 78 25 3a 62 6c 6b 25  |:blk%!28=x%:blk%|
00005490  21 33 32 3d 79 25 3a 62  6c 6b 25 21 33 36 3d 73  |!32=y%:blk%!36=s|
000054a0  69 7a 65 25 3a 24 28 62  6c 6b 25 2b 34 34 29 3d  |ize%:$(blk%+44)=|
000054b0  66 69 6c 65 24 2b bd 28  30 29 0d 2b f2 13 c8 8e  |file$+.(0).+....|
000054c0  64 72 61 67 5f 77 69 6e  64 6f 77 25 ca 0d 2b fc  |drag_window%..+.|
000054d0  14 c9 73 61 76 65 61 73  31 5f 77 69 6e 64 6f 77  |..saveas1_window|
000054e0  25 0d 2c 06 10 62 6c 6b  25 21 34 30 3d 26 44 46  |%.,..blk%!40=&DF|
000054f0  45 0d 2c 10 14 c9 73 61  76 65 61 73 32 5f 77 69  |E.,...saveas2_wi|
00005500  6e 64 6f 77 25 0d 2c 1a  10 62 6c 6b 25 21 34 30  |ndow%.,..blk%!40|
00005510  3d 26 41 46 46 0d 2c 24  14 c9 73 61 76 65 61 73  |=&AFF.,$..saveas|
00005520  33 5f 77 69 6e 64 6f 77  25 0d 2c 2e 10 62 6c 6b  |3_window%.,..blk|
00005530  25 21 34 30 3d 26 46 46  46 0d 2c 38 05 cb 0d 2c  |%!40=&FFF.,8...,|
00005540  42 39 c8 99 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |B9.."Wimp_SendMe|
00005550  73 73 61 67 65 22 2c 31  37 2c 62 6c 6b 25 2c 77  |ssage",17,blk%,w|
00005560  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 b8 64 65 73  |indow%,icon%.des|
00005570  74 5f 74 61 73 6b 25 0d  2c 4c 05 cd 0d 2c 60 05  |t_task%.,L...,`.|
00005580  e1 0d 2c 7e 11 dd a4 6c  65 61 66 28 70 61 74 68  |..,~...leaf(path|
00005590  24 29 0d 2c 92 11 c8 95  a7 70 61 74 68 24 2c 22  |$).,.....path$,"|
000055a0  2e 22 29 0d 2c 9c 22 70  61 74 68 24 3d c1 70 61  |.").,."path$=.pa|
000055b0  74 68 24 2c a7 70 61 74  68 24 2c 22 2e 22 2c 69  |th$,.path$,".",i|
000055c0  25 29 2b 31 29 0d 2c a6  05 ce 0d 2c ba 0a 3d 70  |%)+1).,....,..=p|
000055d0  61 74 68 24 0d 2c d8 11  dd a4 70 61 74 68 28 70  |ath$.,....path(p|
000055e0  61 74 68 24 29 0d 2c ec  07 ea 69 25 0d 2d 00 14  |ath$).,...i%.-..|
000055f0  c8 95 a7 70 61 74 68 24  2c 22 2e 22 2c 69 25 29  |...path$,".",i%)|
00005600  0d 2d 0a 17 69 25 3d a7  70 61 74 68 24 2c 22 2e  |.-..i%=.path$,".|
00005610  22 2c 69 25 29 2b 31 0d  2d 14 05 ce 0d 2d 28 17  |",i%)+1.-....-(.|
00005620  e7 69 25 3d 30 20 69 25  3d a9 28 70 61 74 68 24  |.i%=0 i%=.(path$|
00005630  29 2b 31 0d 2d 32 11 3d  c0 70 61 74 68 24 2c 69  |)+1.-2.=.path$,i|
00005640  25 2d 31 29 0d 2d 50 0f  dd f2 6b 65 79 5f 70 72  |%-1).-P...key_pr|
00005650  65 73 73 0d 2d 64 2d ea  77 69 6e 64 6f 77 25 2c  |ess.-d-.window%,|
00005660  69 63 6f 6e 25 2c 6b 65  79 25 2c 66 69 6c 65 5f  |icon%,key%,file_|
00005670  6e 61 6d 65 24 2c 66 69  6c 65 5f 74 79 70 65 24  |name$,file_type$|
00005680  0d 2d 78 11 77 69 6e 64  6f 77 25 3d 21 62 6c 6b  |.-x.window%=!blk|
00005690  25 0d 2d 82 10 69 63 6f  6e 25 3d 62 6c 6b 25 21  |%.-..icon%=blk%!|
000056a0  34 0d 2d 8c 10 6b 65 79  25 3d 62 6c 6b 25 21 32  |4.-..key%=blk%!2|
000056b0  34 0d 2d a0 17 e7 6b 65  79 25 3d 32 37 f2 63 6c  |4.-...key%=27.cl|
000056c0  6f 73 65 5f 6d 65 6e 75  0d 2d b4 0b c8 8e 6b 65  |ose_menu.-....ke|
000056d0  79 25 ca 0d 2d be 08 c9  33 38 37 0d 2d c8 33 f2  |y%..-...387.-.3.|
000056e0  6f 70 65 6e 5f 73 61 76  65 5f 77 69 6e 64 6f 77  |open_save_window|
000056f0  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 73 61  |(main_window%,sa|
00005700  76 65 61 73 31 5f 77 69  6e 64 6f 77 25 29 0d 2d  |veas1_window%).-|
00005710  d2 2e f2 73 65 74 5f 63  61 72 65 74 28 73 61 76  |...set_caret(sav|
00005720  65 61 73 31 5f 77 69 6e  64 6f 77 25 2c 66 69 6c  |eas1_window%,fil|
00005730  65 6e 61 6d 65 5f 69 63  6f 6e 25 29 0d 2d dc 08  |ename_icon%).-..|
00005740  c9 33 38 38 0d 2d e6 30  f2 6f 70 65 6e 5f 73 61  |.388.-.0.open_sa|
00005750  76 65 5f 77 69 6e 64 6f  77 28 6d 61 69 6e 5f 77  |ve_window(main_w|
00005760  69 6e 64 6f 77 25 2c 67  6f 74 6f 5f 77 69 6e 64  |indow%,goto_wind|
00005770  6f 77 25 29 0d 2d f0 7e  e7 a4 73 65 6c 65 63 74  |ow%).-.~..select|
00005780  65 64 28 67 6f 74 6f 5f  77 69 6e 64 6f 77 25 2c  |ed(goto_window%,|
00005790  72 65 63 6f 72 64 5f 72  61 64 5f 69 63 6f 6e 25  |record_rad_icon%|
000057a0  29 f2 73 65 74 5f 63 61  72 65 74 28 67 6f 74 6f  |).set_caret(goto|
000057b0  5f 77 69 6e 64 6f 77 25  2c 72 65 63 6f 72 64 5f  |_window%,record_|
000057c0  77 72 69 5f 69 63 6f 6e  25 29 8b f2 73 65 74 5f  |wri_icon%)..set_|
000057d0  63 61 72 65 74 28 67 6f  74 6f 5f 77 69 6e 64 6f  |caret(goto_windo|
000057e0  77 25 2c 6e 61 6d 65 5f  77 72 69 5f 69 63 6f 6e  |w%,name_wri_icon|
000057f0  25 29 0d 2d fa 08 c9 33  38 39 0d 2e 04 30 f2 6f  |%).-...389...0.o|
00005800  70 65 6e 5f 73 61 76 65  5f 77 69 6e 64 6f 77 28  |pen_save_window(|
00005810  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 73 6f 72  |main_window%,sor|
00005820  74 5f 77 69 6e 64 6f 77  25 29 0d 2e 0e 08 c9 34  |t_window%).....4|
00005830  30 33 0d 2e 18 33 f2 6f  70 65 6e 5f 73 61 76 65  |03...3.open_save|
00005840  5f 77 69 6e 64 6f 77 28  6d 61 69 6e 5f 77 69 6e  |_window(main_win|
00005850  64 6f 77 25 2c 73 61 76  65 61 73 32 5f 77 69 6e  |dow%,saveas2_win|
00005860  64 6f 77 25 29 0d 2e 22  2e f2 73 65 74 5f 63 61  |dow%).."..set_ca|
00005870  72 65 74 28 73 61 76 65  61 73 32 5f 77 69 6e 64  |ret(saveas2_wind|
00005880  6f 77 25 2c 66 69 6c 65  6e 61 6d 65 5f 69 63 6f  |ow%,filename_ico|
00005890  6e 25 29 0d 2e 2c 08 c9  34 31 39 0d 2e 36 33 f2  |n%)..,..419..63.|
000058a0  6f 70 65 6e 5f 73 61 76  65 5f 77 69 6e 64 6f 77  |open_save_window|
000058b0  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 73 61  |(main_window%,sa|
000058c0  76 65 61 73 33 5f 77 69  6e 64 6f 77 25 29 0d 2e  |veas3_window%)..|
000058d0  40 2e f2 73 65 74 5f 63  61 72 65 74 28 73 61 76  |@..set_caret(sav|
000058e0  65 61 73 33 5f 77 69 6e  64 6f 77 25 2c 66 69 6c  |eas3_window%,fil|
000058f0  65 6e 61 6d 65 5f 69 63  6f 6e 25 29 0d 2e 4a 05  |ename_icon%)..J.|
00005900  cb 0d 2e 5e 0e c8 8e 77  69 6e 64 6f 77 25 ca 0d  |...^...window%..|
00005910  2e 68 34 c9 73 61 76 65  61 73 31 5f 77 69 6e 64  |.h4.saveas1_wind|
00005920  6f 77 25 2c 73 61 76 65  61 73 32 5f 77 69 6e 64  |ow%,saveas2_wind|
00005930  6f 77 25 2c 73 61 76 65  61 73 33 5f 77 69 6e 64  |ow%,saveas3_wind|
00005940  6f 77 25 0d 2e 72 27 f2  73 61 76 65 5f 6b 65 79  |ow%..r'.save_key|
00005950  5f 70 72 65 73 73 28 77  69 6e 64 6f 77 25 2c 6b  |_press(window%,k|
00005960  65 79 25 2c 69 63 6f 6e  25 29 0d 2e 7c 11 c9 6d  |ey%,icon%)..|..m|
00005970  61 69 6e 5f 77 69 6e 64  6f 77 25 0d 2e 86 0b c8  |ain_window%.....|
00005980  8e 6b 65 79 25 ca 0d 2e  90 07 c9 31 33 0d 2e 9a  |.key%......13...|
00005990  16 e7 69 63 6f 6e 25 3d  72 61 32 6d 5f 69 63 6f  |..icon%=ra2m_ico|
000059a0  6e 25 8c 0d 2e a4 24 e7  63 75 72 72 65 6e 74 5f  |n%....$.current_|
000059b0  72 65 63 6f 72 64 25 3d  6e 6f 5f 6f 66 5f 72 65  |record%=no_of_re|
000059c0  63 6f 72 64 73 25 8c 0d  2e ae 15 6e 6f 5f 6f 66  |cords%.....no_of|
000059d0  5f 72 65 63 6f 72 64 73  25 2b 3d 31 0d 2e b8 3c  |_records%+=1...<|
000059e0  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
000059f0  69 6e 64 6f 77 25 2c 6e  6f 69 6e 67 70 5f 69 63  |indow%,noingp_ic|
00005a00  6f 6e 25 2c c3 28 6e 6f  5f 6f 66 5f 72 65 63 6f  |on%,.(no_of_reco|
00005a10  72 64 73 25 2b 31 29 29  0d 2e c2 05 cd 0d 2e cc  |rds%+1))........|
00005a20  0c f2 66 6f 72 77 61 72  64 0d 2e d6 05 cd 0d 2e  |..forward.......|
00005a30  e0 05 7f 0d 2e ea 1c c8  99 22 57 69 6d 70 5f 50  |........."Wimp_P|
00005a40  72 6f 63 65 73 73 4b 65  79 22 2c 6b 65 79 25 0d  |rocessKey",key%.|
00005a50  2e f4 05 cb 0d 2e fe 11  c9 67 6f 74 6f 5f 77 69  |.........goto_wi|
00005a60  6e 64 6f 77 25 0d 2f 08  0d e7 6b 65 79 25 3d 31  |ndow%./...key%=1|
00005a70  33 8c 0d 2f 12 0f f2 63  6c 6f 73 65 5f 6d 65 6e  |3../...close_men|
00005a80  75 0d 2f 1c 09 f2 67 6f  74 6f 0d 2f 26 05 cd 0d  |u./...goto./&...|
00005a90  2f 30 05 7f 0d 2f 3a 1c  c8 99 22 57 69 6d 70 5f  |/0.../:..."Wimp_|
00005aa0  50 72 6f 63 65 73 73 4b  65 79 22 2c 6b 65 79 25  |ProcessKey",key%|
00005ab0  0d 2f 44 05 cb 0d 2f 58  05 e1 0d 2f 76 28 dd f2  |./D.../X.../v(..|
00005ac0  73 61 76 65 5f 6b 65 79  5f 70 72 65 73 73 28 77  |save_key_press(w|
00005ad0  69 6e 64 6f 77 25 2c 6b  65 79 25 2c 69 63 6f 6e  |indow%,key%,icon|
00005ae0  25 29 0d 2f 8a 10 ea 66  69 6c 65 24 2c 74 79 70  |%)./...file$,typ|
00005af0  65 25 0d 2f 9e 0b c8 8e  6b 65 79 25 ca 0d 2f b2  |e%./....key%../.|
00005b00  07 c9 31 33 0d 2f bc 22  66 69 6c 65 24 3d a4 67  |..13./."file$=.g|
00005b10  65 74 5f 74 65 78 74 28  77 69 6e 64 6f 77 25 2c  |et_text(window%,|
00005b20  69 63 6f 6e 25 29 0d 2f  c6 11 e7 a7 66 69 6c 65  |icon%)./....file|
00005b30  24 2c 22 2e 22 29 8c 0d  2f d0 0e c8 8e 77 69 6e  |$,".")../....win|
00005b40  64 6f 77 25 ca 0d 2f da  14 c9 73 61 76 65 61 73  |dow%../...saveas|
00005b50  31 5f 77 69 6e 64 6f 77  25 0d 2f e4 15 f2 73 61  |1_window%./...sa|
00005b60  76 65 5f 64 61 74 61 28  66 69 6c 65 24 29 0d 2f  |ve_data(file$)./|
00005b70  ee 0f f2 63 6c 6f 73 65  5f 6d 65 6e 75 0d 2f f8  |...close_menu./.|
00005b80  14 c9 73 61 76 65 61 73  32 5f 77 69 6e 64 6f 77  |..saveas2_window|
00005b90  25 0d 30 02 15 f2 73 61  76 65 5f 64 72 61 77 28  |%.0...save_draw(|
00005ba0  66 69 6c 65 24 29 0d 30  0c 0f f2 63 6c 6f 73 65  |file$).0...close|
00005bb0  5f 6d 65 6e 75 0d 30 16  14 c9 73 61 76 65 61 73  |_menu.0...saveas|
00005bc0  33 5f 77 69 6e 64 6f 77  25 0d 30 20 15 f2 73 61  |3_window%.0 ..sa|
00005bd0  76 65 5f 74 65 78 74 28  66 69 6c 65 24 29 0d 30  |ve_text(file$).0|
00005be0  2a 0f f2 63 6c 6f 73 65  5f 6d 65 6e 75 0d 30 34  |*..close_menu.04|
00005bf0  05 cb 0d 30 3e 05 cc 0d  30 48 4d f2 72 65 70 6f  |...0>...0HM.repo|
00005c00  72 74 5f 65 72 72 6f 72  28 22 54 6f 20 73 61 76  |rt_error("To sav|
00005c10  65 2c 20 64 72 61 67 20  74 68 65 20 69 63 6f 6e  |e, drag the icon|
00005c20  20 74 6f 20 61 20 64 69  72 65 63 74 6f 72 79 20  | to a directory |
00005c30  64 69 73 70 6c 61 79 22  2c b9 2c a3 2c 66 61 6c  |display",.,.,fal|
00005c40  73 65 25 29 0d 30 52 05  cd 0d 30 5c 05 7f 0d 30  |se%).0R...0\...0|
00005c50  66 1c c8 99 22 57 69 6d  70 5f 50 72 6f 63 65 73  |f..."Wimp_Proces|
00005c60  73 4b 65 79 22 2c 6b 65  79 25 0d 30 70 05 cb 0d  |sKey",key%.0p...|
00005c70  30 84 05 e1 0d 30 a2 10  dd f2 63 6c 6f 73 65 5f  |0....0....close_|
00005c80  6d 65 6e 75 0d 30 ac 1b  c8 99 22 57 69 6d 70 5f  |menu.0...."Wimp_|
00005c90  43 72 65 61 74 65 4d 65  6e 75 22 2c 2c 2d 31 0d  |CreateMenu",,-1.|
00005ca0  30 b6 05 e1 0d 30 d4 12  dd f2 73 61 76 65 5f 72  |0....0....save_r|
00005cb0  65 71 75 65 73 74 0d 30  e8 12 e7 62 6c 6b 25 21  |equest.0...blk%!|
00005cc0  34 30 3d 26 44 46 45 8c  0d 30 f2 20 e7 a4 73 79  |40=&DFE..0. ..sy|
00005cd0  73 5f 76 61 72 28 22 57  69 6d 70 24 53 63 72 61  |s_var("Wimp$Scra|
00005ce0  70 22 29 3c 3e 22 22 8c  0d 30 fc 0e 62 6c 6b 25  |p")<>""..0..blk%|
00005cf0  21 33 36 3d 2d 31 0d 31  06 22 24 28 62 6c 6b 25  |!36=-1.1."$(blk%|
00005d00  2b 34 34 29 3d 22 3c 57  69 6d 70 24 53 63 72 61  |+44)="<Wimp$Scra|
00005d10  70 3e 22 2b bd 28 30 29  0d 31 10 0d 62 6c 6b 25  |p>"+.(0).1..blk%|
00005d20  21 30 3d 36 34 0d 31 1a  40 62 6c 6b 25 21 31 32  |!0=64.1.@blk%!12|
00005d30  3d 62 6c 6b 25 21 38 3a  62 6c 6b 25 21 31 36 3d  |=blk%!8:blk%!16=|
00005d40  32 3a c8 99 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |2:.."Wimp_SendMe|
00005d50  73 73 61 67 65 22 2c 31  37 2c 62 6c 6b 25 2c 62  |ssage",17,blk%,b|
00005d60  6c 6b 25 21 34 0d 31 24  05 cc 0d 31 2e 35 f2 72  |lk%!4.1$...1.5.r|
00005d70  65 70 6f 72 74 5f 65 72  72 6f 72 28 22 57 69 6d  |eport_error("Wim|
00005d80  70 24 53 63 72 61 70 20  6e 6f 74 20 66 6f 75 6e  |p$Scrap not foun|
00005d90  64 2e 22 2c b9 2c a3 2c  66 61 6c 73 65 25 29 0d  |d.",.,.,false%).|
00005da0  31 38 47 f2 72 65 70 6f  72 74 5f 65 72 72 6f 72  |18G.report_error|
00005db0  28 61 70 70 5f 6e 61 6d  65 24 2b 22 20 6e 65 65  |(app_name$+" nee|
00005dc0  64 73 20 74 6f 20 68 61  76 65 20 27 73 65 65 6e  |ds to have 'seen|
00005dd0  27 20 21 53 63 72 61 70  2e 22 2c b9 2c a3 2c 66  |' !Scrap.",.,.,f|
00005de0  61 6c 73 65 25 29 0d 31  42 05 cd 0d 31 4c 05 cd  |alse%).1B...1L..|
00005df0  0d 31 60 05 e1 0d 31 7e  12 dd f2 6c 6f 61 64 5f  |.1`...1~...load_|
00005e00  72 65 71 75 65 73 74 0d  31 92 21 ea 68 61 6e 64  |request.1.!.hand|
00005e10  6c 65 25 2c 69 25 2c 65  6f 6c 25 2c 66 69 6c 65  |le%,i%,eol%,file|
00005e20  24 2c 63 6c 69 63 6b 25  0d 31 a6 12 e7 62 6c 6b  |$,click%.1...blk|
00005e30  25 21 34 30 3d 26 44 46  45 8c 0d 31 ba 0f e7 a4  |%!40=&DFE..1....|
00005e40  61 73 6b 32 73 61 76 65  8c 0d 31 c4 0c 63 6c 69  |ask2save..1..cli|
00005e50  63 6b 25 3d b9 0d 31 ce  49 f2 72 65 70 6f 72 74  |ck%=..1.I.report|
00005e60  5f 65 72 72 6f 72 28 22  4c 6f 61 64 69 6e 67 20  |_error("Loading |
00005e70  77 69 6c 6c 20 77 69 70  65 20 63 75 72 72 65 6e  |will wipe curren|
00005e80  74 20 55 4e 73 61 76 65  64 20 64 61 74 61 2e 2e  |t UNsaved data..|
00005e90  2e 22 2c b9 2c b9 2c 63  6c 69 63 6b 25 29 0d 31  |.",.,.,click%).1|
00005ea0  d8 05 cc 0d 31 e2 0c 63  6c 69 63 6b 25 3d 31 0d  |....1..click%=1.|
00005eb0  31 ec 05 cd 0d 32 00 0f  e7 63 6c 69 63 6b 25 3c  |1....2...click%<|
00005ec0  3e 31 e1 0d 32 14 14 c8  99 22 48 6f 75 72 67 6c  |>1..2...."Hourgl|
00005ed0  61 73 73 5f 4f 6e 22 0d  32 1e 10 f2 77 69 70 65  |ass_On".2...wipe|
00005ee0  5f 61 6c 6c 28 a3 29 0d  32 32 22 66 69 6c 65 24  |_all(.).22"file$|
00005ef0  3d a4 67 65 74 5f 73 74  72 69 6e 67 28 62 6c 6b  |=.get_string(blk|
00005f00  25 2b 34 34 2c 32 35 35  29 0d 32 3c 14 68 61 6e  |%+44,255).2<.han|
00005f10  64 6c 65 25 3d 8e 28 66  69 6c 65 24 29 0d 32 50  |dle%=.(file$).2P|
00005f20  22 67 72 6f 75 70 24 3d  a4 67 65 74 5f 63 65 6c  |"group$=.get_cel|
00005f30  6c 28 68 61 6e 64 6c 65  25 2c 65 6f 6c 25 29 0d  |l(handle%,eol%).|
00005f40  32 64 0a 65 6f 6c 25 3d  30 0d 32 78 0b e3 69 25  |2d.eol%=0.2x..i%|
00005f50  3d 30 b8 31 0d 32 82 0b  e3 6a 25 3d 30 b8 32 0d  |=0.1.2...j%=0.2.|
00005f60  32 8c 33 e7 65 6f 6c 25  3d 30 20 74 65 73 74 25  |2.3.eol%=0 test%|
00005f70  28 6a 25 2c 69 25 29 3d  bb 28 a4 67 65 74 5f 63  |(j%,i%)=.(.get_c|
00005f80  65 6c 6c 28 68 61 6e 64  6c 65 25 2c 65 6f 6c 25  |ell(handle%,eol%|
00005f90  29 29 0d 32 96 05 ed 0d  32 a0 05 ed 0d 32 b4 1c  |)).2....2....2..|
00005fa0  e3 69 25 3d 30 b8 6d 61  78 5f 6e 6f 5f 6f 66 5f  |.i%=0.max_no_of_|
00005fb0  72 65 63 6f 72 64 73 25  0d 32 c8 0a 65 6f 6c 25  |records%.2..eol%|
00005fc0  3d 30 0d 32 d2 27 6e 61  6d 65 24 28 30 2c 69 25  |=0.2.'name$(0,i%|
00005fd0  29 3d a4 67 65 74 5f 63  65 6c 6c 28 68 61 6e 64  |)=.get_cell(hand|
00005fe0  6c 65 25 2c 65 6f 6c 25  29 0d 32 dc 27 6e 61 6d  |le%,eol%).2.'nam|
00005ff0  65 24 28 31 2c 69 25 29  3d a4 67 65 74 5f 63 65  |e$(1,i%)=.get_ce|
00006000  6c 6c 28 68 61 6e 64 6c  65 25 2c 65 6f 6c 25 29  |ll(handle%,eol%)|
00006010  0d 32 e6 0b e3 6a 25 3d  30 b8 32 0d 32 f0 2a 64  |.2...j%=0.2.2.*d|
00006020  6f 62 25 28 6a 25 2c 69  25 29 3d bb 28 a4 67 65  |ob%(j%,i%)=.(.ge|
00006030  74 5f 63 65 6c 6c 28 68  61 6e 64 6c 65 25 2c 65  |t_cell(handle%,e|
00006040  6f 6c 25 29 29 0d 32 fa  05 ed 0d 33 04 51 72 61  |ol%)).2....3.Qra|
00006050  25 28 30 2c 30 2c 69 25  29 3d bb 28 a4 67 65 74  |%(0,0,i%)=.(.get|
00006060  5f 63 65 6c 6c 28 68 61  6e 64 6c 65 25 2c 65 6f  |_cell(handle%,eo|
00006070  6c 25 29 29 3a 72 61 25  28 30 2c 31 2c 69 25 29  |l%)):ra%(0,1,i%)|
00006080  3d bb 28 a4 67 65 74 5f  63 65 6c 6c 28 68 61 6e  |=.(.get_cell(han|
00006090  64 6c 65 25 2c 65 6f 6c  25 29 29 0d 33 0e 59 e7  |dle%,eol%)).3.Y.|
000060a0  65 6f 6c 25 3d 30 20 72  61 25 28 31 2c 30 2c 69  |eol%=0 ra%(1,0,i|
000060b0  25 29 3d bb 28 a4 67 65  74 5f 63 65 6c 6c 28 68  |%)=.(.get_cell(h|
000060c0  61 6e 64 6c 65 25 2c 65  6f 6c 25 29 29 3a 72 61  |andle%,eol%)):ra|
000060d0  25 28 31 2c 31 2c 69 25  29 3d bb 28 a4 67 65 74  |%(1,1,i%)=.(.get|
000060e0  5f 63 65 6c 6c 28 68 61  6e 64 6c 65 25 2c 65 6f  |_cell(handle%,eo|
000060f0  6c 25 29 29 0d 33 18 33  e7 65 6f 6c 25 3d 32 20  |l%)).3.3.eol%=2 |
00006100  6e 6f 5f 6f 66 5f 72 65  63 6f 72 64 73 25 3d 69  |no_of_records%=i|
00006110  25 3a 69 25 3d 6d 61 78  5f 6e 6f 5f 6f 66 5f 72  |%:i%=max_no_of_r|
00006120  65 63 6f 72 64 73 25 0d  33 2c 05 ed 0d 33 40 0d  |ecords%.3,...3@.|
00006130  d9 23 68 61 6e 64 6c 65  25 0d 33 54 66 e7 66 69  |.#handle%.3Tf.fi|
00006140  6c 65 24 3d 22 3c 57 69  6d 70 24 53 63 72 61 70  |le$="<Wimp$Scrap|
00006150  3e 22 ff 28 22 2a 44 45  4c 45 54 45 20 22 22 3c  |>".("*DELETE ""<|
00006160  57 69 6d 70 24 53 63 72  61 70 3e 22 22 22 29 8b  |Wimp$Scrap>""").|
00006170  f2 70 75 74 5f 74 65 78  74 28 73 61 76 65 61 73  |.put_text(saveas|
00006180  31 5f 77 69 6e 64 6f 77  25 2c 66 69 6c 65 6e 61  |1_window%,filena|
00006190  6d 65 5f 69 63 6f 6e 25  2c 66 69 6c 65 24 29 0d  |me_icon%,file$).|
000061a0  33 5e 38 f2 70 75 74 5f  74 65 78 74 28 73 61 76  |3^8.put_text(sav|
000061b0  65 61 73 32 5f 77 69 6e  64 6f 77 25 2c 66 69 6c  |eas2_window%,fil|
000061c0  65 6e 61 6d 65 5f 69 63  6f 6e 25 2c 22 52 41 a0  |ename_icon%,"RA.|
000061d0  47 72 61 70 68 22 29 0d  33 68 37 f2 70 75 74 5f  |Graph").3h7.put_|
000061e0  74 65 78 74 28 73 61 76  65 61 73 33 5f 77 69 6e  |text(saveas3_win|
000061f0  64 6f 77 25 2c 66 69 6c  65 6e 61 6d 65 5f 69 63  |dow%,filename_ic|
00006200  6f 6e 25 2c 22 52 41 a0  54 65 78 74 22 29 0d 33  |on%,"RA.Text").3|
00006210  7c 12 62 6c 6b 25 21 31  32 3d 62 6c 6b 25 21 38  ||.blk%!12=blk%!8|
00006220  0d 33 86 0d 62 6c 6b 25  21 31 36 3d 34 0d 33 90  |.3..blk%!16=4.3.|
00006230  27 c8 99 22 57 69 6d 70  5f 53 65 6e 64 4d 65 73  |'.."Wimp_SendMes|
00006240  73 61 67 65 22 2c 31 37  2c 62 6c 6b 25 2c 62 6c  |sage",17,blk%,bl|
00006250  6b 25 21 34 0d 33 a4 1e  f2 6f 70 65 6e 5f 77 69  |k%!4.3...open_wi|
00006260  6e 64 6f 77 28 6d 61 69  6e 5f 77 69 6e 64 6f 77  |ndow(main_window|
00006270  25 29 0d 33 ae 2f f2 70  75 74 5f 74 65 78 74 28  |%).3./.put_text(|
00006280  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 67 70 6e  |main_window%,gpn|
00006290  61 6d 65 5f 69 63 6f 6e  25 2c 67 72 6f 75 70 24  |ame_icon%,group$|
000062a0  29 0d 33 b8 3c f2 70 75  74 5f 74 65 78 74 28 6d  |).3.<.put_text(m|
000062b0  61 69 6e 5f 77 69 6e 64  6f 77 25 2c 6e 6f 69 6e  |ain_window%,noin|
000062c0  67 70 5f 69 63 6f 6e 25  2c c3 28 6e 6f 5f 6f 66  |gp_icon%,.(no_of|
000062d0  5f 72 65 63 6f 72 64 73  25 2b 31 29 29 0d 33 c2  |_records%+1)).3.|
000062e0  15 63 75 72 72 65 6e 74  5f 72 65 63 6f 72 64 25  |.current_record%|
000062f0  3d 30 0d 33 cc 21 f2 6c  6f 61 64 5f 72 65 63 6f  |=0.3.!.load_reco|
00006300  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
00006310  64 25 29 0d 33 d6 35 f2  70 75 74 5f 74 65 78 74  |d%).3.5.put_text|
00006320  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 74 73  |(main_window%,ts|
00006330  74 31 64 5f 69 63 6f 6e  25 2c c3 28 74 65 73 74  |t1d_icon%,.(test|
00006340  25 28 30 2c 30 29 29 29  0d 33 e0 35 f2 70 75 74  |%(0,0))).3.5.put|
00006350  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00006360  77 25 2c 74 73 74 31 6d  5f 69 63 6f 6e 25 2c c3  |w%,tst1m_icon%,.|
00006370  28 74 65 73 74 25 28 31  2c 30 29 29 29 0d 33 ea  |(test%(1,0))).3.|
00006380  35 f2 70 75 74 5f 74 65  78 74 28 6d 61 69 6e 5f  |5.put_text(main_|
00006390  77 69 6e 64 6f 77 25 2c  74 73 74 31 79 5f 69 63  |window%,tst1y_ic|
000063a0  6f 6e 25 2c c3 28 74 65  73 74 25 28 32 2c 30 29  |on%,.(test%(2,0)|
000063b0  29 29 0d 33 f4 35 f2 70  75 74 5f 74 65 78 74 28  |)).3.5.put_text(|
000063c0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
000063d0  32 64 5f 69 63 6f 6e 25  2c c3 28 74 65 73 74 25  |2d_icon%,.(test%|
000063e0  28 30 2c 31 29 29 29 0d  33 fe 35 f2 70 75 74 5f  |(0,1))).3.5.put_|
000063f0  74 65 78 74 28 6d 61 69  6e 5f 77 69 6e 64 6f 77  |text(main_window|
00006400  25 2c 74 73 74 32 6d 5f  69 63 6f 6e 25 2c c3 28  |%,tst2m_icon%,.(|
00006410  74 65 73 74 25 28 31 2c  31 29 29 29 0d 34 08 35  |test%(1,1))).4.5|
00006420  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00006430  69 6e 64 6f 77 25 2c 74  73 74 32 79 5f 69 63 6f  |indow%,tst2y_ico|
00006440  6e 25 2c c3 28 74 65 73  74 25 28 32 2c 31 29 29  |n%,.(test%(2,1))|
00006450  29 0d 34 1c 15 c8 99 22  48 6f 75 72 67 6c 61 73  |).4...."Hourglas|
00006460  73 5f 4f 66 66 22 0d 34  30 05 cd 0d 34 44 05 e1  |s_Off".40...4D..|
00006470  0d 34 62 1e dd a4 67 65  74 5f 73 74 72 69 6e 67  |.4b...get_string|
00006480  28 70 74 72 25 2c 6c 65  6e 67 74 68 25 29 0d 34  |(ptr%,length%).4|
00006490  76 0a ea 74 65 6d 70 24  0d 34 8a 1a e7 6c 65 6e  |v..temp$.4...len|
000064a0  67 74 68 25 3d 30 20 6c  65 6e 67 74 68 25 3d 32  |gth%=0 length%=2|
000064b0  35 35 0d 34 94 1d e3 70  74 72 25 3d 70 74 72 25  |55.4...ptr%=ptr%|
000064c0  b8 70 74 72 25 2b 6c 65  6e 67 74 68 25 2d 31 0d  |.ptr%+length%-1.|
000064d0  34 9e 0e e7 3f 70 74 72  25 3c 33 32 8c 0d 34 a8  |4...?ptr%<32..4.|
000064e0  0a 3d 74 65 6d 70 24 0d  34 b2 05 cc 0d 34 bc 13  |.=temp$.4....4..|
000064f0  74 65 6d 70 24 2b 3d bd  28 3f 70 74 72 25 29 0d  |temp$+=.(?ptr%).|
00006500  34 c6 05 cd 0d 34 d0 05  ed 0d 34 da 0a 3d 74 65  |4....4....4..=te|
00006510  6d 70 24 0d 34 f8 11 dd  f2 73 61 76 65 5f 64 65  |mp$.4....save_de|
00006520  6d 61 6e 64 0d 35 0c 10  ea 66 69 6c 65 24 2c 74  |mand.5...file$,t|
00006530  79 70 65 25 0d 35 20 22  66 69 6c 65 24 3d a4 67  |ype%.5 "file$=.g|
00006540  65 74 5f 73 74 72 69 6e  67 28 62 6c 6b 25 2b 34  |et_string(blk%+4|
00006550  34 2c 32 35 35 29 0d 35  2a 27 e7 62 6c 6b 25 21  |4,255).5*'.blk%!|
00006560  33 36 3d 2d 31 8c 74 6f  5f 66 69 6c 65 72 25 3d  |36=-1.to_filer%=|
00006570  a3 8b 74 6f 5f 66 69 6c  65 72 25 3d b9 0d 35 34  |..to_filer%=..54|
00006580  11 74 79 70 65 25 3d 62  6c 6b 25 21 34 30 0d 35  |.type%=blk%!40.5|
00006590  48 13 c8 8e 64 72 61 67  5f 77 69 6e 64 6f 77 25  |H...drag_window%|
000065a0  ca 0d 35 52 14 c9 73 61  76 65 61 73 31 5f 77 69  |..5R..saveas1_wi|
000065b0  6e 64 6f 77 25 0d 35 5c  15 f2 73 61 76 65 5f 64  |ndow%.5\..save_d|
000065c0  61 74 61 28 66 69 6c 65  24 29 0d 35 66 40 62 6c  |ata(file$).5f@bl|
000065d0  6b 25 21 31 32 3d 62 6c  6b 25 21 38 3a 62 6c 6b  |k%!12=blk%!8:blk|
000065e0  25 21 31 36 3d 33 3a c8  99 22 57 69 6d 70 5f 53  |%!16=3:.."Wimp_S|
000065f0  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 37 2c 62  |endMessage",17,b|
00006600  6c 6b 25 2c 62 6c 6b 25  21 34 0d 35 70 3d e7 74  |lk%,blk%!4.5p=.t|
00006610  6f 5f 66 69 6c 65 72 25  f2 70 75 74 5f 74 65 78  |o_filer%.put_tex|
00006620  74 28 73 61 76 65 61 73  31 5f 77 69 6e 64 6f 77  |t(saveas1_window|
00006630  25 2c 66 69 6c 65 6e 61  6d 65 5f 69 63 6f 6e 25  |%,filename_icon%|
00006640  2c 66 69 6c 65 24 29 0d  35 7a 14 c9 73 61 76 65  |,file$).5z..save|
00006650  61 73 32 5f 77 69 6e 64  6f 77 25 0d 35 84 15 f2  |as2_window%.5...|
00006660  73 61 76 65 5f 64 72 61  77 28 66 69 6c 65 24 29  |save_draw(file$)|
00006670  0d 35 8e 40 62 6c 6b 25  21 31 32 3d 62 6c 6b 25  |.5.@blk%!12=blk%|
00006680  21 38 3a 62 6c 6b 25 21  31 36 3d 33 3a c8 99 22  |!8:blk%!16=3:.."|
00006690  57 69 6d 70 5f 53 65 6e  64 4d 65 73 73 61 67 65  |Wimp_SendMessage|
000066a0  22 2c 31 37 2c 62 6c 6b  25 2c 62 6c 6b 25 21 34  |",17,blk%,blk%!4|
000066b0  0d 35 98 3d e7 74 6f 5f  66 69 6c 65 72 25 f2 70  |.5.=.to_filer%.p|
000066c0  75 74 5f 74 65 78 74 28  73 61 76 65 61 73 32 5f  |ut_text(saveas2_|
000066d0  77 69 6e 64 6f 77 25 2c  66 69 6c 65 6e 61 6d 65  |window%,filename|
000066e0  5f 69 63 6f 6e 25 2c 66  69 6c 65 24 29 0d 35 a2  |_icon%,file$).5.|
000066f0  14 c9 73 61 76 65 61 73  33 5f 77 69 6e 64 6f 77  |..saveas3_window|
00006700  25 0d 35 ac 15 f2 73 61  76 65 5f 74 65 78 74 28  |%.5...save_text(|
00006710  66 69 6c 65 24 29 0d 35  b6 40 62 6c 6b 25 21 31  |file$).5.@blk%!1|
00006720  32 3d 62 6c 6b 25 21 38  3a 62 6c 6b 25 21 31 36  |2=blk%!8:blk%!16|
00006730  3d 33 3a c8 99 22 57 69  6d 70 5f 53 65 6e 64 4d  |=3:.."Wimp_SendM|
00006740  65 73 73 61 67 65 22 2c  31 37 2c 62 6c 6b 25 2c  |essage",17,blk%,|
00006750  62 6c 6b 25 21 34 0d 35  c0 3d e7 74 6f 5f 66 69  |blk%!4.5.=.to_fi|
00006760  6c 65 72 25 f2 70 75 74  5f 74 65 78 74 28 73 61  |ler%.put_text(sa|
00006770  76 65 61 73 33 5f 77 69  6e 64 6f 77 25 2c 66 69  |veas3_window%,fi|
00006780  6c 65 6e 61 6d 65 5f 69  63 6f 6e 25 2c 66 69 6c  |lename_icon%,fil|
00006790  65 24 29 0d 35 ca 05 cb  0d 35 d4 05 e1 0d 35 f2  |e$).5....5....5.|
000067a0  1d dd a4 67 65 74 5f 63  65 6c 6c 28 68 61 6e 64  |...get_cell(hand|
000067b0  6c 65 25 2c f8 65 6f 6c  25 29 0d 35 fc 16 ea 74  |le%,.eol%).5...t|
000067c0  65 6d 70 24 2c 74 65 6d  70 25 2c 63 65 6c 6c 24  |emp$,temp%,cell$|
000067d0  0d 36 06 14 e7 c5 23 68  61 6e 64 6c 65 25 65 6f  |.6....#handle%eo|
000067e0  6c 25 3d 32 0d 36 10 3b  c8 95 65 6f 6c 25 3c 3e  |l%=2.6.;..eol%<>|
000067f0  32 80 20 74 65 6d 70 25  3c 3e 34 34 80 20 74 65  |2. temp%<>44. te|
00006800  6d 70 25 3c 3e 31 30 80  20 74 65 6d 70 25 3c 3e  |mp%<>10. temp%<>|
00006810  31 33 80 a9 28 63 65 6c  6c 24 29 3c 32 35 35 0d  |13..(cell$)<255.|
00006820  36 1a 1c e7 74 65 6d 70  25 3c 3e 30 20 74 65 6d  |6...temp%<>0 tem|
00006830  70 24 3d bd 28 74 65 6d  70 25 29 0d 36 24 17 e7  |p$=.(temp%).6$..|
00006840  74 65 6d 70 24 3d 22 22  22 22 74 65 6d 70 24 3d  |temp$=""""temp$=|
00006850  22 22 0d 36 2e 10 63 65  6c 6c 24 2b 3d 74 65 6d  |"".6..cell$+=tem|
00006860  70 24 0d 36 38 13 74 65  6d 70 25 3d 9a 23 68 61  |p$.68.temp%=.#ha|
00006870  6e 64 6c 65 25 0d 36 42  1d e7 74 65 6d 70 25 3d  |ndle%.6B..temp%=|
00006880  31 30 84 74 65 6d 70 25  3d 31 33 20 65 6f 6c 25  |10.temp%=13 eol%|
00006890  3d 31 0d 36 4c 0f e7 c5  23 68 61 6e 64 6c 65 25  |=1.6L...#handle%|
000068a0  8c 0d 36 56 0a 65 6f 6c  25 3d 32 0d 36 60 1c e7  |..6V.eol%=2.6`..|
000068b0  74 65 6d 70 25 3c 3e 30  20 74 65 6d 70 24 3d bd  |temp%<>0 temp$=.|
000068c0  28 74 65 6d 70 25 29 0d  36 6a 17 e7 74 65 6d 70  |(temp%).6j..temp|
000068d0  24 3d 22 22 22 22 74 65  6d 70 24 3d 22 22 0d 36  |$=""""temp$="".6|
000068e0  74 10 63 65 6c 6c 24 2b  3d 74 65 6d 70 24 0d 36  |t.cell$+=temp$.6|
000068f0  7e 05 cd 0d 36 88 05 ce  0d 36 92 0a 3d 63 65 6c  |~...6....6..=cel|
00006900  6c 24 0d 36 b0 1b dd f2  6f 75 74 70 75 74 28 68  |l$.6....output(h|
00006910  61 6e 64 6c 65 25 2c 6c  69 6e 65 24 29 0d 36 ce  |andle%,line$).6.|
00006920  07 ea 69 25 0d 36 e2 1b  e7 6c 69 6e 65 24 3d 22  |..i%.6...line$="|
00006930  22 d5 23 68 61 6e 64 6c  65 25 2c 31 30 3a e1 0d  |".#handle%,10:..|
00006940  36 f6 12 e3 69 25 3d 31  b8 a9 28 6c 69 6e 65 24  |6...i%=1..(line$|
00006950  29 0d 37 0a 1d d5 23 68  61 6e 64 6c 65 25 2c 97  |).7...#handle%,.|
00006960  28 c1 6c 69 6e 65 24 2c  69 25 2c 31 29 29 0d 37  |(.line$,i%,1)).7|
00006970  1e 05 ed 0d 37 32 10 d5  23 68 61 6e 64 6c 65 25  |....72..#handle%|
00006980  2c 31 30 0d 37 46 05 e1  0d 37 64 16 dd f2 73 61  |,10.7F...7d...sa|
00006990  76 65 5f 64 72 61 77 28  66 69 6c 65 24 29 0d 37  |ve_draw(file$).7|
000069a0  78 1d ea 65 72 72 6f 72  25 2c 63 6c 69 63 6b 25  |x..error%,click%|
000069b0  2c 69 25 2c 61 70 70 65  6e 64 25 0d 37 8c 17 e7  |,i%,append%.7...|
000069c0  6e 6f 5f 6f 66 5f 72 65  63 6f 72 64 73 25 3e 33  |no_of_records%>3|
000069d0  30 8c 0d 37 96 0c 63 6c  69 63 6b 25 3d b9 0d 37  |0..7..click%=..7|
000069e0  a0 99 f2 72 65 70 6f 72  74 5f 65 72 72 6f 72 28  |...report_error(|
000069f0  22 54 68 65 20 67 72 61  70 68 20 77 69 6c 6c 20  |"The graph will |
00006a00  62 65 20 6d 6f 72 65 20  74 68 61 6e 20 31 20 70  |be more than 1 p|
00006a10  61 67 65 20 6c 6f 6e 67  2e 20 49 73 20 69 74 20  |age long. Is it |
00006a20  4f 4b 20 74 6f 20 6e 61  6d 65 20 74 68 65 20 66  |OK to name the f|
00006a30  69 6c 65 73 20 27 22 2b  c0 a4 6c 65 61 66 28 66  |iles '"+..leaf(f|
00006a40  69 6c 65 24 29 2c 39 29  2b 22 30 27 2c 20 27 22  |ile$),9)+"0', '"|
00006a50  2b c0 a4 6c 65 61 66 28  66 69 6c 65 24 29 2c 39  |+..leaf(file$),9|
00006a60  29 2b 22 31 27 20 65 74  63 2e 22 2c b9 2c b9 2c  |)+"1' etc.",.,.,|
00006a70  63 6c 69 63 6b 25 29 0d  37 aa 0f e7 63 6c 69 63  |click%).7...clic|
00006a80  6b 25 3c 3e 31 e1 0d 37  b4 0d 61 70 70 65 6e 64  |k%<>1..7..append|
00006a90  25 3d b9 0d 37 be 05 cc  0d 37 c8 0d 61 70 70 65  |%=..7....7..appe|
00006aa0  6e 64 25 3d a3 0d 37 d2  05 cd 0d 37 e6 14 c8 99  |nd%=..7....7....|
00006ab0  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 37  |"Hourglass_On".7|
00006ac0  f0 2f 67 72 6f 75 70 24  3d a4 67 65 74 5f 74 65  |./group$=.get_te|
00006ad0  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00006ae0  67 70 6e 61 6d 65 5f 69  63 6f 6e 25 29 0d 37 fa  |gpname_icon%).7.|
00006af0  21 f2 73 61 76 65 5f 72  65 63 6f 72 64 28 63 75  |!.save_record(cu|
00006b00  72 72 65 6e 74 5f 72 65  63 6f 72 64 25 29 0d 38  |rrent_record%).8|
00006b10  04 35 74 65 73 74 25 28  30 2c 30 29 3d bb 28 a4  |.5test%(0,0)=.(.|
00006b20  67 65 74 5f 74 65 78 74  28 6d 61 69 6e 5f 77 69  |get_text(main_wi|
00006b30  6e 64 6f 77 25 2c 74 73  74 31 64 5f 69 63 6f 6e  |ndow%,tst1d_icon|
00006b40  25 29 29 0d 38 0e 35 74  65 73 74 25 28 31 2c 30  |%)).8.5test%(1,0|
00006b50  29 3d bb 28 a4 67 65 74  5f 74 65 78 74 28 6d 61  |)=.(.get_text(ma|
00006b60  69 6e 5f 77 69 6e 64 6f  77 25 2c 74 73 74 31 6d  |in_window%,tst1m|
00006b70  5f 69 63 6f 6e 25 29 29  0d 38 18 35 74 65 73 74  |_icon%)).8.5test|
00006b80  25 28 32 2c 30 29 3d bb  28 a4 67 65 74 5f 74 65  |%(2,0)=.(.get_te|
00006b90  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00006ba0  74 73 74 31 79 5f 69 63  6f 6e 25 29 29 0d 38 22  |tst1y_icon%)).8"|
00006bb0  35 74 65 73 74 25 28 30  2c 31 29 3d bb 28 a4 67  |5test%(0,1)=.(.g|
00006bc0  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00006bd0  64 6f 77 25 2c 74 73 74  32 64 5f 69 63 6f 6e 25  |dow%,tst2d_icon%|
00006be0  29 29 0d 38 2c 35 74 65  73 74 25 28 31 2c 31 29  |)).8,5test%(1,1)|
00006bf0  3d bb 28 a4 67 65 74 5f  74 65 78 74 28 6d 61 69  |=.(.get_text(mai|
00006c00  6e 5f 77 69 6e 64 6f 77  25 2c 74 73 74 32 6d 5f  |n_window%,tst2m_|
00006c10  69 63 6f 6e 25 29 29 0d  38 36 35 74 65 73 74 25  |icon%)).865test%|
00006c20  28 32 2c 31 29 3d bb 28  a4 67 65 74 5f 74 65 78  |(2,1)=.(.get_tex|
00006c30  74 28 6d 61 69 6e 5f 77  69 6e 64 6f 77 25 2c 74  |t(main_window%,t|
00006c40  73 74 32 79 5f 69 63 6f  6e 25 29 29 0d 38 40 1b  |st2y_icon%)).8@.|
00006c50  e3 69 25 3d 30 b8 6e 6f  5f 6f 66 5f 72 65 63 6f  |.i%=0.no_of_reco|
00006c60  72 64 73 25 81 33 31 0d  38 4a 0d e7 61 70 70 65  |rds%.31.8J..appe|
00006c70  6e 64 25 8c 0d 38 54 3f  f2 64 72 61 77 66 69 6c  |nd%..8T?.drawfil|
00006c80  65 5f 73 74 61 72 74 28  a4 70 61 74 68 28 66 69  |e_start(.path(fi|
00006c90  6c 65 24 29 2b c0 a4 6c  65 61 66 28 66 69 6c 65  |le$)+..leaf(file|
00006ca0  24 29 2c 39 29 2b c3 28  69 25 29 2c 65 72 72 6f  |$),9)+.(i%),erro|
00006cb0  72 25 29 0d 38 5e 05 cc  0d 38 68 21 f2 64 72 61  |r%).8^...8h!.dra|
00006cc0  77 66 69 6c 65 5f 73 74  61 72 74 28 66 69 6c 65  |wfile_start(file|
00006cd0  24 2c 65 72 72 6f 72 25  29 0d 38 72 05 cd 0d 38  |$,error%).8r...8|
00006ce0  7c 0d e7 65 72 72 6f 72  25 8c e1 0d 38 86 0e f2  ||..error%...8...|
00006cf0  66 6f 6e 74 74 61 62 6c  65 0d 38 90 09 f2 67 72  |fonttable.8...gr|
00006d00  69 64 0d 38 9a 10 f2 66  69 6c 6c 28 69 25 2a 33  |id.8...fill(i%*3|
00006d10  31 29 0d 38 a4 11 f2 64  72 61 77 66 69 6c 65 5f  |1).8...drawfile_|
00006d20  65 6e 64 0d 38 ae 0d e7  61 70 70 65 6e 64 25 8c  |end.8...append%.|
00006d30  0d 38 b8 3c ff 28 22 53  65 74 54 79 70 65 20 22  |.8.<.("SetType "|
00006d40  2b a4 70 61 74 68 28 66  69 6c 65 24 29 2b c0 a4  |+.path(file$)+..|
00006d50  6c 65 61 66 28 66 69 6c  65 24 29 2c 39 29 2b c3  |leaf(file$),9)+.|
00006d60  28 69 25 29 2b 22 20 41  46 46 22 29 0d 38 c2 05  |(i%)+" AFF").8..|
00006d70  cc 0d 38 cc 22 ff 28 22  53 65 74 54 79 70 65 20  |..8.".("SetType |
00006d80  22 2b 64 72 61 77 66 69  6c 65 24 2b 22 20 41 46  |"+drawfile$+" AF|
00006d90  46 22 29 0d 38 d6 05 cd  0d 38 e0 05 ed 0d 38 ea  |F").8....8....8.|
00006da0  15 c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |..."Hourglass_Of|
00006db0  66 22 0d 38 fe 05 e1 0d  39 1c 0a dd f2 67 72 69  |f".8....9....gri|
00006dc0  64 0d 39 30 10 ea 69 25  2c 68 25 2c 77 25 2c 61  |d.90..i%,h%,w%,a|
00006dd0  24 0d 39 44 10 f2 67 72  6f 75 70 5f 73 74 61 72  |$.9D..group_star|
00006de0  74 0d 39 58 0c e3 69 25  3d 30 b8 33 31 0d 39 62  |t.9X..i%=0.31.9b|
00006df0  18 68 25 3d 32 2e 37 35  2a 63 6d 2b 69 25 2a 2e  |.h%=2.75*cm+i%*.|
00006e00  37 35 2a 63 6d 0d 39 6c  2d f2 70 61 74 68 5f 73  |75*cm.9l-.path_s|
00006e10  74 61 72 74 28 31 2a 63  6d 2c 68 25 2c 31 2a 70  |tart(1*cm,h%,1*p|
00006e20  6f 69 6e 74 2c 62 6c 61  63 6b 25 2c 6e 6f 6e 65  |oint,black%,none|
00006e30  25 29 0d 39 76 1b f2 70  61 74 68 5f 64 72 61 77  |%).9v..path_draw|
00006e40  28 32 30 2e 32 35 2a 63  6d 2c 68 25 29 0d 39 80  |(20.25*cm,h%).9.|
00006e50  0d f2 70 61 74 68 5f 65  6e 64 0d 39 8a 05 ed 0d  |..path_end.9....|
00006e60  39 9e 0b e3 69 25 3d 30  b8 36 0d 39 a8 16 68 25  |9...i%=0.6.9..h%|
00006e70  3d 38 2e 32 35 2a 63 6d  2b 69 25 2a 32 2a 63 6d  |=8.25*cm+i%*2*cm|
00006e80  0d 39 b2 2e f2 70 61 74  68 5f 73 74 61 72 74 28  |.9...path_start(|
00006e90  68 25 2c 32 36 2a 63 6d  2c 31 2a 70 6f 69 6e 74  |h%,26*cm,1*point|
00006ea0  2c 62 6c 61 63 6b 25 2c  6e 6f 6e 65 25 29 0d 39  |,black%,none%).9|
00006eb0  bc 1a f2 70 61 74 68 5f  64 72 61 77 28 68 25 2c  |...path_draw(h%,|
00006ec0  32 36 2e 35 2a 63 6d 29  0d 39 c6 0d f2 70 61 74  |26.5*cm).9...pat|
00006ed0  68 5f 65 6e 64 0d 39 d0  05 ed 0d 39 e4 0b e3 69  |h_end.9....9...i|
00006ee0  25 3d 30 b8 35 0d 39 ee  16 68 25 3d 39 2e 32 35  |%=0.5.9..h%=9.25|
00006ef0  2a 63 6d 2b 69 25 2a 32  2a 63 6d 0d 39 f8 2e f2  |*cm+i%*2*cm.9...|
00006f00  70 61 74 68 5f 73 74 61  72 74 28 68 25 2c 32 36  |path_start(h%,26|
00006f10  2a 63 6d 2c 31 2a 70 6f  69 6e 74 2c 62 6c 61 63  |*cm,1*point,blac|
00006f20  6b 25 2c 6e 6f 6e 65 25  29 0d 3a 02 1b f2 70 61  |k%,none%).:...pa|
00006f30  74 68 5f 64 72 61 77 28  68 25 2c 32 36 2e 32 35  |th_draw(h%,26.25|
00006f40  2a 63 6d 29 0d 3a 0c 0d  f2 70 61 74 68 5f 65 6e  |*cm).:...path_en|
00006f50  64 0d 3a 16 05 ed 0d 3a  2a 1c f2 64 6f 77 6e 5f  |d.:....:*..down_|
00006f60  6c 69 6e 65 28 31 2a 63  6d 2c 31 2a 70 6f 69 6e  |line(1*cm,1*poin|
00006f70  74 29 0d 3a 34 1e f2 64  6f 77 6e 5f 6c 69 6e 65  |t).:4..down_line|
00006f80  28 34 2e 35 2a 63 6d 2c  31 2a 70 6f 69 6e 74 29  |(4.5*cm,1*point)|
00006f90  0d 3a 3e 1c f2 64 6f 77  6e 5f 6c 69 6e 65 28 36  |.:>..down_line(6|
00006fa0  2a 63 6d 2c 31 2a 70 6f  69 6e 74 29 0d 3a 48 1c  |*cm,1*point).:H.|
00006fb0  f2 64 6f 77 6e 5f 6c 69  6e 65 28 37 2a 63 6d 2c  |.down_line(7*cm,|
00006fc0  31 2a 70 6f 69 6e 74 29  0d 3a 52 1c f2 64 6f 77  |1*point).:R..dow|
00006fd0  6e 5f 6c 69 6e 65 28 38  2a 63 6d 2c 31 2a 70 6f  |n_line(8*cm,1*po|
00006fe0  69 6e 74 29 0d 3a 5c 21  f2 64 6f 77 6e 5f 6c 69  |int).:\!.down_li|
00006ff0  6e 65 28 38 2e 32 35 2a  63 6d 2c 2e 32 35 2a 70  |ne(8.25*cm,.25*p|
00007000  6f 69 6e 74 29 0d 3a 66  22 f2 64 6f 77 6e 5f 6c  |oint).:f".down_l|
00007010  69 6e 65 28 31 30 2e 32  35 2a 63 6d 2c 2e 32 35  |ine(10.25*cm,.25|
00007020  2a 70 6f 69 6e 74 29 0d  3a 70 22 f2 64 6f 77 6e  |*point).:p".down|
00007030  5f 6c 69 6e 65 28 31 32  2e 32 35 2a 63 6d 2c 2e  |_line(12.25*cm,.|
00007040  32 35 2a 70 6f 69 6e 74  29 0d 3a 7a 22 f2 64 6f  |25*point).:z".do|
00007050  77 6e 5f 6c 69 6e 65 28  31 36 2e 32 35 2a 63 6d  |wn_line(16.25*cm|
00007060  2c 2e 32 35 2a 70 6f 69  6e 74 29 0d 3a 84 22 f2  |,.25*point).:.".|
00007070  64 6f 77 6e 5f 6c 69 6e  65 28 31 38 2e 32 35 2a  |down_line(18.25*|
00007080  63 6d 2c 2e 32 35 2a 70  6f 69 6e 74 29 0d 3a 8e  |cm,.25*point).:.|
00007090  20 f2 64 6f 77 6e 5f 6c  69 6e 65 28 32 30 2e 32  | .down_line(20.2|
000070a0  35 2a 63 6d 2c 31 2a 70  6f 69 6e 74 29 0d 3a a2  |5*cm,1*point).:.|
000070b0  0b e3 69 25 3d 30 b8 36  0d 3a ac 16 68 25 3d 38  |..i%=0.6.:..h%=8|
000070c0  2e 31 35 2a 63 6d 2b 69  25 2a 32 2a 63 6d 0d 3a  |.15*cm+i%*2*cm.:|
000070d0  b6 3f f2 74 65 78 74 28  68 25 2c 32 36 2e 37 35  |.?.text(h%,26.75|
000070e0  2a 63 6d 2c c3 28 69 25  2d 33 29 2c 31 32 2a 70  |*cm,.(i%-3),12*p|
000070f0  6f 69 6e 74 2c 31 32 2a  70 6f 69 6e 74 2c 31 2c  |oint,12*point,1,|
00007100  62 6c 61 63 6b 25 2c 6e  6f 6e 65 25 29 0d 3a c0  |black%,none%).:.|
00007110  05 ed 0d 3a d4 65 f2 74  65 78 74 28 32 2e 32 35  |...:.e.text(2.25|
00007120  2a 63 6d 2c 32 36 2e 35  2a 63 6d 2c 22 4e 61 6d  |*cm,26.5*cm,"Nam|
00007130  65 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e               |
00007140  44 2e 4f 2e 42 2e 20 20  20 52 2e 41 2e 31 20 52  |D.O.B.   R.A.1 R|
00007150  2e 41 2e 32 22 2c 31 31  2a 70 6f 69 6e 74 2c 31  |.A.2",11*point,1|
00007160  31 2a 70 6f 69 6e 74 2c  31 2c 62 6c 61 63 6b 25  |1*point,1,black%|
00007170  2c 6e 6f 6e 65 25 29 0d  3a f2 05 e1 0d 3b 10 1a  |,none%).:....;..|
00007180  dd f2 64 6f 77 6e 5f 6c  69 6e 65 28 78 25 2c 74  |..down_line(x%,t|
00007190  68 69 63 6b 25 29 0d 3b  1a 2d f2 70 61 74 68 5f  |hick%).;.-.path_|
000071a0  73 74 61 72 74 28 78 25  2c 32 36 2a 63 6d 2c 74  |start(x%,26*cm,t|
000071b0  68 69 63 6b 25 2c 62 6c  61 63 6b 25 2c 6e 6f 6e  |hick%,black%,non|
000071c0  65 25 29 0d 3b 24 1a f2  70 61 74 68 5f 64 72 61  |e%).;$..path_dra|
000071d0  77 28 78 25 2c 32 2e 37  35 2a 63 6d 29 0d 3b 2e  |w(x%,2.75*cm).;.|
000071e0  0d f2 70 61 74 68 5f 65  6e 64 0d 3b 38 05 e1 0d  |..path_end.;8...|
000071f0  3b 56 0f dd f2 69 6e 69  74 5f 64 72 61 77 0d 3b  |;V...init_draw.;|
00007200  60 0e 6d 61 78 6c 65 76  25 3d 33 32 0d 3b 6a 22  |`.maxlev%=32.;j"|
00007210  de 73 74 61 72 74 25 28  6d 61 78 6c 65 76 25 29  |.start%(maxlev%)|
00007220  2c 62 6f 78 25 28 6d 61  78 6c 65 76 25 29 0d 3b  |,box%(maxlev%).;|
00007230  74 34 de 6c 25 28 6d 61  78 6c 65 76 25 29 2c 62  |t4.l%(maxlev%),b|
00007240  25 28 6d 61 78 6c 65 76  25 29 2c 72 25 28 6d 61  |%(maxlev%),r%(ma|
00007250  78 6c 65 76 25 29 2c 74  25 28 6d 61 78 6c 65 76  |xlev%),t%(maxlev|
00007260  25 29 0d 3b 7e 0c de 62  75 66 25 32 35 36 0d 3b  |%).;~..buf%256.;|
00007270  88 14 6e 6f 5f 6f 66 5f  64 5f 66 6f 6e 74 73 25  |..no_of_d_fonts%|
00007280  3d 32 0d 3b 92 1c de 64  5f 66 6f 6e 74 24 28 6e  |=2.;...d_font$(n|
00007290  6f 5f 6f 66 5f 64 5f 66  6f 6e 74 73 25 29 0d 3b  |o_of_d_fonts%).;|
000072a0  9c 1f 64 5f 66 6f 6e 74  24 28 31 29 3d 22 54 72  |..d_font$(1)="Tr|
000072b0  69 6e 69 74 79 2e 4d 65  64 69 75 6d 22 0d 3b a6  |inity.Medium".;.|
000072c0  1d 64 5f 66 6f 6e 74 24  28 32 29 3d 22 54 72 69  |.d_font$(2)="Tri|
000072d0  6e 69 74 79 2e 42 6f 6c  64 22 0d 3b b0 12 62 69  |nity.Bold".;..bi|
000072e0  67 25 3d 26 37 46 46 46  46 46 46 46 0d 3b ba 12  |g%=&7FFFFFFF.;..|
000072f0  45 46 3d 30 2e 35 35 32  32 35 36 39 34 34 0d 3b  |EF=0.552256944.;|
00007300  c4 08 63 25 3d 30 0d 3b  ce 0e 69 6e 63 68 3d 26  |..c%=0.;..inch=&|
00007310  42 34 30 30 0d 3b d8 0d  70 6f 69 6e 74 3d 36 34  |B400.;..point=64|
00007320  30 0d 3b e2 0c 63 6d 3d  31 38 31 34 30 0d 3b ec  |0.;..cm=18140.;.|
00007330  0b 6d 6d 3d 31 38 31 34  0d 3b f6 0c 62 6c 61 63  |.mm=1814.;..blac|
00007340  6b 25 3d 30 0d 3c 00 14  77 68 69 74 65 25 3d 26  |k%=0.<..white%=&|
00007350  46 46 46 46 46 46 30 30  0d 3c 0a 16 72 65 64 25  |FFFFFF00.<..red%|
00007360  3d a4 63 6f 6c 28 32 35  35 2c 30 2c 30 29 0d 3c  |=.col(255,0,0).<|
00007370  14 10 de 62 61 72 5f 63  6f 6c 25 28 31 29 0d 3c  |...bar_col%(1).<|
00007380  1e 0c de 6b 65 79 25 28  31 29 0d 3c 28 21 62 61  |...key%(1).<(!ba|
00007390  72 5f 63 6f 6c 25 28 30  29 3d a4 63 6f 6c 28 31  |r_col%(0)=.col(1|
000073a0  31 39 2c 31 31 39 2c 31  31 39 29 0d 3c 32 21 62  |19,119,119).<2!b|
000073b0  61 72 5f 63 6f 6c 25 28  31 29 3d a4 63 6f 6c 28  |ar_col%(1)=.col(|
000073c0  32 32 31 2c 32 32 31 2c  32 32 31 29 0d 3c 3c 0c  |221,221,221).<<.|
000073d0  6e 6f 6e 65 25 3d 2d 31  0d 3c 46 05 e1 0d 3c 5a  |none%=-1.<F...<Z|
000073e0  20 dd f2 64 72 61 77 66  69 6c 65 5f 73 74 61 72  | ..drawfile_star|
000073f0  74 28 44 24 2c f8 65 72  72 6f 72 25 29 0d 3c 6e  |t(D$,.error%).<n|
00007400  06 ea 85 0d 3c 82 6b ee  85 ea f2 72 65 70 6f 72  |....<.k....repor|
00007410  74 5f 65 72 72 6f 72 28  22 4e 6f 74 20 66 6f 75  |t_error("Not fou|
00007420  6e 64 22 2c b9 2c a3 2c  66 61 6c 73 65 25 29 3a  |nd",.,.,false%):|
00007430  f2 72 65 70 6f 72 74 5f  65 72 72 6f 72 28 22 42  |.report_error("B|
00007440  61 64 20 66 69 6c 65 20  6e 61 6d 65 3a 20 27 22  |ad file name: '"|
00007450  2b 44 24 2b 22 27 22 2c  b9 2c a3 2c 66 61 6c 73  |+D$+"'",.,.,fals|
00007460  65 25 29 3a 65 72 72 6f  72 25 3d b9 3a e1 0d 3c  |e%):error%=.:..<|
00007470  96 0c 63 25 3d ae 28 44  24 29 0d 3c a0 10 64 72  |..c%=.(D$).<..dr|
00007480  61 77 66 69 6c 65 24 3d  44 24 0d 3c aa 28 f2 70  |awfile$=D$.<.(.p|
00007490  75 74 77 28 26 37 37 36  31 37 32 34 34 29 3a f2  |utw(&77617244):.|
000074a0  70 75 74 77 28 32 30 31  29 3a f2 70 75 74 77 28  |putw(201):.putw(|
000074b0  30 29 0d 3c b4 17 f2 70  75 74 73 31 32 28 22 21  |0).<...puts12("!|
000074c0  52 65 61 64 41 67 65 22  29 0d 3c be 0b 6c 65 76  |ReadAge").<..lev|
000074d0  25 3d 2d 31 0d 3c c8 11  f2 68 65 61 64 5f 68 65  |%=-1.<...head_he|
000074e0  72 65 28 b9 29 0d 3c d2  05 e1 0d 3c e6 12 dd f2  |re(.).<....<....|
000074f0  64 72 61 77 66 69 6c 65  5f 65 6e 64 0d 3c f0 47  |drawfile_end.<.G|
00007500  e7 6c 65 76 25 3e 30 8c  f1 22 57 61 72 6e 69 6e  |.lev%>0.."Warnin|
00007510  67 3a 20 44 72 61 77 20  66 69 6c 65 20 63 6c 6f  |g: Draw file clo|
00007520  73 65 64 20 77 69 74 68  20 6f 62 6a 65 63 74 28  |sed with object(|
00007530  73 29 20 75 6e 66 69 6e  69 73 68 65 64 20 20 20  |s) unfinished   |
00007540  20 20 22 0d 3c fa 0d f2  68 65 61 64 5f 6e 6f 77  |  ".<...head_now|
00007550  0d 3d 04 0d d9 23 63 25  3a 63 25 3d 30 0d 3d 0e  |.=...#c%:c%=0.=.|
00007560  05 e1 0d 3d 22 2a dd f2  70 61 74 68 5f 73 74 61  |...="*..path_sta|
00007570  72 74 28 78 25 2c 79 25  2c 77 69 64 74 68 25 2c  |rt(x%,y%,width%,|
00007580  6c 63 6f 6c 25 2c 66 63  6f 6c 25 29 0d 3d 2c 0c  |lcol%,fcol%).=,.|
00007590  f2 70 75 74 77 28 32 29  0d 3d 36 11 f2 68 65 61  |.putw(2).=6..hea|
000075a0  64 5f 68 65 72 65 28 b9  29 0d 3d 40 10 f2 70 75  |d_here(.).=@..pu|
000075b0  74 77 28 66 63 6f 6c 25  29 0d 3d 4a 10 f2 70 75  |tw(fcol%).=J..pu|
000075c0  74 77 28 6c 63 6f 6c 25  29 0d 3d 54 11 f2 70 75  |tw(lcol%).=T..pu|
000075d0  74 77 28 77 69 64 74 68  25 29 0d 3d 5e 0c f2 70  |tw(width%).=^..p|
000075e0  75 74 77 28 30 29 0d 3d  68 15 f2 70 61 74 68 5f  |utw(0).=h..path_|
000075f0  6d 6f 76 65 28 78 25 2c  79 25 29 0d 3d 72 05 e1  |move(x%,y%).=r..|
00007600  0d 3d 86 31 dd f2 72 65  63 74 61 6e 67 6c 65 28  |.=.1..rectangle(|
00007610  78 25 2c 79 25 2c 78 6c  25 2c 79 6c 25 2c 77 69  |x%,y%,xl%,yl%,wi|
00007620  64 74 68 25 2c 6c 63 6f  6c 25 2c 66 63 6f 6c 25  |dth%,lcol%,fcol%|
00007630  29 0d 3d 90 31 f2 70 61  74 68 5f 73 74 61 72 74  |).=.1.path_start|
00007640  28 78 25 2c 28 79 25 2d  79 6c 25 29 2f 32 2c 77  |(x%,(y%-yl%)/2,w|
00007650  69 64 74 68 25 2c 6c 63  6f 6c 25 2c 66 63 6f 6c  |idth%,lcol%,fcol|
00007660  25 29 0d 3d 9a 15 f2 70  61 74 68 5f 6d 6f 76 65  |%).=...path_move|
00007670  28 78 25 2c 79 25 29 0d  3d a4 19 f2 70 61 74 68  |(x%,y%).=...path|
00007680  5f 64 72 61 77 28 78 25  2b 78 6c 25 2c 79 25 29  |_draw(x%+xl%,y%)|
00007690  0d 3d ae 1d f2 70 61 74  68 5f 64 72 61 77 28 78  |.=...path_draw(x|
000076a0  25 2b 78 6c 25 2c 79 25  2b 79 6c 25 29 0d 3d b8  |%+xl%,y%+yl%).=.|
000076b0  19 f2 70 61 74 68 5f 64  72 61 77 28 78 25 2c 79  |..path_draw(x%,y|
000076c0  25 2b 79 6c 25 29 0d 3d  cc 0f f2 70 61 74 68 5f  |%+yl%).=...path_|
000076d0  63 6c 6f 73 65 0d 3d d6  0d f2 70 61 74 68 5f 65  |close.=...path_e|
000076e0  6e 64 0d 3d e0 05 e1 0d  3d f4 16 dd f2 70 61 74  |nd.=....=....pat|
000076f0  68 5f 6d 6f 76 65 28 78  25 2c 79 25 29 0d 3d fe  |h_move(x%,y%).=.|
00007700  0c f2 70 75 74 77 28 32  29 0d 3e 08 11 f2 70 75  |..putw(2).>...pu|
00007710  74 78 79 28 78 25 2c 79  25 29 0d 3e 12 05 e1 0d  |txy(x%,y%).>....|
00007720  3e 26 16 dd f2 70 61 74  68 5f 64 72 61 77 28 78  |>&...path_draw(x|
00007730  25 2c 79 25 29 0d 3e 30  0c f2 70 75 74 77 28 38  |%,y%).>0..putw(8|
00007740  29 0d 3e 3a 11 f2 70 75  74 78 79 28 78 25 2c 79  |).>:..putxy(x%,y|
00007750  25 29 0d 3e 44 05 e1 0d  3e 58 2c dd f2 70 61 74  |%).>D...>X,..pat|
00007760  68 5f 62 65 7a 69 65 72  28 78 63 31 25 2c 79 63  |h_bezier(xc1%,yc|
00007770  31 25 2c 78 63 32 25 2c  79 63 32 25 2c 78 25 2c  |1%,xc2%,yc2%,x%,|
00007780  79 25 29 0d 3e 62 0c f2  70 75 74 77 28 36 29 0d  |y%).>b..putw(6).|
00007790  3e 6c 15 f2 70 75 74 78  79 28 78 63 31 25 2c 79  |>l..putxy(xc1%,y|
000077a0  63 31 25 29 0d 3e 76 15  f2 70 75 74 78 79 28 78  |c1%).>v..putxy(x|
000077b0  63 32 25 2c 79 63 32 25  29 0d 3e 80 11 f2 70 75  |c2%,yc2%).>...pu|
000077c0  74 78 79 28 78 25 2c 79  25 29 0d 3e 8a 05 e1 0d  |txy(x%,y%).>....|
000077d0  3e 9e 10 dd f2 70 61 74  68 5f 63 6c 6f 73 65 0d  |>....path_close.|
000077e0  3e a8 0c f2 70 75 74 77  28 35 29 0d 3e b2 05 e1  |>...putw(5).>...|
000077f0  0d 3e c6 0e dd f2 70 61  74 68 5f 65 6e 64 0d 3e  |.>....path_end.>|
00007800  d0 0c f2 70 75 74 77 28  30 29 0d 3e da 0d f2 68  |...putw(0).>...h|
00007810  65 61 64 5f 6e 6f 77 0d  3e e4 05 e1 0d 3e f8 2d  |ead_now.>....>.-|
00007820  dd f2 65 6c 6c 69 70 73  65 28 78 25 2c 79 25 2c  |..ellipse(x%,y%,|
00007830  77 25 2c 68 25 2c 77 69  64 74 68 25 2c 6c 63 6f  |w%,h%,width%,lco|
00007840  6c 25 2c 66 63 6f 6c 25  29 0d 3f 02 2c f2 70 61  |l%,fcol%).?.,.pa|
00007850  74 68 5f 73 74 61 72 74  28 78 25 2c 79 25 2d 68  |th_start(x%,y%-h|
00007860  25 2c 77 69 64 74 68 25  2c 6c 63 6f 6c 25 2c 66  |%,width%,lcol%,f|
00007870  63 6f 6c 25 29 0d 3f 0c  38 f2 70 61 74 68 5f 62  |col%).?.8.path_b|
00007880  65 7a 69 65 72 28 78 25  2b 77 25 2a 45 46 2c 79  |ezier(x%+w%*EF,y|
00007890  25 2d 68 25 2c 78 25 2b  77 25 2c 79 25 2d 68 25  |%-h%,x%+w%,y%-h%|
000078a0  2a 45 46 2c 78 25 2b 77  25 2c 79 25 29 0d 3f 16  |*EF,x%+w%,y%).?.|
000078b0  38 f2 70 61 74 68 5f 62  65 7a 69 65 72 28 78 25  |8.path_bezier(x%|
000078c0  2b 77 25 2c 79 25 2b 68  25 2a 45 46 2c 78 25 2b  |+w%,y%+h%*EF,x%+|
000078d0  77 25 2a 45 46 2c 79 25  2b 68 25 2c 78 25 2c 79  |w%*EF,y%+h%,x%,y|
000078e0  25 2b 68 25 29 0d 3f 20  38 f2 70 61 74 68 5f 62  |%+h%).? 8.path_b|
000078f0  65 7a 69 65 72 28 78 25  2d 77 25 2a 45 46 2c 79  |ezier(x%-w%*EF,y|
00007900  25 2b 68 25 2c 78 25 2d  77 25 2c 79 25 2b 68 25  |%+h%,x%-w%,y%+h%|
00007910  2a 45 46 2c 78 25 2d 77  25 2c 79 25 29 0d 3f 2a  |*EF,x%-w%,y%).?*|
00007920  38 f2 70 61 74 68 5f 62  65 7a 69 65 72 28 78 25  |8.path_bezier(x%|
00007930  2d 77 25 2c 79 25 2d 68  25 2a 45 46 2c 78 25 2d  |-w%,y%-h%*EF,x%-|
00007940  77 25 2a 45 46 2c 79 25  2d 68 25 2c 78 25 2c 79  |w%*EF,y%-h%,x%,y|
00007950  25 2d 68 25 29 0d 3f 34  0f f2 70 61 74 68 5f 63  |%-h%).?4..path_c|
00007960  6c 6f 73 65 0d 3f 3e 0d  f2 70 61 74 68 5f 65 6e  |lose.?>..path_en|
00007970  64 0d 3f 48 05 e1 0d 3f  5c 11 dd f2 67 72 6f 75  |d.?H...?\...grou|
00007980  70 5f 73 74 61 72 74 0d  3f 70 0c f2 70 75 74 77  |p_start.?p..putw|
00007990  28 36 29 0d 3f 7a 11 f2  68 65 61 64 5f 68 65 72  |(6).?z..head_her|
000079a0  65 28 b9 29 0d 3f 84 14  f2 70 75 74 73 31 32 28  |e(.).?...puts12(|
000079b0  22 67 72 6f 75 70 22 29  0d 3f 8e 05 e1 0d 3f a2  |"group").?....?.|
000079c0  0f dd f2 67 72 6f 75 70  5f 65 6e 64 0d 3f ac 0d  |...group_end.?..|
000079d0  f2 68 65 61 64 5f 6e 6f  77 0d 3f b6 05 e1 0d 3f  |.head_now.?....?|
000079e0  ca 0f dd f2 66 6f 6e 74  74 61 62 6c 65 0d 3f d4  |....fonttable.?.|
000079f0  07 ea 69 25 0d 3f de 0c  f2 70 75 74 77 28 30 29  |..i%.?...putw(0)|
00007a00  0d 3f e8 11 f2 68 65 61  64 5f 68 65 72 65 28 a3  |.?...head_here(.|
00007a10  29 0d 3f f2 18 e3 69 25  3d 31 b8 6e 6f 5f 6f 66  |).?...i%=1.no_of|
00007a20  5f 64 5f 66 6f 6e 74 73  25 0d 3f fc 1c f2 70 75  |_d_fonts%.?...pu|
00007a30  74 73 28 bd 28 69 25 29  2b 64 5f 66 6f 6e 74 24  |ts(.(i%)+d_font$|
00007a40  28 69 25 29 29 0d 40 06  05 ed 0d 40 10 0a f2 61  |(i%)).@....@...a|
00007a50  6c 69 67 6e 0d 40 1a 0d  f2 68 65 61 64 5f 6e 6f  |lign.@...head_no|
00007a60  77 0d 40 24 05 e1 0d 40  38 36 dd f2 74 65 78 74  |w.@$...@86..text|
00007a70  28 78 25 2c 79 25 2c 74  65 78 74 24 2c 78 73 69  |(x%,y%,text$,xsi|
00007a80  7a 65 25 2c 79 73 69 7a  65 25 2c 66 6f 6e 74 25  |ze%,ysize%,font%|
00007a90  2c 63 6f 6c 25 2c 62 63  6f 6c 25 29 0d 40 42 0c  |,col%,bcol%).@B.|
00007aa0  f2 70 75 74 77 28 31 29  0d 40 4c 11 f2 68 65 61  |.putw(1).@L..hea|
00007ab0  64 5f 68 65 72 65 28 a3  29 0d 40 56 1b f2 70 75  |d_here(.).@V..pu|
00007ac0  74 78 79 28 78 25 2c 79  25 2d 79 73 69 7a 65 25  |txy(x%,y%-ysize%|
00007ad0  2a 2e 35 29 0d 40 60 28  f2 70 75 74 78 79 28 78  |*.5).@`(.putxy(x|
00007ae0  25 2b a9 28 74 65 78 74  24 29 2a 78 73 69 7a 65  |%+.(text$)*xsize|
00007af0  25 2c 79 25 2b 79 73 69  7a 65 25 29 0d 40 6a 0f  |%,y%+ysize%).@j.|
00007b00  f2 70 75 74 77 28 63 6f  6c 25 29 0d 40 74 10 f2  |.putw(col%).@t..|
00007b10  70 75 74 77 28 62 63 6f  6c 25 29 0d 40 7e 10 f2  |putw(bcol%).@~..|
00007b20  70 75 74 77 28 66 6f 6e  74 25 29 0d 40 88 1f f2  |putw(font%).@...|
00007b30  70 75 74 77 28 78 73 69  7a 65 25 29 3a f2 70 75  |putw(xsize%):.pu|
00007b40  74 77 28 79 73 69 7a 65  25 29 0d 40 92 11 f2 70  |tw(ysize%).@...p|
00007b50  75 74 78 79 28 78 25 2c  79 25 29 0d 40 9c 17 f2  |utxy(x%,y%).@...|
00007b60  70 75 74 73 28 74 65 78  74 24 29 3a f2 61 6c 69  |puts(text$):.ali|
00007b70  67 6e 0d 40 a6 0d f2 68  65 61 64 5f 6e 6f 77 0d  |gn.@...head_now.|
00007b80  40 b0 05 e1 0d 40 c4 13  dd a4 63 6f 6c 28 52 25  |@....@....col(R%|
00007b90  2c 47 25 2c 42 25 29 0d  40 ce 1e 3d 28 52 25 3c  |,G%,B%).@..=(R%<|
00007ba0  3c 38 29 2b 28 47 25 3c  3c 31 36 29 2b 28 42 25  |<8)+(G%<<16)+(B%|
00007bb0  3c 3c 32 34 29 0d 40 e2  0e dd f2 70 75 74 77 28  |<<24).@....putw(|
00007bc0  41 25 29 0d 40 ec 0f d5  23 63 25 2c 41 25 80 26  |A%).@...#c%,A%.&|
00007bd0  46 46 0d 40 f6 15 d5 23  63 25 2c 28 41 25 3e 3e  |FF.@...#c%,(A%>>|
00007be0  3e 38 29 80 26 46 46 0d  41 00 16 d5 23 63 25 2c  |>8).&FF.A...#c%,|
00007bf0  28 41 25 3e 3e 3e 31 36  29 80 26 46 46 0d 41 0a  |(A%>>>16).&FF.A.|
00007c00  16 d5 23 63 25 2c 28 41  25 3e 3e 3e 32 34 29 80  |..#c%,(A%>>>24).|
00007c10  26 46 46 0d 41 14 05 e1  0d 41 28 10 dd f2 70 75  |&FF.A....A(...pu|
00007c20  74 73 31 32 28 41 24 29  0d 41 32 07 ea 41 25 0d  |ts12(A$).A2..A%.|
00007c30  41 3c 12 41 24 3d 41 24  2b c4 31 32 2c 22 20 22  |A<.A$=A$+.12," "|
00007c40  29 0d 41 46 20 e3 41 25  3d 31 b8 31 32 3a d5 23  |).AF .A%=1.12:.#|
00007c50  63 25 2c 97 28 c1 41 24  2c 41 25 2c 31 29 29 3a  |c%,.(.A$,A%,1)):|
00007c60  ed 0d 41 50 05 e1 0d 41  64 0e dd f2 70 75 74 73  |..AP...Ad...puts|
00007c70  28 41 24 29 0d 41 6e 07  ea 41 25 0d 41 78 23 e3  |(A$).An..A%.Ax#.|
00007c80  41 25 3d 31 b8 a9 28 41  24 29 3a d5 23 63 25 2c  |A%=1..(A$):.#c%,|
00007c90  97 28 c1 41 24 2c 41 25  2c 31 29 29 3a ed 0d 41  |.(.A$,A%,1)):..A|
00007ca0  82 0a d5 23 63 25 2c 30  0d 41 8c 05 e1 0d 41 a0  |...#c%,0.A....A.|
00007cb0  15 dd f2 68 65 61 64 5f  68 65 72 65 28 62 6f 78  |...head_here(box|
00007cc0  25 29 0d 41 aa 57 e7 6c  65 76 25 3d 6d 61 78 6c  |%).A.W.lev%=maxl|
00007cd0  65 76 25 8c 85 31 32 33  34 2c 22 54 6f 6f 20 6d  |ev%..1234,"Too m|
00007ce0  61 6e 79 20 6e 65 73 74  65 64 20 67 72 6f 75 70  |any nested group|
00007cf0  73 2e 20 20 45 64 69 74  20 70 72 6f 67 72 61 6d  |s.  Edit program|
00007d00  20 74 20 20 20 20 20 6f  20 69 6e 63 72 65 61 73  | t     o increas|
00007d10  65 20 6c 69 6d 69 74 2e  22 0d 41 b4 0b 6c 65 76  |e limit.".A..lev|
00007d20  25 2b 3d 31 0d 41 be 13  62 6f 78 25 28 6c 65 76  |%+=1.A..box%(lev|
00007d30  25 29 3d 62 6f 78 25 0d  41 c8 15 73 74 61 72 74  |%)=box%.A..start|
00007d40  25 28 6c 65 76 25 29 3d  8f 23 63 25 0d 41 d2 14  |%(lev%)=.#c%.A..|
00007d50  e7 6c 65 76 25 3e 30 8c  f2 70 75 74 77 28 30 29  |.lev%>0..putw(0)|
00007d60  0d 41 dc 0a e7 62 6f 78  25 8c 0d 41 e6 15 f2 70  |.A...box%..A...p|
00007d70  75 74 77 28 30 29 3a f2  70 75 74 77 28 30 29 0d  |utw(0):.putw(0).|
00007d80  41 f0 15 f2 70 75 74 77  28 30 29 3a f2 70 75 74  |A...putw(0):.put|
00007d90  77 28 30 29 0d 41 fa 05  cd 0d 42 04 1f 6c 25 28  |w(0).A....B..l%(|
00007da0  6c 65 76 25 29 3d 62 69  67 25 3a 62 25 28 6c 65  |lev%)=big%:b%(le|
00007db0  76 25 29 3d 62 69 67 25  0d 42 0e 21 72 25 28 6c  |v%)=big%.B.!r%(l|
00007dc0  65 76 25 29 3d 2d 62 69  67 25 3a 74 25 28 6c 65  |ev%)=-big%:t%(le|
00007dd0  76 25 29 3d 2d 62 69 67  25 0d 42 18 05 e1 0d 42  |v%)=-big%.B....B|
00007de0  2c 0e dd f2 68 65 61 64  5f 6e 6f 77 0d 42 36 09  |,...head_now.B6.|
00007df0  ea 65 6e 64 25 0d 42 40  4c e7 6c 65 76 25 3c 30  |.end%.B@L.lev%<0|
00007e00  8c f1 22 57 61 72 6e 69  6e 67 3a 20 61 74 74 65  |.."Warning: atte|
00007e10  6d 70 74 20 74 6f 20 65  6e 64 20 6d 6f 72 65 20  |mpt to end more |
00007e20  6f 62 6a 65 63 74 73 20  74 68 61 6e 20 77 65 72  |objects than wer|
00007e30  65 20 73 74 61 72 20 20  20 20 20 74 65 64 22 3a  |e star     ted":|
00007e40  e1 0d 42 4a 0d 65 6e 64  25 3d 8f 23 63 25 0d 42  |..BJ.end%=.#c%.B|
00007e50  54 15 cf 23 63 25 3d 73  74 61 72 74 25 28 6c 65  |T..#c%=start%(le|
00007e60  76 25 29 0d 42 5e 26 e7  6c 65 76 25 3e 30 8c f2  |v%).B^&.lev%>0..|
00007e70  70 75 74 77 28 65 6e 64  25 2d 73 74 61 72 74 25  |putw(end%-start%|
00007e80  28 6c 65 76 25 29 2b 34  29 0d 42 68 10 e7 62 6f  |(lev%)+4).Bh..bo|
00007e90  78 25 28 6c 65 76 25 29  8c 0d 42 72 23 f2 70 75  |x%(lev%)..Br#.pu|
00007ea0  74 77 28 6c 25 28 6c 65  76 25 29 29 3a f2 70 75  |tw(l%(lev%)):.pu|
00007eb0  74 77 28 62 25 28 6c 65  76 25 29 29 0d 42 7c 27  |tw(b%(lev%)).B|'|
00007ec0  f2 70 75 74 77 28 72 25  28 6c 65 76 25 29 2b 31  |.putw(r%(lev%)+1|
00007ed0  29 3a f2 70 75 74 77 28  74 25 28 6c 65 76 25 29  |):.putw(t%(lev%)|
00007ee0  2b 31 29 0d 42 86 05 cd  0d 42 90 0c e7 6c 65 76  |+1).B....B...lev|
00007ef0  25 3e 30 8c 0d 42 9a 0b  6c 65 76 25 2d 3d 31 0d  |%>0..B..lev%-=1.|
00007f00  42 a4 2c e7 6c 25 28 6c  65 76 25 2b 31 29 3c 6c  |B.,.l%(lev%+1)<l|
00007f10  25 28 6c 65 76 25 29 8c  6c 25 28 6c 65 76 25 29  |%(lev%).l%(lev%)|
00007f20  3d 6c 25 28 6c 65 76 25  2b 31 29 0d 42 ae 2c e7  |=l%(lev%+1).B.,.|
00007f30  62 25 28 6c 65 76 25 2b  31 29 3c 62 25 28 6c 65  |b%(lev%+1)<b%(le|
00007f40  76 25 29 8c 62 25 28 6c  65 76 25 29 3d 62 25 28  |v%).b%(lev%)=b%(|
00007f50  6c 65 76 25 2b 31 29 0d  42 b8 2c e7 72 25 28 6c  |lev%+1).B.,.r%(l|
00007f60  65 76 25 2b 31 29 3e 72  25 28 6c 65 76 25 29 8c  |ev%+1)>r%(lev%).|
00007f70  72 25 28 6c 65 76 25 29  3d 72 25 28 6c 65 76 25  |r%(lev%)=r%(lev%|
00007f80  2b 31 29 0d 42 c2 2c e7  74 25 28 6c 65 76 25 2b  |+1).B.,.t%(lev%+|
00007f90  31 29 3e 74 25 28 6c 65  76 25 29 8c 74 25 28 6c  |1)>t%(lev%).t%(l|
00007fa0  65 76 25 29 3d 74 25 28  6c 65 76 25 2b 31 29 0d  |ev%)=t%(lev%+1).|
00007fb0  42 cc 05 cd 0d 42 d6 0d  cf 23 63 25 3d 65 6e 64  |B....B...#c%=end|
00007fc0  25 0d 42 e0 05 e1 0d 42  f4 12 dd f2 70 75 74 78  |%.B....B....putx|
00007fd0  79 28 78 25 2c 79 25 29  0d 42 fe 17 f2 70 75 74  |y(x%,y%).B...put|
00007fe0  77 28 78 25 29 3a f2 70  75 74 77 28 79 25 29 0d  |w(x%):.putw(y%).|
00007ff0  43 08 1c e7 78 25 3c 6c  25 28 6c 65 76 25 29 8c  |C...x%<l%(lev%).|
00008000  6c 25 28 6c 65 76 25 29  3d 78 25 0d 43 12 1c e7  |l%(lev%)=x%.C...|
00008010  79 25 3c 62 25 28 6c 65  76 25 29 8c 62 25 28 6c  |y%<b%(lev%).b%(l|
00008020  65 76 25 29 3d 79 25 0d  43 1c 1c e7 78 25 3e 72  |ev%)=y%.C...x%>r|
00008030  25 28 6c 65 76 25 29 8c  72 25 28 6c 65 76 25 29  |%(lev%).r%(lev%)|
00008040  3d 78 25 0d 43 26 1c e7  79 25 3e 74 25 28 6c 65  |=x%.C&..y%>t%(le|
00008050  76 25 29 8c 74 25 28 6c  65 76 25 29 3d 79 25 0d  |v%).t%(lev%)=y%.|
00008060  43 30 05 e1 0d 43 44 0b  dd f2 61 6c 69 67 6e 0d  |C0...CD...align.|
00008070  43 4e 16 c8 95 8f 23 63  25 80 20 33 3a d5 23 63  |CN....#c%. 3:.#c|
00008080  25 2c 30 3a ce 0d 43 58  05 e1 0d 43 6c 0a dd a4  |%,0:..CX...Cl...|
00008090  77 6f 72 64 0d 43 76 30  3d 9a 23 69 25 84 28 26  |word.Cv0=.#i%.(&|
000080a0  31 30 30 2a 9a 23 69 25  29 84 28 26 31 30 30 30  |100*.#i%).(&1000|
000080b0  30 2a 9a 23 69 25 29 84  28 28 9a 23 69 25 29 3c  |0*.#i%).((.#i%)<|
000080c0  3c 32 34 29 0d 43 94 22  dd a4 6c 65 6e 67 74 68  |<24).C."..length|
000080d0  5f 6f 66 5f 62 61 72 28  74 65 73 74 25 2c 72 65  |_of_bar(test%,re|
000080e0  63 6f 72 64 25 29 0d 43  a8 09 ea 64 69 66 66 0d  |cord%).C...diff.|
000080f0  43 bc 21 64 69 66 66 3d  a4 61 67 65 5f 64 69 66  |C.!diff=.age_dif|
00008100  66 28 72 65 63 6f 72 64  25 2c 74 65 73 74 25 29  |f(record%,test%)|
00008110  0d 43 c6 26 e7 94 28 64  69 66 66 29 3e 33 3d b4  |.C.&..(diff)>3=.|
00008120  28 64 69 66 66 29 2a 36  2a 63 6d 8b 3d 32 2a 63  |(diff)*6*cm.=2*c|
00008130  6d 2a 64 69 66 66 0d 43  e4 1d dd a4 61 67 65 5f  |m*diff.C....age_|
00008140  64 69 66 66 28 72 65 63  6f 72 64 25 2c 74 65 73  |diff(record%,tes|
00008150  74 25 29 0d 43 f8 1a ea  72 61 79 25 2c 72 61 6d  |t%).C...ray%,ram|
00008160  25 2c 61 67 65 79 25 2c  61 67 65 6d 25 0d 44 0c  |%,agey%,agem%.D.|
00008170  1d 72 61 79 25 3d 72 61  25 28 74 65 73 74 25 2c  |.ray%=ra%(test%,|
00008180  30 2c 72 65 63 6f 72 64  25 29 0d 44 16 1d 72 61  |0,record%).D..ra|
00008190  6d 25 3d 72 61 25 28 74  65 73 74 25 2c 31 2c 72  |m%=ra%(test%,1,r|
000081a0  65 63 6f 72 64 25 29 0d  44 20 75 f2 61 67 65 5f  |ecord%).D u.age_|
000081b0  79 6d 28 74 65 73 74 25  28 30 2c 74 65 73 74 25  |ym(test%(0,test%|
000081c0  29 2c 74 65 73 74 25 28  31 2c 74 65 73 74 25 29  |),test%(1,test%)|
000081d0  2c 74 65 73 74 25 28 32  2c 74 65 73 74 25 29 2c  |,test%(2,test%),|
000081e0  64 6f 62 25 28 30 2c 72  65 63 6f 72 64 25 29 2c  |dob%(0,record%),|
000081f0  64 6f 62 25 28 31 2c 72  65 63 6f 72 64 25 29 2c  |dob%(1,record%),|
00008200  64 6f 62 25 28 32 2c 72  65 63 6f 72 64 25 29 2c  |dob%(2,record%),|
00008210  61 67 65 79 25 2c 61 67  65 6d 25 29 0d 44 2a 24  |agey%,agem%).D*$|
00008220  3d 28 72 61 79 25 2b 72  61 6d 25 2f 31 32 29 2d  |=(ray%+ram%/12)-|
00008230  28 61 67 65 79 25 2b 61  67 65 6d 25 2f 31 32 29  |(agey%+agem%/12)|
00008240  0d 44 48 1d dd f2 6d 6f  6e 74 68 79 65 61 72 28  |.DH...monthyear(|
00008250  61 67 65 24 2c f8 79 25  2c f8 6d 25 29 0d 44 5c  |age$,.y%,.m%).D\|
00008260  19 ea 79 24 2c 6d 24 2c  69 25 2c 70 6f 69 6e 74  |..y$,m$,i%,point|
00008270  25 2c 6c 65 6e 25 0d 44  70 15 70 6f 69 6e 74 25  |%,len%.Dp.point%|
00008280  3d a7 61 67 65 24 2c 22  2e 22 29 0d 44 7a 10 6c  |=.age$,".").Dz.l|
00008290  65 6e 25 3d a9 28 61 67  65 24 29 0d 44 8e 1b e7  |en%=.(age$).D...|
000082a0  70 6f 69 6e 74 25 3d 30  20 70 6f 69 6e 74 25 3d  |point%=0 point%=|
000082b0  6c 65 6e 25 2b 31 0d 44  98 0f e7 70 6f 69 6e 74  |len%+1.D...point|
000082c0  25 3c 3e 31 8c 0d 44 a2  12 e3 69 25 3d 31 b8 70  |%<>1..D...i%=1.p|
000082d0  6f 69 6e 74 25 2d 31 0d  44 ac 13 79 24 2b 3d c1  |oint%-1.D..y$+=.|
000082e0  61 67 65 24 2c 69 25 2c  31 29 0d 44 b6 05 ed 0d  |age$,i%,1).D....|
000082f0  44 c0 05 cd 0d 44 d4 14  e7 70 6f 69 6e 74 25 3c  |D....D...point%<|
00008300  3e 6c 65 6e 25 2b 31 8c  0d 44 de 15 e3 69 25 3d  |>len%+1..D...i%=|
00008310  70 6f 69 6e 74 25 2b 31  b8 6c 65 6e 25 0d 44 e8  |point%+1.len%.D.|
00008320  13 6d 24 2b 3d c1 61 67  65 24 2c 69 25 2c 31 29  |.m$+=.age$,i%,1)|
00008330  0d 44 f2 05 ed 0d 44 fc  05 cd 0d 45 10 0a f1 79  |.D....D....E...y|
00008340  24 2c 6d 24 0d 45 1a 15  79 25 3d bb 28 79 24 29  |$,m$.E..y%=.(y$)|
00008350  3a 6d 25 3d bb 28 6d 24  29 0d 45 2e 05 e1 0d 45  |:m%=.(m$).E....E|
00008360  4c 13 dd f2 66 69 6c 6c  28 6f 66 66 73 65 74 25  |L...fill(offset%|
00008370  29 0d 45 60 0a ea 69 25  2c 6a 25 0d 45 74 0c e3  |).E`..i%,j%.Et..|
00008380  69 25 3d 30 b8 33 30 0d  45 88 73 e7 6e 61 6d 65  |i%=0.30.E.s.name|
00008390  24 28 30 2c 28 69 25 2b  6f 66 66 73 65 74 25 29  |$(0,(i%+offset%)|
000083a0  29 3c 3e 22 22 f2 74 65  78 74 28 31 2e 31 2a 63  |)<>"".text(1.1*c|
000083b0  6d 2c 32 35 2e 35 2a 63  6d 2d 2e 37 35 2a 69 25  |m,25.5*cm-.75*i%|
000083c0  2a 63 6d 2c 6e 61 6d 65  24 28 30 2c 28 69 25 2b  |*cm,name$(0,(i%+|
000083d0  6f 66 66 73 65 74 25 29  29 2c 38 2a 70 6f 69 6e  |offset%)),8*poin|
000083e0  74 2c 31 30 2a 70 6f 69  6e 74 2c 31 2c 62 6c 61  |t,10*point,1,bla|
000083f0  63 6b 25 2c 6e 6f 6e 65  25 29 0d 45 92 73 e7 6e  |ck%,none%).E.s.n|
00008400  61 6d 65 24 28 31 2c 28  69 25 2b 6f 66 66 73 65  |ame$(1,(i%+offse|
00008410  74 25 29 29 3c 3e 22 22  f2 74 65 78 74 28 33 2e  |t%))<>"".text(3.|
00008420  31 2a 63 6d 2c 32 35 2e  35 2a 63 6d 2d 2e 37 35  |1*cm,25.5*cm-.75|
00008430  2a 69 25 2a 63 6d 2c 6e  61 6d 65 24 28 31 2c 28  |*i%*cm,name$(1,(|
00008440  69 25 2b 6f 66 66 73 65  74 25 29 29 2c 38 2a 70  |i%+offset%)),8*p|
00008450  6f 69 6e 74 2c 31 30 2a  70 6f 69 6e 74 2c 31 2c  |oint,10*point,1,|
00008460  62 6c 61 63 6b 25 2c 6e  6f 6e 65 25 29 0d 45 9c  |black%,none%).E.|
00008470  dd e7 64 6f 62 25 28 30  2c 28 69 25 2b 6f 66 66  |..dob%(0,(i%+off|
00008480  73 65 74 25 29 29 3c 3e  30 84 64 6f 62 25 28 31  |set%))<>0.dob%(1|
00008490  2c 28 69 25 2b 6f 66 66  73 65 74 25 29 29 3c 3e  |,(i%+offset%))<>|
000084a0  30 84 64 6f 62 25 28 32  2c 28 69 25 2b 6f 66 66  |0.dob%(2,(i%+off|
000084b0  73 65 74 25 29 29 3c 3e  30 8c f2 74 65 78 74 28  |set%))<>0..text(|
000084c0  34 2e 36 2a 63 6d 2c 32  35 2e 35 2a 63 6d 2d 2e  |4.6*cm,25.5*cm-.|
000084d0  37 35 2a 69 25 2a 63 6d  2c c3 28 64 6f 62 25 28  |75*i%*cm,.(dob%(|
000084e0  30 2c 28 69 25 2b 6f 66  66 73 65 74 25 29 29 29  |0,(i%+offset%)))|
000084f0  2b 22 2f 22 2b c3 28 64  6f 62 25 28 31 2c 28 69  |+"/"+.(dob%(1,(i|
00008500  25 2b 6f 66 66 73 65 74  25 29 29 29 2b 22 2f 22  |%+offset%)))+"/"|
00008510  2b c3 28 64 6f 62 25 28  32 2c 28 69 25 2b 6f 66  |+.(dob%(2,(i%+of|
00008520  66 73 65 74 25 29 29 29  2c 31 30 2a 70 6f 69 6e  |fset%))),10*poin|
00008530  74 2c 31 30 2a 70 6f 69  6e 74 2c 31 2c 62 6c 61  |t,10*point,1,bla|
00008540  63 6b 25 2c 6e 6f 6e 65  25 29 0d 45 b0 0b e3 6a  |ck%,none%).E...j|
00008550  25 3d 30 b8 31 0d 45 ba  39 e7 72 61 25 28 6a 25  |%=0.1.E.9.ra%(j%|
00008560  2c 30 2c 28 69 25 2b 6f  66 66 73 65 74 25 29 29  |,0,(i%+offset%))|
00008570  3c 3e 30 84 72 61 25 28  6a 25 2c 31 2c 28 69 25  |<>0.ra%(j%,1,(i%|
00008580  2b 6f 66 66 73 65 74 25  29 29 3c 3e 30 8c 0d 45  |+offset%))<>0..E|
00008590  c4 81 f2 74 65 78 74 28  28 36 2e 31 2b 6a 25 29  |...text((6.1+j%)|
000085a0  2a 63 6d 2c 32 35 2e 35  2a 63 6d 2d 2e 37 35 2a  |*cm,25.5*cm-.75*|
000085b0  69 25 2a 63 6d 2c c3 28  72 61 25 28 6a 25 2c 30  |i%*cm,.(ra%(j%,0|
000085c0  2c 28 69 25 2b 6f 66 66  73 65 74 25 29 29 29 2b  |,(i%+offset%)))+|
000085d0  22 2e 22 2b c3 28 72 61  25 28 6a 25 2c 31 2c 28  |"."+.(ra%(j%,1,(|
000085e0  69 25 2b 6f 66 66 73 65  74 25 29 29 29 2c 31 30  |i%+offset%))),10|
000085f0  2a 70 6f 69 6e 74 2c 31  30 2a 70 6f 69 6e 74 2c  |*point,10*point,|
00008600  31 2c 62 6c 61 63 6b 25  2c 6e 6f 6e 65 25 29 0d  |1,black%,none%).|
00008610  45 ce 0e 6b 65 79 25 28  6a 25 29 3d b9 0d 45 d8  |E..key%(j%)=..E.|
00008620  53 f2 70 61 74 68 5f 73  74 61 72 74 28 31 34 2e  |S.path_start(14.|
00008630  32 35 2a 63 6d 2c 32 35  2e 36 32 35 2a 63 6d 2d  |25*cm,25.625*cm-|
00008640  2e 37 35 2a 69 25 2a 63  6d 2d 2e 32 35 2a 63 6d  |.75*i%*cm-.25*cm|
00008650  2a 6a 25 2c 31 2a 70 6f  69 6e 74 2c 62 6c 61 63  |*j%,1*point,blac|
00008660  6b 25 2c 62 61 72 5f 63  6f 6c 25 28 6a 25 29 29  |k%,bar_col%(j%))|
00008670  0d 45 e2 56 f2 70 61 74  68 5f 64 72 61 77 28 31  |.E.V.path_draw(1|
00008680  34 2e 32 35 2a 63 6d 2b  a4 6c 65 6e 67 74 68 5f  |4.25*cm+.length_|
00008690  6f 66 5f 62 61 72 28 6a  25 2c 28 69 25 2b 6f 66  |of_bar(j%,(i%+of|
000086a0  66 73 65 74 25 29 29 2c  32 35 2e 36 32 35 2a 63  |fset%)),25.625*c|
000086b0  6d 2d 2e 37 35 2a 69 25  2a 63 6d 2d 2e 32 35 2a  |m-.75*i%*cm-.25*|
000086c0  63 6d 2a 6a 25 29 0d 45  ec 56 f2 70 61 74 68 5f  |cm*j%).E.V.path_|
000086d0  64 72 61 77 28 31 34 2e  32 35 2a 63 6d 2b a4 6c  |draw(14.25*cm+.l|
000086e0  65 6e 67 74 68 5f 6f 66  5f 62 61 72 28 6a 25 2c  |ength_of_bar(j%,|
000086f0  28 69 25 2b 6f 66 66 73  65 74 25 29 29 2c 32 35  |(i%+offset%)),25|
00008700  2e 38 37 35 2a 63 6d 2d  2e 37 35 2a 69 25 2a 63  |.875*cm-.75*i%*c|
00008710  6d 2d 2e 32 35 2a 63 6d  2a 6a 25 29 0d 45 f6 36  |m-.25*cm*j%).E.6|
00008720  f2 70 61 74 68 5f 64 72  61 77 28 31 34 2e 32 35  |.path_draw(14.25|
00008730  2a 63 6d 2c 32 35 2e 38  37 35 2a 63 6d 2d 2e 37  |*cm,25.875*cm-.7|
00008740  35 2a 69 25 2a 63 6d 2d  2e 32 35 2a 63 6d 2a 6a  |5*i%*cm-.25*cm*j|
00008750  25 29 0d 46 00 0d f2 70  61 74 68 5f 65 6e 64 0d  |%).F...path_end.|
00008760  46 0a 05 cd 0d 46 14 05  ed 0d 46 28 05 ed 0d 46  |F....F....F(...F|
00008770  3c 20 f2 64 6f 77 6e 5f  6c 69 6e 65 28 31 34 2e  |< .down_line(14.|
00008780  32 35 2a 63 6d 2c 32 2a  70 6f 69 6e 74 29 0d 46  |25*cm,2*point).F|
00008790  50 0e f2 67 72 6f 75 70  5f 65 6e 64 0d 46 64 77  |P..group_end.Fdw|
000087a0  f2 74 65 78 74 28 34 2e  37 35 2a 63 6d 2c 32 38  |.text(4.75*cm,28|
000087b0  2e 35 2a 63 6d 2c 22 47  72 61 70 68 20 6f 66 20  |.5*cm,"Graph of |
000087c0  52 65 61 64 69 6e 67 20  41 67 65 20 6d 69 6e 75  |Reading Age minu|
000087d0  73 20 43 68 72 6f 6e 6f  6c 6f 67 69 63 61 6c 20  |s Chronological |
000087e0  41 67 65 20 66 6f 72 3a  20 22 2b 67 72 6f 75 70  |Age for: "+group|
000087f0  24 2c 31 32 2a 70 6f 69  6e 74 2c 31 32 2a 70 6f  |$,12*point,12*po|
00008800  69 6e 74 2c 32 2c 62 6c  61 63 6b 25 2c 6e 6f 6e  |int,2,black%,non|
00008810  65 25 29 0d 46 78 10 f2  67 72 6f 75 70 5f 73 74  |e%).Fx..group_st|
00008820  61 72 74 0d 46 8c 0b e3  6a 25 3d 30 b8 31 0d 46  |art.F...j%=0.1.F|
00008830  96 0e e7 6b 65 79 25 28  6a 25 29 8c 0d 46 a0 90  |...key%(j%)..F..|
00008840  f2 74 65 78 74 28 28 32  2e 32 35 2b 6a 25 2a 33  |.text((2.25+j%*3|
00008850  2e 37 35 29 2a 63 6d 2c  32 37 2e 32 35 2a 63 6d  |.75)*cm,27.25*cm|
00008860  2c 22 54 65 73 74 20 22  2b c3 28 6a 25 2b 31 29  |,"Test "+.(j%+1)|
00008870  2b 22 3a 20 22 2b c3 28  74 65 73 74 25 28 30 2c  |+": "+.(test%(0,|
00008880  6a 25 29 29 2b 22 2f 22  2b c3 28 74 65 73 74 25  |j%))+"/"+.(test%|
00008890  28 31 2c 6a 25 29 29 2b  22 2f 22 2b c3 28 74 65  |(1,j%))+"/"+.(te|
000088a0  73 74 25 28 32 2c 6a 25  29 29 2c 31 32 2a 70 6f  |st%(2,j%)),12*po|
000088b0  69 6e 74 2c 31 32 2a 70  6f 69 6e 74 2c 32 2c 62  |int,12*point,2,b|
000088c0  6c 61 63 6b 25 2c 6e 6f  6e 65 25 29 0d 46 aa 52  |lack%,none%).F.R|
000088d0  f2 72 65 63 74 61 6e 67  6c 65 28 28 35 2e 32 35  |.rectangle((5.25|
000088e0  2b 6a 25 2a 33 2e 37 35  29 2a 63 6d 2c 32 37 2e  |+j%*3.75)*cm,27.|
000088f0  31 35 2a 63 6d 2c 2e 35  2a 63 6d 2c 2e 35 2a 63  |15*cm,.5*cm,.5*c|
00008900  6d 2c 31 2a 70 6f 69 6e  74 2c 62 6c 61 63 6b 25  |m,1*point,black%|
00008910  2c 62 61 72 5f 63 6f 6c  25 28 6a 25 29 29 0d 46  |,bar_col%(j%)).F|
00008920  b4 05 cd 0d 46 be 05 ed  0d 46 d2 0e f2 67 72 6f  |....F....F...gro|
00008930  75 70 5f 65 6e 64 0d 46  e6 05 e1 0d 47 04 2d dd  |up_end.F....G.-.|
00008940  f2 61 67 65 5f 79 6d 28  74 64 25 2c 74 6d 25 2c  |.age_ym(td%,tm%,|
00008950  74 79 25 2c 62 64 25 2c  62 6d 25 2c 62 79 25 2c  |ty%,bd%,bm%,by%,|
00008960  f8 79 25 2c f8 6d 25 29  0d 47 0e 0e 79 25 3d 74  |.y%,.m%).G..y%=t|
00008970  79 25 2d 62 79 25 0d 47  18 0e 6d 25 3d 74 6d 25  |y%-by%.G..m%=tm%|
00008980  2d 62 6d 25 0d 47 22 11  e7 74 64 25 3c 62 64 25  |-bm%.G"..td%<bd%|
00008990  6d 25 2d 3d 31 0d 47 2c  18 e7 6d 25 3c 30 20 79  |m%-=1.G,..m%<0 y|
000089a0  25 2d 3d 31 3a 6d 25 3d  6d 25 2b 31 32 0d 47 36  |%-=1:m%=m%+12.G6|
000089b0  05 e1 0d 47 54 27 dd f2  6f 70 65 6e 5f 73 61 76  |...GT'..open_sav|
000089c0  65 5f 77 69 6e 64 6f 77  28 6d 61 69 6e 5f 77 25  |e_window(main_w%|
000089d0  2c 73 61 76 65 5f 77 25  29 0d 47 68 26 ea 78 6d  |,save_w%).Gh&.xm|
000089e0  25 2c 79 6d 25 2c 6c 25  2c 77 25 2c 78 5f 6f 66  |%,ym%,l%,w%,x_of|
000089f0  66 73 65 74 25 2c 79 5f  6f 66 66 73 65 74 25 0d  |fset%,y_offset%.|
00008a00  47 72 11 78 5f 6f 66 66  73 65 74 25 3d 33 30 30  |Gr.x_offset%=300|
00008a10  0d 47 7c 11 79 5f 6f 66  66 73 65 74 25 3d 36 32  |.G|.y_offset%=62|
00008a20  35 0d 47 90 16 21 74 65  6d 70 5f 62 6c 6b 25 3d  |5.G..!temp_blk%=|
00008a30  6d 61 69 6e 5f 77 25 0d  47 9a 26 c8 99 22 57 69  |main_w%.G.&.."Wi|
00008a40  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00008a50  65 22 2c 2c 74 65 6d 70  5f 62 6c 6b 25 0d 47 a4  |e",,temp_blk%.G.|
00008a60  12 78 25 3d 74 65 6d 70  5f 62 6c 6b 25 21 34 0d  |.x%=temp_blk%!4.|
00008a70  47 ae 12 79 25 3d 74 65  6d 70 5f 62 6c 6b 25 21  |G..y%=temp_blk%!|
00008a80  38 0d 47 b8 3a c8 99 22  57 69 6d 70 5f 43 72 65  |8.G.:.."Wimp_Cre|
00008a90  61 74 65 4d 65 6e 75 22  2c 2c 73 61 76 65 5f 77  |ateMenu",,save_w|
00008aa0  25 2c 78 25 2b 78 5f 6f  66 66 73 65 74 25 2c 79  |%,x%+x_offset%,y|
00008ab0  25 2b 79 5f 6f 66 66 73  65 74 25 0d 47 c2 05 e1  |%+y_offset%.G...|
00008ac0  0d 47 e0 12 dd f2 77 69  70 65 5f 61 6c 6c 28 72  |.G....wipe_all(r|
00008ad0  25 29 0d 47 f4 0d ea 69  25 2c 6a 25 2c 6b 25 0d  |%).G...i%,j%,k%.|
00008ae0  48 08 0e 6e 61 6d 65 24  28 29 3d 22 22 0d 48 12  |H..name$()="".H.|
00008af0  0c 64 6f 62 25 28 29 3d  30 0d 48 1c 0b 72 61 25  |.dob%()=0.H..ra%|
00008b00  28 29 3d 30 0d 48 26 0d  74 65 73 74 25 28 29 3d  |()=0.H&.test%()=|
00008b10  30 0d 48 30 0d 67 72 6f  75 70 24 3d 22 22 0d 48  |0.H0.group$="".H|
00008b20  44 13 e7 72 25 f2 77 69  70 65 5f 72 65 63 6f 72  |D..r%.wipe_recor|
00008b30  64 0d 48 4e 12 61 73 6b  5f 74 6f 5f 73 61 76 65  |d.HN.ask_to_save|
00008b40  25 3d a3 0d 48 58 14 6e  6f 5f 6f 66 5f 72 65 63  |%=..HX.no_of_rec|
00008b50  6f 72 64 73 25 3d 30 0d  48 62 15 63 75 72 72 65  |ords%=0.Hb.curre|
00008b60  6e 74 5f 72 65 63 6f 72  64 25 3d 30 0d 48 6c 2c  |nt_record%=0.Hl,|
00008b70  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00008b80  69 6e 64 6f 77 25 2c 6e  6f 69 6e 67 70 5f 69 63  |indow%,noingp_ic|
00008b90  6f 6e 25 2c 22 31 22 29  0d 48 76 2c f2 70 75 74  |on%,"1").Hv,.put|
00008ba0  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00008bb0  77 25 2c 72 65 63 6f 72  64 5f 69 63 6f 6e 25 2c  |w%,record_icon%,|
00008bc0  22 31 22 29 0d 48 80 37  f2 70 75 74 5f 74 65 78  |"1").H.7.put_tex|
00008bd0  74 28 73 61 76 65 61 73  31 5f 77 69 6e 64 6f 77  |t(saveas1_window|
00008be0  25 2c 66 69 6c 65 6e 61  6d 65 5f 69 63 6f 6e 25  |%,filename_icon%|
00008bf0  2c 22 52 41 a0 44 61 74  61 22 29 0d 48 8a 38 f2  |,"RA.Data").H.8.|
00008c00  70 75 74 5f 74 65 78 74  28 73 61 76 65 61 73 32  |put_text(saveas2|
00008c10  5f 77 69 6e 64 6f 77 25  2c 66 69 6c 65 6e 61 6d  |_window%,filenam|
00008c20  65 5f 69 63 6f 6e 25 2c  22 52 41 a0 47 72 61 70  |e_icon%,"RA.Grap|
00008c30  68 22 29 0d 48 94 37 f2  70 75 74 5f 74 65 78 74  |h").H.7.put_text|
00008c40  28 73 61 76 65 61 73 33  5f 77 69 6e 64 6f 77 25  |(saveas3_window%|
00008c50  2c 66 69 6c 65 6e 61 6d  65 5f 69 63 6f 6e 25 2c  |,filename_icon%,|
00008c60  22 52 41 a0 54 65 78 74  22 29 0d 48 a8 05 e1 0d  |"RA.Text").H....|
00008c70  48 c6 11 dd f2 77 69 70  65 5f 72 65 63 6f 72 64  |H....wipe_record|
00008c80  0d 48 da 2b f2 70 75 74  5f 74 65 78 74 28 6d 61  |.H.+.put_text(ma|
00008c90  69 6e 5f 77 69 6e 64 6f  77 25 2c 67 70 6e 61 6d  |in_window%,gpnam|
00008ca0  65 5f 69 63 6f 6e 25 2c  22 22 29 0d 48 e4 2a f2  |e_icon%,"").H.*.|
00008cb0  70 75 74 5f 74 65 78 74  28 6d 61 69 6e 5f 77 69  |put_text(main_wi|
00008cc0  6e 64 6f 77 25 2c 6e 61  6d 65 31 5f 69 63 6f 6e  |ndow%,name1_icon|
00008cd0  25 2c 22 22 29 0d 48 ee  2a f2 70 75 74 5f 74 65  |%,"").H.*.put_te|
00008ce0  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00008cf0  6e 61 6d 65 32 5f 69 63  6f 6e 25 2c 22 22 29 0d  |name2_icon%,"").|
00008d00  48 f8 29 f2 70 75 74 5f  74 65 78 74 28 6d 61 69  |H.).put_text(mai|
00008d10  6e 5f 77 69 6e 64 6f 77  25 2c 64 6f 62 64 5f 69  |n_window%,dobd_i|
00008d20  63 6f 6e 25 2c 22 22 29  0d 49 02 29 f2 70 75 74  |con%,"").I.).put|
00008d30  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00008d40  77 25 2c 64 6f 62 6d 5f  69 63 6f 6e 25 2c 22 22  |w%,dobm_icon%,""|
00008d50  29 0d 49 0c 29 f2 70 75  74 5f 74 65 78 74 28 6d  |).I.).put_text(m|
00008d60  61 69 6e 5f 77 69 6e 64  6f 77 25 2c 64 6f 62 79  |ain_window%,doby|
00008d70  5f 69 63 6f 6e 25 2c 22  22 29 0d 49 16 29 f2 70  |_icon%,"").I.).p|
00008d80  75 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |ut_text(main_win|
00008d90  64 6f 77 25 2c 72 61 31  79 5f 69 63 6f 6e 25 2c  |dow%,ra1y_icon%,|
00008da0  22 22 29 0d 49 20 29 f2  70 75 74 5f 74 65 78 74  |"").I ).put_text|
00008db0  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 72 61  |(main_window%,ra|
00008dc0  31 6d 5f 69 63 6f 6e 25  2c 22 22 29 0d 49 2a 29  |1m_icon%,"").I*)|
00008dd0  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00008de0  69 6e 64 6f 77 25 2c 72  61 32 79 5f 69 63 6f 6e  |indow%,ra2y_icon|
00008df0  25 2c 22 22 29 0d 49 34  29 f2 70 75 74 5f 74 65  |%,"").I4).put_te|
00008e00  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00008e10  72 61 32 6d 5f 69 63 6f  6e 25 2c 22 22 29 0d 49  |ra2m_icon%,"").I|
00008e20  3e 2a f2 70 75 74 5f 74  65 78 74 28 6d 61 69 6e  |>*.put_text(main|
00008e30  5f 77 69 6e 64 6f 77 25  2c 74 73 74 31 64 5f 69  |_window%,tst1d_i|
00008e40  63 6f 6e 25 2c 22 22 29  0d 49 48 2a f2 70 75 74  |con%,"").IH*.put|
00008e50  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00008e60  77 25 2c 74 73 74 31 6d  5f 69 63 6f 6e 25 2c 22  |w%,tst1m_icon%,"|
00008e70  22 29 0d 49 52 2a f2 70  75 74 5f 74 65 78 74 28  |").IR*.put_text(|
00008e80  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
00008e90  31 79 5f 69 63 6f 6e 25  2c 22 22 29 0d 49 5c 2a  |1y_icon%,"").I\*|
00008ea0  f2 70 75 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.put_text(main_w|
00008eb0  69 6e 64 6f 77 25 2c 74  73 74 32 64 5f 69 63 6f  |indow%,tst2d_ico|
00008ec0  6e 25 2c 22 22 29 0d 49  66 2a f2 70 75 74 5f 74  |n%,"").If*.put_t|
00008ed0  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00008ee0  2c 74 73 74 32 6d 5f 69  63 6f 6e 25 2c 22 22 29  |,tst2m_icon%,"")|
00008ef0  0d 49 70 2a f2 70 75 74  5f 74 65 78 74 28 6d 61  |.Ip*.put_text(ma|
00008f00  69 6e 5f 77 69 6e 64 6f  77 25 2c 74 73 74 32 79  |in_window%,tst2y|
00008f10  5f 69 63 6f 6e 25 2c 22  22 29 0d 49 7a 28 f2 73  |_icon%,"").Iz(.s|
00008f20  65 74 5f 63 61 72 65 74  28 6d 61 69 6e 5f 77 69  |et_caret(main_wi|
00008f30  6e 64 6f 77 25 2c 6e 61  6d 65 31 5f 69 63 6f 6e  |ndow%,name1_icon|
00008f40  25 29 0d 49 8e 05 e1 0d  49 ac 0e dd a4 61 73 6b  |%).I....I....ask|
00008f50  32 73 61 76 65 0d 49 c0  12 e7 61 73 6b 5f 74 6f  |2save.I...ask_to|
00008f60  5f 73 61 76 65 25 8c 0d  49 ca 06 3d b9 0d 49 d4  |_save%..I..=..I.|
00008f70  05 cc 0d 49 de 24 e7 a4  63 68 6b 5f 72 65 63 6f  |...I.$..chk_reco|
00008f80  72 64 28 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |rd(current_recor|
00008f90  64 25 29 8c 3d b9 0d 49  e8 05 cd 0d 49 fc 06 3d  |d%).=..I....I..=|
00008fa0  a3 0d 4a 1a 21 dd a4 63  68 6b 5f 72 65 63 6f 72  |..J.!..chk_recor|
00008fb0  64 28 63 75 72 72 65 6e  74 5f 72 65 63 6f 72 64  |d(current_record|
00008fc0  25 29 0d 4a 2e 44 e7 6e  61 6d 65 24 28 30 2c 63  |%).J.D.name$(0,c|
00008fd0  75 72 72 65 6e 74 5f 72  65 63 6f 72 64 25 29 3c  |urrent_record%)<|
00008fe0  3e a4 67 65 74 5f 74 65  78 74 28 6d 61 69 6e 5f  |>.get_text(main_|
00008ff0  77 69 6e 64 6f 77 25 2c  6e 61 6d 65 31 5f 69 63  |window%,name1_ic|
00009000  6f 6e 25 29 3d b9 0d 4a  38 44 e7 6e 61 6d 65 24  |on%)=..J8D.name$|
00009010  28 31 2c 63 75 72 72 65  6e 74 5f 72 65 63 6f 72  |(1,current_recor|
00009020  64 25 29 3c 3e a4 67 65  74 5f 74 65 78 74 28 6d  |d%)<>.get_text(m|
00009030  61 69 6e 5f 77 69 6e 64  6f 77 25 2c 6e 61 6d 65  |ain_window%,name|
00009040  32 5f 69 63 6f 6e 25 29  3d b9 0d 4a 42 45 e7 64  |2_icon%)=..JBE.d|
00009050  6f 62 25 28 30 2c 63 75  72 72 65 6e 74 5f 72 65  |ob%(0,current_re|
00009060  63 6f 72 64 25 29 3c 3e  bb 28 a4 67 65 74 5f 74  |cord%)<>.(.get_t|
00009070  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00009080  2c 64 6f 62 64 5f 69 63  6f 6e 25 29 29 3d b9 0d  |,dobd_icon%))=..|
00009090  4a 4c 45 e7 64 6f 62 25  28 31 2c 63 75 72 72 65  |JLE.dob%(1,curre|
000090a0  6e 74 5f 72 65 63 6f 72  64 25 29 3c 3e bb 28 a4  |nt_record%)<>.(.|
000090b0  67 65 74 5f 74 65 78 74  28 6d 61 69 6e 5f 77 69  |get_text(main_wi|
000090c0  6e 64 6f 77 25 2c 64 6f  62 6d 5f 69 63 6f 6e 25  |ndow%,dobm_icon%|
000090d0  29 29 3d b9 0d 4a 56 45  e7 64 6f 62 25 28 32 2c  |))=..JVE.dob%(2,|
000090e0  63 75 72 72 65 6e 74 5f  72 65 63 6f 72 64 25 29  |current_record%)|
000090f0  3c 3e bb 28 a4 67 65 74  5f 74 65 78 74 28 6d 61  |<>.(.get_text(ma|
00009100  69 6e 5f 77 69 6e 64 6f  77 25 2c 64 6f 62 79 5f  |in_window%,doby_|
00009110  69 63 6f 6e 25 29 29 3d  b9 0d 4a 60 46 e7 72 61  |icon%))=..J`F.ra|
00009120  25 28 30 2c 30 2c 63 75  72 72 65 6e 74 5f 72 65  |%(0,0,current_re|
00009130  63 6f 72 64 25 29 3c 3e  bb 28 a4 67 65 74 5f 74  |cord%)<>.(.get_t|
00009140  65 78 74 28 6d 61 69 6e  5f 77 69 6e 64 6f 77 25  |ext(main_window%|
00009150  2c 72 61 31 79 5f 69 63  6f 6e 25 29 29 3d b9 0d  |,ra1y_icon%))=..|
00009160  4a 6a 46 e7 72 61 25 28  30 2c 31 2c 63 75 72 72  |JjF.ra%(0,1,curr|
00009170  65 6e 74 5f 72 65 63 6f  72 64 25 29 3c 3e bb 28  |ent_record%)<>.(|
00009180  a4 67 65 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.get_text(main_w|
00009190  69 6e 64 6f 77 25 2c 72  61 31 6d 5f 69 63 6f 6e  |indow%,ra1m_icon|
000091a0  25 29 29 3d b9 0d 4a 74  46 e7 72 61 25 28 31 2c  |%))=..JtF.ra%(1,|
000091b0  30 2c 63 75 72 72 65 6e  74 5f 72 65 63 6f 72 64  |0,current_record|
000091c0  25 29 3c 3e bb 28 a4 67  65 74 5f 74 65 78 74 28  |%)<>.(.get_text(|
000091d0  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 72 61 32  |main_window%,ra2|
000091e0  79 5f 69 63 6f 6e 25 29  29 3d b9 0d 4a 7e 46 e7  |y_icon%))=..J~F.|
000091f0  72 61 25 28 31 2c 31 2c  63 75 72 72 65 6e 74 5f  |ra%(1,1,current_|
00009200  72 65 63 6f 72 64 25 29  3c 3e bb 28 a4 67 65 74  |record%)<>.(.get|
00009210  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
00009220  77 25 2c 72 61 32 6d 5f  69 63 6f 6e 25 29 29 3d  |w%,ra2m_icon%))=|
00009230  b9 0d 4a 88 33 e7 67 72  6f 75 70 24 3c 3e a4 67  |..J.3.group$<>.g|
00009240  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00009250  64 6f 77 25 2c 67 70 6e  61 6d 65 5f 69 63 6f 6e  |dow%,gpname_icon|
00009260  25 29 3d b9 0d 4a 92 39  e7 74 65 73 74 25 28 30  |%)=..J.9.test%(0|
00009270  2c 30 29 3c 3e bb 28 a4  67 65 74 5f 74 65 78 74  |,0)<>.(.get_text|
00009280  28 6d 61 69 6e 5f 77 69  6e 64 6f 77 25 2c 74 73  |(main_window%,ts|
00009290  74 31 64 5f 69 63 6f 6e  25 29 29 3d b9 0d 4a 9c  |t1d_icon%))=..J.|
000092a0  39 e7 74 65 73 74 25 28  31 2c 30 29 3c 3e bb 28  |9.test%(1,0)<>.(|
000092b0  a4 67 65 74 5f 74 65 78  74 28 6d 61 69 6e 5f 77  |.get_text(main_w|
000092c0  69 6e 64 6f 77 25 2c 74  73 74 31 6d 5f 69 63 6f  |indow%,tst1m_ico|
000092d0  6e 25 29 29 3d b9 0d 4a  a6 39 e7 74 65 73 74 25  |n%))=..J.9.test%|
000092e0  28 32 2c 30 29 3c 3e bb  28 a4 67 65 74 5f 74 65  |(2,0)<>.(.get_te|
000092f0  78 74 28 6d 61 69 6e 5f  77 69 6e 64 6f 77 25 2c  |xt(main_window%,|
00009300  74 73 74 31 79 5f 69 63  6f 6e 25 29 29 3d b9 0d  |tst1y_icon%))=..|
00009310  4a b0 39 e7 74 65 73 74  25 28 30 2c 31 29 3c 3e  |J.9.test%(0,1)<>|
00009320  bb 28 a4 67 65 74 5f 74  65 78 74 28 6d 61 69 6e  |.(.get_text(main|
00009330  5f 77 69 6e 64 6f 77 25  2c 74 73 74 32 64 5f 69  |_window%,tst2d_i|
00009340  63 6f 6e 25 29 29 3d b9  0d 4a ba 39 e7 74 65 73  |con%))=..J.9.tes|
00009350  74 25 28 31 2c 31 29 3c  3e bb 28 a4 67 65 74 5f  |t%(1,1)<>.(.get_|
00009360  74 65 78 74 28 6d 61 69  6e 5f 77 69 6e 64 6f 77  |text(main_window|
00009370  25 2c 74 73 74 32 6d 5f  69 63 6f 6e 25 29 29 3d  |%,tst2m_icon%))=|
00009380  b9 0d 4a c4 39 e7 74 65  73 74 25 28 32 2c 31 29  |..J.9.test%(2,1)|
00009390  3c 3e bb 28 a4 67 65 74  5f 74 65 78 74 28 6d 61  |<>.(.get_text(ma|
000093a0  69 6e 5f 77 69 6e 64 6f  77 25 2c 74 73 74 32 79  |in_window%,tst2y|
000093b0  5f 69 63 6f 6e 25 29 29  3d b9 0d 4a d8 06 3d a3  |_icon%))=..J..=.|
000093c0  0d 4a f6 0e dd f2 63 68  6b 5f 77 69 70 65 0d 4b  |.J....chk_wipe.K|
000093d0  0a 11 ea 63 6c 69 63 6b  25 2c 74 65 78 74 24 0d  |...click%,text$.|
000093e0  4b 1e 0c 63 6c 69 63 6b  25 3d b9 0d 4b 28 36 74  |K..click%=..K(6t|
000093f0  65 78 74 24 3d 22 41 72  65 20 79 6f 75 20 73 75  |ext$="Are you su|
00009400  72 65 20 79 6f 75 20 77  61 6e 74 20 74 6f 20 77  |re you want to w|
00009410  69 70 65 20 41 4c 4c 20  74 68 65 20 64 61 74 61  |ipe ALL the data|
00009420  22 0d 4b 32 41 e7 a4 61  73 6b 32 73 61 76 65 20  |".K2A..ask2save |
00009430  74 65 78 74 24 2b 3d 22  2c 20 74 68 65 20 63 75  |text$+=", the cu|
00009440  72 72 65 6e 74 20 64 61  74 61 20 69 73 20 55 4e  |rrent data is UN|
00009450  73 61 76 65 64 3f 22 8b  74 65 78 74 24 2b 3d 22  |saved?".text$+="|
00009460  3f 22 0d 4b 3c 23 f2 72  65 70 6f 72 74 5f 65 72  |?".K<#.report_er|
00009470  72 6f 72 28 74 65 78 74  24 2c b9 2c b9 2c 63 6c  |ror(text$,.,.,cl|
00009480  69 63 6b 25 29 0d 4b 46  19 e7 63 6c 69 63 6b 25  |ick%).KF..click%|
00009490  3d 31 f2 77 69 70 65 5f  61 6c 6c 28 b9 29 0d 4b  |=1.wipe_all(.).K|
000094a0  5a 05 e1 0d 4b 78 0b dd  f2 63 68 65 63 6b 0d 4b  |Z...Kx...check.K|
000094b0  8c 0f e7 a4 61 73 6b 32  73 61 76 65 8c 0d 4b 96  |....ask2save..K.|
000094c0  30 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |0.."Wimp_CreateM|
000094d0  65 6e 75 22 2c 2c 6d 65  73 73 61 67 65 5f 77 69  |enu",,message_wi|
000094e0  6e 64 6f 77 25 2c 33 30  30 2c 37 30 30 0d 4b a0  |ndow%,300,700.K.|
000094f0  06 ef 37 0d 4b aa 0b 71  75 69 74 25 3d a3 0d 4b  |..7.K..quit%=..K|
00009500  b4 05 cc 0d 4b be 0b 73  75 72 65 25 3d b9 0d 4b  |....K..sure%=..K|
00009510  c8 05 cd 0d 4b dc 05 e1  0d 4b fa 1a dd f2 73 61  |....K....K....sa|
00009520  76 65 5f 74 65 78 74 28  66 69 6c 65 6e 61 6d 65  |ve_text(filename|
00009530  24 29 0d 4c 0e 21 ea 68  61 6e 64 6c 65 25 2c 69  |$).L.!.handle%,i|
00009540  25 2c 6a 25 2c 74 65 78  74 24 2c 74 65 6d 70 24  |%,j%,text$,temp$|
00009550  2c 6d 25 0d 4c 40 14 c8  99 22 48 6f 75 72 67 6c  |,m%.L@..."Hourgl|
00009560  61 73 73 5f 4f 6e 22 0d  4c 54 21 f2 73 61 76 65  |ass_On".LT!.save|
00009570  5f 72 65 63 6f 72 64 28  63 75 72 72 65 6e 74 5f  |_record(current_|
00009580  72 65 63 6f 72 64 25 29  0d 4c 68 18 68 61 6e 64  |record%).Lh.hand|
00009590  6c 65 25 3d ae 28 66 69  6c 65 6e 61 6d 65 24 29  |le%=.(filename$)|
000095a0  0d 4c 7c 39 f2 6f 75 74  70 75 74 28 68 61 6e 64  |.L|9.output(hand|
000095b0  6c 65 25 2c a4 67 65 74  5f 74 65 78 74 28 6d 61  |le%,.get_text(ma|
000095c0  69 6e 5f 77 69 6e 64 6f  77 25 2c 67 70 6e 61 6d  |in_window%,gpnam|
000095d0  65 5f 69 63 6f 6e 25 29  29 0d 4c 90 88 74 65 78  |e_icon%)).L..tex|
000095e0  74 24 3d 22 54 65 73 74  20 31 3a 20 22 2b a4 67  |t$="Test 1: "+.g|
000095f0  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00009600  64 6f 77 25 2c 74 73 74  31 64 5f 69 63 6f 6e 25  |dow%,tst1d_icon%|
00009610  29 2b 22 2f 22 2b a4 67  65 74 5f 74 65 78 74 28  |)+"/"+.get_text(|
00009620  6d 61 69 6e 5f 77 69 6e  64 6f 77 25 2c 74 73 74  |main_window%,tst|
00009630  31 6d 5f 69 63 6f 6e 25  29 2b 22 2f 22 2b a4 67  |1m_icon%)+"/"+.g|
00009640  65 74 5f 74 65 78 74 28  6d 61 69 6e 5f 77 69 6e  |et_text(main_win|
00009650  64 6f 77 25 2c 74 73 74  31 79 5f 69 63 6f 6e 25  |dow%,tst1y_icon%|
00009660  29 0d 4c a4 83 e7 bb 28  a4 67 65 74 5f 74 65 78  |).L....(.get_tex|
00009670  74 28 6d 61 69 6e 5f 77  69 6e 64 6f 77 25 2c 74  |t(main_window%,t|
00009680  73 74 32 64 5f 69 63 6f  6e 25 29 29 3c 3e 30 80  |st2d_icon%))<>0.|
00009690  bb 28 a4 67 65 74 5f 74  65 78 74 28 6d 61 69 6e  |.(.get_text(main|
000096a0  5f 77 69 6e 64 6f 77 25  2c 74 73 74 32 6d 5f 69  |_window%,tst2m_i|
000096b0  63 6f 6e 25 29 29 3c 3e  30 80 bb 28 a4 67 65 74  |con%))<>0..(.get|
000096c0  5f 74 65 78 74 28 6d 61  69 6e 5f 77 69 6e 64 6f  |_text(main_windo|
000096d0  77 25 2c 74 73 74 32 79  5f 69 63 6f 6e 25 29 29  |w%,tst2y_icon%))|
000096e0  3c 3e 30 8c 0d 4c ae 8c  74 65 78 74 24 2b 3d 22  |<>0..L..text$+="|
000096f0  20 20 20 54 65 73 74 20  32 3a 20 22 2b a4 67 65  |   Test 2: "+.ge|
00009700  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
00009710  6f 77 25 2c 74 73 74 32  64 5f 69 63 6f 6e 25 29  |ow%,tst2d_icon%)|
00009720  2b 22 2f 22 2b a4 67 65  74 5f 74 65 78 74 28 6d  |+"/"+.get_text(m|
00009730  61 69 6e 5f 77 69 6e 64  6f 77 25 2c 74 73 74 32  |ain_window%,tst2|
00009740  6d 5f 69 63 6f 6e 25 29  2b 22 2f 22 2b a4 67 65  |m_icon%)+"/"+.ge|
00009750  74 5f 74 65 78 74 28 6d  61 69 6e 5f 77 69 6e 64  |t_text(main_wind|
00009760  6f 77 25 2c 74 73 74 32  79 5f 69 63 6f 6e 25 29  |ow%,tst2y_icon%)|
00009770  0d 4c b8 05 cd 0d 4c cc  2f e7 a4 73 65 6c 65 63  |.L....L./..selec|
00009780  74 65 64 28 73 61 76 65  61 73 33 5f 77 69 6e 64  |ted(saveas3_wind|
00009790  6f 77 25 2c 61 67 65 74  5f 6f 70 74 5f 69 63 6f  |ow%,aget_opt_ico|
000097a0  6e 25 29 8c 0d 4c d6 1a  f2 74 6f 64 61 79 73 5f  |n%)..L...todays_|
000097b0  64 61 74 65 28 64 25 2c  6d 25 2c 79 25 29 0d 4c  |date(d%,m%,y%).L|
000097c0  e0 30 74 65 78 74 24 2b  3d 22 20 20 54 6f 64 61  |.0text$+="  Toda|
000097d0  79 3a 20 22 2b c3 28 64  25 29 2b 22 2f 22 2b c3  |y: "+.(d%)+"/"+.|
000097e0  28 6d 25 29 2b 22 2f 22  2b c3 28 79 25 29 0d 4c  |(m%)+"/"+.(y%).L|
000097f0  ea 05 cd 0d 4c fe 1a f2  6f 75 74 70 75 74 28 68  |....L...output(h|
00009800  61 6e 64 6c 65 25 2c 74  65 78 74 24 29 0d 4d 08  |andle%,text$).M.|
00009810  17 f2 6f 75 74 70 75 74  28 68 61 6e 64 6c 65 25  |..output(handle%|
00009820  2c 22 22 29 0d 4d 1c 0c  74 65 78 74 24 3d 22 22  |,"").M..text$=""|
00009830  0d 4d 26 45 e7 a4 73 65  6c 65 63 74 65 64 28 73  |.M&E..selected(s|
00009840  61 76 65 61 73 33 5f 77  69 6e 64 6f 77 25 2c 6e  |aveas3_window%,n|
00009850  61 6d 65 5f 6f 70 74 5f  69 63 6f 6e 25 29 74 65  |ame_opt_icon%)te|
00009860  78 74 24 2b 3d a4 70 61  64 28 22 4e 61 6d 65 3a  |xt$+=.pad("Name:|
00009870  22 2c 33 33 29 0d 4d 30  45 e7 a4 73 65 6c 65 63  |",33).M0E..selec|
00009880  74 65 64 28 73 61 76 65  61 73 33 5f 77 69 6e 64  |ted(saveas3_wind|
00009890  6f 77 25 2c 64 6f 62 5f  6f 70 74 5f 69 63 6f 6e  |ow%,dob_opt_icon|
000098a0  25 29 74 65 78 74 24 2b  3d a4 70 61 64 28 22 44  |%)text$+=.pad("D|
000098b0  2e 4f 2e 42 3a 22 2c 31  30 29 0d 4d 3a 44 e7 a4  |.O.B:",10).M:D..|
000098c0  73 65 6c 65 63 74 65 64  28 73 61 76 65 61 73 33  |selected(saveas3|
000098d0  5f 77 69 6e 64 6f 77 25  2c 72 61 31 5f 6f 70 74  |_window%,ra1_opt|
000098e0  5f 69 63 6f 6e 25 29 74  65 78 74 24 2b 3d a4 70  |_icon%)text$+=.p|
000098f0  61 64 28 22 52 2e 41 2e  31 3a 22 2c 37 29 0d 4d  |ad("R.A.1:",7).M|
00009900  44 45 e7 a4 73 65 6c 65  63 74 65 64 28 73 61 76  |DE..selected(sav|
00009910  65 61 73 33 5f 77 69 6e  64 6f 77 25 2c 61 67 65  |eas3_window%,age|
00009920  31 5f 6f 70 74 5f 69 63  6f 6e 25 29 74 65 78 74  |1_opt_icon%)text|
00009930  24 2b 3d a4 70 61 64 28  22 41 67 65 20 31 3a 22  |$+=.pad("Age 1:"|
00009940  2c 37 29 0d 4d 4e 44 e7  a4 73 65 6c 65 63 74 65  |,7).MND..selecte|
00009950  64 28 73 61 76 65 61 73  33 5f 77 69 6e 64 6f 77  |d(saveas3_window|
00009960  25 2c 72 61 32 5f 6f 70  74 5f 69 63 6f 6e 25 29  |%,ra2_opt_icon%)|
00009970  74 65 78 74 24 2b 3d a4  70 61 64 28 22 52 2e 41  |text$+=.pad("R.A|
00009980  2e 32 3a 22 2c 37 29 0d  4d 58 45 e7 a4 73 65 6c  |.2:",7).MXE..sel|
00009990  65 63 74 65 64 28 73 61  76 65 61 73 33 5f 77 69  |ected(saveas3_wi|
000099a0  6e 64 6f 77 25 2c 61 67  65 32 5f 6f 70 74 5f 69  |ndow%,age2_opt_i|
000099b0  63 6f 6e 25 29 74 65 78  74 24 2b 3d a4 70 61 64  |con%)text$+=.pad|
000099c0  28 22 41 67 65 20 32 3a  22 2c 37 29 0d 4d 62 45  |("Age 2:",7).MbE|
000099d0  e7 a4 73 65 6c 65 63 74  65 64 28 73 61 76 65 61  |..selected(savea|
000099e0  73 33 5f 77 69 6e 64 6f  77 25 2c 61 67 65 74 5f  |s3_window%,aget_|
000099f0  6f 70 74 5f 69 63 6f 6e  25 29 74 65 78 74 24 2b  |opt_icon%)text$+|
00009a00  3d a4 70 61 64 28 22 54  6f 64 61 79 3a 22 2c 36  |=.pad("Today:",6|
00009a10  29 0d 4d 80 1a f2 6f 75  74 70 75 74 28 68 61 6e  |).M...output(han|
00009a20  64 6c 65 25 2c 74 65 78  74 24 29 0d 4d 8a 17 f2  |dle%,text$).M...|
00009a30  6f 75 74 70 75 74 28 68  61 6e 64 6c 65 25 2c 22  |output(handle%,"|
00009a40  22 29 0d 4d 9e 18 e3 69  25 3d 30 b8 6e 6f 5f 6f  |").M...i%=0.no_o|
00009a50  66 5f 72 65 63 6f 72 64  73 25 0d 4d b2 0c 74 65  |f_records%.M..te|
00009a60  78 74 24 3d 22 22 0d 4d  bc 2f e7 a4 73 65 6c 65  |xt$="".M./..sele|
00009a70  63 74 65 64 28 73 61 76  65 61 73 33 5f 77 69 6e  |cted(saveas3_win|
00009a80  64 6f 77 25 2c 6e 61 6d  65 5f 6f 70 74 5f 69 63  |dow%,name_opt_ic|
00009a90  6f 6e 25 29 8c 0d 4d c6  1f 74 65 78 74 24 2b 3d  |on%)..M..text$+=|
00009aa0  a4 70 61 64 28 6e 61 6d  65 24 28 30 2c 69 25 29  |.pad(name$(0,i%)|
00009ab0  2c 31 38 29 0d 4d d0 1f  74 65 78 74 24 2b 3d a4  |,18).M..text$+=.|
00009ac0  70 61 64 28 6e 61 6d 65  24 28 31 2c 69 25 29 2c  |pad(name$(1,i%),|
00009ad0  31 35 29 0d 4d da 05 cd  0d 4d ee 2e e7 a4 73 65  |15).M....M....se|
00009ae0  6c 65 63 74 65 64 28 73  61 76 65 61 73 33 5f 77  |lected(saveas3_w|
00009af0  69 6e 64 6f 77 25 2c 64  6f 62 5f 6f 70 74 5f 69  |indow%,dob_opt_i|
00009b00  63 6f 6e 25 29 8c 0d 4d  f8 0c 74 65 6d 70 24 3d  |con%)..M..temp$=|
00009b10  22 22 0d 4e 02 0b e3 6a  25 3d 30 b8 32 0d 4e 0c  |"".N...j%=0.2.N.|
00009b20  19 74 65 6d 70 24 2b 3d  c3 28 64 6f 62 25 28 6a  |.temp$+=.(dob%(j|
00009b30  25 2c 69 25 29 29 0d 4e  16 14 e7 6a 25 3c 32 20  |%,i%)).N...j%<2 |
00009b40  74 65 6d 70 24 2b 3d 22  2f 22 0d 4e 20 05 ed 0d  |temp$+="/".N ...|
00009b50  4e 2a 1a e7 74 65 6d 70  24 3d 22 30 2f 30 2f 30  |N*..temp$="0/0/0|
00009b60  22 74 65 6d 70 24 3d 22  22 0d 4e 34 19 74 65 78  |"temp$="".N4.tex|
00009b70  74 24 2b 3d a4 70 61 64  28 74 65 6d 70 24 2c 31  |t$+=.pad(temp$,1|
00009b80  30 29 0d 4e 3e 05 cd 0d  4e 52 2e e7 a4 73 65 6c  |0).N>...NR...sel|
00009b90  65 63 74 65 64 28 73 61  76 65 61 73 33 5f 77 69  |ected(saveas3_wi|
00009ba0  6e 64 6f 77 25 2c 72 61  31 5f 6f 70 74 5f 69 63  |ndow%,ra1_opt_ic|
00009bb0  6f 6e 25 29 8c 0d 4e 5c  0c 74 65 6d 70 24 3d 22  |on%)..N\.temp$="|
00009bc0  22 0d 4e 66 23 e7 72 61  25 28 30 2c 30 2c 69 25  |".Nf#.ra%(0,0,i%|
00009bd0  29 3c 3e 30 84 72 61 25  28 30 2c 31 2c 69 25 29  |)<>0.ra%(0,1,i%)|
00009be0  3c 3e 30 8c 0d 4e 70 0b  e3 6a 25 3d 30 b8 31 0d  |<>0..Np..j%=0.1.|
00009bf0  4e 7a 1a 74 65 6d 70 24  2b 3d c3 28 72 61 25 28  |Nz.temp$+=.(ra%(|
00009c00  30 2c 6a 25 2c 69 25 29  29 0d 4e 84 14 e7 6a 25  |0,j%,i%)).N...j%|
00009c10  3c 31 20 74 65 6d 70 24  2b 3d 22 2e 22 0d 4e 8e  |<1 temp$+=".".N.|
00009c20  05 ed 0d 4e 98 05 cd 0d  4e a2 18 74 65 78 74 24  |...N....N..text$|
00009c30  2b 3d a4 70 61 64 28 74  65 6d 70 24 2c 37 29 0d  |+=.pad(temp$,7).|
00009c40  4e ac 05 cd 0d 4e c0 2f  e7 a4 73 65 6c 65 63 74  |N....N./..select|
00009c50  65 64 28 73 61 76 65 61  73 33 5f 77 69 6e 64 6f  |ed(saveas3_windo|
00009c60  77 25 2c 61 67 65 31 5f  6f 70 74 5f 69 63 6f 6e  |w%,age1_opt_icon|
00009c70  25 29 8c 0d 4e ca 51 74  65 6d 70 24 3d a4 61 67  |%)..N.Qtemp$=.ag|
00009c80  65 28 74 65 73 74 25 28  30 2c 30 29 2c 74 65 73  |e(test%(0,0),tes|
00009c90  74 25 28 31 2c 30 29 2c  74 65 73 74 25 28 32 2c  |t%(1,0),test%(2,|
00009ca0  30 29 2c 64 6f 62 25 28  30 2c 69 25 29 2c 64 6f  |0),dob%(0,i%),do|
00009cb0  62 25 28 31 2c 69 25 29  2c 64 6f 62 25 28 32 2c  |b%(1,i%),dob%(2,|
00009cc0  69 25 29 29 0d 4e d4 18  e7 74 65 6d 70 24 3d 22  |i%)).N...temp$="|
00009cd0  30 2e 30 22 74 65 6d 70  24 3d 22 22 0d 4e de 18  |0.0"temp$="".N..|
00009ce0  74 65 78 74 24 2b 3d a4  70 61 64 28 74 65 6d 70  |text$+=.pad(temp|
00009cf0  24 2c 37 29 0d 4e e8 05  cd 0d 4e fc 2e e7 a4 73  |$,7).N....N....s|
00009d00  65 6c 65 63 74 65 64 28  73 61 76 65 61 73 33 5f  |elected(saveas3_|
00009d10  77 69 6e 64 6f 77 25 2c  72 61 32 5f 6f 70 74 5f  |window%,ra2_opt_|
00009d20  69 63 6f 6e 25 29 8c 0d  4f 06 0c 74 65 6d 70 24  |icon%)..O..temp$|
00009d30  3d 22 22 0d 4f 10 23 e7  72 61 25 28 31 2c 30 2c  |="".O.#.ra%(1,0,|
00009d40  69 25 29 3c 3e 30 84 72  61 25 28 31 2c 31 2c 69  |i%)<>0.ra%(1,1,i|
00009d50  25 29 3c 3e 30 8c 0d 4f  1a 0b e3 6a 25 3d 30 b8  |%)<>0..O...j%=0.|
00009d60  31 0d 4f 24 1a 74 65 6d  70 24 2b 3d c3 28 72 61  |1.O$.temp$+=.(ra|
00009d70  25 28 31 2c 6a 25 2c 69  25 29 29 0d 4f 2e 14 e7  |%(1,j%,i%)).O...|
00009d80  6a 25 3c 31 20 74 65 6d  70 24 2b 3d 22 2e 22 0d  |j%<1 temp$+=".".|
00009d90  4f 38 05 ed 0d 4f 42 05  cd 0d 4f 4c 18 74 65 78  |O8...OB...OL.tex|
00009da0  74 24 2b 3d a4 70 61 64  28 74 65 6d 70 24 2c 37  |t$+=.pad(temp$,7|
00009db0  29 0d 4f 56 05 cd 0d 4f  6a 2f e7 a4 73 65 6c 65  |).OV...Oj/..sele|
00009dc0  63 74 65 64 28 73 61 76  65 61 73 33 5f 77 69 6e  |cted(saveas3_win|
00009dd0  64 6f 77 25 2c 61 67 65  32 5f 6f 70 74 5f 69 63  |dow%,age2_opt_ic|
00009de0  6f 6e 25 29 8c 0d 4f 74  51 74 65 6d 70 24 3d a4  |on%)..OtQtemp$=.|
00009df0  61 67 65 28 74 65 73 74  25 28 30 2c 31 29 2c 74  |age(test%(0,1),t|
00009e00  65 73 74 25 28 31 2c 31  29 2c 74 65 73 74 25 28  |est%(1,1),test%(|
00009e10  32 2c 31 29 2c 64 6f 62  25 28 30 2c 69 25 29 2c  |2,1),dob%(0,i%),|
00009e20  64 6f 62 25 28 31 2c 69  25 29 2c 64 6f 62 25 28  |dob%(1,i%),dob%(|
00009e30  32 2c 69 25 29 29 0d 4f  7e 18 e7 74 65 6d 70 24  |2,i%)).O~..temp$|
00009e40  3d 22 30 2e 30 22 74 65  6d 70 24 3d 22 22 0d 4f  |="0.0"temp$="".O|
00009e50  88 18 74 65 78 74 24 2b  3d a4 70 61 64 28 74 65  |..text$+=.pad(te|
00009e60  6d 70 24 2c 37 29 0d 4f  92 05 cd 0d 4f a6 2f e7  |mp$,7).O....O./.|
00009e70  a4 73 65 6c 65 63 74 65  64 28 73 61 76 65 61 73  |.selected(saveas|
00009e80  33 5f 77 69 6e 64 6f 77  25 2c 61 67 65 74 5f 6f  |3_window%,aget_o|
00009e90  70 74 5f 69 63 6f 6e 25  29 8c 0d 4f b0 42 74 65  |pt_icon%)..O.Bte|
00009ea0  78 74 24 2b 3d a4 70 61  64 28 a4 61 67 65 28 64  |xt$+=.pad(.age(d|
00009eb0  25 2c 6d 25 2c 79 25 2c  64 6f 62 25 28 30 2c 69  |%,m%,y%,dob%(0,i|
00009ec0  25 29 2c 64 6f 62 25 28  31 2c 69 25 29 2c 64 6f  |%),dob%(1,i%),do|
00009ed0  62 25 28 32 2c 69 25 29  29 2c 35 29 0d 4f ba 05  |b%(2,i%)),5).O..|
00009ee0  cd 0d 4f ce 1a f2 6f 75  74 70 75 74 28 68 61 6e  |..O...output(han|
00009ef0  64 6c 65 25 2c 74 65 78  74 24 29 0d 4f e2 05 ed  |dle%,text$).O...|
00009f00  0d 4f f6 0d d9 23 68 61  6e 64 6c 65 25 0d 50 00  |.O...#handle%.P.|
00009f10  24 ff 28 22 2a 53 65 74  54 79 70 65 20 22 2b 66  |$.("*SetType "+f|
00009f20  69 6c 65 6e 61 6d 65 24  2b 22 20 26 46 46 46 22  |ilename$+" &FFF"|
00009f30  29 0d 50 14 12 61 73 6b  5f 74 6f 5f 73 61 76 65  |).P..ask_to_save|
00009f40  25 3d a3 0d 50 28 15 c8  99 22 48 6f 75 72 67 6c  |%=..P(..."Hourgl|
00009f50  61 73 73 5f 4f 66 66 22  0d 50 3c 05 e1 0d 50 5a  |ass_Off".P<...PZ|
00009f60  1e dd f2 74 6f 64 61 79  73 5f 64 61 74 65 28 f8  |...todays_date(.|
00009f70  64 25 2c f8 6d 25 2c f8  79 25 29 0d 50 6e 10 ea  |d%,.m%,.y%).Pn..|
00009f80  64 61 74 65 24 2c 79 65  61 72 24 0d 50 78 1e 64  |date$,year$.Px.d|
00009f90  61 74 65 24 3d a4 73 79  73 5f 76 61 72 28 22 53  |ate$=.sys_var("S|
00009fa0  79 73 24 44 61 74 65 22  29 0d 50 82 1e 79 65 61  |ys$Date").P..yea|
00009fb0  72 24 3d a4 73 79 73 5f  76 61 72 28 22 53 79 73  |r$=.sys_var("Sys|
00009fc0  24 59 65 61 72 22 29 0d  50 8c 15 64 25 3d bb 28  |$Year").P..d%=.(|
00009fd0  c1 64 61 74 65 24 2c 35  2c 32 29 29 0d 50 96 13  |.date$,5,2)).P..|
00009fe0  79 25 3d bb 28 c2 79 65  61 72 24 2c 32 29 29 0d  |y%=.(.year$,2)).|
00009ff0  50 a0 12 c8 8e c1 64 61  74 65 24 2c 38 2c 33 29  |P.....date$,8,3)|
0000a000  ca 0d 50 aa 0a c9 22 4a  61 6e 22 0d 50 b4 08 6d  |..P..."Jan".P..m|
0000a010  25 3d 31 0d 50 be 0a c9  22 46 65 62 22 0d 50 c8  |%=1.P..."Feb".P.|
0000a020  08 6d 25 3d 32 0d 50 d2  0a c9 22 4d 61 72 22 0d  |.m%=2.P..."Mar".|
0000a030  50 dc 08 6d 25 3d 33 0d  50 e6 0a c9 22 41 70 72  |P..m%=3.P..."Apr|
0000a040  22 0d 50 f0 08 6d 25 3d  34 0d 50 fa 0a c9 22 4d  |".P..m%=4.P..."M|
0000a050  61 79 22 0d 51 04 08 6d  25 3d 35 0d 51 0e 0a c9  |ay".Q..m%=5.Q...|
0000a060  22 4a 75 6e 22 0d 51 18  08 6d 25 3d 36 0d 51 22  |"Jun".Q..m%=6.Q"|
0000a070  0a c9 22 4a 75 6c 22 0d  51 2c 08 6d 25 3d 37 0d  |.."Jul".Q,.m%=7.|
0000a080  51 36 0a c9 22 41 75 67  22 0d 51 40 08 6d 25 3d  |Q6.."Aug".Q@.m%=|
0000a090  38 0d 51 4a 0a c9 22 53  65 70 22 0d 51 54 08 6d  |8.QJ.."Sep".QT.m|
0000a0a0  25 3d 39 0d 51 5e 0a c9  22 4f 63 74 22 0d 51 68  |%=9.Q^.."Oct".Qh|
0000a0b0  09 6d 25 3d 31 30 0d 51  72 0a c9 22 4e 6f 76 22  |.m%=10.Qr.."Nov"|
0000a0c0  0d 51 7c 09 6d 25 3d 31  31 0d 51 86 0a c9 22 44  |.Q|.m%=11.Q..."D|
0000a0d0  65 63 22 0d 51 90 09 6d  25 3d 31 32 0d 51 9a 05  |ec".Q..m%=12.Q..|
0000a0e0  cb 0d 51 ae 05 e1 0d 51  cc 10 dd a4 70 61 64 28  |..Q....Q....pad(|
0000a0f0  74 24 2c 63 25 29 0d 51  e0 32 e7 a4 73 65 6c 65  |t$,c%).Q.2..sele|
0000a100  63 74 65 64 28 73 61 76  65 61 73 33 5f 77 69 6e  |cted(saveas3_win|
0000a110  64 6f 77 25 2c 74 61 62  5f 69 63 6f 6e 25 29 8c  |dow%,tab_icon%).|
0000a120  3d 74 24 2b bd 28 39 29  0d 51 ea 33 e7 a4 73 65  |=t$+.(9).Q.3..se|
0000a130  6c 65 63 74 65 64 28 73  61 76 65 61 73 33 5f 77  |lected(saveas3_w|
0000a140  69 6e 64 6f 77 25 2c 63  6f 6d 6d 61 5f 69 63 6f  |indow%,comma_ico|
0000a150  6e 25 29 8c 3d 74 24 2b  22 2c 22 0d 51 fe 16 3d  |n%).=t$+",".Q..=|
0000a160  74 24 2b c4 63 25 2d a9  28 74 24 29 2c 22 20 22  |t$+.c%-.(t$)," "|
0000a170  29 0d 52 1c 15 dd a4 73  65 6c 65 63 74 65 64 28  |).R....selected(|
0000a180  77 25 2c 69 25 29 0d 52  30 0a ea 66 6c 61 67 25  |w%,i%).R0..flag%|
0000a190  0d 52 44 12 74 65 6d 70  5f 62 6c 6b 25 21 30 3d  |.RD.temp_blk%!0=|
0000a1a0  77 25 0d 52 4e 12 74 65  6d 70 5f 62 6c 6b 25 21  |w%.RN.temp_blk%!|
0000a1b0  34 3d 69 25 0d 52 58 24  c8 99 22 57 69 6d 70 5f  |4=i%.RX$.."Wimp_|
0000a1c0  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
0000a1d0  65 6d 70 5f 62 6c 6b 25  0d 52 62 16 66 6c 61 67  |emp_blk%.Rb.flag|
0000a1e0  25 3d 74 65 6d 70 5f 62  6c 6b 25 21 32 34 0d 52  |%=temp_blk%!24.R|
0000a1f0  6c 1f e7 28 66 6c 61 67  25 80 26 32 30 30 30 30  |l..(flag%.&20000|
0000a200  30 29 3d 26 32 30 30 30  30 30 8c 3d b9 0d 52 76  |0)=&200000.=..Rv|
0000a210  06 3d a3 0d 52 94 17 dd  f2 72 65 6d 6f 76 65 5f  |.=..R....remove_|
0000a220  72 65 63 6f 72 64 28 72  25 29 0d 52 a8 23 e7 6e  |record(r%).R.#.n|
0000a230  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 3d 30 f2  |o_of_records%=0.|
0000a240  77 69 70 65 5f 72 65 63  6f 72 64 3a e1 0d 52 b2  |wipe_record:..R.|
0000a250  07 ea 69 25 0d 52 c6 1b  e3 69 25 3d 72 25 b8 6e  |..i%.R...i%=r%.n|
0000a260  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 2d 31 0d  |o_of_records%-1.|
0000a270  52 d0 1d 6e 61 6d 65 24  28 30 2c 69 25 29 3d 6e  |R..name$(0,i%)=n|
0000a280  61 6d 65 24 28 30 2c 69  25 2b 31 29 0d 52 da 1d  |ame$(0,i%+1).R..|
0000a290  6e 61 6d 65 24 28 31 2c  69 25 29 3d 6e 61 6d 65  |name$(1,i%)=name|
0000a2a0  24 28 31 2c 69 25 2b 31  29 0d 52 e4 1b 64 6f 62  |$(1,i%+1).R..dob|
0000a2b0  25 28 30 2c 69 25 29 3d  64 6f 62 25 28 30 2c 69  |%(0,i%)=dob%(0,i|
0000a2c0  25 2b 31 29 0d 52 ee 1b  64 6f 62 25 28 31 2c 69  |%+1).R..dob%(1,i|
0000a2d0  25 29 3d 64 6f 62 25 28  31 2c 69 25 2b 31 29 0d  |%)=dob%(1,i%+1).|
0000a2e0  52 f8 1b 64 6f 62 25 28  32 2c 69 25 29 3d 64 6f  |R..dob%(2,i%)=do|
0000a2f0  62 25 28 32 2c 69 25 2b  31 29 0d 53 02 1d 72 61  |b%(2,i%+1).S..ra|
0000a300  25 28 30 2c 30 2c 69 25  29 3d 72 61 25 28 30 2c  |%(0,0,i%)=ra%(0,|
0000a310  30 2c 69 25 2b 31 29 0d  53 0c 1d 72 61 25 28 30  |0,i%+1).S..ra%(0|
0000a320  2c 31 2c 69 25 29 3d 72  61 25 28 30 2c 31 2c 69  |,1,i%)=ra%(0,1,i|
0000a330  25 2b 31 29 0d 53 16 1d  72 61 25 28 31 2c 30 2c  |%+1).S..ra%(1,0,|
0000a340  69 25 29 3d 72 61 25 28  31 2c 30 2c 69 25 2b 31  |i%)=ra%(1,0,i%+1|
0000a350  29 0d 53 20 1d 72 61 25  28 31 2c 31 2c 69 25 29  |).S .ra%(1,1,i%)|
0000a360  3d 72 61 25 28 31 2c 31  2c 69 25 2b 31 29 0d 53  |=ra%(1,1,i%+1).S|
0000a370  2a 05 ed 0d 53 3e 1f f2  77 69 70 65 5f 65 6e 74  |*...S>..wipe_ent|
0000a380  72 79 28 6e 6f 5f 6f 66  5f 72 65 63 6f 72 64 73  |ry(no_of_records|
0000a390  25 29 0d 53 48 15 6e 6f  5f 6f 66 5f 72 65 63 6f  |%).SH.no_of_reco|
0000a3a0  72 64 73 25 2d 3d 31 0d  53 52 12 61 73 6b 5f 74  |rds%-=1.SR.ask_t|
0000a3b0  6f 5f 73 61 76 65 25 3d  b9 0d 53 66 05 e1 0d 53  |o_save%=..Sf...S|
0000a3c0  84 1c dd f2 61 64 64 5f  72 65 63 6f 72 64 28 72  |....add_record(r|
0000a3d0  25 2c 62 65 66 6f 72 65  25 29 0d 53 98 27 e7 6e  |%,before%).S.'.n|
0000a3e0  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 3d 6d 61  |o_of_records%=ma|
0000a3f0  78 5f 6e 6f 5f 6f 66 5f  72 65 63 6f 72 64 73 25  |x_no_of_records%|
0000a400  8c 0d 53 a2 5e f2 72 65  70 6f 72 74 5f 65 72 72  |..S.^.report_err|
0000a410  6f 72 28 22 53 6f 72 72  79 21 20 4d 61 78 69 6d  |or("Sorry! Maxim|
0000a420  75 6d 20 6f 66 20 22 2b  c3 28 6d 61 78 5f 6e 6f  |um of "+.(max_no|
0000a430  5f 6f 66 5f 72 65 63 6f  72 64 73 25 2b 31 29 2b  |_of_records%+1)+|
0000a440  22 20 72 65 63 6f 72 64  73 20 61 6c 6c 6f 77 65  |" records allowe|
0000a450  64 2e 22 2c b9 2c a3 2c  66 61 6c 73 65 25 29 0d  |d.",.,.,false%).|
0000a460  53 ac 05 e1 0d 53 b6 05  cd 0d 53 ca 07 ea 69 25  |S....S....S...i%|
0000a470  0d 53 de 11 e7 62 65 66  6f 72 65 25 72 25 2d 3d  |.S...before%r%-=|
0000a480  31 0d 53 f2 20 e3 69 25  3d 6e 6f 5f 6f 66 5f 72  |1.S. .i%=no_of_r|
0000a490  65 63 6f 72 64 73 25 2b  31 b8 72 25 2b 32 88 2d  |ecords%+1.r%+2.-|
0000a4a0  31 0d 53 fc 1d 6e 61 6d  65 24 28 30 2c 69 25 29  |1.S..name$(0,i%)|
0000a4b0  3d 6e 61 6d 65 24 28 30  2c 69 25 2d 31 29 0d 54  |=name$(0,i%-1).T|
0000a4c0  06 1d 6e 61 6d 65 24 28  31 2c 69 25 29 3d 6e 61  |..name$(1,i%)=na|
0000a4d0  6d 65 24 28 31 2c 69 25  2d 31 29 0d 54 10 1b 64  |me$(1,i%-1).T..d|
0000a4e0  6f 62 25 28 30 2c 69 25  29 3d 64 6f 62 25 28 30  |ob%(0,i%)=dob%(0|
0000a4f0  2c 69 25 2d 31 29 0d 54  1a 1b 64 6f 62 25 28 31  |,i%-1).T..dob%(1|
0000a500  2c 69 25 29 3d 64 6f 62  25 28 31 2c 69 25 2d 31  |,i%)=dob%(1,i%-1|
0000a510  29 0d 54 24 1b 64 6f 62  25 28 32 2c 69 25 29 3d  |).T$.dob%(2,i%)=|
0000a520  64 6f 62 25 28 32 2c 69  25 2d 31 29 0d 54 2e 1d  |dob%(2,i%-1).T..|
0000a530  72 61 25 28 30 2c 30 2c  69 25 29 3d 72 61 25 28  |ra%(0,0,i%)=ra%(|
0000a540  30 2c 30 2c 69 25 2d 31  29 0d 54 38 1d 72 61 25  |0,0,i%-1).T8.ra%|
0000a550  28 30 2c 31 2c 69 25 29  3d 72 61 25 28 30 2c 31  |(0,1,i%)=ra%(0,1|
0000a560  2c 69 25 2d 31 29 0d 54  42 1d 72 61 25 28 31 2c  |,i%-1).TB.ra%(1,|
0000a570  30 2c 69 25 29 3d 72 61  25 28 31 2c 30 2c 69 25  |0,i%)=ra%(1,0,i%|
0000a580  2d 31 29 0d 54 4c 1d 72  61 25 28 31 2c 31 2c 69  |-1).TL.ra%(1,1,i|
0000a590  25 29 3d 72 61 25 28 31  2c 31 2c 69 25 2d 31 29  |%)=ra%(1,1,i%-1)|
0000a5a0  0d 54 56 05 ed 0d 54 6a  15 f2 77 69 70 65 5f 65  |.TV...Tj..wipe_e|
0000a5b0  6e 74 72 79 28 72 25 2b  31 29 0d 54 74 15 6e 6f  |ntry(r%+1).Tt.no|
0000a5c0  5f 6f 66 5f 72 65 63 6f  72 64 73 25 2b 3d 31 0d  |_of_records%+=1.|
0000a5d0  54 7e 12 61 73 6b 5f 74  6f 5f 73 61 76 65 25 3d  |T~.ask_to_save%=|
0000a5e0  b9 0d 54 92 05 e1 0d 54  b0 14 dd f2 77 69 70 65  |..T....T....wipe|
0000a5f0  5f 65 6e 74 72 79 28 72  25 29 0d 54 c4 12 6e 61  |_entry(r%).T..na|
0000a600  6d 65 24 28 30 2c 72 25  29 3d 22 22 0d 54 ce 12  |me$(0,r%)="".T..|
0000a610  6e 61 6d 65 24 28 31 2c  72 25 29 3d 22 22 0d 54  |name$(1,r%)="".T|
0000a620  d8 10 64 6f 62 25 28 30  2c 72 25 29 3d 30 0d 54  |..dob%(0,r%)=0.T|
0000a630  e2 10 64 6f 62 25 28 31  2c 72 25 29 3d 30 0d 54  |..dob%(1,r%)=0.T|
0000a640  ec 10 64 6f 62 25 28 32  2c 72 25 29 3d 30 0d 54  |..dob%(2,r%)=0.T|
0000a650  f6 11 72 61 25 28 30 2c  30 2c 72 25 29 3d 30 0d  |..ra%(0,0,r%)=0.|
0000a660  55 00 11 72 61 25 28 30  2c 31 2c 72 25 29 3d 30  |U..ra%(0,1,r%)=0|
0000a670  0d 55 0a 11 72 61 25 28  31 2c 30 2c 72 25 29 3d  |.U..ra%(1,0,r%)=|
0000a680  30 0d 55 14 11 72 61 25  28 31 2c 31 2c 72 25 29  |0.U..ra%(1,1,r%)|
0000a690  3d 30 0d 55 28 05 e1 0d  55 46 0a dd f2 67 6f 74  |=0.U(...UF...got|
0000a6a0  6f 0d 55 5a 17 ea 72 25  2c 66 69 6e 64 24 2c 73  |o.UZ..r%,find$,s|
0000a6b0  74 61 72 74 25 2c 69 25  0d 55 6e 2e e7 a4 73 65  |tart%,i%.Un...se|
0000a6c0  6c 65 63 74 65 64 28 67  6f 74 6f 5f 77 69 6e 64  |lected(goto_wind|
0000a6d0  6f 77 25 2c 72 65 63 6f  72 64 5f 72 61 64 5f 69  |ow%,record_rad_i|
0000a6e0  63 6f 6e 25 29 8c 0d 55  82 34 72 25 3d bb 28 a4  |con%)..U.4r%=.(.|
0000a6f0  67 65 74 5f 74 65 78 74  28 67 6f 74 6f 5f 77 69  |get_text(goto_wi|
0000a700  6e 64 6f 77 25 2c 72 65  63 6f 72 64 5f 77 72 69  |ndow%,record_wri|
0000a710  5f 69 63 6f 6e 25 29 29  2d 31 0d 55 8c 27 e7 72  |_icon%))-1.U.'.r|
0000a720  25 3e 6e 6f 5f 6f 66 5f  72 65 63 6f 72 64 73 25  |%>no_of_records%|
0000a730  72 25 3d 6e 6f 5f 6f 66  5f 72 65 63 6f 72 64 73  |r%=no_of_records|
0000a740  25 0d 55 96 0e e7 72 25  3c 30 20 72 25 3d 30 0d  |%.U...r%<0 r%=0.|
0000a750  55 a0 32 f2 70 75 74 5f  74 65 78 74 28 67 6f 74  |U.2.put_text(got|
0000a760  6f 5f 77 69 6e 64 6f 77  25 2c 72 65 63 6f 72 64  |o_window%,record|
0000a770  5f 77 72 69 5f 69 63 6f  6e 25 2c c3 28 72 25 29  |_wri_icon%,.(r%)|
0000a780  29 0d 55 aa 21 f2 73 61  76 65 5f 72 65 63 6f 72  |).U.!.save_recor|
0000a790  64 28 63 75 72 72 65 6e  74 5f 72 65 63 6f 72 64  |d(current_record|
0000a7a0  25 29 0d 55 b4 16 63 75  72 72 65 6e 74 5f 72 65  |%).U..current_re|
0000a7b0  63 6f 72 64 25 3d 72 25  0d 55 be 21 f2 6c 6f 61  |cord%=r%.U.!.loa|
0000a7c0  64 5f 72 65 63 6f 72 64  28 63 75 72 72 65 6e 74  |d_record(current|
0000a7d0  5f 72 65 63 6f 72 64 25  29 0d 55 d2 05 cc 0d 55  |_record%).U....U|
0000a7e0  e6 3b 66 69 6e 64 24 3d  a4 74 6f 5f 6c 6f 77 65  |.;find$=.to_lowe|
0000a7f0  72 28 a4 67 65 74 5f 74  65 78 74 28 67 6f 74 6f  |r(.get_text(goto|
0000a800  5f 77 69 6e 64 6f 77 25  2c 6e 61 6d 65 5f 77 72  |_window%,name_wr|
0000a810  69 5f 69 63 6f 6e 25 29  29 0d 55 f0 1a 73 74 61  |i_icon%)).U..sta|
0000a820  72 74 25 3d 63 75 72 72  65 6e 74 5f 72 65 63 6f  |rt%=current_reco|
0000a830  72 64 25 0d 55 fa 0d 69  25 3d 73 74 61 72 74 25  |rd%.U..i%=start%|
0000a840  0d 56 0e 05 f5 0d 56 18  09 69 25 2b 3d 31 0d 56  |.V....V..i%+=1.V|
0000a850  22 1a e7 69 25 3e 6e 6f  5f 6f 66 5f 72 65 63 6f  |"..i%>no_of_reco|
0000a860  72 64 73 25 69 25 3d 30  0d 56 2c 52 fd a7 a4 74  |rds%i%=0.V,R...t|
0000a870  6f 5f 6c 6f 77 65 72 28  6e 61 6d 65 24 28 30 2c  |o_lower(name$(0,|
0000a880  69 25 29 29 2c 66 69 6e  64 24 29 3c 3e 30 84 a7  |i%)),find$)<>0..|
0000a890  a4 74 6f 5f 6c 6f 77 65  72 28 6e 61 6d 65 24 28  |.to_lower(name$(|
0000a8a0  31 2c 69 25 29 29 2c 66  69 6e 64 24 29 3c 3e 30  |1,i%)),find$)<>0|
0000a8b0  84 69 25 3d 73 74 61 72  74 25 0d 56 40 49 e7 a7  |.i%=start%.V@I..|
0000a8c0  a4 74 6f 5f 6c 6f 77 65  72 28 6e 61 6d 65 24 28  |.to_lower(name$(|
0000a8d0  30 2c 69 25 29 29 2c 66  69 6e 64 24 29 3c 3e 30  |0,i%)),find$)<>0|
0000a8e0  84 a7 a4 74 6f 5f 6c 6f  77 65 72 28 6e 61 6d 65  |...to_lower(name|
0000a8f0  24 28 31 2c 69 25 29 29  2c 66 69 6e 64 24 29 3c  |$(1,i%)),find$)<|
0000a900  3e 30 8c 0d 56 4a 21 f2  73 61 76 65 5f 72 65 63  |>0..VJ!.save_rec|
0000a910  6f 72 64 28 63 75 72 72  65 6e 74 5f 72 65 63 6f  |ord(current_reco|
0000a920  72 64 25 29 0d 56 54 16  63 75 72 72 65 6e 74 5f  |rd%).VT.current_|
0000a930  72 65 63 6f 72 64 25 3d  69 25 0d 56 5e 21 f2 6c  |record%=i%.V^!.l|
0000a940  6f 61 64 5f 72 65 63 6f  72 64 28 63 75 72 72 65  |oad_record(curre|
0000a950  6e 74 5f 72 65 63 6f 72  64 25 29 0d 56 68 05 cc  |nt_record%).Vh..|
0000a960  0d 56 72 2a f2 72 65 70  6f 72 74 5f 65 72 72 6f  |.Vr*.report_erro|
0000a970  72 28 22 4e 6f 74 20 66  6f 75 6e 64 21 22 2c b9  |r("Not found!",.|
0000a980  2c a3 2c 66 61 6c 73 65  25 29 0d 56 7c 05 cd 0d  |,.,false%).V|...|
0000a990  56 90 05 cd 0d 56 a4 05  e1 0d 56 c2 15 dd a4 74  |V....V....V....t|
0000a9a0  6f 5f 6c 6f 77 65 72 28  77 6f 72 64 24 29 0d 56  |o_lower(word$).V|
0000a9b0  d6 12 ea 69 25 2c 74 65  6d 70 24 2c 6c 65 74 25  |...i%,temp$,let%|
0000a9c0  0d 56 ea 0c 74 65 6d 70  24 3d 22 22 0d 56 fe 12  |.V..temp$="".V..|
0000a9d0  e3 69 25 3d 31 b8 a9 28  77 6f 72 64 24 29 0d 57  |.i%=1..(word$).W|
0000a9e0  08 18 6c 65 74 25 3d 97  28 c1 77 6f 72 64 24 2c  |..let%=.(.word$,|
0000a9f0  69 25 2c 31 29 29 0d 57  12 1e e7 6c 65 74 25 3e  |i%,1)).W...let%>|
0000aa00  36 34 80 20 6c 65 74 25  3c 39 31 20 6c 65 74 25  |64. let%<91 let%|
0000aa10  2b 3d 33 32 0d 57 1c 12  74 65 6d 70 24 2b 3d bd  |+=32.W..temp$+=.|
0000aa20  28 6c 65 74 25 29 0d 57  26 05 ed 0d 57 3a 0a 3d  |(let%).W&...W:.=|
0000aa30  74 65 6d 70 24 0d 57 58  1c dd f2 74 69 63 6b 5f  |temp$.WX...tick_|
0000aa40  69 74 65 6d 28 6d 65 6e  75 25 2c 69 74 65 6d 25  |item(menu%,item%|
0000aa50  29 0d 57 6c 3b 21 28 6d  65 6e 75 25 2b 32 38 2b  |).Wl;!(menu%+28+|
0000aa60  32 34 2a 69 74 65 6d 25  29 3d 28 21 28 6d 65 6e  |24*item%)=(!(men|
0000aa70  75 25 2b 32 38 2b 32 34  2a 69 74 65 6d 25 29 80  |u%+28+24*item%).|
0000aa80  26 46 46 46 46 46 46 46  45 29 84 31 0d 57 80 05  |&FFFFFFFE).1.W..|
0000aa90  e1 0d 57 9e 1e dd f2 75  6e 74 69 63 6b 5f 69 74  |..W....untick_it|
0000aaa0  65 6d 28 6d 65 6e 75 25  2c 69 74 65 6d 25 29 0d  |em(menu%,item%).|
0000aab0  57 b2 37 21 28 6d 65 6e  75 25 2b 32 38 2b 32 34  |W.7!(menu%+28+24|
0000aac0  2a 69 74 65 6d 25 29 3d  21 28 6d 65 6e 75 25 2b  |*item%)=!(menu%+|
0000aad0  32 38 2b 32 34 2a 69 74  65 6d 25 29 80 26 46 46  |28+24*item%).&FF|
0000aae0  46 46 46 46 46 45 0d 57  c6 05 e1 0d 57 e4 1d dd  |FFFFFE.W....W...|
0000aaf0  f2 73 68 61 64 65 5f 69  74 65 6d 28 6d 65 6e 75  |.shade_item(menu|
0000ab00  25 2c 69 74 65 6d 25 29  0d 57 f8 45 21 28 6d 65  |%,item%).W.E!(me|
0000ab10  6e 75 25 2b 32 38 2b 32  34 2a 69 74 65 6d 25 2b  |nu%+28+24*item%+|
0000ab20  38 29 3d 28 21 28 6d 65  6e 75 25 2b 32 38 2b 32  |8)=(!(menu%+28+2|
0000ab30  34 2a 69 74 65 6d 25 2b  38 29 80 26 46 46 42 46  |4*item%+8).&FFBF|
0000ab40  46 46 46 46 29 84 26 34  30 30 30 30 30 0d 58 0c  |FFFF).&400000.X.|
0000ab50  05 e1 0d 58 2a 1f dd f2  75 6e 73 68 61 64 65 5f  |...X*...unshade_|
0000ab60  69 74 65 6d 28 6d 65 6e  75 25 2c 69 74 65 6d 25  |item(menu%,item%|
0000ab70  29 0d 58 3e 3b 21 28 6d  65 6e 75 25 2b 32 38 2b  |).X>;!(menu%+28+|
0000ab80  32 34 2a 69 74 65 6d 25  2b 38 29 3d 21 28 6d 65  |24*item%+8)=!(me|
0000ab90  6e 75 25 2b 32 38 2b 32  34 2a 69 74 65 6d 25 2b  |nu%+28+24*item%+|
0000aba0  38 29 80 26 46 46 42 46  46 46 46 46 0d 58 52 05  |8).&FFBFFFFF.XR.|
0000abb0  e1 0d 58 70 19 dd a4 74  69 63 6b 65 64 28 6d 65  |..Xp...ticked(me|
0000abc0  6e 75 25 2c 69 74 65 6d  25 29 0d 58 84 24 e7 28  |nu%,item%).X.$.(|
0000abd0  21 28 6d 65 6e 75 25 2b  32 38 2b 32 34 2a 69 74  |!(menu%+28+24*it|
0000abe0  65 6d 25 29 80 26 31 29  3d 26 31 8c 3d b9 0d 58  |em%).&1)=&1.=..X|
0000abf0  8e 06 3d a3 0d 58 ac 0f  dd f2 61 75 74 6f 5f 73  |..=..X....auto_s|
0000ac00  61 76 65 0d 58 c0 07 ea  66 24 0d 58 d4 1c e7 61  |ave.X...f$.X...a|
0000ac10  75 74 6f 5f 72 65 6d 69  6e 64 25 80 a4 61 73 6b  |uto_remind%..ask|
0000ac20  32 73 61 76 65 8c 0d 58  de 12 61 75 74 6f 5f 72  |2save..X..auto_r|
0000ac30  65 6d 69 6e 64 25 3d a3  0d 58 e8 39 e7 a4 67 65  |emind%=..X.9..ge|
0000ac40  74 5f 74 65 78 74 28 73  61 76 65 61 73 31 5f 77  |t_text(saveas1_w|
0000ac50  69 6e 64 6f 77 25 2c 66  69 6c 65 6e 61 6d 65 5f  |indow%,filename_|
0000ac60  69 63 6f 6e 25 29 3d 22  52 41 a0 44 61 74 61 22  |icon%)="RA.Data"|
0000ac70  8c 0d 58 f2 7a f2 72 65  70 6f 72 74 5f 65 72 72  |..X.z.report_err|
0000ac80  6f 72 28 22 50 6c 65 61  73 65 20 75 73 65 20 74  |or("Please use t|
0000ac90  68 65 20 61 75 74 6f 2d  73 61 76 65 20 66 65 61  |he auto-save fea|
0000aca0  74 75 72 65 2e 20 53 61  76 65 20 74 68 65 20 64  |ture. Save the d|
0000acb0  61 74 61 2c 20 74 68 65  6e 20 73 65 6c 65 63 74  |ata, then select|
0000acc0  20 61 75 74 6f 2d 73 61  76 65 20 66 72 6f 6d 20  | auto-save from |
0000acd0  74 68 65 20 6d 61 69 6e  20 6d 65 6e 75 2e 22 2c  |the main menu.",|
0000ace0  b9 2c a3 2c 66 61 6c 73  65 25 29 0d 58 fc 05 e1  |.,.,false%).X...|
0000acf0  0d 59 06 05 cc 0d 59 10  1c e7 ac a4 74 69 63 6b  |.Y....Y.....tick|
0000ad00  65 64 28 6d 61 69 6e 5f  6d 65 6e 75 25 2c 32 29  |ed(main_menu%,2)|
0000ad10  8c 0d 59 1a 66 f2 72 65  70 6f 72 74 5f 65 72 72  |..Y.f.report_err|
0000ad20  6f 72 28 22 50 6c 65 61  73 65 20 75 73 65 20 74  |or("Please use t|
0000ad30  68 65 20 61 75 74 6f 2d  73 61 76 65 20 66 65 61  |he auto-save fea|
0000ad40  74 75 72 65 2e 20 53 65  6c 65 63 74 20 61 75 74  |ture. Select aut|
0000ad50  6f 2d 73 61 76 65 20 66  72 6f 6d 20 74 68 65 20  |o-save from the |
0000ad60  6d 61 69 6e 20 6d 65 6e  75 2e 22 2c b9 2c a3 2c  |main menu.",.,.,|
0000ad70  66 61 6c 73 65 25 29 0d  59 24 05 e1 0d 59 2e 05  |false%).Y$...Y..|
0000ad80  cd 0d 59 38 05 cd 0d 59  42 05 cd 0d 59 56 1c e7  |..Y8...YB...YV..|
0000ad90  ac a4 74 69 63 6b 65 64  28 6d 61 69 6e 5f 6d 65  |..ticked(main_me|
0000ada0  6e 75 25 2c 32 29 e1 0d  59 6a 39 e7 a4 67 65 74  |nu%,2)..Yj9..get|
0000adb0  5f 74 65 78 74 28 73 61  76 65 61 73 31 5f 77 69  |_text(saveas1_wi|
0000adc0  6e 64 6f 77 25 2c 66 69  6c 65 6e 61 6d 65 5f 69  |ndow%,filename_i|
0000add0  63 6f 6e 25 29 3d 22 52  41 a0 44 61 74 61 22 8c  |con%)="RA.Data".|
0000ade0  0d 59 74 5d f2 72 65 70  6f 72 74 5f 65 72 72 6f  |.Yt].report_erro|
0000adf0  72 28 22 49 6e 20 6f 72  64 65 72 20 74 6f 20 61  |r("In order to a|
0000ae00  75 74 6f 2d 73 61 76 65  20 79 6f 75 20 6d 75 73  |uto-save you mus|
0000ae10  74 20 66 69 72 73 74 20  73 61 76 65 20 74 68 65  |t first save the|
0000ae20  20 64 61 74 61 20 73 6f  6d 65 77 68 65 72 65 21  | data somewhere!|
0000ae30  22 2c b9 2c a3 2c 66 61  6c 73 65 25 29 0d 59 7e  |",.,.,false%).Y~|
0000ae40  05 e1 0d 59 88 05 cd 0d  59 9c 30 66 24 3d a4 67  |...Y....Y.0f$=.g|
0000ae50  65 74 5f 74 65 78 74 28  73 61 76 65 61 73 31 5f  |et_text(saveas1_|
0000ae60  77 69 6e 64 6f 77 25 2c  66 69 6c 65 6e 61 6d 65  |window%,filename|
0000ae70  5f 69 63 6f 6e 25 29 0d  59 a6 25 66 24 3d a4 70  |_icon%).Y.%f$=.p|
0000ae80  61 74 68 28 66 24 29 2b  c0 a4 6c 65 61 66 28 66  |ath(f$)+..leaf(f|
0000ae90  24 29 2c 36 29 2b 22 5f  62 61 6b 22 0d 59 b0 28  |$),6)+"_bak".Y.(|
0000aea0  e7 a4 74 69 63 6b 65 64  28 6d 61 69 6e 5f 6d 65  |..ticked(main_me|
0000aeb0  6e 75 25 2c 32 29 f2 73  61 76 65 5f 64 61 74 61  |nu%,2).save_data|
0000aec0  28 66 24 29 0d 59 ba 12  61 73 6b 5f 74 6f 5f 73  |(f$).Y..ask_to_s|
0000aed0  61 76 65 25 3d b9 0d 59  ce 05 e1 0d 59 ec 1f dd  |ave%=..Y....Y...|
0000aee0  a4 67 65 74 5f 77 72 69  74 61 62 6c 65 28 6d 65  |.get_writable(me|
0000aef0  6e 75 25 2c 69 74 65 6d  25 29 0d 5a 00 0f ea 70  |nu%,item%).Z...p|
0000af00  74 72 25 2c 74 65 78 74  24 0d 5a 14 20 70 74 72  |tr%,text$.Z. ptr|
0000af10  25 3d 21 28 6d 65 6e 75  25 2b 32 38 2b 32 34 2a  |%=!(menu%+28+24*|
0000af20  69 74 65 6d 25 2b 31 32  29 0d 5a 28 0c 74 65 78  |item%+12).Z(.tex|
0000af30  74 24 3d 22 22 0d 5a 3c  0e c8 95 3f 70 74 72 25  |t$="".Z<...?ptr%|
0000af40  3e 33 31 0d 5a 46 13 74  65 78 74 24 2b 3d bd 28  |>31.ZF.text$+=.(|
0000af50  3f 70 74 72 25 29 0d 5a  50 0b 70 74 72 25 2b 3d  |?ptr%).ZP.ptr%+=|
0000af60  31 0d 5a 5a 05 ce 0d 5a  6e 0a 3d 74 65 78 74 24  |1.ZZ...Zn.=text$|
0000af70  0d 5a 8c 25 dd f2 70 75  74 5f 77 72 69 74 61 62  |.Z.%..put_writab|
0000af80  6c 65 28 6d 65 6e 75 25  2c 69 74 65 6d 25 2c 74  |le(menu%,item%,t|
0000af90  65 78 74 24 29 0d 5a a0  09 ea 70 74 72 25 0d 5a  |ext$).Z...ptr%.Z|
0000afa0  aa 20 70 74 72 25 3d 21  28 6d 65 6e 75 25 2b 32  |. ptr%=!(menu%+2|
0000afb0  38 2b 32 34 2a 69 74 65  6d 25 2b 31 32 29 0d 5a  |8+24*item%+12).Z|
0000afc0  b4 14 24 70 74 72 25 3d  74 65 78 74 24 2b bd 28  |..$ptr%=text$+.(|
0000afd0  30 29 0d 5a c8 05 e1 0d  5a e6 0f dd f2 69 6e 69  |0).Z....Z....ini|
0000afe0  74 5f 73 6f 72 74 0d 5a  f0 1a 66 69 65 6c 64 73  |t_sort.Z..fields|
0000aff0  25 3d 37 3a 66 69 65 6c  64 6c 65 6e 25 3d 31 38  |%=7:fieldlen%=18|
0000b000  0d 5a fa 18 de 66 69 65  6c 64 74 79 70 65 25 28  |.Z...fieldtype%(|
0000b010  66 69 65 6c 64 73 25 29  0d 5b 04 26 de 64 61 74  |fields%).[.&.dat|
0000b020  61 25 6d 61 78 5f 6e 6f  5f 6f 66 5f 72 65 63 6f  |a%max_no_of_reco|
0000b030  72 64 73 25 2a 66 69 65  6c 64 6c 65 6e 25 0d 5b  |rds%*fieldlen%.[|
0000b040  0e 1f de 74 61 62 6c 65  25 6d 61 78 5f 6e 6f 5f  |...table%max_no_|
0000b050  6f 66 5f 72 65 63 6f 72  64 73 25 2a 34 0d 5b 22  |of_records%*4.["|
0000b060  12 66 69 65 6c 64 74 79  70 65 25 28 29 3d 32 0d  |.fieldtype%()=2.|
0000b070  5b 2c 13 66 69 65 6c 64  74 79 70 65 25 28 30 29  |[,.fieldtype%(0)|
0000b080  3d 31 0d 5b 36 13 66 69  65 6c 64 74 79 70 65 25  |=1.[6.fieldtype%|
0000b090  28 31 29 3d 31 0d 5b 4a  1f de 49 6e 64 65 78 25  |(1)=1.[J..Index%|
0000b0a0  28 6d 61 78 5f 6e 6f 5f  6f 66 5f 72 65 63 6f 72  |(max_no_of_recor|
0000b0b0  64 73 25 29 0d 5b 5e 28  e3 4a 25 3d 30 b8 6e 6f  |ds%).[^(.J%=0.no|
0000b0c0  5f 6f 66 5f 72 65 63 6f  72 64 73 25 3a 49 6e 64  |_of_records%:Ind|
0000b0d0  65 78 25 28 4a 25 29 3d  4a 25 3a ed 0d 5b 72 0b  |ex%(J%)=J%:..[r.|
0000b0e0  63 61 73 65 25 3d 34 0d  5b 86 05 e1 0d 5b a4 21  |case%=4.[....[.!|
0000b0f0  dd f2 73 6f 72 74 28 72  65 63 6f 72 64 73 25 2c  |..sort(records%,|
0000b100  66 69 65 6c 64 25 2c 63  61 73 65 25 29 0d 5b b8  |field%,case%).[.|
0000b110  28 ea 4a 25 2c 74 79 70  65 25 2c 66 61 64 25 2c  |(.J%,type%,fad%,|
0000b120  6c 65 6e 25 2c 61 31 25  2c 61 32 25 2c 64 25 2c  |len%,a1%,a2%,d%,|
0000b130  6d 25 2c 79 25 0d 5b d6  18 61 31 25 3d 64 61 74  |m%,y%.[..a1%=dat|
0000b140  61 25 3a 61 32 25 3d 74  61 62 6c 65 25 0d 5b e0  |a%:a2%=table%.[.|
0000b150  1a f2 74 6f 64 61 79 73  5f 64 61 74 65 28 64 25  |..todays_date(d%|
0000b160  2c 6d 25 2c 79 25 29 0d  5b f4 19 c8 8e 66 69 65  |,m%,y%).[....fie|
0000b170  6c 64 74 79 70 65 25 28  66 69 65 6c 64 25 29 ca  |ldtype%(field%).|
0000b180  0d 5b fe 21 c9 31 3a 74  79 70 65 25 3d 63 61 73  |.[.!.1:type%=cas|
0000b190  65 25 3a 6c 65 6e 25 3d  66 69 65 6c 64 6c 65 6e  |e%:len%=fieldlen|
0000b1a0  25 0d 5c 08 12 e3 4a 25  3d 30 b8 72 65 63 6f 72  |%.\...J%=0.recor|
0000b1b0  64 73 25 0d 5c 12 3c 24  61 31 25 3d a4 64 61 74  |ds%.\.<$a1%=.dat|
0000b1c0  61 28 4a 25 2c 66 69 65  6c 64 25 2c 64 25 2c 6d  |a(J%,field%,d%,m|
0000b1d0  25 2c 79 25 29 3a 21 61  32 25 3d 61 31 25 3a 61  |%,y%):!a2%=a1%:a|
0000b1e0  31 25 2b 3d 6c 65 6e 25  3a 61 32 25 2b 3d 34 0d  |1%+=len%:a2%+=4.|
0000b1f0  5c 1c 05 ed 0d 5c 26 15  c9 32 3a 74 79 70 65 25  |\....\&..2:type%|
0000b200  3d 33 3a 6c 65 6e 25 3d  34 0d 5c 30 12 e3 4a 25  |=3:len%=4.\0..J%|
0000b210  3d 30 b8 72 65 63 6f 72  64 73 25 0d 5c 3a 3f 21  |=0.records%.\:?!|
0000b220  61 31 25 3d bb 28 a4 64  61 74 61 28 4a 25 2c 66  |a1%=.(.data(J%,f|
0000b230  69 65 6c 64 25 2c 64 25  2c 6d 25 2c 79 25 29 29  |ield%,d%,m%,y%))|
0000b240  3a 21 61 32 25 3d 61 31  25 3a 61 31 25 2b 3d 6c  |:!a2%=a1%:a1%+=l|
0000b250  65 6e 25 3a 61 32 25 2b  3d 34 0d 5c 44 05 ed 0d  |en%:a2%+=4.\D...|
0000b260  5c 4e 05 cb 0d 5c 58 10  66 61 64 25 3d 21 74 61  |\N...\X.fad%=!ta|
0000b270  62 6c 65 25 0d 5c 76 2b  c8 99 22 4f 53 5f 48 65  |ble%.\v+.."OS_He|
0000b280  61 70 53 6f 72 74 22 2c  72 65 63 6f 72 64 73 25  |apSort",records%|
0000b290  2b 31 2c 74 61 62 6c 65  25 2c 74 79 70 65 25 0d  |+1,table%,type%.|
0000b2a0  5c 80 1c f2 74 72 61 6e  73 66 65 72 4f 75 74 28  |\...transferOut(|
0000b2b0  30 2c 72 65 63 6f 72 64  73 25 29 0d 5c 94 0e f2  |0,records%).\...|
0000b2c0  72 65 61 72 72 61 6e 67  65 0d 5c a8 05 e1 0d 5c  |rearrange.\....\|
0000b2d0  c6 23 dd a4 64 61 74 61  28 72 65 63 6f 72 64 25  |.#..data(record%|
0000b2e0  2c 66 69 65 6c 64 25 2c  64 25 2c 6d 25 2c 79 25  |,field%,d%,m%,y%|
0000b2f0  29 0d 5c da 07 ea 73 24  0d 5c e4 09 73 24 3d 22  |).\...s$.\..s$="|
0000b300  22 0d 5c f8 0d c8 8e 66  69 65 6c 64 25 ca 0d 5d  |".\....field%..]|
0000b310  02 06 c9 30 0d 5d 0c 28  73 24 3d 6e 61 6d 65 24  |...0.].(s$=name$|
0000b320  28 30 2c 72 65 63 6f 72  64 25 29 2b 6e 61 6d 65  |(0,record%)+name|
0000b330  24 28 31 2c 72 65 63 6f  72 64 25 29 0d 5d 16 06  |$(1,record%).]..|
0000b340  c9 31 0d 5d 20 28 73 24  3d 6e 61 6d 65 24 28 31  |.1.] (s$=name$(1|
0000b350  2c 72 65 63 6f 72 64 25  29 2b 6e 61 6d 65 24 28  |,record%)+name$(|
0000b360  30 2c 72 65 63 6f 72 64  25 29 0d 5d 2a 06 c9 32  |0,record%).]*..2|
0000b370  0d 5d 34 38 73 24 3d c3  28 28 72 61 25 28 30 2c  |.]48s$=.((ra%(0,|
0000b380  30 2c 28 72 65 63 6f 72  64 25 29 29 2b 72 61 25  |0,(record%))+ra%|
0000b390  28 30 2c 31 2c 28 72 65  63 6f 72 64 25 29 29 2f  |(0,1,(record%))/|
0000b3a0  31 32 29 2a 31 30 30 29  0d 5d 3e 06 c9 33 0d 5d  |12)*100).]>..3.]|
0000b3b0  48 38 73 24 3d c3 28 28  72 61 25 28 31 2c 30 2c  |H8s$=.((ra%(1,0,|
0000b3c0  28 72 65 63 6f 72 64 25  29 29 2b 72 61 25 28 31  |(record%))+ra%(1|
0000b3d0  2c 31 2c 28 72 65 63 6f  72 64 25 29 29 2f 31 32  |,1,(record%))/12|
0000b3e0  29 2a 31 30 30 29 0d 5d  52 06 c9 34 0d 5d 5c 57  |)*100).]R..4.]\W|
0000b3f0  73 24 3d c3 28 28 bb 28  a4 61 67 65 28 64 25 2c  |s$=.((.(.age(d%,|
0000b400  6d 25 2c 79 25 2c 64 6f  62 25 28 30 2c 28 72 65  |m%,y%,dob%(0,(re|
0000b410  63 6f 72 64 25 29 29 2c  64 6f 62 25 28 31 2c 28  |cord%)),dob%(1,(|
0000b420  72 65 63 6f 72 64 25 29  29 2c 64 6f 62 25 28 32  |record%)),dob%(2|
0000b430  2c 28 72 65 63 6f 72 64  25 29 29 29 29 29 2a 31  |,(record%)))))*1|
0000b440  30 30 29 0d 5d 66 06 c9  35 0d 5d 70 23 73 24 3d  |00).]f..5.]p#s$=|
0000b450  c3 28 a4 61 67 65 5f 64  69 66 66 28 72 65 63 6f  |.(.age_diff(reco|
0000b460  72 64 25 2c 30 29 2a 31  30 30 30 29 0d 5d 7a 06  |rd%,0)*1000).]z.|
0000b470  c9 36 0d 5d 84 23 73 24  3d c3 28 a4 61 67 65 5f  |.6.].#s$=.(.age_|
0000b480  64 69 66 66 28 72 65 63  6f 72 64 25 2c 31 29 2a  |diff(record%,1)*|
0000b490  31 30 30 30 29 0d 5d 8e  05 cb 0d 5d a2 1d e7 63  |1000).]....]...c|
0000b4a0  61 73 65 25 3d 34 20 73  24 3d a4 74 6f 5f 6c 6f  |ase%=4 s$=.to_lo|
0000b4b0  77 65 72 28 73 24 29 0d  5d ac 07 3d 73 24 0d 5d  |wer(s$).]..=s$.]|
0000b4c0  ca 18 dd f2 74 72 61 6e  73 66 65 72 4f 75 74 28  |....transferOut(|
0000b4d0  66 25 2c 74 25 29 0d 5d  de 0d 61 25 3d 74 61 62  |f%,t%).]..a%=tab|
0000b4e0  6c 65 25 0d 5d e8 0d e3  4a 25 3d 66 25 b8 74 25  |le%.]...J%=f%.t%|
0000b4f0  0d 5d f2 0a 70 25 3d 21  61 25 0d 5d fc 0e 72 25  |.]..p%=!a%.]..r%|
0000b500  3d 70 25 2d 66 61 64 25  0d 5e 06 16 49 6e 64 65  |=p%-fad%.^..Inde|
0000b510  78 25 28 4a 25 29 3d 72  25 81 6c 65 6e 25 0d 5e  |x%(J%)=r%.len%.^|
0000b520  10 09 61 25 2b 3d 34 0d  5e 1a 05 ed 0d 5e 24 05  |..a%+=4.^....^$.|
0000b530  e1 0d 5e 42 0f dd f2 72  65 61 72 72 61 6e 67 65  |..^B...rearrange|
0000b540  0d 5e 56 17 ea 69 25 2c  6a 25 2c 6b 25 2c 64 61  |.^V..i%,j%,k%,da|
0000b550  74 61 5f 70 74 72 25 0d  5e 6a 0b e3 6a 25 3d 30  |ta_ptr%.^j..j%=0|
0000b560  b8 31 0d 5e 7e 13 64 61  74 61 5f 70 74 72 25 3d  |.1.^~.data_ptr%=|
0000b570  64 61 74 61 25 0d 5e 92  18 e3 69 25 3d 30 b8 6e  |data%.^...i%=0.n|
0000b580  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 0d 5e 9c  |o_of_records%.^.|
0000b590  23 24 64 61 74 61 5f 70  74 72 25 3d 6e 61 6d 65  |#$data_ptr%=name|
0000b5a0  24 28 6a 25 2c 49 6e 64  65 78 25 28 69 25 29 29  |$(j%,Index%(i%))|
0000b5b0  0d 5e a6 18 64 61 74 61  5f 70 74 72 25 2b 3d 66  |.^..data_ptr%+=f|
0000b5c0  69 65 6c 64 6c 65 6e 25  0d 5e b0 05 ed 0d 5e c4  |ieldlen%.^....^.|
0000b5d0  13 64 61 74 61 5f 70 74  72 25 3d 64 61 74 61 25  |.data_ptr%=data%|
0000b5e0  0d 5e d8 18 e3 69 25 3d  30 b8 6e 6f 5f 6f 66 5f  |.^...i%=0.no_of_|
0000b5f0  72 65 63 6f 72 64 73 25  0d 5e e2 1b 6e 61 6d 65  |records%.^..name|
0000b600  24 28 6a 25 2c 69 25 29  3d 24 64 61 74 61 5f 70  |$(j%,i%)=$data_p|
0000b610  74 72 25 0d 5e ec 18 64  61 74 61 5f 70 74 72 25  |tr%.^..data_ptr%|
0000b620  2b 3d 66 69 65 6c 64 6c  65 6e 25 0d 5e f6 05 ed  |+=fieldlen%.^...|
0000b630  0d 5f 0a 05 ed 0d 5f 1e  0b e3 6a 25 3d 30 b8 32  |._...._...j%=0.2|
0000b640  0d 5f 28 13 64 61 74 61  5f 70 74 72 25 3d 64 61  |._(.data_ptr%=da|
0000b650  74 61 25 0d 5f 32 18 e3  69 25 3d 30 b8 6e 6f 5f  |ta%._2..i%=0.no_|
0000b660  6f 66 5f 72 65 63 6f 72  64 73 25 0d 5f 3c 22 21  |of_records%._<"!|
0000b670  64 61 74 61 5f 70 74 72  25 3d 64 6f 62 25 28 6a  |data_ptr%=dob%(j|
0000b680  25 2c 49 6e 64 65 78 25  28 69 25 29 29 0d 5f 46  |%,Index%(i%))._F|
0000b690  10 64 61 74 61 5f 70 74  72 25 2b 3d 34 0d 5f 50  |.data_ptr%+=4._P|
0000b6a0  05 ed 0d 5f 5a 13 64 61  74 61 5f 70 74 72 25 3d  |..._Z.data_ptr%=|
0000b6b0  64 61 74 61 25 0d 5f 64  18 e3 69 25 3d 30 b8 6e  |data%._d..i%=0.n|
0000b6c0  6f 5f 6f 66 5f 72 65 63  6f 72 64 73 25 0d 5f 6e  |o_of_records%._n|
0000b6d0  1a 64 6f 62 25 28 6a 25  2c 69 25 29 3d 21 64 61  |.dob%(j%,i%)=!da|
0000b6e0  74 61 5f 70 74 72 25 0d  5f 78 10 64 61 74 61 5f  |ta_ptr%._x.data_|
0000b6f0  70 74 72 25 2b 3d 34 0d  5f 82 05 ed 0d 5f 8c 05  |ptr%+=4._...._..|
0000b700  ed 0d 5f a0 0b e3 6b 25  3d 30 b8 31 0d 5f aa 0b  |.._...k%=0.1._..|
0000b710  e3 6a 25 3d 30 b8 31 0d  5f b4 13 64 61 74 61 5f  |.j%=0.1._..data_|
0000b720  70 74 72 25 3d 64 61 74  61 25 0d 5f be 18 e3 69  |ptr%=data%._...i|
0000b730  25 3d 30 b8 6e 6f 5f 6f  66 5f 72 65 63 6f 72 64  |%=0.no_of_record|
0000b740  73 25 0d 5f c8 24 21 64  61 74 61 5f 70 74 72 25  |s%._.$!data_ptr%|
0000b750  3d 72 61 25 28 6b 25 2c  6a 25 2c 49 6e 64 65 78  |=ra%(k%,j%,Index|
0000b760  25 28 69 25 29 29 0d 5f  d2 10 64 61 74 61 5f 70  |%(i%))._..data_p|
0000b770  74 72 25 2b 3d 34 0d 5f  dc 05 ed 0d 5f e6 13 64  |tr%+=4._...._..d|
0000b780  61 74 61 5f 70 74 72 25  3d 64 61 74 61 25 0d 5f  |ata_ptr%=data%._|
0000b790  f0 18 e3 69 25 3d 30 b8  6e 6f 5f 6f 66 5f 72 65  |...i%=0.no_of_re|
0000b7a0  63 6f 72 64 73 25 0d 5f  fa 1c 72 61 25 28 6b 25  |cords%._..ra%(k%|
0000b7b0  2c 6a 25 2c 69 25 29 3d  21 64 61 74 61 5f 70 74  |,j%,i%)=!data_pt|
0000b7c0  72 25 0d 60 04 10 64 61  74 61 5f 70 74 72 25 2b  |r%.`..data_ptr%+|
0000b7d0  3d 34 0d 60 0e 05 ed 0d  60 18 05 ed 0d 60 22 05  |=4.`....`....`".|
0000b7e0  ed 0d 60 36 05 e1 0d ff                           |..`6....|
0000b7e8